diff --git a/EC-GN-JA-PCF/.svn/entries b/EC-GN-JA-PCF/.svn/entries deleted file mode 100644 index 48082f7..0000000 --- a/EC-GN-JA-PCF/.svn/entries +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/EC-GN-JA-PCF/.svn/format b/EC-GN-JA-PCF/.svn/format deleted file mode 100644 index 48082f7..0000000 --- a/EC-GN-JA-PCF/.svn/format +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/EC-GN-JA-PCF/.svn/pristine/00/008c10a0a80d6caf268354385b8ac25fb02d549f.svn-base b/EC-GN-JA-PCF/.svn/pristine/00/008c10a0a80d6caf268354385b8ac25fb02d549f.svn-base deleted file mode 100644 index 7202e19..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/00/008c10a0a80d6caf268354385b8ac25fb02d549f.svn-base +++ /dev/null @@ -1 +0,0 @@ -Last SDD Generation: Tue May 13 15:59:51 UTC 2025 diff --git a/EC-GN-JA-PCF/.svn/pristine/00/00f6c732464d4124aada49bb9bedc4ed61633171.svn-base b/EC-GN-JA-PCF/.svn/pristine/00/00f6c732464d4124aada49bb9bedc4ed61633171.svn-base deleted file mode 100644 index 3c6e012..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/00/00f6c732464d4124aada49bb9bedc4ed61633171.svn-base +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @file JARampupGAM.h - * @brief Header file for class JARampupGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JARampupGAM - * 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_JARampupGAM_H_ -#define GAMS_JARampupGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that rampup output value with specified target value and duration. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *      +FHPSRampupGAM = {
- *         Class = JARampupGAM
- *         InputSignals = {
- *             Currspv = {
- *                 Alias = FHPS_REF
- *                 DataSource = DDB1
- *                 Type = float32
- *             }
- *             Targetv = {
- *                 Alias = FHPS_AUTO_TAGV
- *                 DataSource = EPICSCAInput
- *                 Type = float32
- *             }
- *             Time = {
- *                 Alias = FHPS_AUTO_TIME
- *                 DataSource = EPICSCAInput
- *                 Type = float32
- *             }
- *             Start = {
- *                 Alias = FHPS_AUTO_START
- *                 DataSource = EPICSCAInput
- *                 Type = uint32
- *             }
- *         }
- *         OutputSignals = {
- *             FHPS_REF = {
- *                 DataSource = DDB1
- *                 Type = float32
- *             }
- *         }
- *       }
- *  
- * 
- * - */ - -class JARampupGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JARampupGAM(); - - virtual ~JARampupGAM(); - - 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: - // Input signal containing current current_setpoint - MARTe::float32 *current_setpoint; - - // Input signal containing the frequency of the waveform. - MARTe::float32 *target_value; - - // Input signal containing the amplitude of the waveform. - MARTe::float32 *rampup_time; - - // Input signal containing CCPS_ON_REQUEST - MARTe::uint32 *start; - - // Input signal PLC_STANDBY - MARTe::uint32 *standby; - - // MANUAL AUTO button - MARTe::uint32 *isAuto; - - // Input signal - MARTe::float32 *FHPS_PrePro; - - // Output - MARTe::float32 *output; - // State output - MARTe::uint32 *state; //0:NotOperation, 1:InOperation, 2:Finish, 3:Error - - // Internal variables - MARTe::float32 rampup_rate; - bool inRampup; - bool resetFlag; - bool inWaitHVON; - bool inWaitStandby; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JARampupGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/02/02cdd410bcd66c1d50bb78cfc306b2f5cecfb765.svn-base b/EC-GN-JA-PCF/.svn/pristine/02/02cdd410bcd66c1d50bb78cfc306b2f5cecfb765.svn-base deleted file mode 100644 index e0d79f8..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/02/02cdd410bcd66c1d50bb78cfc306b2f5cecfb765.svn-base +++ /dev/null @@ -1,68 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/prog/Makefile.template $ -# $Id: Makefile.template 83098 2018-01-08 13:23:38Z cesnikt $ -# -# Project : CODAC Core System -# -# Description : gyrotronDAN Makefile -# -# Author : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2018 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -PROGNAME=Gyrotron02DAN - -LIBRARIES=ca dan_api dan_client_api dan_stream dan_base xml2 log sdn sdn-core ccs-core rt pthread tcn nixseries -LIBRARY_DIRS= -INCLUDE_DIRS=. ../include $(CODAC_ROOT)/include $(EPICS_BASE)/include/os/Linux $(EPICS_BASE)/include/compiler/gcc $(EPICS_BASE)/include /usr/include/libxml2 $(SDN_TOPIC_DIRECTORY) - -TARGET=../../../../target -BINARY_DIR=$(TARGET)/bin -OBJECT_DIR=$(TARGET)/obj/$(PROGNAME) -SOURCE_DIR=. - -EXECUTABLE=$(BINARY_DIR)/$(PROGNAME) -INCLUDES=$(foreach inc,$(INCLUDE_DIRS),-I$(inc)) -LDLIBS=-L$(CODAC_ROOT)/lib -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) $(foreach libs,$(LIBRARY_DIRS),-L$(libs) -Wl,-rpath,$(libs)) $(foreach libs,$(LIBRARIES),-l$(libs)) -SOURCES=$(SOURCE_DIR)/$(PROGNAME).cpp $(SOURCE_DIR)/configure_sdn.cpp -# to build executable from all sources in the program directory: -#SOURCES=$(wildcard $(SOURCE_DIR)/*.cpp $(SOURCE_DIR)/*.c) -OBJECTS=$(addprefix $(OBJECT_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(SOURCES)))) - -C=gcc -CC=g++ -CFLAGS=-c -Wall -CCFLAGS=-c -Wall -std=c++11 -LDFLAGS= - -.PHONY: all clean run - -all: $(SOURCES) $(EXECUTABLE) - -clean: - rm -rf "$(EXECUTABLE)" "$(OBJECT_DIR)" - -run: $(SOURCES) $(EXECUTABLE) - $(EXECUTABLE) - -$(EXECUTABLE): $(OBJECTS) - mkdir -p $(BINARY_DIR) - $(CC) $(LDFLAGS) $(LDLIBS) $(OBJECTS) -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.cpp - mkdir -p $(OBJECT_DIR) - $(CC) $(CCFLAGS) $(INCLUDES) $< -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.c - mkdir -p $(OBJECT_DIR) - $(C) $(CFLAGS) $(INCLUDES) $< -o $@ \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/03/0347116ae8558989abc8b5e4186a5245f73cc97d.svn-base b/EC-GN-JA-PCF/.svn/pristine/03/0347116ae8558989abc8b5e4186a5245f73cc97d.svn-base deleted file mode 100644 index 2c215fe..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/03/0347116ae8558989abc8b5e4186a5245f73cc97d.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/03/034b6e3c6d3053875aff447ef8669c21ca553bf0.svn-base b/EC-GN-JA-PCF/.svn/pristine/03/034b6e3c6d3053875aff447ef8669c21ca553bf0.svn-base deleted file mode 100644 index 3d11cb5..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/03/034b6e3c6d3053875aff447ef8669c21ca553bf0.svn-base +++ /dev/null @@ -1,206 +0,0 @@ -record (bo,"EC-GN-P01-PA1F:PSU3000-CON-HV") -{ - field(DESC, "GY1 APS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA1F:PSU3000-CON-SW") -{ - field(DESC, "GY1 APS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA1F:PSU3000-CTRP") -{ - field(DESC, "GY1 APS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PA1F:PSU3000-YFLT") -{ - field(DESC, "GY1 APS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 1) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PA1F:PSU3000-YSTA") -{ - field(DESC, "GY1 APS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 0) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PA1F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF") -{ - field(DESC, "GY1 APS voltage setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_1, 1) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF-MSP") -{ - field(DESC, "GY1 APS voltage manual setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF-P") -{ - field(ASLO, "2") - field(DESC, "GY1 APS P-voltage setpoint") - field(DRVH, "0") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_1, 2) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PA1F:PSU3000-ET") -{ - field(DESC, "GY1 APS Measured Volatege") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA1F:PSU3000-ET-WF") -{ - field(DESC, "GY1 APS Measured Volatege") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA1F:PSU3000-IT") -{ - field(DESC, "GY1 APS Measued Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA1F:PSU3000-IT-WF") -{ - field(DESC, "GY1 APS Measued Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA1F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY1 APS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PA1F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY1 APS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "600000") -} - -record (calcout,"EC-GN-P01-PA1F:STAT-EREF-CONV") -{ - field(CALC, "A>0?A:((A>-20)?A/2:-10)") - field(DESC, "GYA APS engineer value conversion") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PA1F:PSU3000-EREF PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PA1F:STAT-PREP-WF") -{ - field(DESC, "GY1 APS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/04/04df14b04244ebfb95706234746bdd37ca02ad72.svn-base b/EC-GN-JA-PCF/.svn/pristine/04/04df14b04244ebfb95706234746bdd37ca02ad72.svn-base deleted file mode 100644 index c1a4703..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/04/04df14b04244ebfb95706234746bdd37ca02ad72.svn-base +++ /dev/null @@ -1,29 +0,0 @@ -# CONFIG - Load build configuration data -# -# Do not make changes to this file! - -# Allow user to override where the build rules come from -RULES = $(EPICS_BASE) - -# RELEASE files point to other application tops -include $(TOP)/configure/RELEASE --include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).Common -ifdef T_A --include $(TOP)/configure/RELEASE.Common.$(T_A) --include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A) -endif - -CONFIG = $(RULES)/configure -include $(CONFIG)/CONFIG - -# Override the Base definition: -INSTALL_LOCATION = $(TOP) - -# CONFIG_SITE files contain other build configuration settings -include $(TOP)/configure/CONFIG_SITE --include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common -ifdef T_A - -include $(TOP)/configure/CONFIG_SITE.Common.$(T_A) - -include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) -endif - diff --git a/EC-GN-JA-PCF/.svn/pristine/05/05467ff5d484a6ade1522bd1ddcef7f86d69bdd6.svn-base b/EC-GN-JA-PCF/.svn/pristine/05/05467ff5d484a6ade1522bd1ddcef7f86d69bdd6.svn-base deleted file mode 100644 index 864013e..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/05/05467ff5d484a6ade1522bd1ddcef7f86d69bdd6.svn-base +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Autosave monitor post setup -############################################################################ - -cd "${TOP}/iocBoot/$(IOC)" -create_monitor_set(".req",30,"P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/06/063c920f642e4d5dbcb63642024867e058fc8ea0.svn-base b/EC-GN-JA-PCF/.svn/pristine/06/063c920f642e4d5dbcb63642024867e058fc8ea0.svn-base deleted file mode 100644 index 832aa45..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/06/063c920f642e4d5dbcb63642024867e058fc8ea0.svn-base +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,0,0.5,0.5,1,1,5 -10,0,0.5,0.5,1,1,5 -20,0,0.5,0.5,1,1,5 -30,0,0.5,0.5,1,1,5 -40,0,0.5,0.5,1,1,5 -50,0,0.5,0.5,1,1,5 -60,0,0.5,0.5,1,1,5 -70,0,0.5,0.5,1,1,5 -80,0,0.5,0.5,1,1,5 -90,0,0.5,0.5,1,1,5 -100,0,0.5,0.5,1,1,5 -110,0,0.5,0.5,1,1,5 -120,0,0.5,0.5,1,1,5 -130,0,0.5,0.5,1,1,5 -140,0,0.5,0.5,1,1,5 -150,0,0.5,0.5,1,1,5 -160,0,0.5,0.5,1,1,5 -170,0,0.5,0.5,1,1,5 -180,0,0.5,0.5,1,1,5 -190,0,0.5,0.5,1,1,5 -200,0,0.5,0.5,1,1,5 -210,0,0.5,0.5,1,1,5 -220,0,0.5,0.5,1,1,5 -230,0,0.5,0.5,1,1,5 -240,0,0.5,0.5,1,1,5 -250,0,0.5,0.5,1,1,5 -260,0,0.5,0.5,1,1,5 -270,0,0.5,0.5,1,1,5 -280,0,0.5,0.5,1,1,5 -290,0,0.5,0.5,1,1,5 -300,0,0.5,0.5,1,1,5 -310,0,0.5,0.5,1,1,5 -320,0,0.5,0.5,1,1,5 -330,0,0.5,0.5,1,1,5 -340,0,0.5,0.5,1,1,5 -350,0,0.5,0.5,1,1,5 -360,0,0.5,0.5,1,1,5 -370,0,0.5,0.5,1,1,5 -380,0,0.5,0.5,1,1,5 -390,0,0.5,0.5,1,1,5 -400,0,0.5,0.5,1,1,5 -410,0,0.5,0.5,1,1,5 -420,0,0.5,0.5,1,1,5 -430,0,0.5,0.5,1,1,5 -440,0,0.5,0.5,1,1,5 -450,0,0.5,0.5,1,1,5 -460,0,0.5,0.5,1,1,5 -470,0,0.5,0.5,1,1,5 -480,0,0.5,0.5,1,1,5 -490,0,0.5,0.5,1,1,5 -500,0,0.5,0.5,1,1,5 -510,0,0.5,0.5,1,1,5 -520,0,0.5,0.5,1,1,5 -530,0,0.5,0.5,1,1,5 -540,0,0.5,0.5,1,1,5 -550,0,0.5,0.5,1,1,5 -560,0,0.5,0.5,1,1,5 -570,0,0.5,0.5,1,1,5 -580,0,0.5,0.5,1,1,5 -590,0,0.5,0.5,1,1,5 -600,0,0.5,0.5,1,1,5 -610,0,0.5,0.5,1,1,5 -620,0,0.5,0.5,1,1,5 -630,0,0.5,0.5,1,1,5 -640,0,0.5,0.5,1,1,5 -650,0,0.5,0.5,1,1,5 -660,0,0.5,0.5,1,1,5 -670,0,0.5,0.5,1,1,5 -680,0,0.5,0.5,1,1,5 -690,0,0.5,0.5,1,1,5 -700,0,0.5,0.5,1,1,5 -710,0,0.5,0.5,1,1,5 -720,0,0.5,0.5,1,1,5 -730,0,0.5,0.5,1,1,5 -740,0,0.5,0.5,1,1,5 -750,0,0.5,0.5,1,1,5 -760,0,0.5,0.5,1,1,5 -770,0,0.5,0.5,1,1,5 -780,0,0.5,0.5,1,1,5 -790,0,0.5,0.5,1,1,5 -800,0,0.5,0.5,1,1,5 -810,0,0.5,0.5,1,1,5 -820,0,0.5,0.5,1,1,5 -830,0,0.5,0.5,1,1,5 -840,0,0.5,0.5,1,1,5 -850,0,0.5,0.5,1,1,5 -860,0,0.5,0.5,1,1,5 -870,0,0.5,0.5,1,1,5 -880,0,0.5,0.5,1,1,5 -890,0,0.5,0.5,1,1,5 -900,0,0.5,0.5,1,1,5 -910,0,0.5,0.5,1,1,5 -920,0,0.5,0.5,1,1,5 -930,0,0.5,0.5,1,1,5 -940,0,0.5,0.5,1,1,5 -950,0,0.5,0.5,1,1,5 -960,0,0.5,0.5,1,1,5 -970,0,0.5,0.5,1,1,5 -980,0,0.5,0.5,1,1,5 -990,0,0.5,0.5,1,1,5 -1000,0,0.5,0.5,1,1,5 -1010,0,1,1,1,1,5 -1020,0,1,1,1,1,5 -1030,0,1,1,1,1,5 -1040,0,1,1,1,1,5 -1050,0,1,1,1,1,5 -1060,0,1,1,1,1,5 -1070,0,1,1,1,1,5 -1080,0,1,1,1,1,5 -1090,0,1,1,1,1,5 -1100,0,1,1,1,1,5 -1110,0,1,1,1,1,5 -1120,0,1,1,1,1,5 -1130,0,1,1,1,1,5 -1140,0,1,1,1,1,5 -1150,0,1,1,1,1,5 -1160,0,1,1,1,1,5 -1170,0,1,1,1,1,5 -1180,0,1,1,1,1,5 -1190,0,1,1,1,1,5 -1200,0,1,1,1,1,5 -1210,0,1,1,1,1,5 -1220,0,1,1,1,1,5 -1230,0,1,1,1,1,5 -1240,0,1,1,1,1,5 -1250,0,1,1,1,1,5 -1260,0,1,1,1,1,5 -1270,0,1,1,1,1,5 -1280,0,1,1,1,1,5 -1290,0,1,1,1,1,5 -1300,0,1,1,1,1,5 -1310,0,1,1,1,1,5 -1320,0,1,1,1,1,5 -1330,0,1,1,1,1,5 -1340,0,1,1,1,1,5 -1350,0,1,1,1,1,5 -1360,0,1,1,1,1,5 -1370,0,1,1,1,1,5 -1380,0,1,1,1,1,5 -1390,0,1,1,1,1,5 -1400,0,1,1,1,1,5 -1410,0,1,1,1,1,5 -1420,0,1,1,1,1,5 -1430,0,1,1,1,1,5 -1440,0,1,1,1,1,5 -1450,0,1,1,1,1,5 -1460,0,1,1,1,1,5 -1470,0,1,1,1,1,5 -1480,0,1,1,1,1,5 -1490,0,1,1,1,1,5 -1500,0,1,1,1,1,5 -1510,0,1,1,1,1,5 -1520,0,1,1,1,1,5 -1530,0,1,1,1,1,5 -1540,0,1,1,1,1,5 -1550,0,1,1,1,1,5 -1560,0,1,1,1,1,5 -1570,0,1,1,1,1,5 -1580,0,1,1,1,1,5 -1590,0,1,1,1,1,5 -1600,0,1,1,1,1,5 -1610,0,1,1,1,1,5 -1620,0,1,1,1,1,5 -1630,0,1,1,1,1,5 -1640,0,1,1,1,1,5 -1650,0,1,1,1,1,5 -1660,0,1,1,1,1,5 -1670,0,1,1,1,1,5 -1680,0,1,1,1,1,5 -1690,0,1,1,1,1,5 -1700,0,1,1,1,1,5 -1710,0,1,1,1,1,5 -1720,0,1,1,1,1,5 -1730,0,1,1,1,1,5 -1740,0,1,1,1,1,5 -1750,0,1,1,1,1,5 -1760,0,1,1,1,1,5 -1770,0,1,1,1,1,5 -1780,0,1,1,1,1,5 -1790,0,1,1,1,1,5 -1800,0,1,1,1,1,5 -1810,0,1,1,1,1,5 -1820,0,1,1,1,1,5 -1830,0,1,1,1,1,5 -1840,0,1,1,1,1,5 -1850,0,1,1,1,1,5 -1860,0,1,1,1,1,5 -1870,0,1,1,1,1,5 -1880,0,1,1,1,1,5 -1890,0,1,1,1,1,5 -1900,0,1,1,1,1,5 -1910,0,1,1,1,1,5 -1920,0,1,1,1,1,5 -1930,0,1,1,1,1,5 -1940,0,1,1,1,1,5 -1950,0,1,1,1,1,5 -1960,0,1,1,1,1,5 -1970,0,1,1,1,1,5 -1980,0,1,1,1,1,5 -1990,0,1,1,1,1,5 -2000,0,1,1,1,1,5 -2010,0,1,1,1,1,5 -2020,0,1,1,1,1,5 -2030,0,1,1,1,1,5 -2040,0,1,1,1,1,5 -2050,0,1,1,1,1,5 -2060,0,1,1,1,1,5 -2070,0,1,1,1,1,5 -2080,0,1,1,1,1,5 -2090,0,1,1,1,1,5 -2100,0,1,1,1,1,5 -2110,0,1,1,1,1,5 -2120,0,1,1,1,1,5 -2130,0,1,1,1,1,5 -2140,0,1,1,1,1,5 -2150,0,1,1,1,1,5 -2160,0,1,1,1,1,5 -2170,0,1,1,1,1,5 -2180,0,1,1,1,1,5 -2190,0,1,1,1,1,5 -2200,0,1,1,1,1,5 -2210,0,1,1,1,1,5 -2220,0,1,1,1,1,5 -2230,0,1,1,1,1,5 -2240,0,1,1,1,1,5 -2250,0,1,1,1,1,5 -2260,0,1,1,1,1,5 -2270,0,1,1,1,1,5 -2280,0,1,1,1,1,5 -2290,0,1,1,1,1,5 -2300,0,1,1,1,1,5 -2310,0,1,1,1,1,5 -2320,0,1,1,1,1,5 -2330,0,1,1,1,1,5 -2340,0,1,1,1,1,5 -2350,0,1,1,1,1,5 -2360,0,1,1,1,1,5 -2370,0,1,1,1,1,5 -2380,0,1,1,1,1,5 -2390,0,1,1,1,1,5 -2400,0,1,1,1,1,5 -2410,0,1,1,1,1,5 -2420,0,1,1,1,1,5 -2430,0,1,1,1,1,5 -2440,0,1,1,1,1,5 -2450,0,1,1,1,1,5 -2460,0,1,1,1,1,5 -2470,0,1,1,1,1,5 -2480,0,1,1,1,1,5 -2490,0,1,1,1,1,5 -2500,0,1,1,1,1,5 -2510,0,1,1,1,1,5 -2520,0,1,1,1,1,5 -2530,0,1,1,1,1,5 -2540,0,1,1,1,1,5 -2550,0,1,1,1,1,5 -2560,0,1,1,1,1,5 -2570,0,1,1,1,1,5 -2580,0,1,1,1,1,5 -2590,0,1,1,1,1,5 -2600,0,1,1,1,1,5 -2610,0,1,1,1,1,5 -2620,0,1,1,1,1,5 -2630,0,1,1,1,1,5 -2640,0,1,1,1,1,5 -2650,0,1,1,1,1,5 -2660,0,1,1,1,1,5 -2670,0,1,1,1,1,5 -2680,0,1,1,1,1,5 -2690,0,1,1,1,1,5 -2700,0,1,1,1,1,5 -2710,0,1,1,1,1,5 -2720,0,1,1,1,1,5 -2730,0,1,1,1,1,5 -2740,0,1,1,1,1,5 -2750,0,1,1,1,1,5 -2760,0,1,1,1,1,5 -2770,0,1,1,1,1,5 -2780,0,1,1,1,1,5 -2790,0,1,1,1,1,5 -2800,0,1,1,1,1,5 -2810,0,1,1,1,1,5 -2820,0,1,1,1,1,5 -2830,0,1,1,1,1,5 -2840,0,1,1,1,1,5 -2850,0,1,1,1,1,5 -2860,0,1,1,1,1,5 -2870,0,1,1,1,1,5 -2880,0,1,1,1,1,5 -2890,0,1,1,1,1,5 -2900,0,1,1,1,1,5 -2910,0,1,1,1,1,5 -2920,0,1,1,1,1,5 -2930,0,1,1,1,1,5 -2940,0,1,1,1,1,5 -2950,0,1,1,1,1,5 -2960,0,1,1,1,1,5 -2970,0,1,1,1,1,5 -2980,0,1,1,1,1,5 -2990,0,1,1,1,1,5 -3000,0,1,1,1,1,5 -3010,0,1,1,1,1,5 -3020,0,1,1,1,1,5 -3030,0,1,1,1,1,5 -3040,0,1,1,1,1,5 -3050,0,1,1,1,1,5 -3060,0,1,1,1,1,5 -3070,0,1,1,1,1,5 -3080,0,1,1,1,1,5 -3090,0,1,1,1,1,5 -3100,0,1,1,1,1,5 -3110,0,1,1,1,1,5 -3120,0,1,1,1,1,5 -3130,0,1,1,1,1,5 -3140,0,1,1,1,1,5 -3150,0,1,1,1,1,5 -3160,0,1,1,1,1,5 -3170,0,1,1,1,1,5 -3180,0,1,1,1,1,5 -3190,0,1,1,1,1,5 -3200,0,1,1,1,1,5 -3210,0,1,1,1,1,5 -3220,0,1,1,1,1,5 -3230,0,1,1,1,1,5 -3240,0,1,1,1,1,5 -3250,0,1,1,1,1,5 -3260,0,1,1,1,1,5 -3270,0,1,1,1,1,5 -3280,0,1,1,1,1,5 -3290,0,1,1,1,1,5 -3300,0,1,1,1,1,5 -3310,0,1,1,1,1,5 -3320,0,1,1,1,1,5 -3330,0,1,1,1,1,5 -3340,0,1,1,1,1,5 -3350,0,1,1,1,1,5 -3360,0,1,1,1,1,5 -3370,0,1,1,1,1,5 -3380,0,1,1,1,1,5 -3390,0,1,1,1,1,5 -3400,0,1,1,1,1,5 -3410,0,1,1,1,1,5 -3420,0,1,1,1,1,5 -3430,0,1,1,1,1,5 -3440,0,1,1,1,1,5 -3450,0,1,1,1,1,5 -3460,0,1,1,1,1,5 -3470,0,1,1,1,1,5 -3480,0,1,1,1,1,5 -3490,0,1,1,1,1,5 -3500,0,1,1,1,1,5 -3510,0,1,1,1,1,5 -3520,0,1,1,1,1,5 -3530,0,1,1,1,1,5 -3540,0,1,1,1,1,5 -3550,0,1,1,1,1,5 -3560,0,1,1,1,1,5 -3570,0,1,1,1,1,5 -3580,0,1,1,1,1,5 -3590,0,1,1,1,1,5 -3600,0,1,1,1,1,5 -3610,0,1,1,1,1,5 -3620,0,1,1,1,1,5 -3630,0,1,1,1,1,5 -3640,0,1,1,1,1,5 -3650,0,1,1,1,1,5 -3660,0,1,1,1,1,5 -3670,0,1,1,1,1,5 -3680,0,1,1,1,1,5 -3690,0,1,1,1,1,5 -3700,0,1,1,1,1,5 -3710,0,1,1,1,1,5 -3720,0,1,1,1,1,5 -3730,0,1,1,1,1,5 -3740,0,1,1,1,1,5 -3750,0,1,1,1,1,5 -3760,0,1,1,1,1,5 -3770,0,1,1,1,1,5 -3780,0,1,1,1,1,5 -3790,0,1,1,1,1,5 -3800,0,1,1,1,1,5 -3810,0,1,1,1,1,5 -3820,0,1,1,1,1,5 -3830,0,1,1,1,1,5 -3840,0,1,1,1,1,5 -3850,0,1,1,1,1,5 -3860,0,1,1,1,1,5 -3870,0,1,1,1,1,5 -3880,0,1,1,1,1,5 -3890,0,1,1,1,1,5 -3900,0,1,1,1,1,5 -3910,0,1,1,1,1,5 -3920,0,1,1,1,1,5 -3930,0,1,1,1,1,5 -3940,0,1,1,1,1,5 -3950,0,1,1,1,1,5 -3960,0,1,1,1,1,5 -3970,0,1,1,1,1,5 -3980,0,1,1,1,1,5 -3990,0,1,1,1,1,5 -4000,0,1,1,1,1,5 -4010,0,1,1,1,1,5 -4020,0,1,1,1,1,5 -4030,0,1,1,1,1,5 -4040,0,1,1,1,1,5 -4050,0,1,1,1,1,5 -4060,0,1,1,1,1,5 -4070,0,1,1,1,1,5 -4080,0,1,1,1,1,5 -4090,0,1,1,1,1,5 -4100,0,1,1,1,1,5 -4110,0,1,1,1,1,5 -4120,0,1,1,1,1,5 -4130,0,1,1,1,1,5 -4140,0,1,1,1,1,5 -4150,0,1,1,1,1,5 -4160,0,1,1,1,1,5 -4170,0,1,1,1,1,5 -4180,0,1,1,1,1,5 -4190,0,1,1,1,1,5 -4200,0,1,1,1,1,5 -4210,0,1,1,1,1,5 -4220,0,1,1,1,1,5 -4230,0,1,1,1,1,5 -4240,0,1,1,1,1,5 -4250,0,1,1,1,1,5 -4260,0,1,1,1,1,5 -4270,0,1,1,1,1,5 -4280,0,1,1,1,1,5 -4290,0,1,1,1,1,5 -4300,0,1,1,1,1,5 -4310,0,1,1,1,1,5 -4320,0,1,1,1,1,5 -4330,0,1,1,1,1,5 -4340,0,1,1,1,1,5 -4350,0,1,1,1,1,5 -4360,0,1,1,1,1,5 -4370,0,1,1,1,1,5 -4380,0,1,1,1,1,5 -4390,0,1,1,1,1,5 -4400,0,1,1,1,1,5 -4410,0,1,1,1,1,5 -4420,0,1,1,1,1,5 -4430,0,1,1,1,1,5 -4440,0,1,1,1,1,5 -4450,0,1,1,1,1,5 -4460,0,1,1,1,1,5 -4470,0,1,1,1,1,5 -4480,0,1,1,1,1,5 -4490,0,1,1,1,1,5 -4500,0,1,1,1,1,5 -4510,0,1,1,1,1,5 -4520,0,1,1,1,1,5 -4530,0,1,1,1,1,5 -4540,0,1,1,1,1,5 -4550,0,1,1,1,1,5 -4560,0,1,1,1,1,5 -4570,0,1,1,1,1,5 -4580,0,1,1,1,1,5 -4590,0,1,1,1,1,5 -4600,0,1,1,1,1,5 -4610,0,1,1,1,1,5 -4620,0,1,1,1,1,5 -4630,0,1,1,1,1,5 -4640,0,1,1,1,1,5 -4650,0,1,1,1,1,5 -4660,0,1,1,1,1,5 -4670,0,1,1,1,1,5 -4680,0,1,1,1,1,5 -4690,0,1,1,1,1,5 -4700,0,1,1,1,1,5 -4710,0,1,1,1,1,5 -4720,0,1,1,1,1,5 -4730,0,1,1,1,1,5 -4740,0,1,1,1,1,5 -4750,0,1,1,1,1,5 -4760,0,1,1,1,1,5 -4770,0,1,1,1,1,5 -4780,0,1,1,1,1,5 -4790,0,1,1,1,1,5 -4800,0,1,1,1,1,5 -4810,0,1,1,1,1,5 -4820,0,1,1,1,1,5 -4830,0,1,1,1,1,5 -4840,0,1,1,1,1,5 -4850,0,1,1,1,1,5 -4860,0,1,1,1,1,5 -4870,0,1,1,1,1,5 -4880,0,1,1,1,1,5 -4890,0,1,1,1,1,5 -4900,0,1,1,1,1,5 -4910,0,1,1,1,1,5 -4920,0,1,1,1,1,5 -4930,0,1,1,1,1,5 -4940,0,1,1,1,1,5 -4950,0,1,1,1,1,5 -4960,0,1,1,1,1,5 -4970,0,1,1,1,1,5 -4980,0,1,1,1,1,5 -4990,0,1,1,1,1,5 -5000,0,2,2,1,1,5 -5010,0,2,2,1,1,5 -5020,0,2,2,1,1,5 -5030,0,2,2,1,1,5 -5040,0,2,2,1,1,5 -5050,0,2,2,1,1,5 -5060,0,2,2,1,1,5 -5070,0,2,2,1,1,5 -5080,0,2,2,1,1,5 -5090,0,2,2,1,1,5 -5100,0,2,2,1,1,5 -5110,0,2,2,1,1,5 -5120,0,2,2,1,1,5 -5130,0,2,2,1,1,5 -5140,0,2,2,1,1,5 -5150,0,2,2,1,1,5 -5160,0,2,2,1,1,5 -5170,0,2,2,1,1,5 -5180,0,2,2,1,1,5 -5190,0,2,2,1,1,5 -5200,0,2,2,1,1,5 -5210,0,2,2,1,1,5 -5220,0,2,2,1,1,5 -5230,0,2,2,1,1,5 -5240,0,2,2,1,1,5 -5250,0,2,2,1,1,5 -5260,0,2,2,1,1,5 -5270,0,2,2,1,1,5 -5280,0,2,2,1,1,5 -5290,0,2,2,1,1,5 -5300,0,2,2,1,1,5 -5310,0,2,2,1,1,5 -5320,0,2,2,1,1,5 -5330,0,2,2,1,1,5 -5340,0,2,2,1,1,5 -5350,0,2,2,1,1,5 -5360,0,2,2,1,1,5 -5370,0,2,2,1,1,5 -5380,0,2,2,1,1,5 -5390,0,2,2,1,1,5 -5400,0,2,2,1,1,5 -5410,0,2,2,1,1,5 -5420,0,2,2,1,1,5 -5430,0,2,2,1,1,5 -5440,0,2,2,1,1,5 -5450,0,2,2,1,1,5 -5460,0,2,2,1,1,5 -5470,0,2,2,1,1,5 -5480,0,2,2,1,1,5 -5490,0,2,2,1,1,5 -5500,0,2,2,1,1,5 -5510,0,2,2,1,1,5 -5520,0,2,2,1,1,5 -5530,0,2,2,1,1,5 -5540,0,2,2,1,1,5 -5550,0,2,2,1,1,5 -5560,0,2,2,1,1,5 -5570,0,2,2,1,1,5 -5580,0,2,2,1,1,5 -5590,0,2,2,1,1,5 -5600,0,2,2,1,1,5 -5610,0,2,2,1,1,5 -5620,0,2,2,1,1,5 -5630,0,2,2,1,1,5 -5640,0,2,2,1,1,5 -5650,0,2,2,1,1,5 -5660,0,2,2,1,1,5 -5670,0,2,2,1,1,5 -5680,0,2,2,1,1,5 -5690,0,2,2,1,1,5 -5700,0,2,2,1,1,5 -5710,0,2,2,1,1,5 -5720,0,2,2,1,1,5 -5730,0,2,2,1,1,5 -5740,0,2,2,1,1,5 -5750,0,2,2,1,1,5 -5760,0,2,2,1,1,5 -5770,0,2,2,1,1,5 -5780,0,2,2,1,1,5 -5790,0,2,2,1,1,5 -5800,0,2,2,1,1,5 -5810,0,2,2,1,1,5 -5820,0,2,2,1,1,5 -5830,0,2,2,1,1,5 -5840,0,2,2,1,1,5 -5850,0,2,2,1,1,5 -5860,0,2,2,1,1,5 -5870,0,2,2,1,1,5 -5880,0,2,2,1,1,5 -5890,0,2,2,1,1,5 -5900,0,2,2,1,1,5 -5910,0,2,2,1,1,5 -5920,0,2,2,1,1,5 -5930,0,2,2,1,1,5 -5940,0,2,2,1,1,5 -5950,0,2,2,1,1,5 -5960,0,2,2,1,1,5 -5970,0,2,2,1,1,5 -5980,0,2,2,1,1,5 -5990,0,2,2,1,1,5 -6000,0,2,2,1,1,5 -6010,0,2,2,1,1,5 -6020,0,2,2,1,1,5 -6030,0,2,2,1,1,5 -6040,0,2,2,1,1,5 -6050,0,2,2,1,1,5 -6060,0,2,2,1,1,5 -6070,0,2,2,1,1,5 -6080,0,2,2,1,1,5 -6090,0,2,2,1,1,5 -6100,0,2,2,1,1,5 -6110,0,2,2,1,1,5 -6120,0,2,2,1,1,5 -6130,0,2,2,1,1,5 -6140,0,2,2,1,1,5 -6150,0,2,2,1,1,5 -6160,0,2,2,1,1,5 -6170,0,2,2,1,1,5 -6180,0,2,2,1,1,5 -6190,0,2,2,1,1,5 -6200,0,2,2,1,1,5 -6210,0,2,2,1,1,5 -6220,0,2,2,1,1,5 -6230,0,2,2,1,1,5 -6240,0,2,2,1,1,5 -6250,0,2,2,1,1,5 -6260,0,2,2,1,1,5 -6270,0,2,2,1,1,5 -6280,0,2,2,1,1,5 -6290,0,2,2,1,1,5 -6300,0,2,2,1,1,5 -6310,0,2,2,1,1,5 -6320,0,2,2,1,1,5 -6330,0,2,2,1,1,5 -6340,0,2,2,1,1,5 -6350,0,2,2,1,1,5 -6360,0,2,2,1,1,5 -6370,0,2,2,1,1,5 -6380,0,2,2,1,1,5 -6390,0,2,2,1,1,5 -6400,0,2,2,1,1,5 -6410,0,2,2,1,1,5 -6420,0,2,2,1,1,5 -6430,0,2,2,1,1,5 -6440,0,2,2,1,1,5 -6450,0,2,2,1,1,5 -6460,0,2,2,1,1,5 -6470,0,2,2,1,1,5 -6480,0,2,2,1,1,5 -6490,0,2,2,1,1,5 -6500,0,2,2,1,1,5 -6510,0,2,2,1,1,5 -6520,0,2,2,1,1,5 -6530,0,2,2,1,1,5 -6540,0,2,2,1,1,5 -6550,0,2,2,1,1,5 -6560,0,2,2,1,1,5 -6570,0,2,2,1,1,5 -6580,0,2,2,1,1,5 -6590,0,2,2,1,1,5 -6600,0,2,2,1,1,5 -6610,0,2,2,1,1,5 -6620,0,2,2,1,1,5 -6630,0,2,2,1,1,5 -6640,0,2,2,1,1,5 -6650,0,2,2,1,1,5 -6660,0,2,2,1,1,5 -6670,0,2,2,1,1,5 -6680,0,2,2,1,1,5 -6690,0,2,2,1,1,5 -6700,0,2,2,1,1,5 -6710,0,2,2,1,1,5 -6720,0,2,2,1,1,5 -6730,0,2,2,1,1,5 -6740,0,2,2,1,1,5 -6750,0,2,2,1,1,5 -6760,0,2,2,1,1,5 -6770,0,2,2,1,1,5 -6780,0,2,2,1,1,5 -6790,0,2,2,1,1,5 -6800,0,2,2,1,1,5 -6810,0,2,2,1,1,5 -6820,0,2,2,1,1,5 -6830,0,2,2,1,1,5 -6840,0,2,2,1,1,5 -6850,0,2,2,1,1,5 -6860,0,2,2,1,1,5 -6870,0,2,2,1,1,5 -6880,0,2,2,1,1,5 -6890,0,2,2,1,1,5 -6900,0,2,2,1,1,5 -6910,0,2,2,1,1,5 -6920,0,2,2,1,1,5 -6930,0,2,2,1,1,5 -6940,0,2,2,1,1,5 -6950,0,2,2,1,1,5 -6960,0,2,2,1,1,5 -6970,0,2,2,1,1,5 -6980,0,2,2,1,1,5 -6990,0,2,2,1,1,5 -7000,0,2,2,1,1,5 -7010,0,2,2,1,1,5 -7020,0,2,2,1,1,5 -7030,0,2,2,1,1,5 -7040,0,2,2,1,1,5 -7050,0,2,2,1,1,5 -7060,0,2,2,1,1,5 -7070,0,2,2,1,1,5 -7080,0,2,2,1,1,5 -7090,0,2,2,1,1,5 -7100,0,2,2,1,1,5 -7110,0,2,2,1,1,5 -7120,0,2,2,1,1,5 -7130,0,2,2,1,1,5 -7140,0,2,2,1,1,5 -7150,0,2,2,1,1,5 -7160,0,2,2,1,1,5 -7170,0,2,2,1,1,5 -7180,0,2,2,1,1,5 -7190,0,2,2,1,1,5 -7200,0,2,2,1,1,5 -7210,0,2,2,1,1,5 -7220,0,2,2,1,1,5 -7230,0,2,2,1,1,5 -7240,0,2,2,1,1,5 -7250,0,2,2,1,1,5 -7260,0,2,2,1,1,5 -7270,0,2,2,1,1,5 -7280,0,2,2,1,1,5 -7290,0,2,2,1,1,5 -7300,0,2,2,1,1,5 -7310,0,2,2,1,1,5 -7320,0,2,2,1,1,5 -7330,0,2,2,1,1,5 -7340,0,2,2,1,1,5 -7350,0,2,2,1,1,5 -7360,0,2,2,1,1,5 -7370,0,2,2,1,1,5 -7380,0,2,2,1,1,5 -7390,0,2,2,1,1,5 -7400,0,2,2,1,1,5 -7410,0,2,2,1,1,5 -7420,0,2,2,1,1,5 -7430,0,2,2,1,1,5 -7440,0,2,2,1,1,5 -7450,0,2,2,1,1,5 -7460,0,2,2,1,1,5 -7470,0,2,2,1,1,5 -7480,0,2,2,1,1,5 -7490,0,2,2,1,1,5 -7500,0,2,2,1,1,5 -7510,0,2,2,1,1,5 -7520,0,2,2,1,1,5 -7530,0,2,2,1,1,5 -7540,0,2,2,1,1,5 -7550,0,2,2,1,1,5 -7560,0,2,2,1,1,5 -7570,0,2,2,1,1,5 -7580,0,2,2,1,1,5 -7590,0,2,2,1,1,5 -7600,0,2,2,1,1,5 -7610,0,2,2,1,1,5 -7620,0,2,2,1,1,5 -7630,0,2,2,1,1,5 -7640,0,2,2,1,1,5 -7650,0,2,2,1,1,5 -7660,0,2,2,1,1,5 -7670,0,2,2,1,1,5 -7680,0,2,2,1,1,5 -7690,0,2,2,1,1,5 -7700,0,2,2,1,1,5 -7710,0,2,2,1,1,5 -7720,0,2,2,1,1,5 -7730,0,2,2,1,1,5 -7740,0,2,2,1,1,5 -7750,0,2,2,1,1,5 -7760,0,2,2,1,1,5 -7770,0,2,2,1,1,5 -7780,0,2,2,1,1,5 -7790,0,2,2,1,1,5 -7800,0,2,2,1,1,5 -7810,0,2,2,1,1,5 -7820,0,2,2,1,1,5 -7830,0,2,2,1,1,5 -7840,0,2,2,1,1,5 -7850,0,2,2,1,1,5 -7860,0,2,2,1,1,5 -7870,0,2,2,1,1,5 -7880,0,2,2,1,1,5 -7890,0,2,2,1,1,5 -7900,0,2,2,1,1,5 -7910,0,2,2,1,1,5 -7920,0,2,2,1,1,5 -7930,0,2,2,1,1,5 -7940,0,2,2,1,1,5 -7950,0,2,2,1,1,5 -7960,0,2,2,1,1,5 -7970,0,2,2,1,1,5 -7980,0,2,2,1,1,5 -7990,0,2,2,1,1,5 -8000,0,2,2,1,1,5 -8010,0,2,2,1,1,5 -8020,0,2,2,1,1,5 -8030,0,2,2,1,1,5 -8040,0,2,2,1,1,5 -8050,0,2,2,1,1,5 -8060,0,2,2,1,1,5 -8070,0,2,2,1,1,5 -8080,0,2,2,1,1,5 -8090,0,2,2,1,1,5 -8100,0,2,2,1,1,5 -8110,0,2,2,1,1,5 -8120,0,2,2,1,1,5 -8130,0,2,2,1,1,5 -8140,0,2,2,1,1,5 -8150,0,2,2,1,1,5 -8160,0,2,2,1,1,5 -8170,0,2,2,1,1,5 -8180,0,2,2,1,1,5 -8190,0,2,2,1,1,5 -8200,0,2,2,1,1,5 -8210,0,2,2,1,1,5 -8220,0,2,2,1,1,5 -8230,0,2,2,1,1,5 -8240,0,2,2,1,1,5 -8250,0,2,2,1,1,5 -8260,0,2,2,1,1,5 -8270,0,2,2,1,1,5 -8280,0,2,2,1,1,5 -8290,0,2,2,1,1,5 -8300,0,2,2,1,1,5 -8310,0,2,2,1,1,5 -8320,0,2,2,1,1,5 -8330,0,2,2,1,1,5 -8340,0,2,2,1,1,5 -8350,0,2,2,1,1,5 -8360,0,2,2,1,1,5 -8370,0,2,2,1,1,5 -8380,0,2,2,1,1,5 -8390,0,2,2,1,1,5 -8400,0,2,2,1,1,5 -8410,0,2,2,1,1,5 -8420,0,2,2,1,1,5 -8430,0,2,2,1,1,5 -8440,0,2,2,1,1,5 -8450,0,2,2,1,1,5 -8460,0,2,2,1,1,5 -8470,0,2,2,1,1,5 -8480,0,2,2,1,1,5 -8490,0,2,2,1,1,5 -8500,0,2,2,1,1,5 -8510,0,2,2,1,1,5 -8520,0,2,2,1,1,5 -8530,0,2,2,1,1,5 -8540,0,2,2,1,1,5 -8550,0,2,2,1,1,5 -8560,0,2,2,1,1,5 -8570,0,2,2,1,1,5 -8580,0,2,2,1,1,5 -8590,0,2,2,1,1,5 -8600,0,2,2,1,1,5 -8610,0,2,2,1,1,5 -8620,0,2,2,1,1,5 -8630,0,2,2,1,1,5 -8640,0,2,2,1,1,5 -8650,0,2,2,1,1,5 -8660,0,2,2,1,1,5 -8670,0,2,2,1,1,5 -8680,0,2,2,1,1,5 -8690,0,2,2,1,1,5 -8700,0,2,2,1,1,5 -8710,0,2,2,1,1,5 -8720,0,2,2,1,1,5 -8730,0,2,2,1,1,5 -8740,0,2,2,1,1,5 -8750,0,2,2,1,1,5 -8760,0,2,2,1,1,5 -8770,0,2,2,1,1,5 -8780,0,2,2,1,1,5 -8790,0,2,2,1,1,5 -8800,0,2,2,1,1,5 -8810,0,2,2,1,1,5 -8820,0,2,2,1,1,5 -8830,0,2,2,1,1,5 -8840,0,2,2,1,1,5 -8850,0,2,2,1,1,5 -8860,0,2,2,1,1,5 -8870,0,2,2,1,1,5 -8880,0,2,2,1,1,5 -8890,0,2,2,1,1,5 -8900,0,2,2,1,1,5 -8910,0,2,2,1,1,5 -8920,0,2,2,1,1,5 -8930,0,2,2,1,1,5 -8940,0,2,2,1,1,5 -8950,0,2,2,1,1,5 -8960,0,2,2,1,1,5 -8970,0,2,2,1,1,5 -8980,0,2,2,1,1,5 -8990,0,2,2,1,1,5 -9000,0,2,2,1,1,5 -9010,0,2,2,1,1,5 -9020,0,2,2,1,1,5 -9030,0,2,2,1,1,5 -9040,0,2,2,1,1,5 -9050,0,2,2,1,1,5 -9060,0,2,2,1,1,5 -9070,0,2,2,1,1,5 -9080,0,2,2,1,1,5 -9090,0,2,2,1,1,5 -9100,0,2,2,1,1,5 -9110,0,2,2,1,1,5 -9120,0,2,2,1,1,5 -9130,0,2,2,1,1,5 -9140,0,2,2,1,1,5 -9150,0,2,2,1,1,5 -9160,0,2,2,1,1,5 -9170,0,2,2,1,1,5 -9180,0,2,2,1,1,5 -9190,0,2,2,1,1,5 -9200,0,2,2,1,1,5 -9210,0,2,2,1,1,5 -9220,0,2,2,1,1,5 -9230,0,2,2,1,1,5 -9240,0,2,2,1,1,5 -9250,0,2,2,1,1,5 -9260,0,2,2,1,1,5 -9270,0,2,2,1,1,5 -9280,0,2,2,1,1,5 -9290,0,2,2,1,1,5 -9300,0,2,2,1,1,5 -9310,0,2,2,1,1,5 -9320,0,2,2,1,1,5 -9330,0,2,2,1,1,5 -9340,0,2,2,1,1,5 -9350,0,2,2,1,1,5 -9360,0,2,2,1,1,5 -9370,0,2,2,1,1,5 -9380,0,2,2,1,1,5 -9390,0,2,2,1,1,5 -9400,0,2,2,1,1,5 -9410,0,2,2,1,1,5 -9420,0,2,2,1,1,5 -9430,0,2,2,1,1,5 -9440,0,2,2,1,1,5 -9450,0,2,2,1,1,5 -9460,0,2,2,1,1,5 -9470,0,2,2,1,1,5 -9480,0,2,2,1,1,5 -9490,0,2,2,1,1,5 -9500,0,2,2,1,1,5 -9510,0,2,2,1,1,5 -9520,0,2,2,1,1,5 -9530,0,2,2,1,1,5 -9540,0,2,2,1,1,5 -9550,0,2,2,1,1,5 -9560,0,2,2,1,1,5 -9570,0,2,2,1,1,5 -9580,0,2,2,1,1,5 -9590,0,2,2,1,1,5 -9600,0,2,2,1,1,5 -9610,0,2,2,1,1,5 -9620,0,2,2,1,1,5 -9630,0,2,2,1,1,5 -9640,0,2,2,1,1,5 -9650,0,2,2,1,1,5 -9660,0,2,2,1,1,5 -9670,0,2,2,1,1,5 -9680,0,2,2,1,1,5 -9690,0,2,2,1,1,5 -9700,0,2,2,1,1,5 -9710,0,2,2,1,1,5 -9720,0,2,2,1,1,5 -9730,0,2,2,1,1,5 -9740,0,2,2,1,1,5 -9750,0,2,2,1,1,5 -9760,0,2,2,1,1,5 -9770,0,2,2,1,1,5 -9780,0,2,2,1,1,5 -9790,0,2,2,1,1,5 -9800,0,2,2,1,1,5 -9810,0,2,2,1,1,5 -9820,0,2,2,1,1,5 -9830,0,2,2,1,1,5 -9840,0,2,2,1,1,5 -9850,0,2,2,1,1,5 -9860,0,2,2,1,1,5 -9870,0,2,2,1,1,5 -9880,0,2,2,1,1,5 -9890,0,2,2,1,1,5 -9900,0,2,2,1,1,5 -9910,0,2,2,1,1,5 -9920,0,2,2,1,1,5 -9930,0,2,2,1,1,5 -9940,0,2,2,1,1,5 -9950,0,2,2,1,1,5 -9960,0,2,2,1,1,5 -9970,0,2,2,1,1,5 -9980,0,2,2,1,1,5 -9990,0,2,2,1,1,5 -10000,0,2,2,1,1,5 -10010,0,2,2,1,1,5 -10020,0,2,2,1,1,5 -10030,0,2,2,1,1,5 -10040,0,2,2,1,1,5 -10050,0,2,2,1,1,5 -10060,0,2,2,1,1,5 -10070,0,2,2,1,1,5 -10080,0,2,2,1,1,5 -10090,0,2,2,1,1,5 -10100,0,2,2,1,1,5 diff --git a/EC-GN-JA-PCF/.svn/pristine/06/064c7ca321be88cfb10321c9014e66de9a135e0b.svn-base b/EC-GN-JA-PCF/.svn/pristine/06/064c7ca321be88cfb10321c9014e66de9a135e0b.svn-base deleted file mode 100644 index c344eae..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/06/064c7ca321be88cfb10321c9014e66de9a135e0b.svn-base +++ /dev/null @@ -1,18 +0,0 @@ -record(longin, longin){ - field(SCAN, "Passive") -} -record(longout, longout){ - field(SCAN, "Passive") -} -record(ai, ai){ - field(SCAN, "Passive") -} -record(ao, ao){ - field(SCAN, "Passive") -} -record(stringin, stringin){ - field(SCAN, "Passive") -} -record(stringout, stringout){ - field(SCAN, "Passive") -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/07/07b07b24481aa7904c356a5cabed48e261cfdf14.svn-base b/EC-GN-JA-PCF/.svn/pristine/07/07b07b24481aa7904c356a5cabed48e261cfdf14.svn-base deleted file mode 100644 index a31f134..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/07/07b07b24481aa7904c356a5cabed48e261cfdf14.svn-base +++ /dev/null @@ -1,53 +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=JAMessageGAM.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)/JAMessageGAM$(LIBEXT) \ - $(BUILD_DIR)/JAMessageGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/08/0846338dfec4bc04fbfab5da8e5b2a0bb40f295b.svn-base b/EC-GN-JA-PCF/.svn/pristine/08/0846338dfec4bc04fbfab5da8e5b2a0bb40f295b.svn-base deleted file mode 100644 index 6a59a92..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/08/0846338dfec4bc04fbfab5da8e5b2a0bb40f295b.svn-base +++ /dev/null @@ -1,92 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -// from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -var func = display.getPropertyValue("name"); -var type = widget.getPropertyValue("name"); -var widgetType = "ellipse"; -var varName = "XXXXXXX"; - -if (type.indexOf("PSH") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("PCF") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("SRV") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("PLC") != -1) { - varName = "-PLCHLTS"; -} -if (type.indexOf("COM") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("CHS") != -1) { - varName = "-SYSHLTS"; -} -// if ("IOM" in type.indexOf() != -1) { -// varName = "-BS"; -if (type.indexOf("CUB") != -1) { - varName = "-CUBHLTS"; -} -if (type.indexOf("Box") != -1) { - widgetType = "rectangle"; -} - -if (triggerPV.getName().indexOf(varName) != -1) { -// ConsoleUtil.writeInfo("Trigger PV found) { " +triggerPV.getName()); - - var s = PVUtil.getSeverity(triggerPV); - - color = ColorFontUtil.WHITE; - if( s == 0) { - color = ColorFontUtil.GREEN; - } - else if( s == 1) { - color = ColorFontUtil.RED; - } - else if( s == 2) { - color = ColorFontUtil.YELLOW; - } - else if( s == 3) { - color = ColorFontUtil.PINK; - } - - if ("ellipse" == widgetType) { - widget.setPropertyValue("foreground_color", color); - } - - var tooltip = PVUtil.getString(triggerPV); - widget.setPropertyValue("tooltip", tooltip); -} - -if (type.indexOf("IOM") != -1) { - if (triggerPV.getName().indexOf(".SIMM") == -1) { - var s = PVUtil.getSeverity(triggerPV); - var color = ColorFontUtil.WHITE; - if( s == 0) { - color = ColorFontUtil.GREEN; - } - else if( s == 1) { - color = ColorFontUtil.RED; - } - else if( s == 2) { - color = ColorFontUtil.YELLOW; - } - else if( s == 3) { - color = ColorFontUtil.PINK; - } - else if( s == 4) { - color = ColorFontUtil.GREEN; - } - - widget.setPropertyValue("foreground_color", color); - - var tooltip = PVUtil.getString(triggerPV); - widget.setPropertyValue("tooltip", tooltip); - } -} - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/09/0936506a2d384aac9e1e815774e0afd031506dc6.svn-base b/EC-GN-JA-PCF/.svn/pristine/09/0936506a2d384aac9e1e815774e0afd031506dc6.svn-base deleted file mode 100644 index ac3464d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/09/0936506a2d384aac9e1e815774e0afd031506dc6.svn-base +++ /dev/null @@ -1,366 +0,0 @@ -/** - * @file JAEPICSCAInput.cpp - * @brief Source file for class JAEPICSCAInput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 JAEPICSCAInput (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include "JAEPICSCAInput.h" - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "MemoryMapInputBroker.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -namespace MARTe { -/** - * @brief Callback function for the ca_create_subscription. Single point of access which - * delegates the events to the corresponding JAEPICSPV instance. - */ -static FastPollingMutexSem eventCallbackFastMux; -/*lint -e{1746} function must match required prototype and thus cannot be changed to constant reference.*/ -void JAEPICSCAInputEventCallback(struct event_handler_args const args) { - (void) eventCallbackFastMux.FastLock(); - PVWrapper *pv = static_cast(args.usr); - if (pv != NULL_PTR(PVWrapper *)) { - (void) MemoryOperationsHelper::Copy(pv->memory, args.dbr, pv->memorySize); - } - eventCallbackFastMux.FastUnLock(); -} -} -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -JAEPICSCAInput::JAEPICSCAInput() : - DataSourceI(), EmbeddedServiceMethodBinderI(), executor(*this) { - pvs = NULL_PTR(PVWrapper *); - stackSize = THREADS_DEFAULT_STACKSIZE * 4u; - cpuMask = 0xffu; - eventCallbackFastMux.Create(); -} - -/*lint -e{1551} must stop the SingleThreadService in the destructor.*/ -JAEPICSCAInput::~JAEPICSCAInput() { - if (!executor.Stop()) { - if (!executor.Stop()) { - REPORT_ERROR(ErrorManagement::FatalError, "Could not stop SingleThreadService."); - } - } - (void) eventCallbackFastMux.FastLock(); - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - if (pvs[n].memory != NULL_PTR(void *)) { - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].memory); - } - } - delete[] pvs; - } - eventCallbackFastMux.FastUnLock(); -} - -bool JAEPICSCAInput::Initialise(StructuredDataI & data) { - bool ok = DataSourceI::Initialise(data); - if (ok) { - if (!data.Read("CPUs", cpuMask)) { - REPORT_ERROR(ErrorManagement::Information, "No CPUs defined. Using default = %d", cpuMask); - } - if (!data.Read("StackSize", stackSize)) { - REPORT_ERROR(ErrorManagement::Information, "No StackSize defined. Using default = %d", stackSize); - } - executor.SetStackSize(stackSize); - executor.SetCPUMask(cpuMask); - } - if (ok) { - ok = data.MoveRelative("Signals"); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Could not move to the Signals section"); - } - if (ok) { - ok = data.Copy(originalSignalInformation); - } - if (ok) { - ok = originalSignalInformation.MoveToRoot(); - } - //Do not allow to add signals in run-time - if (ok) { - ok = signalsDatabase.MoveRelative("Signals"); - } - if (ok) { - ok = signalsDatabase.Write("Locked", 1u); - } - if (ok) { - ok = signalsDatabase.MoveToAncestor(1u); - } - } - if (ok) { - ok = data.MoveToAncestor(1u); - } - return ok; -} - -bool JAEPICSCAInput::SetConfiguredDatabase(StructuredDataI & data) { - bool ok = DataSourceI::SetConfiguredDatabase(data); - //Check the signal index of the timing signal. - uint32 nOfSignals = GetNumberOfSignals(); - if (ok) { - ok = (nOfSignals > 0u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one signal shall be defined"); - } - } - if (ok) { - //Do not allow samples - uint32 functionNumberOfSignals = 0u; - uint32 n; - if (GetFunctionNumberOfSignals(InputSignals, 0u, functionNumberOfSignals)) { - for (n = 0u; (n < functionNumberOfSignals) && (ok); n++) { - uint32 nSamples; - ok = GetFunctionSignalSamples(InputSignals, 0u, n, nSamples); - if (ok) { - ok = (nSamples == 1u); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The number of samples shall be exactly 1"); - } - } - } - } - if (ok) { - pvs = new PVWrapper[nOfSignals]; - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - pvs[n].memory = NULL_PTR(void *); - } - for (n = 0u; (n < nOfSignals) && (ok); n++) { - //Note that the RealTimeApplicationConfigurationBuilder is allowed to change the order of the signals w.r.t. to the originalSignalInformation - StreamString orderedSignalName; - ok = GetSignalName(n, orderedSignalName); - if (ok) { - //Have to mix and match between the original setting of the DataSource signal - //and the ones which are later added by the RealTimeApplicationConfigurationBuilder - ok = originalSignalInformation.MoveRelative(orderedSignalName.Buffer()); - } - StreamString pvName; - if (ok) { - ok = originalSignalInformation.Read("PVName", pvName); - if (!ok) { - uint32 nn = n; - REPORT_ERROR(ErrorManagement::ParametersError, "No PVName specified for signal at index %d", nn); - } - } - TypeDescriptor td = GetSignalType(n); - if (ok) { - (void) StringHelper::CopyN(&pvs[n].pvName[0], pvName.Buffer(), PV_NAME_MAX_SIZE); - if (td == CharString) { - pvs[n].pvType = DBR_STRING; - } - else if (td == Character8Bit) { - pvs[n].pvType = DBR_STRING; - } - else if (td == SignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == UnsignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == SignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == UnsignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == SignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == UnsignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == Float32Bit) { - pvs[n].pvType = DBR_FLOAT; - } - else if (td == Float64Bit) { - pvs[n].pvType = DBR_DOUBLE; - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Type %s is not supported", TypeDescriptor::GetTypeNameFromTypeDescriptor(td)); - ok = false; - } - } - uint32 numberOfElements = 1u; - if (ok) { - ok = GetSignalNumberOfElements(n, numberOfElements); - } - if (ok) { - if (pvs[n].pvType == DBR_STRING) { - ok = (numberOfElements == 40u); - } - if (!ok) { - //Could support arrays of strings with multiples of char8[40] - REPORT_ERROR(ErrorManagement::ParametersError, "Strings shall be defined with 40 elements char8[40]. Arrays of strings are not currently supported"); - } - } - if (ok) { - pvs[n].numberOfElements = numberOfElements; - } - if (ok) { - pvs[n].memorySize = td.numberOfBits; - pvs[n].memorySize /= 8u; - pvs[n].memorySize *= numberOfElements; - pvs[n].memory = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - ok = originalSignalInformation.MoveToAncestor(1u); - } - } - } - - if (ok) { - ok = (executor.Start() == ErrorManagement::NoError); - } - return ok; -} - -bool JAEPICSCAInput::AllocateMemory() { - return true; -} - -uint32 JAEPICSCAInput::GetNumberOfMemoryBuffers() { - return 1u; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The signalAddress is independent of the bufferIdx.*/ -bool JAEPICSCAInput::GetSignalMemoryBuffer(const uint32 signalIdx, const uint32 bufferIdx, void*& signalAddress) { - bool ok = (pvs != NULL_PTR(PVWrapper *)); - if (ok) { - ok = (signalIdx < GetNumberOfSignals()); - } - if (ok) { - //lint -e{613} pvs cannot as otherwise ok would be false - signalAddress = pvs[signalIdx].memory; - } - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The brokerName only depends on the direction */ -const char8* JAEPICSCAInput::GetBrokerName(StructuredDataI& data, const SignalDirection direction) { - const char8* brokerName = ""; - if (direction == InputSignals) { - brokerName = "MemoryMapInputBroker"; - } - return brokerName; -} - -bool JAEPICSCAInput::GetInputBrokers(ReferenceContainer& inputBrokers, const char8* const functionName, void* const gamMemPtr) { - ReferenceT broker("MemoryMapInputBroker"); - bool ok = broker->Init(InputSignals, *this, functionName, gamMemPtr); - if (ok) { - ok = inputBrokers.Insert(broker); - } - - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: OutputBrokers are not supported. Function returns false irrespectively of the parameters.*/ -bool JAEPICSCAInput::GetOutputBrokers(ReferenceContainer& outputBrokers, const char8* const functionName, void* const gamMemPtr) { - return false; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: NOOP at StateChange, independently of the function parameters.*/ -bool JAEPICSCAInput::PrepareNextState(const char8* const currentStateName, const char8* const nextStateName) { - return true; -} - -ErrorManagement::ErrorType JAEPICSCAInput::Execute(ExecutionInfo& info) { - ErrorManagement::ErrorType err = ErrorManagement::NoError; - if (info.GetStage() == ExecutionInfo::StartupStage) { - (void) eventCallbackFastMux.FastLock(); - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_context_create(ca_enable_preemptive_callback) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_enable_preemptive_callback failed"); - } - - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_create_channel(&pvs[n].pvName[0], NULL_PTR(caCh *), NULL_PTR(void *), 20u, &pvs[n].pvChid) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_create_channel failed for PV with name %s", pvs[n].pvName); - } - if (err.ErrorsCleared()) { - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_create_subscription(pvs[n].pvType, pvs[n].numberOfElements, pvs[n].pvChid, DBE_VALUE, &JAEPICSCAInputEventCallback, &pvs[n], - &pvs[n].pvEvid) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_create_subscription failed for PV %s", pvs[n].pvName); - } - } - } - } - eventCallbackFastMux.FastUnLock(); - } - else if (info.GetStage() != ExecutionInfo::BadTerminationStage) { - Sleep::Sec(1.0F); - } - else { - (void) eventCallbackFastMux.FastLock(); - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - (void) ca_clear_subscription(pvs[n].pvEvid); - (void) ca_clear_event(pvs[n].pvEvid); - (void) ca_clear_channel(pvs[n].pvChid); - } - } - ca_detach_context(); - ca_context_destroy(); - eventCallbackFastMux.FastUnLock(); - } - - return err; -} - -uint32 JAEPICSCAInput::GetStackSize() const { - return stackSize; -} - -uint32 JAEPICSCAInput::GetCPUMask() const { - return cpuMask; -} - -bool JAEPICSCAInput::Synchronise() { - return false; -} - -CLASS_REGISTER(JAEPICSCAInput, "1.0") - -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/09/09705f4f118007099a767b3d670ccf9beb7e0fc3.svn-base b/EC-GN-JA-PCF/.svn/pristine/09/09705f4f118007099a767b3d670ccf9beb7e0fc3.svn-base deleted file mode 100644 index 30d6e02..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/09/09705f4f118007099a767b3d670ccf9beb7e0fc3.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/09/098b66d04ddbf07fba4dc6ea76fd29e49a161d11.svn-base b/EC-GN-JA-PCF/.svn/pristine/09/098b66d04ddbf07fba4dc6ea76fd29e49a161d11.svn-base deleted file mode 100644 index 06c6d8d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/09/098b66d04ddbf07fba4dc6ea76fd29e49a161d11.svn-base +++ /dev/null @@ -1 +0,0 @@ -Last SDD Generation: Tue May 13 15:51:08 UTC 2025 diff --git a/EC-GN-JA-PCF/.svn/pristine/09/09cc9d56d02d385e9dad6e0ab0f25284ad7cb839.svn-base b/EC-GN-JA-PCF/.svn/pristine/09/09cc9d56d02d385e9dad6e0ab0f25284ad7cb839.svn-base deleted file mode 100644 index 6fb3d04..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/09/09cc9d56d02d385e9dad6e0ab0f25284ad7cb839.svn-base +++ /dev/null @@ -1,4946 +0,0 @@ -// 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" -// } -// } - -// 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 - } - } - } -} - -// RealTime Application node -+JAGyrotronRTApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - //Timer GAM for thread 1. - +Timer1kHzGAM = { - Class = IOGAM - InputSignals = { - Counter = { - DataSource = Timer1kHz - Type = uint32 - Frequency = 1000 //Hz - } - Time = { - DataSource = Timer1kHz - Type = uint32 - } - } - OutputSignals = { - Counter1kHz = { - DataSource = DDB1 - Type = uint32 - } - Time1kHz = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM to update PCF state-machine state - +InErrorGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 1 - } - } - } - +InDisabledGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 2 - } - } - } - +InWaitStandbyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 3 - } - } - } - +InWaitReadyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 4 - } - } - } - +InWaitPermitGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 5 - } - } - } - +InWaitHVONGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 6 - } - } - } - +InWaitHVON_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 7 - } - } - } - +InWaitHVON_SDNGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 8 - } - } - } - +InWaitHVON_SDN_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 9 - } - } - } - - // Copy data from DDB1 to EPICSCAOutput DataSource. - +EPICSOutputGAM = { - Class = IOGAM - InputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - PREP_TIME_WF = { - DataSource = DDB1 - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - APS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - SHOT_ID = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - //Add 20201117 - 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 - } - } - OutputSignals = { - PCF_STATE = { - DataSource = EPICSCAOutput - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - APS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - FHPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - CSV_LOADED = { - DataSource = EPICSCAOutput - Type = uint32 - } - CSV_ERR = { - DataSource = EPICSCAOutput - Type = uint32 - } - ELAPSED_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVARMED = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVINJECTION = { - DataSource = EPICSCAOutput - Type = uint32 - } - RFON = { - DataSource = EPICSCAOutput - Type = uint32 - } - - MHVPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - PREP_TIME_WF = { - DataSource = EPICSCAOutput - } - MHVPS_PREP_WF = { - DataSource = EPICSCAOutput - } - BPS_PREP_WF = { - DataSource = EPICSCAOutput - } - APS_PREP_WF = { - DataSource = EPICSCAOutput - } - MCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - GCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - FHPS_PREP_WF = { - DataSource = EPICSCAOutput - } - CCPS_REF = { - DataSource = EPICSCAOutput - } - MHVPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAOutput - } - BEAM_ON_STAT = { - DataSource = EPICSCAOutput - } - SHOT_ID = { - DataSource = EPICSCAOutput - } - FHPS_AUTO_STAT = { - DataSource = EPICSCAOutput - } - //Added 20201117 - APS_HVON = { - DataSource = EPICSCAOutput - } - APS_SWON = { - DataSource = EPICSCAOutput - } - BPS_HVON = { - DataSource = EPICSCAOutput - } - BPS_SWON = { - DataSource = EPICSCAOutput - } - MHVPS_HVON = { - DataSource = EPICSCAOutput - } - } - } - - // Message GAM in Disabled state. - +GoWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - +GoWaitStandbyFromReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - - // MCPS, GCPS PV to DDB1 - +GCPSGAM = { - Class = IOGAM - InputSignals = { - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - +MCPSGAM = { - Class = IOGAM - InputSignals = { - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - // Message GAM in Standby state. - +GoDisabledGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoDisabled - } - } - - //GAM in WaitReady state. Check MCPS,GCPS,FHPS state for state transition. - +GoWaitReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {3 3 1} - ExpectedFloatValues = {0 0 0} - Comparators = {EQUALS GREATER EQUALS GREATER EQUALS GREATER} - InputSignals = { - MCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYB_MCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYB_GCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_MEAS_ACV = { - DataSource = EPICSCAInput - Type = float32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - - //GAM for prepro - +WFRecordGAM = { - Class = JAWFRecordGAM - Directory = "../Configurations" //TODO: Enter directory path for prepro files. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - } - OutputSignals = { - PREP_TIME_WF = { - DataSource = DDB1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - } - BPS_PREP_WF = { - DataSource = DDB1 - } - APS_PREP_WF = { - DataSource = DDB1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - } - } - } - +PreProgrammedGAM = { - Class = JAPreProgrammedGAM - Directory = "../Configurations" // TODO: Enter the directory path for prepro files. - PreProgrammedPeriodMs = 1 // Parameter update periods in ms. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - FHPS_REF = { - Alias = FHPS_AUTO_TAGV - DataSource = EPICSCAInput - Type = float32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - GYA_PREPRO_TIME = { - DataSource = DDB1 - Type = int32 - } - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_REF = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM in WaitReady state. Check PLC_READY and CCPS_IN_OPERATION status. - +GoWaitPermitGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1} //20201222 modified. In the past, 0 1. - Comparators = {EQUALS EQUALS} - InputSignals = { - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - //GAM in WaitPermit state. Check Permit and States of Operation Modes. - +GoWaitReadyFromWaitPermitGAM = { - Class = JAMessageGAM - Operation = OR - ExpectedIntValues = {0 0} - Comparators = {EQUALS EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - +GoWaitHVONGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON - } - } - +GoWaitHVON_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_PREP - } - } - +GoWaitHVON_SDN_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN - } - } - +GoWaitHVON_SDN_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN_PREP - } - } - - //GAM in WaitHVON_xx states. If PLC_READY is zero, goto WaitStandby. - +FromWaitHVONToWaitStandby = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - //GAM in WaitHVON_xx states. If PLC_PERMIT is zero, goto WaitPermit. - +FromWaitHVONToWaitPermit = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 0 0 0 0} //modified 20201222 - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} //modified 20201222 - InputSignals = { - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - //add 20201222 - APS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - MHVPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - APS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - }//20201222 - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - // Check the selected mode, and check maximum pulse length. Use with a StateMachineGAM - +ModeLimitGAM = { - Class = JAModeControlGAM - InputSignals = { - PLC_MODE1 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD1_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE2 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD2_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE3 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD3_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE4 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD4_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - Time = { - DataSource = DDB1 - Type = uint32 - } - HVInjection = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - MODE_SHOTLEN_FLAG = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // State notify GAMs. These GAMs are in all WaitHVON states. - +writeBeamONStateGAM = { - Class = IOGAM - InputSignals = { - BEAM_ON_STAT = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVArmedStateGAM = { - Class = IOGAM - InputSignals = { - HVARMED = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVInjectionStateGAM = { - Class = IOGAM - InputSignals = { - HVINJECTION = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONStateGAM = { - Class = IOGAM - InputSignals = { - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeBeamONTimeGAM = { - Class = IOGAM - InputSignals = { - BeamONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONTimeGAM = { - Class = IOGAM - InputSignals = { - RFONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for trianguler waveform generation. - +CCPSWaveformGAM = { - Class = JATriangleWaveGAM - InputSignals = { - Frequency = { - Alias = CCPS_OUTPUT_FREQ - DataSource = EPICSCAInput - Type = float32 - } - Amplitude = { - Alias = CCPS_OUTPUT_AMP - DataSource = EPICSCAInput - Type = float32 - } - Offset = { - Alias = CCPS_OUTPUT_OFFS - DataSource = EPICSCAInput - Type = float32 - } - PLCSTANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - } - } - //GAM for FHPS ramping up operation. - +FHPSSetpointGAM = { - Class = IOGAM - InputSignals = { - FHPS_AUTO_TAGV = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - FHPS_TAGV = { - DataSource = DDB1 - Type = float32 - } - } - } - +FHPSRampupGAM = { - Class = JARampupGAM - InputSignals = { - Currspv = { - Alias = FHPS_REF - DataSource = DDB1 - Type = float32 - } - Targetv = { - Alias = FHPS_TAGV - DataSource = DDB1 - Type = float32 - } - Time = { - Alias = FHPS_AUTO_TIME - DataSource = EPICSCAInput - Type = float32 - } - Start = { - Alias = FHPS_AUTO_START - DataSource = EPICSCAInput - Type = uint32 - } - PLC_STANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - MANUAL_AUTO = { - Alias = FHPS_MANM - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - } - OutputSignals = { - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - //GAM for error handling. - // GAM that sets ERROR and STOP FLAGS for APS, BPS and MHVPS when we enter Error state and resets them when we leave Error state - +ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = AND - ExpectedValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {0 0 0} - InputSignals = { - // Conditional signals - 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 - } - // Default values - MHVPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - } - } - +StopRequestGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {1 1 1 1 1 1 1 1 1 1} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {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 - } - StopRequest_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - StopRequest = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //Test whether board status are stable - +GAMDisplayBoardStatus = { - Class = IOGAM - InputSignals = { - CCPS_OUTPUT_OFFS = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - CCPS_OUTPUT_FREQ_DISP = { - DataSource = Display - Type = float32 - } - } - } - //Check PXI board status. - +PXI6259ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0 0} - Comparators = {GREATER GREATER GREATER GREATER} - Values = {1} - InputSignals = { - // Conditional signals - PXI6259_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6259_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6259_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error03GAM = {// detect Hardware error (status number 3) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {3 3} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_03_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error04GAM = {// detect No board error (status number 4) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {4 4} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_04_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXIErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0} - Comparators = {GREATER GREATER GREATER} - Values = {1} - InputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - // Default values - PCF_FLT_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - } - } - - - +FromErrorToWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - InputSignals = { - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - // From any state to Error state. - +GoErrorGAM = { - Class = JAMessageGAM - Operation = OR - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoError - } - } - // Reset HVPS outputs. ToDo: Fix to access NI d.s. - +ResetPSsGAM = { - Class = ConstantGAM - OutputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - } - // Update status. ToDo: Fix to access NI d.s. - +ExitedHVArmedInjectionRFONGAM = { - Class = JAConditionalSignalUpdateGAM - Values = {0 0 0} - InputSignals = { - // Condition signals - // Default output values - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //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 = RealTimeThreadAsyncBridge - Type = uint16 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - } - } - - +SDNReplyGAM = { - Class = IOGAM - InputSignals = { - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - WaveformPacketID = { - DataSource = DDB1 - Type = uint16 - } - GYA_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYB_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYA_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - GYB_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - } - 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 - } - } - } - //Write SDN waveform data into PS setpoint PV. - - // 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 - } - RTThreadPerf = { - DataSource = Timings - Alias = "WaitHVON.Thread3_CycleTime" - Type = uint32 - } - } - OutputSignals = { - TimeSDN = { - DataSource = DDB1 - Type = uint32 - } - CounterSDN = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerfSDN = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for realtime statemachine - +Timer100kHzGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 200000 //operation:100k(=10us cyc), debug:10 - } - RTThreadPerf = { - DataSource = Timings - Alias = "WaitHVON.Thread3_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Digital Output port access. (These GAMs are different from GYA.) - // EPICS PV to one uint8 variable - +NI6528P3GAM = { - Class = JABitSumGAM - InputSignals = { - APS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV5 = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GAM = { - Class = JABitSumGAM - InputSignals = { - DO_REV6 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV7 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV8 = { - DataSource = EPICSCAInput - Type = uint32 - } - None1 = { - DataSource = DDB1 - Type = uint32 - Defualt = 0 - } - None2 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - None3 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - HVARMED = { - DataSource = EPICSCAInput - Type = uint32 - } - HVINJECTION = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GYAGAM = { - Class = JABitSumGAM - InputSignals = { - DO_REV6_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV7_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV8_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAInput - Type = uint32 - } - HVARMED_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P4GYACurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5GAM = { - Class = JABitSumGAM - InputSignals = { - RFON = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - SCM_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - REV2_PLC = { - DataSource = EPICSCAInput - Type = uint32 - } - REV3_PLC = { - DataSource = EPICSCAInput - Type = uint32 - } - None4 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - None5 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - // reversed uint8 variable (value to write on port.) - +NI6528P3PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GYAPV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P4GYACurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4GYAPortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P5PortValue = { - DataSource = NI6528P5 - Type = uint8 - } - } - } - // write a uint8 port value to PXI data source. - +NI6528P3WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3Value = { - DataSource = NI6528P3 - Type = uint8 - } - } - } - +NI6528P4WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4Value = { - DataSource = NI6528P4 - Type = uint8 - } - } - } - +NI6528P4GYAWriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P4GYAPortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4GYAValue = { - DataSource = NI6528P4GYA - Type = uint8 - } - } - } - - //Thread3 pulse parameter EPICS PVs read. - +GAMEPICSCA = { - Class = IOGAM - InputSignals = { - MHVPS_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - SHOTLEN = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_ON = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - 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 - } - PLC_ON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Real-Time state machine GAMs - +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 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210120 - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210120 - DO_REV6_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - RTSMValue = { - 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 - } - //Added 20201117 - 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 - } - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4GYAValue = { - DataSource = NI6528P4GYA - //DataSource = DDB1 - Type = uint8 - } - } - } - +GAMSDNRealTimeStateMachine = { - Class = JASDNRTStateMachineGAM - 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 - } - Command = { - DataSource = RealTimeThreadAsyncBridge - Type = uint16 - } - - } - OutputSignals = { - RTSMValue = { - DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - BeamON = { - 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 - } - } - } - - //Terminal Interface reads three inputs. - // INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value - // OUTPUTs: Each NIxxx data sources. - +terminalInterfaceGAM = { - Class = JATerminalInterfaceGAM - mhvps_hvon_term = 4 - aps_hvon_term = 1 - aps_swon_term = 16 - bps_hvon_term = 2 - bps_swon_term = 8 - InputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Input signals about HW terminal. - RTSMValue = { - DataSource = DDB1 - Type = uint32 - } - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - NI6528P4GYACurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4GYAValue = { - DataSource = NI6528P4GYA - //DataSource = DDB1 - Type = uint8 - } - } - } - - // Switching AO port source between internal variable and EPICS PV. - +choiseGAM = { - Class = JASourceChoiseGAM - numberOfPVs = 5 - InputSignals = { - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - BPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - APS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - APS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MHVPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - } - } - - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +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 = 0x1000 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +TimerSDN = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x2000 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - // Timer for thread 3 (RTStateMachineGAM execution cycle.) - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x4000 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - - +Timings = { - Class = TimingDataSource - } - +Display = { - Class = LoggerDataSource - } - // for data exechange between threads. - +RealTimeThreadAsyncBridge = { - Class = RealTimeThreadAsyncBridge - NumberOfBuffers = 20 - } - // for access ECPIS PV. - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "0x1000" //change from 200 - StackSize = "10000000" - Signals = { - // PV for GYA(6528.1 port4) - DO_REV6_GYA = { - PVName = "EC-GN-P01-GAFP:FMC4310-RV6" - Type = uint32 - } - DO_REV7_GYA = { - PVName = "EC-GN-P01-GAFP:FMC4310-RV7" - Type = uint32 - } - DO_REV8_GYA = { - PVName = "EC-GN-P01-GAFP:FMC4310-RV8" - Type = uint32 - } - HVARMED_GYA = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1" - Type = uint32 - } - // PV for DO - REV2_PLC = { - PVName = "EC-GN-P01-GPS:PLC4110-RV2" - Type = uint32 - } - REV3_PLC = { - PVName = "EC-GN-P01-GPS:PLC4110-RV3" - Type = uint32 - } - // PV for manually setting - BPS_MM = { - PVName = "EC-GN-P01-PB2F:STAT-MANM" - Type = uint32 - } - BPS_MANUAL = { - PVName = "EC-GN-P01-PB2F:PSU2000-EREF-MSP" - Type = float32 - } - APS_MM = { - PVName = "EC-GN-P01-PA2F:STAT-MANM" - Type = uint32 - } - APS_MANUAL = { - PVName = "EC-GN-P01-PA2F:PSU4000-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 - } - // 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 - } - - //Digital Input PVs in Signal-Variable tab. - APS_READY = { - PVName = "EC-GN-P01-PA2F:PSU4000-YSTA" - 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 - } - BPS_READY = { - PVName = "EC-GN-P01-PB2F:PSU2000-YSTA" - 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 - } - MHVPS_READY = { - PVName = "EC-GN-P01-PMF:PSU0000-TYSTA" - Type = uint32 - } - MHVPS_MODON = { - PVName = "EC-GN-P01-GPF:PSU0000-YSTA-MOD" - 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_STANDBY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST1R" - Type = uint32 - } - PLC_READY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST2R" - Type = uint32 - } - PLC_ON = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST3R" - 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 - } - PLC_PERMIT = { - PVName = "EC-GN-P01-GPS:PLC4110-CON-GY2PRM" - Type = uint32 - } - PLC_SELECT = { - PVName = "EC-GN-P01-GPS:PLC4110-CON-OPGY2" - Type = uint32 - } - PLC_SYNCMODE = { - PVName = "EC-GN-P01-GPS:PLC4110-YSTA-MPSS" - Type = uint32 - } - PLC_CCPSON = { - PVName = "EC-GN-P01-GPS:PLC4110-YON-CCPS2" - Type = uint32 - } - EXT_TRIG = { - PVName = "EC-GN-P01-GBF:DIO4900-YON" - Type = uint32 - } - - //Digital Output PVs in Variables-signal tab - APS_HVON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-HV" - Type = uint32 - } - APS_SWON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-SW" - Type = uint32 - } - APS_STOP = { - PVName = "EC-GN-P01-PA2F:PSU4000-CTRP" - Type = uint32 - } - BPS_HVON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-HV" - Type = uint32 - } - BPS_SWON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-SW" - Type = uint32 - } - BPS_STOP = { - PVName = "EC-GN-P01-PB2F:PSU2000-CTRP" - Type = uint32 - } - BEAM_ON_STAT = { - PVName = "EC-GN-P01-GBFP:FMC4310-YSTA-GBOP" - Type = uint32 - } - DO_REV5 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV5" - Type = uint32 - } - DO_REV6 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV6" - Type = uint32 - } - DO_REV7 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV7" - Type = uint32 - } - DO_REV8 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV8" - Type = uint32 - } - MHVPS_HVON = { - PVName = "EC-GN-P01-PMF:PSU0000-CON-SW" - Type = uint32 - } - MHVPS_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - 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 - } - HVARMED = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB1" - Type = uint32 - } - HVINJECTION = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB2" - Type = uint32 - } - RFON = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB3" - Type = uint32 - } - FHPS_RU = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP" - Type = uint32 - } - SCM_RU = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP" - Type = uint32 - } - SCM_RD = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RDOWN" - Type = uint32 - } - CCPS_IN_OPERATION = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-TR" - Type = uint32 - } - //Input PVs in Variables-Operation tab. - PREP_MODE = { - PVName = "EC-GN-P01-GBF:STAT-PREP-MODE" - Type = uint32 - } - SHORT_PULSE_MODE = { - PVName = "EC-GN-P01-GBF:STAT-SHORT-PULSE" - Type = uint32 - } - - MHVPS_DT = { - PVName = "EC-GN-P01-PMF:STAT-DT-HVON" - Type = uint32 - } - APS_HVON_DT = { - PVName = "EC-GN-P01-PA2F:STAT-DT-HVON" - Type = uint32 - } - APS_SWON_DT = { - PVName = "EC-GN-P01-PA2F:STAT-DT-SWON" - Type = uint32 - } - BPS_HVON_DT = { - PVName = "EC-GN-P01-PB2F:STAT-DT-HVON" - Type = uint32 - } - BPS_SWON_DT = { - PVName = "EC-GN-P01-PB2F:STAT-DT-SWON" - Type = uint32 - } - SHOTLEN = { - PVName = "EC-GN-P01-GBF:STAT-DT-SHOTLEN" - 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 - } - - FHPS_MANM = { - PVName = "EC-GN-P01-GBF-FHPS:STAT-MANM" - Type = uint32 - } - - CSV_LOAD = { - PVName = "EC-GN-P01-GBF:STAT-CSV-LOAD" - Type = uint32 - } - CSV_NAME = { - PVName = "EC-GN-P01-GBF:STAT-CSV-NAME" - Type = char8 - NumberOfElements = 40 - } - RESET_FLT = { - PVName = "EC-GN-P01-GPF:STAT-RST-FLT" - //PVName = "EC-GN-P01-GPS-MEM:CMD-CONALARMRESET-HMI" - Type = uint32 - } - - //Input PVs in Variables-JASTEC tab. - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SET-MI" - Type = uint32 - } - MCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI" - Type = float32 - } - MCPS_ACT_RB = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB" - Type = uint32 - } - MCPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB" - Type = uint32 - } - GYA_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - GYB_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - MCPS_VOLT_MON = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON" - Type = uint32 - } - MCPS_SWP_RB = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB" - Type = uint32 - } - MCPS_SWP_LIM = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM" - Type = uint32 - } - MCPS_ERR = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ERR" - Type = uint32 - } - MCPS_MM = { - PVName = "EC-GN-P01-GBF-MCPS:STAT-MANM" - Type = uint32 - } - //GCPS PVs - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI" - Type = uint32 - } - GCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI" - Type = float32 - } - GCPS_ACT_RB = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB" - Type = uint32 - } - GCPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB" - Type = uint32 - } - GYA_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GYB_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GCPS_VOLT_MON = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON" - Type = uint32 - } - GCPS_SWP_RB = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB" - Type = uint32 - } - GCPS_SWP_LIM = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM" - Type = uint32 - } - GCPS_ERR = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ERR" - Type = uint32 - } - GCPS_MM = { - PVName = "EC-GN-P01-GBF-GCPS:STAT-MANM" - Type = uint32 - } - //Input PVs in Variables-kikusui tab. - FHPS_REM_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-REM-RB" - Type = uint32 - } - FHPS_OUTON_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB" - Type = uint32 - } - FHPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB" - Type = uint32 - } - FHPS_ACV_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB" - Type = uint32 - } - FHPS_FRQ_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB" - Type = uint32 - } - FHPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB" - Type = uint32 - } - FHPS_MEAS_ACV = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV" - 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 - } - FHPS_MEAS_ACP = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP" - Type = uint32 - } - FHPS_MEAS_FRQ = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ" - Type = uint32 - } - FHPS_ERR = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-ERROR" - Type = uint32 - } - FHPS_AUTO_TAGV = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV" - Type = float32 - } - FHPS_AUTO_TIME = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME" - Type = float32 - } - FHPS_AUTO_START = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START" - Type = uint32 - } - - CCPS_REMLOC_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB" - Type = uint32 - } - CCPS_OUTON_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB" - Type = uint32 - } - CCPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB" - Type = uint32 - } - CCPS_DCV_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB" - Type = uint32 - } - CCPS_RANG_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-RANG-RB" - Type = uint32 - } - CCPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB" - Type = uint32 - } - CCPS_MEAS_DCV = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV" - Type = uint32 - } - 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 - } - CCPS_MEAS_DCP = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCP" - Type = uint32 - } - CCPS_ERR = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-ERROR" - Type = uint32 - } - CCPS_OUTPUT_AMP = { - PVName = "EC-GN-P01-GBF-CCPS:STAT-AMP" - Type = float32 - } - CCPS_OUTPUT_FREQ = { - PVName = "EC-GN-P01-GBF-CCPS:STAT-FREQ" - Type = float32 - } - CCPS_OUTPUT_OFFS = { - PVName = "EC-GN-P01-GBF-CCPS:STAT-OFFS" - Type = float32 - } - //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 - } - } - } - +EPICSCAOutput = { - Class = "EPICSCA::EPICSCAOutput" - CPUMask = "0x1000" //change from 0x200 - StackSize = "10000000" - NumberOfBuffers = 2 - Signals = { - PCF_STATE = { - PVName = "EC-GN-P01-GBF:STAT-SM" - Type = uint32 - } - //Analog Output PVs in Variables-signal tab. - FHPS_REF = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-EREF" - Type = float32 - } - BPS_REF = { - PVName = "EC-GN-P01-PB2F:PSU2000-EREF" - Type = float32 - } - APS_REF = { - PVName = "EC-GN-P01-PA2F:STAT-EREF-CONV.A" - Type = float32 - } - MHVPS_REF = { - PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.B" - Type = float32 - } - - //Digital Output PVs in Variables-signal tab. - APS_STOP = { - PVName = "EC-GN-P01-PA2F:PSU4000-CTRP" - Type = uint32 - } - - BPS_STOP = { - PVName = "EC-GN-P01-PB2F:PSU2000-CTRP" - Type = uint32 - } - - BEAM_ON_STAT = { - PVName = "EC-GN-P01-GBFP:FMC4310-YSTA-GBOP" - Type = uint32 - } - - MHVPS_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - Type = uint32 - } - PCF_FLT = { - PVName = "EC-GN-P01-GPF:PCF4210-CTRP" - Type = uint32 - } - HVARMED = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB1" - Type = uint32 - } - HVINJECTION = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB2" - Type = uint32 - } - RFON = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB3" - Type = uint32 - } - - //Output PVs in Variables-operation tab. - MHVPS_PREP_WF = { - PVName = "EC-GN-P01-PB2F:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - - NumberOfDimensions = 1 - } - BPS_PREP_WF = { - PVName = "EC-GN-P01-PB2F:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - APS_PREP_WF = { - PVName = "EC-GN-P01-PA2F:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - FHPS_PREP_WF = { - PVName = "EC-GN-P01-GBF-FHPS:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MCPS_PREP_WF = { - PVName = "EC-GN-P01-GBF-MCPS:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - GCPS_PREP_WF = { - PVName = "EC-GN-P01-GBF-GCPS:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - PREP_TIME_WF = { - PVName = "EC-GN-P01-GBF:STAT-PREP-TIME-WF" - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BEAM_ON_TIME = { - PVName = "EC-GN-P01-GBF:STAT-BEAMON-TIME" - Type = uint32 - } - ELAPSED_TIME = { - PVName = "EC-GN-P01-GBF:STAT-ELAPSED" - Type = uint32 - } - SHOT_ID = { - PVName = "EC-GN-P01-GBF:STAT-SHOT-ID" - Type = uint32 - } - - CSV_LOADED = { - PVName = "EC-GN-P01-GBF:STAT-CSV-LOADED" - Type = uint32 - } - CSV_ERR = { - PVName = "EC-GN-P01-GBF:STAT-CSV-ERR" - Type = uint32 - } - - //Output PVs in Variables-jastec tab. - MCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO" - Type = float32 - } - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO" - Type = uint32 - } - GCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO" - Type = float32 - } - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO" - Type = uint32 - } - - //Output PVs in Variables-kikusui tab. - CCPS_REF = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-EREF" - Type = float32 - } - FHPS_AUTO_STAT = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT" - Type = uint32 - } - //Add 20201117 - APS_HVON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-HV" - Type = uint32 - } - APS_SWON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-SW" - Type = uint32 - } - BPS_HVON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-HV" - Type = uint32 - } - BPS_SWON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-SW" - Type = uint32 - } - MHVPS_HVON = { - PVName = "EC-GN-P01-PMF:STAT-HVON-CALC.B" - Type = uint32 - } - } - } - // for ESDN packet subscription/publication. - +SDNSubCommands = { - 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 - } - } - } - +SDNReply = { - Class = SDN::SDNPublisher - //Topic = SCUJAB2ECPC - Topic = SCUJA2ECPC - Interface = enp27s0f0 - CPUs = 0x2000 - 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 - } - } - } - - // 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 = 0 - 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.0" - 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.0" - Port = 4 - NI6528P4Value = { - NI6528P4Value = { - Type = uint8 - } - } - } - //P4.0 RV6 _cRIO - //P4.1 RV7 _cRIO - //P4.2 RV8 _cRIO - //P4.3 emp - //P4.4 emp - //P4.5 emp - //P4.6 HVArmed - //P4.7 HVInjection - - +NI6528P5 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 5 - NI6528P5Value = { - NI6528P5Value = { - Type = uint8 - } - } - } - //P5.0 RFON - //P5.1 FHPS_Rampup_complete - //P5.2 SCM_RU_Complete - //P5.3 CCPS_IN_OPERATION - //P5.4 REV2 _PLC - //P5.5 REV3 _PLC - //P5.6 None - //P5.7 None - - +NI6528P4GYA = { - Class = NI6528 - DeviceName = "/dev/pxi6528.1" - Port = 4 - NI6528P4GYAValue = { - NI6528P4GYAValue = { - 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_GYA - - } - +States = { - Class = ReferenceContainer - +Disabled = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM GoErrorGAM InDisabledGAM - GoWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM} - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - +WaitStandby = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitStandbyGAM - choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoDisabledGAM GoWaitReadyGAM GoErrorGAM CCPSWaveformGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - +WaitReady = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitReadyGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - +WaitPermit = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitPermitGAM - choiseGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - - //Real-Time state for HVPS sequence timing control. - +WaitHVON = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitHVONGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - +WaitHVON_SDN = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSRampupGAM InWaitHVON_SDNGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - +WaitHVON_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - +WaitHVON_SDN_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_SDN_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM} - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - - +Error = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM InErrorGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - ExitedHVArmedInjectionRFONGAM ResetPSsGAM - FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM} - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} diff --git a/EC-GN-JA-PCF/.svn/pristine/09/09d6370e425fd32419d571f4e915ec808f4a5b39.svn-base b/EC-GN-JA-PCF/.svn/pristine/09/09d6370e425fd32419d571f4e915ec808f4a5b39.svn-base deleted file mode 100644 index 9749067..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/09/09d6370e425fd32419d571f4e915ec808f4a5b39.svn-base +++ /dev/null @@ -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=JABitSumGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JABitSumGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitSumGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/0a/0a01aaf35817f8a4a4a4b69954331619312a20a2.svn-base b/EC-GN-JA-PCF/.svn/pristine/0a/0a01aaf35817f8a4a4a4b69954331619312a20a2.svn-base deleted file mode 100644 index 24ebd5d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/0a/0a01aaf35817f8a4a4a4b69954331619312a20a2.svn-base +++ /dev/null @@ -1,53 +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=NI6528.x - -PACKAGE=DataSources - -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 -INCLUDES += -I$(CODAC_ROOT)/include/ - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/NI6528$(LIBEXT) \ - $(BUILD_DIR)/NI6528$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/0b/0b344352d251dc031ef0d019c3189c214679491b.svn-base b/EC-GN-JA-PCF/.svn/pristine/0b/0b344352d251dc031ef0d019c3189c214679491b.svn-base deleted file mode 100644 index 7c75cd1..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/0b/0b344352d251dc031ef0d019c3189c214679491b.svn-base +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file JABitSumGAM.cpp - * @brief Source file for class JABitSumGAM - * @date Feb 10, 2020 - * @author kuchida - * - * @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 JABitSumGAM (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 "JABitSumGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JABitSumGAM::JABitSumGAM() { - //Input signals. - input0 = NULL_PTR(MARTe::uint32 *); - input1 = NULL_PTR(MARTe::uint32 *); - input2 = NULL_PTR(MARTe::uint32 *); - input3 = NULL_PTR(MARTe::uint32 *); - input4 = NULL_PTR(MARTe::uint32 *); - input5 = NULL_PTR(MARTe::uint32 *); - input6 = NULL_PTR(MARTe::uint32 *); - input7 = NULL_PTR(MARTe::uint32 *); - - //Output signals. - output= NULL_PTR(MARTe::uint8 *); -} - -JABitSumGAM::~JABitSumGAM() { -} - -bool JABitSumGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (!ok){ - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "ParametersError in init."); - } - return ok; -} - -bool JABitSumGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JABitSumGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 8u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Eight input signals shall be defined"); - } - // Do type check for input signals. - 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()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = (outputType == UnsignedInteger8Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - } - } - // Do type cast. - if (ok) { - input0 = reinterpret_cast(GetInputSignalMemory(0)); - input1 = reinterpret_cast(GetInputSignalMemory(1)); - input2 = reinterpret_cast(GetInputSignalMemory(2)); - input3 = reinterpret_cast(GetInputSignalMemory(3)); - input4 = reinterpret_cast(GetInputSignalMemory(4)); - input5 = reinterpret_cast(GetInputSignalMemory(5)); - input6 = reinterpret_cast(GetInputSignalMemory(6)); - input7 = reinterpret_cast(GetInputSignalMemory(7)); - - output = reinterpret_cast(GetOutputSignalMemory(0)); - } - - return ok; -} - -bool JABitSumGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - *output = *input0 + *input1*2 + *input2*4 + *input3*8 + *input4*16 + - *input5*32 + *input6*64 + *input7*128; - - return true; -} - -CLASS_REGISTER(JABitSumGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/0d/0d0dc5c52be19846ff84957b163a0568ab79a598.svn-base b/EC-GN-JA-PCF/.svn/pristine/0d/0d0dc5c52be19846ff84957b163a0568ab79a598.svn-base deleted file mode 100644 index cf441bb..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/0d/0d0dc5c52be19846ff84957b163a0568ab79a598.svn-base +++ /dev/null @@ -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=JASourceChoiseGAM.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)/JASourceChoiseGAM$(LIBEXT) \ - $(BUILD_DIR)/JASourceChoiseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/0d/0da35fee105d7b3efc196ed242d1e84fcbc0e744.svn-base b/EC-GN-JA-PCF/.svn/pristine/0d/0da35fee105d7b3efc196ed242d1e84fcbc0e744.svn-base deleted file mode 100644 index 0f8c3a7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/0d/0da35fee105d7b3efc196ed242d1e84fcbc0e744.svn-base +++ /dev/null @@ -1,27 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuName="" - phyName="" - for row in selection: - phyName=row[1] - cuName=row[0]; - # change $(CU) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if cuName.startswith('P'): - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-PLCDetails.opi", 1, macroInput) - else: - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CubiclePLCDetails.opi", 0, macroInput) -table.addSelectionChangedListener(SelectionListener()) \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/0d/0dc217ea59e2a87def32095aa7b29e4ad5603780.svn-base b/EC-GN-JA-PCF/.svn/pristine/0d/0dc217ea59e2a87def32095aa7b29e4ad5603780.svn-base deleted file mode 100644 index f0c1369..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/0d/0dc217ea59e2a87def32095aa7b29e4ad5603780.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/0e/0e8bbbdf016614bba5453c92baf01cedc4059bd2.svn-base b/EC-GN-JA-PCF/.svn/pristine/0e/0e8bbbdf016614bba5453c92baf01cedc4059bd2.svn-base deleted file mode 100644 index 12eb6c5..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/0e/0e8bbbdf016614bba5453c92baf01cedc4059bd2.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/0f/0f13403a318be191db56b077383731db398fdc5e.svn-base b/EC-GN-JA-PCF/.svn/pristine/0f/0f13403a318be191db56b077383731db398fdc5e.svn-base deleted file mode 100644 index ff9821d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/0f/0f13403a318be191db56b077383731db398fdc5e.svn-base +++ /dev/null @@ -1,24 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuIndex="" - phyName="" - for row in selection: - cuIndex=row[0]; - phyName=row[1] - # change $(CU_INDEX) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CUB", cuIndex) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CubicleDetails.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/0f/0f421d10b2977b929feadc2259c550bbefb18348.svn-base b/EC-GN-JA-PCF/.svn/pristine/0f/0f421d10b2977b929feadc2259c550bbefb18348.svn-base deleted file mode 100644 index d223981..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/0f/0f421d10b2977b929feadc2259c550bbefb18348.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/10/10727d73928301637e4284f1e51fdbdfdad9d09e.svn-base b/EC-GN-JA-PCF/.svn/pristine/10/10727d73928301637e4284f1e51fdbdfdad9d09e.svn-base deleted file mode 100644 index 435df16..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/10/10727d73928301637e4284f1e51fdbdfdad9d09e.svn-base +++ /dev/null @@ -1,58 +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=JAEPICSCAOutput.x JAEPICSCAInput.x - -PACKAGE=DataSources - -ROOT_DIR=../../../../obj -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -INCLUDES += -I. -INCLUDES += -I$(EPICS_BASE)/include/ -INCLUDES += -I$(EPICS_BASE)/include/os/Linux/ -INCLUDES += -I$(EPICS_BASE)/include/compiler/gcc/ -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/Scheduler/L5GAMs - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAEPICSCA$(LIBEXT) \ - $(BUILD_DIR)/JAEPICSCA$(DLLEXT) - echo $(OBJS) - -include depends.$(TARGET) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/10/10a7428bc98f401c160447a8f0b99bb83be9132c.svn-base b/EC-GN-JA-PCF/.svn/pristine/10/10a7428bc98f401c160447a8f0b99bb83be9132c.svn-base deleted file mode 100644 index fde230a..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/10/10a7428bc98f401c160447a8f0b99bb83be9132c.svn-base +++ /dev/null @@ -1,55 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil -from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -table = widget.getTable() -func = display.getPropertyValue("name") - -i = 0 -row = 0 -col = 3 -# ConsoleUtil.writeInfo("Trigger PV : " + triggerPV.getName()); -while triggerPV != pvs[i]: -# ConsoleUtil.writeInfo("pvs[i] : " + pvs[i].getName()); - if col == 5: - if "PLC-IOCHLTS" in pvs[i+1].getName(): - col = col+1 - else: - col = 3 - row = row+1 - elif col == 3: - if "-SYSHLTS" in pvs[i+1].getName() or "-HLTS" in pvs[i+1].getName(): - col =3 - row = row+1 - elif "-IOCHLTS" in pvs[i+1].getName(): - if "CORE-IOCHLTS" in pvs[i+1].getName(): - col = 4 - else: - col = 5 - else: - col += 1 - if col > 5: - row += 1 - col = 3 - else: - col += 1 - if col > 6: - row += 1 - col = 3 - i += 1 - -table.setCellText(row, col, PVUtil.getString(triggerPV)) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(row, col, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/10/10cce328561de5a7edc884ad1facc68ec80f9d99.svn-base b/EC-GN-JA-PCF/.svn/pristine/10/10cce328561de5a7edc884ad1facc68ec80f9d99.svn-base deleted file mode 100644 index 0ddfbdf..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/10/10cce328561de5a7edc884ad1facc68ec80f9d99.svn-base +++ /dev/null @@ -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=JASDNRTStateMachineGAM.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)/JASDNRTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/11/114be4aabaa53d358f3bc82e0641b0a4cda7a3ac.svn-base b/EC-GN-JA-PCF/.svn/pristine/11/114be4aabaa53d358f3bc82e0641b0a4cda7a3ac.svn-base deleted file mode 100644 index da9dab1..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/11/114be4aabaa53d358f3bc82e0641b0a4cda7a3ac.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=À¹Z°Ï, IDX=0, IOCTYPE=CUB, PP=, PPPP=, NNNN=, TTT=") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/11/117ffc64b0ee11e1ee73b96849c7cb93a804340b.svn-base b/EC-GN-JA-PCF/.svn/pristine/11/117ffc64b0ee11e1ee73b96849c7cb93a804340b.svn-base deleted file mode 100644 index 093c4b9..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/11/117ffc64b0ee11e1ee73b96849c7cb93a804340b.svn-base +++ /dev/null @@ -1,52 +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=JAModeControlGAM.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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAModeControlGAM$(LIBEXT) \ - $(BUILD_DIR)/JAModeControlGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/12/128dea0ccc7a0d08fc9f212a66810e56d615f606.svn-base b/EC-GN-JA-PCF/.svn/pristine/12/128dea0ccc7a0d08fc9f212a66810e56d615f606.svn-base deleted file mode 100644 index 8e9a7a7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/12/128dea0ccc7a0d08fc9f212a66810e56d615f606.svn-base +++ /dev/null @@ -1,23557 +0,0 @@ - - - - - -52 - - - -EC-GN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10.136.136.101 - - -52RF01-PSH-4410 - - - - -52RF01-PCF-4210.codac.iter.org - - -52RF01-PCF-4210.codac.iter.org-R1 - - -52RF01-PCF-4210.codac.iter.org-R1 - - - - - -10.136.136.13-T1 - - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEAALL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-RESET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-TAIUTC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMN - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DEVNAME - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DRIVER - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEMAX - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTENUM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-HBDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-LVL_ERRS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SERIAL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNCLOST - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:DIO4900-YON - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-MST-TRIG - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-MODE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-ERR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-NAME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-ELAPSED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-ID - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV1 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV2 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV3 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV5 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV6 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV7 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV8 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OV - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YSTA-GAOP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:DIO4900-YON - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-MST-TRIG - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-MODE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-ERR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -string -configuration - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-NAME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-ELAPSED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-ID - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV1 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV2 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV3 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV5 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV6 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV7 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV8 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YSTA-GBOP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-CTRP - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PSU0000-YSTA-MOD - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-CONF-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-RECONF - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SW-TRIG - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RST-FLT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD1-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD2-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD3-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD4-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RDY-TOUT - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY1PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY2PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YSTA-MPSS - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTRP - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD4 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST1R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST2R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST3R - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-HV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-SW - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CTRP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YFLT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YSTA - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-MANM - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-MSP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-P - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-HVON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-SWON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-PREP-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-HV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-SW - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CTRP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YFLT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YSTA - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-MANM - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-MSP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-P - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-HVON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-SWON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-PREP-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-HV - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-SW - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CTRP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YFLT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YSTA - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-MANM - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF-MSP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-HVON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-SWON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-PREP-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-HV - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-SW - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CTRP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YFLT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YSTA - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-MANM - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF-MSP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-HVON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-SWON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-PREP-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-COFF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-MOD - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-SW - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-TYSTA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-YFLT - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-MANM - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF-MSP - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-DT-HVON - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-EREF-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-HVON-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-PREP-WF - - - - - - - - - - -iocEC-GN-PSH0PCF -PCFCORE IOC -epicsioc -IOC - - - -52RF01-PCF-4210 - -iocEC-GN-PCF0SYSM -PCFSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0SYSM -PSHSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0CUB -PSHCUB IOC -epicsioc -IOC - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/12/12d128cec8d4b513c3f6b33e1e541bbdaf9f31f5.svn-base b/EC-GN-JA-PCF/.svn/pristine/12/12d128cec8d4b513c3f6b33e1e541bbdaf9f31f5.svn-base deleted file mode 100644 index 5853027..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/12/12d128cec8d4b513c3f6b33e1e541bbdaf9f31f5.svn-base +++ /dev/null @@ -1,53 +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=JAConditionalSignalUpdateGAM.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)/JAConditionalSignalUpdateGAM$(LIBEXT) \ - $(BUILD_DIR)/JAConditionalSignalUpdateGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/13/1313d0b1a7c2cbc3cc11d4e1286edae9790e6ef1.svn-base b/EC-GN-JA-PCF/.svn/pristine/13/1313d0b1a7c2cbc3cc11d4e1286edae9790e6ef1.svn-base deleted file mode 100644 index 3bb3f94..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/13/1313d0b1a7c2cbc3cc11d4e1286edae9790e6ef1.svn-base +++ /dev/null @@ -1,1384 +0,0 @@ - -record(bo, "EC-GN-P01-GAF:STAT-SHORT-PULSE"){ - field(SCAN, "Passive") - field(ONAM, "SHORT MODE") - field(ZNAM, "LONG MODE") -} - -record(ao, "EC-GN-P01-GAF-FHPS:PSU2320-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2610-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2320-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2610-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PB1F:PSU1000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA1F:PSU3000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA1F:PSU3000-EREF-P"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PMF:PSU0000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PB2F:PSU2000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA2F:PSU4000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA2F:PSU4000-EREF-P"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-MCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB1F:PSU1000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB1F:PSU1000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PA1F:PSU3000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PA1F:PSU3000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MOE2810-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MOE2820-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MOE2830-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MRF2910-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PMF:PSU0000-ET-GA"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PMF:PSU0000-IT-GA"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB2F:PSU2000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PB2F:PSU2000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PA2F:PSU4000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PA2F:PSU4000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MOE2810-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MOE2820-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MOE2830-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MRF2910-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PMF:PSU0000-ET-GB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PMF:PSU0000-IT-GB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:PSU3000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:PSU3000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:PSU3000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:PSU1000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:PSU1000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:PSU1000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV5"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV6"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV7"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV8"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:PSU0000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:PSU0000-COFF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:PSU0000-CON-MOD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GA1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GA2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GA3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-TR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:PSU4000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:PSU4000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:PSU4000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:PSU2000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:PSU2000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:PSU2000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-YSTA-GBOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV5"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV6"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV7"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV8"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GB1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GB2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GB3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-TR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPS:PLC4110-RV2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPS:PLC4110-RV3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:PCF4210-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA1F:PSU3000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA1F:PSU3000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB1F:PSU1000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB1F:PSU1000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YFLT-OC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YFLT-OV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:PSU0000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:PSU0000-TYSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPF:PSU0000-YSTA-MOD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YTRP2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-RV1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-RV2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-RV3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-ST1R"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-ST2R"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-ST3R"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-GY1PRM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-OPGY1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YON-CCPS1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YSTA-MPSS"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF:DIO4900-YON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA2F:PSU4000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA2F:PSU4000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB2F:PSU2000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB2F:PSU2000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-YTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-YTRP2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-RV1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-RV2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-RV3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD4"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-GY2PRM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-OPGY2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YON-CCPS2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-RV1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF:DIO4900-YON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PMF:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA1F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA1F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB1F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB1F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA2F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA2F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB2F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB2F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF:STAT-DT-SHOTLEN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF:STAT-DT-SHOTLEN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF:STAT-BEAMON-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF:STAT-BEAMON-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF:STAT-ELAPSED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF:STAT-ELAPSED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GPF:STAT-RDY-TOUT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-MCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-GCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-MCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-GCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-TRIG-SOUR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-TRIG-SOUR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STAT-MD1-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STAT-MD2-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STST-MD3-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STAT-MD4-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-SIMM-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-SIMM-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-PREP-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-PREP-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-MST-TRIG"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-MST-TRIG"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-RST-FLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GAF:STAT-SHOT-ID"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF:STAT-FC-SUBSTATE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GAF:STAT-PREHEAT-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GBF:STAT-SHOT-ID"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF:STAT-FC-SUBSTATE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GBF:STAT-PREHEAT-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:STAT-POLSW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:STAT-POLSW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-CSV-LOAD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-CSV-LOADED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringout, "EC-GN-P01-GAF:STAT-CSV-NAME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF:STAT-CSV-ERR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-CSV-LOAD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-CSV-LOADED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringout, "EC-GN-P01-GBF:STAT-CSV-NAME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF:STAT-CSV-ERR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GPF:STAT-DAQ-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-DAQ-SW-TRIG"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GPF:STAT-DAQ-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-DAQ-CONF-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-LEN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-DAQ-RECONF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-PUB-DLY"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GPF:STAT-DAQ-MODE-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-LEN-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PB1F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PA1F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF-FHPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF-CCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-MCPS:STATPREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF-GCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:STAT-PREP-TIME-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "SHORT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB2F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PA2F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-FHPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-CCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-MCPS:STATPREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-GCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:STAT-PREP-TIME-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-MCPS:PSU2120-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-GCPS:PSU2130-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-MCPS:PSU2120-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-GCPS:PSU2130-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-FHPS:PSU2610-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-REM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-FHPS:PSU2610-REM-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-FHPS:PSU2610-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-CCPS:PSU2320-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-RANG-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-RANG-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-CCPS:PSU2320-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:STAT-AMP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:STAT-FREQ"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-FHPS:PSU2610-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-REM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-FHPS:PSU2610-REM-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-FHPS:PSU2610-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-CCPS:PSU2320-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2320-RANG-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-RANG-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-CCPS:PSU2320-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:STAT-AMP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:STAT-FREQ"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:STAT-GYA-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:STAT-GYB-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(calcout, "EC-GN-P01-PMF:STAT-HVON-CALC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(calcout, "EC-GN-P01-GAF:STAT-MST-TRIG-CALC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(calcout, "EC-GN-P01-GBF:STAT-MST-TRIG-CALC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} - -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-STAT"){ - field(SCAN, "Passive") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-STAT"){ - field(SCAN, "Passive") -} diff --git a/EC-GN-JA-PCF/.svn/pristine/14/1441820775c639982eaafb90a50ddebb134e44d5.svn-base b/EC-GN-JA-PCF/.svn/pristine/14/1441820775c639982eaafb90a50ddebb134e44d5.svn-base deleted file mode 100644 index c1cfdd2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/14/1441820775c639982eaafb90a50ddebb134e44d5.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=À GäY, IDX=0, IOCTYPE=CUB, PP=, PPPP=, NNNN=, TTT=") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/15/159450d2d99b3f026b327006c529d3666e294a03.svn-base b/EC-GN-JA-PCF/.svn/pristine/15/159450d2d99b3f026b327006c529d3666e294a03.svn-base deleted file mode 100644 index 59ce9d2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/15/159450d2d99b3f026b327006c529d3666e294a03.svn-base +++ /dev/null @@ -1,42 +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 $ -# -############################################################# -SPB = RandomDataSource.x NI6528.x JAEPICSCA.x - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=../../../obj -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif - diff --git a/EC-GN-JA-PCF/.svn/pristine/15/15bd7766d7916c65a24b54f0a9d37e270f726352.svn-base b/EC-GN-JA-PCF/.svn/pristine/15/15bd7766d7916c65a24b54f0a9d37e270f726352.svn-base deleted file mode 100644 index 587d4b8..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/15/15bd7766d7916c65a24b54f0a9d37e270f726352.svn-base +++ /dev/null @@ -1,56 +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=JAPreProgrammedGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(LIBEXT) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/15/15d0643aa3d2a3bea5b22fd2aafbacbfcd37bb9a.svn-base b/EC-GN-JA-PCF/.svn/pristine/15/15d0643aa3d2a3bea5b22fd2aafbacbfcd37bb9a.svn-base deleted file mode 100644 index b26b6bd..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/15/15d0643aa3d2a3bea5b22fd2aafbacbfcd37bb9a.svn-base +++ /dev/null @@ -1,317 +0,0 @@ -/** - * @file JAWFRecordGAM.cpp - * @brief Source file for class JAWFRecordGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAWFRecordGAM (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 "JAWFRecordGAM.h" - -#include "AdvancedErrorManagement.h" -#include "CLASSMETHODREGISTER.h" -#include "File.h" -#include "MessageI.h" -#include "RegisteredMethodsMessageFilter.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -// How often output signals are updated. -const MARTe::uint32 cycleMs = 10u; - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAWFRecordGAM::JAWFRecordGAM() : - GAM() { - filenameSignalIndex = 0u; - timeSignal = NULL_PTR(MARTe::int32 *); - loadTriggerSignal = NULL_PTR(MARTe::uint32 *); - valueSignals = NULL_PTR(MARTe::float32 **); - maxElements = 0u; - readOnce = true; -} - -JAWFRecordGAM::~JAWFRecordGAM() { - if (valueSignals != NULL_PTR(MARTe::float32 **)) { - delete[] valueSignals; - } -} - -bool JAWFRecordGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("Directory", directory); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - return ok; -} - -bool JAWFRecordGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 2u); - if (ok) { - ok = (numberOfOutputSignals > 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "At least two output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two input signal with the filename and file load trigger shall be defined"); - } - if (ok) { - StreamString signalName = "Filename"; - ok = GetSignalIndex(InputSignals, filenameSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Filename input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, filenameSignalIndex); - ok = (inputType == CharString); - if (!ok) { - ok = (inputType == Character8Bit); - } - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, filenameSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as string", signalName.Buffer()); - } - } - } - if (ok) { - StreamString signalName = "CSV_LOAD"; - uint32 loadSignalIndex; - ok = GetSignalIndex(InputSignals, loadSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "CSV_LOAD input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, loadSignalIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, loadSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } else { - loadTriggerSignal = reinterpret_cast(GetInputSignalMemory(loadSignalIndex)); - } - } - } - if (ok) { - TypeDescriptor timeType = GetSignalType(OutputSignals, 0); - - ok = (timeType == SignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, 0, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as int32", signalName.Buffer()); - } - - uint32 i; - for (i = 1u; (i < numberOfOutputSignals) && (ok); i++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, i); - ok = (outputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, i, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } - else { - uint32 dimentionsCount; - ok = GetSignalNumberOfDimensions(OutputSignals, 0u, dimentionsCount); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Output signals shall have 1 dimension."); - } - else { - uint32 elementsCount; - ok = GetSignalNumberOfElements(OutputSignals, 0u, elementsCount); - if (maxElements == 0) { - maxElements = elementsCount; - } - else { - ok = (maxElements == elementsCount); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Output signals shall have consistent number of elements."); - } - } - } - } - } - } - if (ok) { - valueSignals = new float32*[numberOfOutputSignals - 1u]; - uint32 i; - for (i = 1u; i < numberOfOutputSignals; i++) { - valueSignals[i - 1] = reinterpret_cast(GetOutputSignalMemory(i)); - } - timeSignal = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JAWFRecordGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - if (strcmp(nextStateName, "WaitReady") == 0) { - // Reset read once flag when reentering WaitReady state. - readOnce = true; - } - return true; -} - -void JAWFRecordGAM::LoadFile() { - using namespace MARTe; - - bool ok = true; - - const char8 * const filenameSignal = reinterpret_cast(GetInputSignalMemory(filenameSignalIndex)); - StreamString filename = directory; - filename += DIRECTORY_SEPARATOR; - filename += filenameSignal; - REPORT_ERROR(ErrorManagement::Debug, "Opening file %s", filename.Buffer()); - - File f; - ok = f.Open(filename.Buffer(), BasicFile::ACCESS_MODE_R); - - uint32 numberOfPreProgrammedTimeRows = 0u; - int32 *preProgrammedTime; - float32 **preProgrammedValues; - uint32 numberOfPreProgrammedValues = 0u; - - if (ok) { - StreamString tokenLine; - while (f.GetLine(tokenLine)) { - if (tokenLine[0] != '#') { - numberOfPreProgrammedTimeRows++; - } - tokenLine = ""; - } - f.Seek(0); - uint32 t = 0u; - tokenLine = ""; - while ((ok) && (f.GetLine(tokenLine))) { - if (tokenLine[0] == '#') { - tokenLine = ""; - continue; - } - if (numberOfPreProgrammedValues == 0) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - while (tokenLine.GetToken(token, ",", ignored)) { - numberOfPreProgrammedValues++; - token = ""; - } - ok = numberOfPreProgrammedValues == numberOfOutputSignals; - // Remove time from pre-programmed values count. - numberOfPreProgrammedValues -= 1u; - if (ok) { - preProgrammedTime = new int32[maxElements]; - memset(preProgrammedTime, 0, maxElements * sizeof(int32)); - preProgrammedValues = new float32*[numberOfPreProgrammedValues]; - uint32 j; - for (j = 0u; j < numberOfPreProgrammedValues; j++) { - preProgrammedValues[j] = new float32[maxElements]; - memset(preProgrammedValues[j], 0, maxElements * sizeof(float32)); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Number of columns in csv file (%d) is not consistent with the number of output signals (%d)", numberOfPreProgrammedValues, - numberOfOutputSignals - 1u); - } - } - if (ok) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - uint32 idx = 0u; - while (tokenLine.GetToken(token, ",", ignored)) { - if (idx == 0u) { - preProgrammedTime[t] = atoi(token.Buffer()); - } - else { - ok = ((idx - 1) < numberOfPreProgrammedValues); - if (ok) { - preProgrammedValues[idx - 1][t] = static_cast(atof(token.Buffer())); - } - else { - REPORT_ERROR(ErrorManagement::FatalError, "Number of columns in csv file is not consistent with the number of output signals in line %d", t); - } - } - token = ""; - idx++; - } - t++; - } - tokenLine = ""; - } - f.Close(); - } else { - REPORT_ERROR(ErrorManagement::Debug, "Cannot open the file %s", filename.Buffer()); - return; - } - if (numberOfPreProgrammedTimeRows > maxElements) { - REPORT_ERROR(ErrorManagement::Warning, "Only %d (out of %d) of pre-programmed values will be written to waveform record.", - maxElements, numberOfPreProgrammedTimeRows); - } - ok = MemoryOperationsHelper::Copy(timeSignal, preProgrammedTime, maxElements * sizeof(int32)); - uint32 i; - for (i = 0u; (i < numberOfPreProgrammedValues) && (ok); ++i) { - ok = MemoryOperationsHelper::Copy(valueSignals[i], preProgrammedValues[i], maxElements * sizeof(float32)); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::Warning, "Failed to write data to waveform record."); - } - - if (preProgrammedValues != NULL_PTR(float32 **)) { - uint32 i; - for (i = 0u; i < numberOfPreProgrammedValues; i++) { - delete preProgrammedValues[i]; - } - delete[] preProgrammedValues; - } - if (preProgrammedTime != NULL_PTR(int32 *)) { - delete[] preProgrammedTime; - } -} - -bool JAWFRecordGAM::Execute() { - if (*loadTriggerSignal == 1u) { - if (readOnce) { - LoadFile(); - readOnce = false; - } - } else { - // Reset read once flag when loadTriggerSignal is reset. - readOnce = true; - } - return true; -} - -CLASS_REGISTER(JAWFRecordGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/16/1695bd99df0b589cea410b48741efd748faae6f8.svn-base b/EC-GN-JA-PCF/.svn/pristine/16/1695bd99df0b589cea410b48741efd748faae6f8.svn-base deleted file mode 100644 index efa63e1..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/16/1695bd99df0b589cea410b48741efd748faae6f8.svn-base +++ /dev/null @@ -1,31 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - - var selectedrow= table.getSelection(); - var cuIndex=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - var loc=selectedrow[0][5]; - var pppp=selectedrow[0][6]; - var pp=selectedrow[0][7]; - var nnnn=selectedrow[0][8]; - - var macroInput = DataUtil.createMacrosInput(true) - macroInput.put("CUB", cuIndex) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("PPPP", pppp) - macroInput.put("PP", pp) - macroInput.put("NNNN", nnnn) - macroInput.put("CUB_LOC", "Location: "+loc) - - ScriptUtil.openOPI(widget, fct_name+"-CubicleDetails.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/.svn/pristine/16/16ccca26fcf806f63cf914f82655782e253ccf35.svn-base b/EC-GN-JA-PCF/.svn/pristine/16/16ccca26fcf806f63cf914f82655782e253ccf35.svn-base deleted file mode 100644 index 951ed07..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/16/16ccca26fcf806f63cf914f82655782e253ccf35.svn-base +++ /dev/null @@ -1,375 +0,0 @@ -/** - * @file EPICSCAOutput.cpp - * @brief Source file for class EPICSCAOutput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAOutput (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include "JAEPICSCAOutput.h" - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "MemoryMapAsyncOutputBroker.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -JAEPICSCAOutput::JAEPICSCAOutput() : - DataSourceI() { - pvs = NULL_PTR(PVWrapper *); - stackSize = THREADS_DEFAULT_STACKSIZE * 4u; - cpuMask = 0xffu; - numberOfBuffers = 0u; - ignoreBufferOverrun = 1u; - threadContextSet = false; -} - -/*lint -e{1551} must free the memory allocated to the different PVs.*/ -JAEPICSCAOutput::~JAEPICSCAOutput() { - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - if (pvs[n].pvChid != NULL_PTR(chid)) { - (void) ca_clear_channel(pvs[n].pvChid); - } - if (pvs[n].memory != NULL_PTR(void *)) { - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].memory); - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].previousValue); - } - } - delete[] pvs; - } -} - -bool JAEPICSCAOutput::Initialise(StructuredDataI & data) { - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("NumberOfBuffers", numberOfBuffers); - - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "NumberOfBuffers shall be specified"); - } - } - if (ok) { - if (!data.Read("CPUs", cpuMask)) { - REPORT_ERROR(ErrorManagement::Information, "No CPUs defined. Using default = %d", cpuMask); - } - if (!data.Read("StackSize", stackSize)) { - REPORT_ERROR(ErrorManagement::Information, "No StackSize defined. Using default = %d", stackSize); - } - if (!data.Read("IgnoreBufferOverrun", ignoreBufferOverrun)) { - REPORT_ERROR(ErrorManagement::Information, "No IgnoreBufferOverrun defined. Using default = %d", ignoreBufferOverrun); - } - - } - if (ok) { - ok = data.MoveRelative("Signals"); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Could not move to the Signals section"); - } - if (ok) { - ok = data.Copy(originalSignalInformation); - } - if (ok) { - ok = originalSignalInformation.MoveToRoot(); - } - //Do not allow to add signals in run-time - if (ok) { - ok = signalsDatabase.MoveRelative("Signals"); - } - if (ok) { - ok = signalsDatabase.Write("Locked", 1u); - } - if (ok) { - ok = signalsDatabase.MoveToAncestor(1u); - } - } - if (ok) { - ok = data.MoveToAncestor(1u); - } - return ok; -} - -bool JAEPICSCAOutput::SetConfiguredDatabase(StructuredDataI & data) { - bool ok = DataSourceI::SetConfiguredDatabase(data); - //Check the signal index of the timing signal. - uint32 nOfSignals = GetNumberOfSignals(); - if (ok) { - ok = (nOfSignals > 0u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one signal shall be defined"); - } - } - if (ok) { - //Do not allow samples - uint32 functionNumberOfSignals = 0u; - uint32 n; - if (GetFunctionNumberOfSignals(OutputSignals, 0u, functionNumberOfSignals)) { - for (n = 0u; (n < functionNumberOfSignals) && (ok); n++) { - uint32 nSamples; - ok = GetFunctionSignalSamples(OutputSignals, 0u, n, nSamples); - if (ok) { - ok = (nSamples == 1u); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The number of samples shall be exactly 1"); - } - } - } - } - //Only one and one GAM allowed to interact with this DataSourceI - if (ok) { - ok = (GetNumberOfFunctions() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Exactly one Function allowed to interact with this DataSourceI"); - } - } - - if (ok) { - pvs = new PVWrapper[nOfSignals]; - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - pvs[n].memory = NULL_PTR(void *); //value to write PV - pvs[n].previousValue = NULL_PTR(void *); //written value - pvs[n].pvChid = NULL_PTR(chid); - - } - for (n = 0u; (n < nOfSignals) && (ok); n++) { - //Note that the RealTimeApplicationConfigurationBuilder is allowed to change the order of the signals w.r.t. to the originalSignalInformation - StreamString orderedSignalName; - ok = GetSignalName(n, orderedSignalName); - if (ok) { - //Have to mix and match between the original setting of the DataSource signal - //and the ones which are later added by the RealTimeApplicationConfigurationBuilder - ok = originalSignalInformation.MoveRelative(orderedSignalName.Buffer()); - } - StreamString pvName; - if (ok) { - ok = originalSignalInformation.Read("PVName", pvName); - if (!ok) { - uint32 nn = n; - REPORT_ERROR(ErrorManagement::ParametersError, "No PVName specified for signal at index %d", nn); - } - } - TypeDescriptor td = GetSignalType(n); - - if (ok) { - (void) StringHelper::CopyN(&pvs[n].pvName[0], pvName.Buffer(), PV_NAME_MAX_SIZE); - if (td == CharString) { - pvs[n].pvType = DBR_STRING; - } - else if (td == Character8Bit) { - pvs[n].pvType = DBR_STRING; - } - else if (td == SignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == UnsignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == SignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == UnsignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == SignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == UnsignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == Float32Bit) { - pvs[n].pvType = DBR_FLOAT; - } - else if (td == Float64Bit) { - pvs[n].pvType = DBR_DOUBLE; - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Type %s is not supported", TypeDescriptor::GetTypeNameFromTypeDescriptor(td)); - ok = false; - } - } - uint32 numberOfElements = 1u; - if (ok) { - ok = GetSignalNumberOfElements(n, numberOfElements); - } - if (ok) { - if (pvs[n].pvType == DBR_STRING) { - ok = (numberOfElements == 40u); - } - if (!ok) { - //Could support arrays of strings with multiples of char8[40] - REPORT_ERROR(ErrorManagement::ParametersError, - "Strings shall be defined with 40 elements char8[40]. Arrays of strings are not currently supported"); - } - } - if (ok) { - pvs[n].numberOfElements = numberOfElements; - } - if (ok) { - pvs[n].memorySize = td.numberOfBits; - pvs[n].memorySize /= 8u; - pvs[n].memorySize *= numberOfElements; - pvs[n].memory = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - pvs[n].previousValue = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - ok = originalSignalInformation.MoveToAncestor(1u); - } - } - } - return ok; -} - -bool JAEPICSCAOutput::AllocateMemory() { - return true; -} - -uint32 JAEPICSCAOutput::GetNumberOfMemoryBuffers() { - return 1u; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The signalAddress is independent of the bufferIdx.*/ -bool JAEPICSCAOutput::GetSignalMemoryBuffer(const uint32 signalIdx, const uint32 bufferIdx, void*& signalAddress) { - bool ok = (pvs != NULL_PTR(PVWrapper *)); - if (ok) { - ok = (signalIdx < GetNumberOfSignals()); - } - if (ok) { - //lint -e{613} pvs cannot as otherwise ok would be false - signalAddress = pvs[signalIdx].memory; - } - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The brokerName only depends on the direction */ -const char8* JAEPICSCAOutput::GetBrokerName(StructuredDataI& data, const SignalDirection direction) { - const char8* brokerName = ""; - if (direction == OutputSignals) { - brokerName = "MemoryMapAsyncOutputBroker"; - } - return brokerName; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: InputBrokers are not supported. Function returns false irrespectively of the parameters.*/ -bool JAEPICSCAOutput::GetInputBrokers(ReferenceContainer& inputBrokers, const char8* const functionName, void* const gamMemPtr) { - return false; -} - -bool JAEPICSCAOutput::GetOutputBrokers(ReferenceContainer& outputBrokers, const char8* const functionName, void* const gamMemPtr) { - ReferenceT broker("MemoryMapAsyncOutputBroker"); - bool ok = broker->InitWithBufferParameters(OutputSignals, *this, functionName, gamMemPtr, numberOfBuffers, cpuMask, stackSize); - if (ok) { - ok = outputBrokers.Insert(broker); - broker->SetIgnoreBufferOverrun(ignoreBufferOverrun == 1u); - } - - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: NOOP at StateChange, independently of the function parameters.*/ -bool JAEPICSCAOutput::PrepareNextState(const char8* const currentStateName, const char8* const nextStateName) { - return true; -} - -uint32 JAEPICSCAOutput::GetStackSize() const { - return stackSize; -} - -uint32 JAEPICSCAOutput::GetCPUMask() const { - return cpuMask; -} - -uint32 JAEPICSCAOutput::GetNumberOfBuffers() const { - return numberOfBuffers; -} - -bool JAEPICSCAOutput::Synchronise() { - bool ok = true; - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (!threadContextSet) { - ok = (ca_context_create(ca_enable_preemptive_callback) == ECA_NORMAL); - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_enable_preemptive_callback failed"); - } - threadContextSet = ok; - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - ok = (ca_create_channel(&pvs[n].pvName[0], NULL_PTR(caCh *), NULL_PTR(void *), 20u, &pvs[n].pvChid) == ECA_NORMAL); - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_create_channel failed for PV with name %s", pvs[n].pvName); - } - } - } - } - - //Allow to write event at the first time! - if (threadContextSet) { - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - bool isNewValue = true; - if (pvs[n].pvType == DBR_STRING) { - if(strcmp((char*)pvs[n].memory,(char*)pvs[n].previousValue)==0){ - isNewValue = false; - continue; - } - if(isNewValue){ - ok = (ca_put(pvs[n].pvType, pvs[n].pvChid, pvs[n].memory) == ECA_NORMAL); - memcpy(pvs[n].previousValue,pvs[n].memory, pvs[n].numberOfElements); - } - } - else { - if(memcmp(pvs[n].memory, pvs[n].previousValue, pvs[n].numberOfElements)==0){ - isNewValue = false; - continue; - } - if(isNewValue){ - ok = (ca_array_put(pvs[n].pvType, pvs[n].numberOfElements, pvs[n].pvChid, pvs[n].memory) == ECA_NORMAL); - memcpy(pvs[n].previousValue, pvs[n].memory, pvs[n].numberOfElements); - } - } - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_put failed for PV: %s", pvs[n].pvName); - } - (void) ca_pend_io(0.1); - } - } - } - - return ok; -} - -bool JAEPICSCAOutput::IsIgnoringBufferOverrun() const { - return (ignoreBufferOverrun == 1u); -} - -CLASS_REGISTER(JAEPICSCAOutput, "1.0") - -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/17/17e4abb8eea0082bb6e56ec3f600d1cfc4697d51.svn-base b/EC-GN-JA-PCF/.svn/pristine/17/17e4abb8eea0082bb6e56ec3f600d1cfc4697d51.svn-base deleted file mode 100644 index 39d71cf..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/17/17e4abb8eea0082bb6e56ec3f600d1cfc4697d51.svn-base +++ /dev/null @@ -1,8 +0,0 @@ -epicsEnvSet("AUTOSAVE_SYSM_PV_PREFIX", "EC-GN-SYSM:PSH0CUB-") -epicsEnvSet("IOCSH_PS1", "${IOC}> ") -epicsEnvSet("STREAM_PROTOCOL_PATH", "$(TOP)/db:$(EPICS_ROOT)/db") -epicsEnvSet("IPPort_priority","0") -epicsEnvSet("IPPort_noAutoConnect", "0") -epicsEnvSet("IPPort_noProcessEos", "0") - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/18/18a09f6c3c6f536fa1943892f1e2a5c04126face.svn-base b/EC-GN-JA-PCF/.svn/pristine/18/18a09f6c3c6f536fa1943892f1e2a5c04126face.svn-base deleted file mode 100644 index 6305e40..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/18/18a09f6c3c6f536fa1943892f1e2a5c04126face.svn-base +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - - -def test_standby(): - """ - In the WaitStandby State, simulate PLC STANDBY signal. - Turn on FHPS by push auto-on button. - Turn on SCM PSs automatically. - State transition condition is checked at last. - """ - print '---------- Start WatiStandby test ----------' - print '1. Simulate SELECT signal. State should go to WatiStandby from Disabled.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '2. Set MCPS rampup parameter(target current, sweep rate.)' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For A - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET 1.69', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET 1.0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For B - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET 1.69', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET 1.0', shell=True) - time.sleep(1) - print '3. Simulate STANDBY signal. MCPS, GCPS, FHPS rampup must be started.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '4. Set FHPS rampup parameter and start it.' - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME 60', shell=True) #in second. - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME 60', shell=True) #in second. - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - print 'Enter to continue test' - inpval = raw_input() - print '5. Simulate FHPS, MCPS and GCPS state.' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON 4', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - time.sleep(1) - print '6. Confirm FHPS and SCM ramp-up complete. The state goes to WaitREADY from WaitStandby.' - print '---------- END WaitStandby test ----------' - diff --git a/EC-GN-JA-PCF/.svn/pristine/18/18da067aaededbfa075682073eca65b570186bc8.svn-base b/EC-GN-JA-PCF/.svn/pristine/18/18da067aaededbfa075682073eca65b570186bc8.svn-base deleted file mode 100644 index 2a4cd80..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/18/18da067aaededbfa075682073eca65b570186bc8.svn-base +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @file JASourceChoiseGAM.h - * @brief Header file for class JASourceChoiseGAM - * @date Mar 04, 2019 - * @author kuchida - * - * @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 JASourceChoiseGAM - * 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_JASourceChoiseGAM_H_ -#define GAMS_JASourceChoiseGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JASourceChoiseGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASourceChoiseGAM(); - - virtual ~JASourceChoiseGAM(); - - 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 - //GAM fixed parameters. - MARTe::uint32 numberOfPVs; - - // Input signals - std::vector inputUInt32; - std::vector inputFloat32; - std::vector choise; - - // Output signals - std::vector outputUInt32; - std::vector outputFloat32; - - // Previous Input value - std::vector prevUInt32; - std::vector prevFloat32; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASourceChoiseGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/1b/1b11db83c998e6b6253b1e9c3cc9f21e4c13a2d9.svn-base b/EC-GN-JA-PCF/.svn/pristine/1b/1b11db83c998e6b6253b1e9c3cc9f21e4c13a2d9.svn-base deleted file mode 100644 index 8233fb0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/1b/1b11db83c998e6b6253b1e9c3cc9f21e4c13a2d9.svn-base +++ /dev/null @@ -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=JARampupGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARampupGAM$(LIBEXT) \ - $(BUILD_DIR)/JARampupGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/1b/1b6d4e1bf35713084a164f5e33aaa0d74132efb4.svn-base b/EC-GN-JA-PCF/.svn/pristine/1b/1b6d4e1bf35713084a164f5e33aaa0d74132efb4.svn-base deleted file mode 100644 index 954c588..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/1b/1b6d4e1bf35713084a164f5e33aaa0d74132efb4.svn-base +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,0,10,10,10 -10,55,40,-2,9,9,9 -20,50,35,-4,8,8,8 -30,45,30,-6,7,7,7 -40,40,25,-8,6,6,6 -50,35,20,-10,5,5,5 -60,30,15,-12,4,4,4 -70,25,10,-14,3,3,3 -80,20,5,-16,2,2,2 -90,15,0,-18,1,1,1 -100,10,-5,-20,0,0,0 -110,5,0,-22,1,1,1 -120,0,5,-20,2,2,2 -130,-5,10,-18,3,3,3 -140,0,15,-16,4,4,4 -150,5,20,-14,5,5,5 -160,10,25,-12,6,6,6 -170,15,30,-10,7,7,7 -180,20,35,-8,8,8,8 -190,25,40,-6,9,9,9 -200,30,45,-4,10,10,10 -210,35,40,-2,9,9,9 -220,40,35,0,8,8,8 -230,45,30,-2,7,7,7 -240,50,25,-4,6,6,6 -250,55,20,-6,5,5,5 -260,60,15,-8,4,4,4 -270,55,10,-10,3,3,3 -280,50,5,-12,2,2,2 -290,45,0,-14,1,1,1 -300,40,-5,-16,0,0,0 -310,35,0,-18,1,1,1 -320,30,5,-20,2,2,2 -330,25,10,-25,3,3,3 -340,20,15,-20,4,4,4 -350,15,20,-18,5,5,5 -360,10,25,-16,6,6,6 -370,5,30,-14,7,7,7 -380,0,35,-12,8,8,8 -390,-5,40,-10,9,9,9 -400,0,45,-8,10,10,10 -410,5,40,-6,9,9,9 -420,10,35,-4,8,8,8 -430,15,30,-2,7,7,7 -440,20,25,0,6,6,6 -450,25,20,-2,5,5,5 -460,30,15,-4,4,4,4 -470,35,10,-6,3,3,3 -480,40,5,-8,2,2,2 -490,45,0,-10,1,1,1 -500,50,-5,-12,0,0,0 -510,55,0,-14,1,1,1 -520,60,5,-16,2,2,2 -530,55,10,-18,3,3,3 -540,50,15,-20,4,4,4 -550,45,20,-30,5,5,5 -560,40,25,-20,6,6,6 -570,35,30,-18,7,7,7 -580,30,35,-16,8,8,8 -590,25,40,-14,9,9,9 -600,20,45,-12,10,10,10 -610,15,40,-10,9,9,9 -620,10,35,-8,8,8,8 -630,5,30,-6,7,7,7 -640,0,25,-4,6,6,6 -650,-5,20,-2,5,5,5 -660,0,15,0,4,4,4 -670,5,10,-2,3,3,3 -680,10,5,-4,2,2,2 -690,15,0,-6,1,1,1 -700,20,-5,-8,0,0,0 -710,25,0,-10,1,1,1 -720,30,5,-12,2,2,2 -730,35,10,-14,3,3,3 -740,40,15,-16,4,4,4 -750,45,20,-18,5,5,5 -760,50,25,-20,6,6,6 -770,55,30,-22,7,7,7 -780,60,35,-20,8,8,8 -790,55,40,-18,9,9,9 -800,50,45,-16,10,10,10 -810,45,40,-14,9,9,9 -820,40,35,-12,8,8,8 -830,35,30,-10,7,7,7 -840,30,25,-8,6,6,6 -850,25,20,-6,5,5,5 -860,20,15,-4,4,4,4 -870,15,10,-2,3,3,3 -880,10,5,0,2,2,2 -890,5,0,-2,1,1,1 -900,0,-5,-4,0,0,0 -910,-5,0,-6,1,1,1 -920,0,5,-8,2,2,2 -930,5,10,-10,3,3,3 -940,10,15,-12,4,4,4 -950,15,20,-14,5,5,5 -960,20,25,-16,6,6,6 -970,25,30,-18,7,7,7 -980,30,35,-20,8,8,8 -990,35,40,-22,9,9,9 -1000,40,45,-20,10,10,10 diff --git a/EC-GN-JA-PCF/.svn/pristine/1b/1be3b45333893d05c418c5f70511953adf6c90d6.svn-base b/EC-GN-JA-PCF/.svn/pristine/1b/1be3b45333893d05c418c5f70511953adf6c90d6.svn-base deleted file mode 100644 index 5b7751f..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/1b/1be3b45333893d05c418c5f70511953adf6c90d6.svn-base +++ /dev/null @@ -1,58 +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=JAEPICSCAOutput.x JAEPICSCAInput.x - -PACKAGE=DataSources - -ROOT_DIR=../../ -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -INCLUDES += -I. -INCLUDES += -I$(EPICS_BASE)/include/ -INCLUDES += -I$(EPICS_BASE)/include/os/Linux/ -INCLUDES += -I$(EPICS_BASE)/include/compiler/gcc/ -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/Scheduler/L5GAMs - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAEPICSCA$(LIBEXT) \ - $(BUILD_DIR)/JAEPICSCA$(DLLEXT) - echo $(OBJS) - -include depends.$(TARGET) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/1c/1ce3c5da2c21037a3b66365bdca7907307d37519.svn-base b/EC-GN-JA-PCF/.svn/pristine/1c/1ce3c5da2c21037a3b66365bdca7907307d37519.svn-base deleted file mode 100644 index 1254477..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/1c/1ce3c5da2c21037a3b66365bdca7907307d37519.svn-base +++ /dev/null @@ -1,463 +0,0 @@ -********** -* EXAMLE * -********** - -State1 // RT application state name -========== -1. // Numbered GAMs in order of execution -if (signal_A == 1) // Execution function of the GAM -{ - set signal_B = 3 - change state to State2 -} ----------- - - - -***************** -* RT APP STATES * -***************** - -WaitStandby -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 0) //If a Gyrotron is not selected by PLC. -{ - change state to Disabled -} ----------- -2. // DONE -if (EC-GN-P01-GPF:PLC4110-YTS-ST1R == 1) //If STANDBY signal come from PLC, start Coil&Fil PSs. -{ - // TODO should these signals be set only once every time this state is entered? - set signal EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP = 1 - set signal EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP = 1 - set signal EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START = 1 -} ----------- -3. // DONE -if (EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB == 1 - AND - EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON > 0 - AND - EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB == 1 - AND - EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB > 0) -{ - change state to Offline -} ----------- - - - -Disabled -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 1) -{ - change state to WaitStandby -} ----------- - - - -Offline -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 0) //If Gyrotron selection is turned off. -{ - change state to Disabled -} ----------- -2. // DONE -// If READY signal come from PLC is equal 1, app starts CCPS. -if (EC-GN-P01-GPF:PLC4110-YTS-ST2R == 1 - AND - EC-GN-P01-GAF-CCPS:PLC4110-YON-CCPS1 == 1) -{ - // TODO should this signal be set only once every time this state is entered? - set signal EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP = 1 -} ----------- -3. // DONE (with a temporary signal that needs to be changed when the record is added) -// TODO: Do we also have to check, that GAM 2. executed? So do we also have to check that EC-GN-P01-GPF:PLC4110-YTS-ST2R == 1? -if (EC-GN-P01-GAF-CCPS:PSU2320-STAT == 1) // TODO: there is no signal named EC-GN-P01-GAF-CCPS:PSU2320-STAT - // MEMO: I need add this record to check whether CCPS in running or stop. -{ - change state to WaitPermit -} ----------- -4. // DONE -// Wait CSV-LOAD trigger. When the app detect it, save data into the app. -if (EC-GN-P01-GAF:STAT-CSV-LOAD == 1) -{ - open csv file (file name: EC-GN-P01-GAF:STAT-CSV-NAME) - load time series data into memory - write data into EPICS waveform PSs.(EC-GN-P01-???:STAT-PREP-WF) // TODO do we realy write first data here or do we wait for PreHeating? - set signal EC-GN-P01-GAF:STAT-CSV-LOADED = 1 // TODO do we write 1 here? - If there is error, write EC-GN-P01-GAF:STAT-CSV-ERROR. // TODO there is no signal named EC-GN-P01-GAF:STAT-CSV-ERROR -} - - -WaitPermit -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 0) //If Gyrotron is un-selected. -{ - change state to Disabled -} ----------- -2. // DONE -if (EC-GN-P01-GAF:STAT-PREP-MODE == 1 - AND - EC-GN-P01-GAF:PLC4110-CON-GY1PRM == 1) -{ - change state to PreHeating -} ----------- -3. // DONE -if (EC-GN-P01-GAF:STAT-PREP-MODE == 0 - AND - EC-GN-P01-GAF:PLC4110-CON-GY1PRM == 1) -{ - change state to WaitReady -} ----------- -4. // DONE -if (EC-GN-P01-GAF:STAT-CSV-LOAD == 1) -{ - open csv file (file name: EC-GN-P01-GAF:STAT-CSV-NAME) - load time series data into memory - write data into EPICS waveform PSs.(EC-GN-P01-???:STAT-PREP-WF) - set signal EC-GN-P01-GAF:STAT-CSV-LOADED = 1 - If there is error, write EC-GN-P01-GAF:STAT-CSV-ERROR. -} - -PreHeating -========== -1. // DONE -every 10 ms do -{ - else - { - // TODO do we use float32 for the type of waveform signals? - // TODO is this the right order of columns? Time point is in column 1. - // TODO on what signal do we write time? - set signal EC-GN-P01-PB1F:PSU1000-EREF = setpoint column 2 - set signal EC-GN-P01-PA1F:PSU3000-EREF = setpoint column 3 // TODO there are two EC-GN-P01-PA1F:PSU3000-EREF signals. One ending with -P and one with -N. - set signal EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET = setpoint column 4 - set signal EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET = setpoint column 5 - set signal EC-GN-P01-GAF-FHPS:PSU2320-EREF = setpoint column 6 - } -} ----------- -2. // DONE -if (time == 0) -{ - change state to WaitReady -} ----------- - - -WaitReady -========== -1. // DONE -if (EC-GN-P01-PB1F:PSU1000-YSTA == 1 - AND - EC-GN-P01-PA1F:PSU3000-YSTA == 1) -{ - change state to WaitHVON -} ----------- - - -WaitHVON -========== -1. // DONE -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 1)// Check ON signal from PLC. This signal come when PLC check the operation operation possible conditions. -{ - change state to HVArming -} ----------- -2. // DONE -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 1) -{ - start HVON timer -} ----------- - - - -HVArming //HVArming is a state to startup HV generation in APS and BPS. -========== -1. -at specified time // TODO: Where do I get this specified time? And is it a countdown time or what? - // MEMO: Time is specified by PVs (EC-GN-P01-PB1F:STAT-DT-HVON). When app detect HVON from PLC, it is t=0. -{ - set signal EC-GN-P01-PB1F:PSU1000-CON-HV = 1 -} ----------- -2. -at specified time // TODO: Where do I get this specified time? And is it a countdown time or what? - // MEMO: Time is specified by PVs (EC-GN-P01-PA1F:STAT-DT-HVON) -{ - set signal EC-GN-P01-PA1F:PSU3000-CON-HV = 1 -} ----------- -3. -if (EC-GN-P01-PB1F:PSU1000-CON-HV == 1 - AND - EC-GN-P01-PA1F:PSU3000-CON-HV == 1 - AND - EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 0) // MEMO: Both HV PVs are 1. i.e.Both PSs are charged HV. and is in async mode. -{ - change state to HVArmed -} ----------- -4. -if (EC-GN-P01-PB1F:PSU1000-CON-HV == 1 - AND - EC-GN-P01-PA1F:PSU3000-CON-HV == 1 - AND - EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 1) // MEMO: HVPS HVs are ON and is in SYNC mode. -{ - Change state to HVArmedESDN -} ----------- -5. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED - - -HVArmed -========== -1. -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 0) // TODO: when do we go from HVArmed to Offline? - // MEMO: move to Offline when ON signal from PLC is turned off. -{ - change state to Offline -} ----------- -2. -// TODO: "(Entry) Write EC-GN-P01-GAF:PCF4210-YTS-GA1" What does Entry mean? Does it mean to do something -// only on the first cycle when we enter this state? What do I write to signal EC-GN-P01-GAF:PCF4210-YTS-GA1? -// MEMO: EC-GN-P01-GAF:PCF4210-YTS-GA1 is a PV that fast controller notifies Gyrotron operation state to PLC. -// When enter the HVArmed state, App writes 1 to this EPICS PV. ----------- -3. -if (EC-GN-P01-PB1F:PSU1000-CON-SW == 1) // TODO: when do we go from HVArmed to HVInjectionBPS? - // MEMO: If MHVPS HV is turned ON first, goto this state. -{ - change state to HVInjectionBPS -} ----------- -4. -if (EC-GN-P01-PMF:PSU0000-CON-SW == 1) // TODO: when do we go from HVArmed to HVInjectionMHVPS? - // MEMO: If BPS HV is turned ON first, goto this state. -{ - change state to HVInjectionMHVPS -} ----------- -5. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -6. -if (EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 1) //When SYNC mode turned ON. -{ - change state to HVArmedESDN -} ----------- - -HVArmedESDN // Start ESDN command, waveform subscription. -========== -1. -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 0) -{ - change state to Offline -} ----------- -2. -if (EC-GN-P01-PB1F:PSU1000-CON-SW == 1) -{ - change state to HVInjectionBPSESDN -} ----------- -3. -if (EC-GN-P01-PMF:PSU0000-CON-SW == 1) -{ - change state to HVInjectionMHVPSESDN -} ----------- -4. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -6. -if (EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 0) //When SYNC mode turned ON. -{ - change state to HVArmed -} ----------- - -HVInjectionBPS -========== -HVInjectionMHVPS -========== -1. -// MEMO: Write Gyrotron state PV (HVInjection) to notify PLC. -Write 1 to EC-GN-P01-GAF:PCF4210-YTS-GA2. ----------- -// TODO: Following questions/states are for ALL of the above states -2. (Exist in HVInjection BPS) -set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 1 // TODO when do we set this signal -// MEMO: Countdown time for EC-GN-P01-PA1F:STAT-DT-SWON ----------- -2. (Exist in HVInjection MHVPS) -set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 1 // TODO when do we set this signal -// MEMO: Countdown time for EC-GN-P01-PB1F:STAT-DT-SWON ----------- -3. -set signal EC-GN-P01-PMF:PSU0000-CON-SW = 1 // TODO when do we set this signal -// MEMO: Countdown time for EC-GN-P01-PMF:STAT-DT-SWON ----------- -4. -// TODO when to switch to RFON? -// MEMO: Go to RFON state when All switch PVs are 1. and the mode is async. -if (EC-GN-P01-PA1F:PSU3000-CON-SW == 1 AND - EC-GN-P01-PB1F:PSU1000-CON-SW == 1 AND - EC-GN-P01-PMF:PSU0000-CON-SW == 1) -{ - change state to RFON -} ----------- -5. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- - -HVInjectionESDN -========== -1. -// MEMO: Write Gyrotron state PV (HVInjection) to notify PLC. -Write 1 to EC-GN-P01-GAF:PCF4210-YTS-GA2. ----------- -2. -set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 1 -// Write 1 when ESDN command give a command. ----------- -3. -set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 1 -// Write 1 when ESDN command give a command. ----------- -4. -set signal EC-GN-P01-PMF:PSU0000-CON-SW = 1 -// Write 1 when ESDN command give a command. ----------- -5. -// TODO when to switch to RFONESDN? -// MEMO: Go to RFON state when All switch PVs are 1. and the mode is sync.i,e. change from HVInjectionxxxESDN -if (EC-GN-P01-PA1F:PSU3000-CON-SW == 1 AND - EC-GN-P01-PB1F:PSU1000-CON-SW == 1 AND - EC-GN-P01-PMF:PSU0000-CON-SW == 1) -{ - change state to RFONESDN -} ----------- - -RFON -========== -// TODO is this correct? -1. -// This only executes on the last cycle before we move to HVArmed -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= EC-GN-P01-GAF:STAT-DT-SHOTLEN) -{ - set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 0 - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 0 -} ----------- -2. -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= EC-GN-P01-GAF:STAT-DT-SHOTLEN) -{ - change state to HVArmed -} ----------- -3. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -4. -When enter the state beam-on timer is set to 0. -count up beam-on time. write the time into EC-GN-P01-GAF:STAT-BEAMON-TIME ----------- - - - -RFONESDN -========== -// TODO is this correct? -// MEMO: In the ESDN sync mode, HVPS turned off by ESDN packet. -// In both mode, there is mode_limit which is given by (EC-GN-P01-GPF:PLC4110-YTS-MD1,2,3,4). -1. -// This only executes on the last cycle before we move to HVArmed -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= t_mode_limit) // TODO: where do I get t_mode_limit? -{ - set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 0 - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 0 -} ----------- -2. -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= t_mode_limit) // TODO: where do I get t_mode_limit? -{ - change state to HVArmedESDN -} ----------- -3. -Subscribe ESDN commands. When GAM detect Beam-off command. It turn all HVPS SW OFF. -And change state to HVArmedESDN ----------- -4. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -5. -When enter the state beam-on timer is set to 0. -count up beam-on time. write the time into EC-GN-P01-GAF:STAT-BEAMON-TIME ----------- - - -Error -========== -1. -// Only execute on the first cycle after entering this state -if (first) -{ - set first = false - - set signal EC-GN-P01-PA1F:PUS3000-CON-HV = 0 // TODO: there is no signal named EC-GN-P01-PA1F:PUS3000-CON-HV - set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-HV = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 0 - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 0 - // MEMO: PA2F and PB2F are component type for gyrotron B. I will remove following action. - set signal EC-GN-P01-PA2F:PUS4000-CON-HV = 0 // TODO: there is no signal named EC-GN-P01-PA2F:PUS4000-CON-HV - set signal EC-GN-P01-PA2F:PSU4000-CON-SW = 0 // TODO: signal EC-GN-P01-PA2F:PSU4000-CON-SW missing in configuration file - set signal EC-GN-P01-PB2F:PSU2000-CON-HV = 0 // TODO: signal EC-GN-P01-PB2F:PSU2000-CON-HV missing in configuration file - set signal EC-GN-P01-PB2F:PSU2000-CON-SW = 0 // TODO: signal EC-GN-P01-PB2F:PSU2000-CON-SW missing in configuration file - - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 1 - set signal EC-GN-P01-PA1F:PSU3000-CTRP = 1 - set signal EC-GN-P01-PB1F:PSU1000-CTRP = 1 - // MEMO: PA2F and PB2F are component type for gyrotron B. I will remove following action. - set signal EC-GN-P01-PA2F:PSU4000-CTRP = 1 // TODO: signal EC-GN-P01-PA2F:PSU4000-CTRP missing in configuration file - set signal EC-GN-P01-PB2F:PSU1000-CTRP = 1 // TODO: there is no signal named EC-GN-P01-PB2F:PSU1000-CTRP -} ----------- -2. -if (EC-GN-P01-GPF:STAT-RST-FLT == 1 && ) // TODO: when do we go to Offline state? -{ - change state to Offline -} ----------- diff --git a/EC-GN-JA-PCF/.svn/pristine/1d/1d77799ecde60f9b08037e10008460665945e390.svn-base b/EC-GN-JA-PCF/.svn/pristine/1d/1d77799ecde60f9b08037e10008460665945e390.svn-base deleted file mode 100644 index dc1af0c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/1d/1d77799ecde60f9b08037e10008460665945e390.svn-base +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("GeneralTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-PLC_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/.svn/pristine/1e/1e9061dd5e4b673585cd80ede1281ff55b3a2328.svn-base b/EC-GN-JA-PCF/.svn/pristine/1e/1e9061dd5e4b673585cd80ede1281ff55b3a2328.svn-base deleted file mode 100644 index 06de1df..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/1e/1e9061dd5e4b673585cd80ede1281ff55b3a2328.svn-base +++ /dev/null @@ -1,460 +0,0 @@ -/** - * @file JAPreProgrammedGAM.cpp - * @brief Source file for class JAPreProgrammedGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAPreProgrammedGAM (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 "AdvancedErrorManagement.h" -#include "CLASSMETHODREGISTER.h" -#include "File.h" -#include "JAPreProgrammedGAM.h" -#include "MessageI.h" -#include "RegisteredMethodsMessageFilter.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -// How often output signals are updated. -const MARTe::uint32 cycleMs = 10u; - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAPreProgrammedGAM::JAPreProgrammedGAM() : - GAM() { - using namespace MARTe; - filenameSignalIndex = 0u; - timeSignal = NULL_PTR(MARTe::int32 *); - loadTriggerSignal = NULL_PTR(MARTe::uint32 *); - fhpsrefSignal = NULL_PTR(MARTe::float32 *); - rfonStateSignal = NULL_PTR(MARTe::uint32 *); - - valueSignals = NULL_PTR(MARTe::float32 **); - preProgrammedValues = NULL_PTR(MARTe::float32 **); - preProgrammedTime = NULL_PTR(MARTe::int32 *); - fileLoadedSignal = NULL_PTR(MARTe::uint32 *); - fileLoadErrorOutput = NULL_PTR(MARTe::uint32 *); - - startTime = 0u; - numberOfPreProgrammedValues = 0u; - numberOfPreProgrammedTimeRows = 0u; - currentRow = 0u; - mode = None; - preProgrammedExecutaionPeriodMs = 0u; - msCounter = 0u; - preProgrammedRow = 0u; - resetOutputSignals = false; - readOnce = true; -} - -JAPreProgrammedGAM::~JAPreProgrammedGAM() { - DeleteArrays(); - if (valueSignals != NULL_PTR(MARTe::float32 **)) { - delete[] valueSignals; - } -} - -bool JAPreProgrammedGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("Directory", directory); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - if (ok) { - ok = data.Read("PreProgrammedPeriodMs", preProgrammedExecutaionPeriodMs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - return ok; -} - -bool JAPreProgrammedGAM::Setup() { - using namespace MARTe; - //Signal number check. - bool ok = (numberOfInputSignals == 4u); - if (ok) { - ok = (numberOfOutputSignals > 2u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "At least two output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Four input signals with the filename and file load trigger shall be defined"); - } - //Input signals type consistency check. - if (ok) { - StreamString signalName = "Filename"; - ok = GetSignalIndex(InputSignals, filenameSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Filename input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, filenameSignalIndex); - ok = (inputType == CharString); - if (!ok) { - ok = (inputType == Character8Bit); - } - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, filenameSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as string", signalName.Buffer()); - } - } - } - if (ok) { - StreamString signalName = "CSV_LOAD"; - uint32 loadSignalIndex; - ok = GetSignalIndex(InputSignals, loadSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "CSV_LOAD input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, loadSignalIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, loadSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } else { - loadTriggerSignal = reinterpret_cast(GetInputSignalMemory(loadSignalIndex)); - } - } - } - if (ok) { - StreamString signalName = "FHPS_REF"; - uint32 fhpsrefIndex; - ok = GetSignalIndex(InputSignals, fhpsrefIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "FHPS_REF input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, fhpsrefIndex); - ok = (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, fhpsrefIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - fhpsrefSignal = reinterpret_cast(GetInputSignalMemory(fhpsrefIndex)); - } - } - } - if (ok) { - StreamString signalName = "RFON"; - uint32 rfonIndex; - ok = GetSignalIndex(InputSignals, rfonIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "RFON input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, rfonIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, rfonIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - rfonStateSignal = reinterpret_cast(GetInputSignalMemory(rfonIndex)); - } - } - } - - //Output signals type check. - if (ok) { - TypeDescriptor timeType = GetSignalType(OutputSignals, 0); - ok = (timeType == SignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, 0, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as int32", signalName.Buffer()); - } - - uint32 i; - for (i = 1u; (i <= 6) && (ok); i++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, i); - ok = (outputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, i, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } - } - - if (ok) { - TypeDescriptor fileLoadedType = GetSignalType(OutputSignals, 7u); - ok = (fileLoadedType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 6u, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - if (ok) { - TypeDescriptor fileLoadErrorOutputType = GetSignalType(OutputSignals, 8u); - ok = (fileLoadErrorOutputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 7u, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - } - - //Register signal memory - if (ok) { - timeSignal = reinterpret_cast(GetOutputSignalMemory(0)); - valueSignals = new float32*[6u]; - uint32 i; - for (i = 1u; i <= 6u; i++) { - valueSignals[i - 1] = reinterpret_cast(GetOutputSignalMemory(i)); - } - fileLoadedSignal = reinterpret_cast(GetOutputSignalMemory(7u)); - fileLoadErrorOutput = reinterpret_cast(GetOutputSignalMemory(8u)); - } - return ok; -} - -bool JAPreProgrammedGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - bool ok = true; - if (strcmp(nextStateName, "WaitReady") == 0) { - mode = LoadFileMode; - resetOutputSignals = true; - // Reset read once flag when reentering WaitReady state. - readOnce = true; - } else if (strcmp(nextStateName, "WaitPermit") == 0) { - mode = LoadFileMode; - resetOutputSignals = true; - currentRow = 0u; - } else if (strcmp(nextStateName, "WaitHVON_PREP") == 0 || strcmp(nextStateName, "WaitHVON_SDN_PREP") == 0) { - ok = numberOfPreProgrammedTimeRows > 0; - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::IllegalOperation, "Entering PreProgrammed mode without any waveform data."); - } - mode = PreProgrammedMode; - msCounter = cycleMs; - currentRow = 0u; - } else { - mode = None; - } - return ok; -} - -bool JAPreProgrammedGAM::LoadFile() { - using namespace MARTe; - - DeleteArrays(); - - bool ok = true; - - const MARTe::char8 * const filenameSignal = reinterpret_cast(GetInputSignalMemory(filenameSignalIndex)); - //Prepare full path to the configuration file. - StreamString filename = directory; - filename += DIRECTORY_SEPARATOR; - filename += filenameSignal; - REPORT_ERROR(MARTe::ErrorManagement::Debug, "Opening file %s", filename.Buffer()); - - //parse prepro configuration file into two arrays(time, values). - File f; - ok = f.Open(filename.Buffer(), BasicFile::ACCESS_MODE_R); - if (ok) { - //Count up number of file Rows. - numberOfPreProgrammedTimeRows = 0u; - StreamString tokenLine; - while (f.GetLine(tokenLine)) { - if (tokenLine[0] != '#' && tokenLine[0] != '-') { - numberOfPreProgrammedTimeRows++; - } - tokenLine = ""; - } - //Count up number of file lines - numberOfPreProgrammedValues = 0u; - f.Seek(0); - uint32 t = 0u; - tokenLine = ""; - while ((ok) && (f.GetLine(tokenLine))) { - // Skip comment line and minus time - if (tokenLine[0] == '#' || tokenLine[0] == '-') { - tokenLine = ""; - continue; - } - // Prepare two arrays at first. - if (numberOfPreProgrammedValues == 0) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - while (tokenLine.GetToken(token, ",", ignored)) { - numberOfPreProgrammedValues++; - token = ""; - } -REPORT_ERROR(MARTe::ErrorManagement::ParametersError,"numberOfPreProgrammedVal %d", numberOfPreProgrammedValues); - ok = (numberOfPreProgrammedValues == 7u);//From time row to FHPS row. - numberOfPreProgrammedValues -= 1u; //From MHVPS row to FHPS row. - if (ok) { - preProgrammedTime = new int32[numberOfPreProgrammedTimeRows]; - preProgrammedValues = new float32*[numberOfPreProgrammedTimeRows]; - uint32 j; - for (j = 0u; j < numberOfPreProgrammedTimeRows; j++) { - preProgrammedValues[j] = new float32[numberOfPreProgrammedValues]; - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, - "Number of columns in csv file (%d) is not consistent with the number of output signals (%d)", - numberOfPreProgrammedValues, 6u); - *fileLoadErrorOutput = 1; - } - } - // Add loaded data into two arrays. - if (ok) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - uint32 idx = 0u; - while (tokenLine.GetToken(token, ",", ignored)) { - if (idx == 0u) { - preProgrammedTime[t] = atoi(token.Buffer()); - if (t == 0 && preProgrammedTime[0] != 0) { - REPORT_ERROR(MARTe::ErrorManagement::Debug, "Prepro start from none zero time."); - } - } - else { - ok = ((idx - 1) < numberOfPreProgrammedValues); - if (ok) { - preProgrammedValues[t][idx - 1] = static_cast(atof(token.Buffer())); - } - else { - REPORT_ERROR(MARTe::ErrorManagement::FatalError, "Number of columns in csv file is not consistent with the number of output signals in line %d", t); - *fileLoadErrorOutput = 1; - } - } - token = ""; - idx++; - } - t++; - } - tokenLine = ""; - } - f.Close(); - } - if (ok) { - currentRow = 0u; - } - else { - numberOfPreProgrammedTimeRows = 0u; - REPORT_ERROR(ErrorManagement::Warning, "Failed to read waveform data from file."); - *fileLoadErrorOutput = 2; - } - return ok; -} - -bool JAPreProgrammedGAM::Execute() { - using namespace MARTe; - bool ok = true; - - switch (mode) { - case LoadFileMode: { - if (*loadTriggerSignal == 1u) { - if (readOnce) { - *fileLoadErrorOutput = 0; - *fileLoadedSignal = LoadFile() ? 1 : 0; - readOnce = false; - } - } else { - // Reset read once flag when loadTriggerSignal is reset. - readOnce = true; - } - - if (resetOutputSignals) { - // Write default values to output signals - *timeSignal = 0u; - *valueSignals[FHPS-1] = *fhpsrefSignal; - resetOutputSignals = false; - } else { - *valueSignals[FHPS-1] = *fhpsrefSignal; //copy input(2) to val_arr(4) - } - } break; - - case PreProgrammedMode: { - ok = numberOfPreProgrammedTimeRows > 0; - - //add 20210105. Before RFON, prepro setpoints should be same as the values listed at csv first line. - if (ok && *rfonStateSignal == 0) { - uint32 j; - for (j = 0u; j < FHPS; j++) { - *valueSignals[j] = preProgrammedValues[0][j]; - } - } - //end 20210105 - - if (ok && currentRow < numberOfPreProgrammedTimeRows && *rfonStateSignal == 1) { - if (msCounter >= cycleMs) { - msCounter -= cycleMs; - int32 currentTime = preProgrammedTime[currentRow]; - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Write Time at %d",currentRow); - // Write to output signals - *timeSignal = currentTime; - uint32 j; - for (j = 0u; j < FHPS; j++) { - *valueSignals[j] = preProgrammedValues[currentRow][j]; - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Write Value %f at row %d",preProgrammedValues[currentRow][j], currentRow); - } - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Writing pre programmed data for time %d", currentTime); - - // Update row - ++currentRow; - } - msCounter += preProgrammedExecutaionPeriodMs; - } - } break; - default: - // Nothing to do. - REPORT_ERROR(MARTe::ErrorManagement::Warning, "Unhandled mode."); - break; - } - return ok; -} - -void JAPreProgrammedGAM::DeleteArrays() { - if (preProgrammedValues != NULL_PTR(MARTe::float32 **)) { - MARTe::uint32 i; - for (i = 0u; i < numberOfPreProgrammedValues; i++) { - delete preProgrammedValues[i]; - } - delete[] preProgrammedValues; - } - if (preProgrammedTime != NULL_PTR(MARTe::int32 *)) { - delete[] preProgrammedTime; - } -} - -CLASS_REGISTER(JAPreProgrammedGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/1f/1f1e4c219c6cdd09533ef832debe793a1c6a4966.svn-base b/EC-GN-JA-PCF/.svn/pristine/1f/1f1e4c219c6cdd09533ef832debe793a1c6a4966.svn-base deleted file mode 100644 index 8a24ff6..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/1f/1f1e4c219c6cdd09533ef832debe793a1c6a4966.svn-base +++ /dev/null @@ -1,49 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil -# from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -table = widget.getTable() - -#Fill PV Name only once -if widget.getVar("firstTime") == None: - widget.setVar("firstTime", True) - i=0 - # Fill table only with non EGU pv's - for pv in pvs: - # earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().strip()) - if not pv.isConnected(): - table.setCellText(i/2, 1, "Disconnected") - i+=1 - # Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if widget.getPropertyValue("name") == 'PLCIOCDetailsTable': - if display.getMacroValue("SHOW_PLC_IOC") == "true": - widget.setPropertyValue("visible", "true") - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true") - -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -pvValue = PVUtil.getString(triggerPV).strip(); -eugValue = table.getCellText(i, 4); -if eugValue != "": - pvValue = pvValue+" "+eugValue; -table.setCellText(i, 1, pvValue) -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).strip()) -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).strip()) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i, 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/21/2136f8fbf603f0ad946d9a6aa78caae806d30763.svn-base b/EC-GN-JA-PCF/.svn/pristine/21/2136f8fbf603f0ad946d9a6aa78caae806d30763.svn-base deleted file mode 100644 index 5c6175c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/21/2136f8fbf603f0ad946d9a6aa78caae806d30763.svn-base +++ /dev/null @@ -1,35 +0,0 @@ -# Makefile at top of application tree -TOP = . -include $(TOP)/configure/CONFIG - -# Directories to build, any order -DIRS += configure -DIRS += $(wildcard *Sup) -DIRS += $(wildcard *App) -DIRS += $(wildcard *Top) -DIRS += $(wildcard iocBoot) - -# The build order is controlled by these dependency rules: - -# All dirs except configure depend on configure -$(foreach dir, $(filter-out configure, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += configure)) - -# Any *App dirs depend on all *SharedTemplateApp dirs -$(foreach dir, $(filter-out %SharedTemplateApp, $(filter %App, $(DIRS))), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %SharedTemplateApp, $(DIRS)))) - -# Any *App dirs depend on all *Sup dirs -$(foreach dir, $(filter %App, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %Sup, $(DIRS)))) - -# Any *Top dirs depend on all *Sup and *App dirs -$(foreach dir, $(filter %Top, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %Sup %App, $(DIRS)))) - -# iocBoot depends on all *App dirs -iocBoot_DEPEND_DIRS += $(filter %App,$(DIRS)) - -# Add any additional dependency rules here: - -include $(TOP)/configure/RULES_TOP diff --git a/EC-GN-JA-PCF/.svn/pristine/21/2187012eb95901393499e960ee5d864d08bb7ffb.svn-base b/EC-GN-JA-PCF/.svn/pristine/21/2187012eb95901393499e960ee5d864d08bb7ffb.svn-base deleted file mode 100644 index 9d7c2e6..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/21/2187012eb95901393499e960ee5d864d08bb7ffb.svn-base +++ /dev/null @@ -1,1712 +0,0 @@ -record (bo,"EC-GN-HWCF:6259-0-ACQ") -{ - field(DESC, "Start/Stop data acquisition") - field(DTYP, "ni6259") - field(ONAM, "START-ACQUISITION") - field(OUT, "#C1 S0 @switch_acquisition") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "STOP-ACQUISITION") -} - -record (bo,"EC-GN-HWCF:6259-0-CONF") -{ - field(DESC, "Load/reset analog input configuration") - field(DTYP, "ni6259") - field(ONAM, "LOAD-CONF") - field(OUT, "#C1 S0 @ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "RESET-CONF") -} - -record (bo,"EC-GN-HWCF:6259-0-MODE") -{ - field(DESC, "continuous or finite mode") - field(DTYP, "ni6259") - field(ONAM, "CONTINUOUS") - field(OUT, "#C1 S0 @daq_mode") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "FINITE") -} - -record (bo,"EC-GN-HWCF:6259-1-ACQ") -{ - field(DESC, "Start/Stop data acquisition") - field(DTYP, "ni6259") - field(ONAM, "START-ACQUISITION") - field(OUT, "#C0 S0 @switch_acquisition") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "STOP-ACQUISITION") -} - -record (bo,"EC-GN-HWCF:6259-1-CONF") -{ - field(DESC, "Load/reset analog input configuration") - field(DTYP, "ni6259") - field(ONAM, "LOAD-CONF") - field(OUT, "#C0 S0 @ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "RESET-CONF") -} - -record (bo,"EC-GN-HWCF:6259-1-MODE") -{ - field(DESC, "continuous or finite mode") - field(DTYP, "ni6259") - field(ONAM, "CONTINUOUS") - field(OUT, "#C0 S0 @daq_mode") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "FINITE") -} - -record (bo,"EC-GN-HWCF:6368-0-AISTSP") -{ - field(DESC, "Start/Stop AI Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_1, 0) start_stop_ai") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-0-AOSTSP") -{ - field(DESC, "Start/Stop AO Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_1, 0) start_stop_ao") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-0-LDAICF") -{ - field(DESC, "Load/Reset AI Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_1, 0) ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-0-LDAOCF") -{ - field(DESC, "Load/Reset AO Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_1, 0) ao_conf") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-1-AISTSP") -{ - field(DESC, "Start/Stop AI Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_0, 0) start_stop_ai") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-1-AOSTSP") -{ - field(DESC, "Start/Stop AO Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_0, 0) start_stop_ao") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-1-LDAICF") -{ - field(DESC, "Load/Reset AI Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_0, 0) ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-1-LDAOCF") -{ - field(DESC, "Load/Reset AO Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_0, 0) ao_conf") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bi,"EC-GN-HWCF:6683-0-BLKTMO") -{ - field(DESC, "Block until Finished...") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0) waitForTimeOver") - field(SCAN, "I/O Intr") -} - -record (bo,"EC-GN-HWCF:6683-0-FTEAALL") -{ - field(DESC, "Abort all pending FTEs") - field(DTYP, "asynInt32") - field(ONAM, "1") - field(OUT, "@asyn(ni6683h_0,0)abortAllFtes") - field(VAL, "0") - field(ZNAM, "0") -} - -record (bo,"EC-GN-HWCF:6683-0-RESET") -{ - field(DESC, "Reset Board") - field(DTYP, "asynInt32") - field(ONAM, "1") - field(OUT, "@asyn(ni6683h_0,0)resetCard") - field(VAL, "0") - field(ZNAM, "0") -} - -record (bi,"EC-GN-HWCF:6683-0-TAIUTC") -{ - field(DESC, "PXI-6683.0 TAI/UTC Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)taiutcStatus") - field(ONAM, "TAI") - field(OSV, "MINOR") - field(PINI, "YES") - field(SCAN, "10 second") - field(ZNAM, "UTC") - field(ZSV, "NO_ALARM") -} - -record (stringin,"EC-GN-HWCF:6259-0-DMSG") -{ - field(DESC, "Driver Debug Message") - field(DTYP, "ni6259") - field(INP, "#C1 S0 @dsg") - field(SCAN, "1 second") -} - -record (longout,"EC-GN-HWCF:6259-0-NS") -{ - field(DESC, "number of samples to read") - field(DRVH, "32000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HIGH, "32001") - field(HOPR, "32000") - field(HSV, "MAJOR") - field(LOPR, "0") - field(LOW, "0") - field(LSV, "MAJOR") - field(OUT, "#C1 S0 @num_samples") - field(PINI, "YES") - field(VAL, "5000") -} - -record (longout,"EC-GN-HWCF:6259-0-POST") -{ - field(DESC, "Posttrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C1 S0 @posttrig_samples") - field(PINI, "YES") - field(VAL, "4000") -} - -record (longout,"EC-GN-HWCF:6259-0-PRET") -{ - field(DESC, "Pretrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C1 S0 @pretrig_samples") - field(PINI, "YES") - field(VAL, "2000") -} - -record (calcout,"EC-GN-HWCF:6259-0-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6259-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-0-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6259-0-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6259-0-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6259-0-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6259-0-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6259-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-0-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6259-0-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "#C1 S0 @sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6259-0-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6259-0-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6259-0-SR") -{ - field(DESC, "ADC Sampling Rate") - field(DTYP, "ni6259") - field(EGU, "Hz") - field(HIGH, "1000001") - field(HSV, "MAJOR") - field(OUT, "#C1 S0 @sample_rate") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (mbbi,"EC-GN-HWCF:6259-0-STATUS") -{ - field(DESC, "PXI-6259.0 Board Status") - field(DTYP, "ni6259") - field(EIST, "ADC Overrun") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "Reserved1") - field(ELSV, "INVALID") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved4") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "#C1 S0 @BoardStatus") - field(NIST, "DAC Overrun") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AI_FIFO Overflow") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Reserved0") - field(TESV, "INVALID") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved3") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved2") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (stringin,"EC-GN-HWCF:6259-1-DMSG") -{ - field(DESC, "Driver Debug Message") - field(DTYP, "ni6259") - field(INP, "#C0 S0 @dsg") - field(SCAN, "1 second") -} - -record (longout,"EC-GN-HWCF:6259-1-NS") -{ - field(DESC, "number of samples to read") - field(DRVH, "32000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HIGH, "32001") - field(HOPR, "32000") - field(HSV, "MAJOR") - field(LOPR, "0") - field(LOW, "0") - field(LSV, "MAJOR") - field(OUT, "#C0 S0 @num_samples") - field(PINI, "YES") - field(VAL, "5000") -} - -record (longout,"EC-GN-HWCF:6259-1-POST") -{ - field(DESC, "Posttrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C0 S0 @posttrig_samples") - field(PINI, "YES") - field(VAL, "4000") -} - -record (longout,"EC-GN-HWCF:6259-1-PRET") -{ - field(DESC, "Pretrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C0 S0 @pretrig_samples") - field(PINI, "YES") - field(VAL, "2000") -} - -record (calcout,"EC-GN-HWCF:6259-1-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6259-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-1-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6259-1-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6259-1-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6259-1-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6259-1-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6259-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-1-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6259-1-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "#C0 S0 @sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6259-1-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6259-1-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6259-1-SR") -{ - field(DESC, "ADC Sampling Rate") - field(DTYP, "ni6259") - field(EGU, "Hz") - field(HIGH, "1000001") - field(HSV, "MAJOR") - field(OUT, "#C0 S0 @sample_rate") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (mbbi,"EC-GN-HWCF:6259-1-STATUS") -{ - field(DESC, "PXI-6259.1 Board Status") - field(DTYP, "ni6259") - field(EIST, "ADC Overrun") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "Reserved1") - field(ELSV, "INVALID") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved4") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "#C0 S0 @BoardStatus") - field(NIST, "DAC Overrun") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AI_FIFO Overflow") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Reserved0") - field(TESV, "INVALID") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved3") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved2") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-AIPU") -{ - field(DESC, "Software Pulse") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_1, 0) pulse_ai") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-0-AISMPL") -{ - field(DESC, "No of AI sample to be acquire in Block") - field(DRVH, "32000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "32000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_1, 0) no_of_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-0-AISR") -{ - field(DESC, "AI Sampling Rate") - field(DRVH, "2000000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "2000000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_1, 0) sampling_rate_ai") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (longout,"EC-GN-HWCF:6368-0-AITB") -{ - field(DESC, "AI Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) timebase_ai") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-AOPU") -{ - field(DESC, "AO Pulse Source") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_1, 0) pulse_ao") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-0-AOTB") -{ - field(DESC, "AO Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) timebase_ao") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-CHAIMO") -{ - field(DESC, "Change AI Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_1, 0) ai_mode") - field(PINI, "YES") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (mbbo,"EC-GN-HWCF:6368-0-CHAOMO") -{ - field(DESC, "Change AO Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_1, 0) ao_mode") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (longout,"EC-GN-HWCF:6368-0-POST") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) posttrig_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-0-PRET") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) pretrig_samples") - field(PINI, "YES") - field(VAL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-0-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6368-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-0-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6368-0-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6368-0-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-0-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6368-0-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6368-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-0-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6368-0-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0)sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6368-0-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6368-0-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6368-0-STATUS") -{ - field(DESC, "PXIe-6368.0 Board Status") - field(DTYP, "asynInt32") - field(EIST, "DIHW_Error") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "GPCHW_Error") - field(ELSV, "MAJOR") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved2") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6368_1, 0) board_status") - field(NIST, "AOHW_Error") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AIHW_Error") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "DOHW_Error") - field(TESV, "MAJOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved1") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved0") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-AIPU") -{ - field(DESC, "Software Pulse") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_0, 0) pulse_ai") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-1-AISMPL") -{ - field(DESC, "No of AI sample to be acquire in Block") - field(DRVH, "32000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "32000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_0, 0) no_of_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-1-AISR") -{ - field(DESC, "AI Sampling Rate") - field(DRVH, "2000000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "2000000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_0, 0) sampling_rate_ai") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (longout,"EC-GN-HWCF:6368-1-AITB") -{ - field(DESC, "AI Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) timebase_ai") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-AOPU") -{ - field(DESC, "AO Pulse Source") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_0, 0) pulse_ao") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-1-AOTB") -{ - field(DESC, "AO Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) timebase_ao") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-CHAIMO") -{ - field(DESC, "Change AI Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_0, 0) ai_mode") - field(PINI, "YES") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (mbbo,"EC-GN-HWCF:6368-1-CHAOMO") -{ - field(DESC, "Change AO Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_0, 0) ao_mode") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (longout,"EC-GN-HWCF:6368-1-POST") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) posttrig_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-1-PRET") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) pretrig_samples") - field(PINI, "YES") - field(VAL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-1-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6368-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-1-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6368-1-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6368-1-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-1-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6368-1-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6368-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-1-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6368-1-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0)sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6368-1-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6368-1-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6368-1-STATUS") -{ - field(DESC, "PXIe-6368.1 Board Status") - field(DTYP, "asynInt32") - field(EIST, "DIHW_Error") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "GPCHW_Error") - field(ELSV, "MAJOR") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved2") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6368_0, 0) board_status") - field(NIST, "AOHW_Error") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AIHW_Error") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "DOHW_Error") - field(TESV, "MAJOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved1") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved0") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-FILTINT") -{ - field(DESC, "Set Filter Interval Value") - field(DRVH, "209715200") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "209715200") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setfilterinterval") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP3") -{ - field(DESC, "Power-UP state of Port3") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,3, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP4") -{ - field(DESC, "Power-UP state of Port4") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,4, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP5") -{ - field(DESC, "Power-UP state of Port5") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,5, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIINPROUT") -{ - field(DESC, "Set RTSI Input Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsiinputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIOUTROUT") -{ - field(DESC, "Set RTSI Output Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsioutputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIPCHANGE") -{ - field(DESC, "Set RTSI Pulse on Change") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsipulseonchange") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIPWDG") -{ - field(DESC, "Set RTSI pulse on watchdog") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsipulseonwatchdog") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIWDGTRIG") -{ - field(DESC, "Set RTSI on Watchdog Trigger") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsiwatchdogtrigger") - field(VAL, "0") -} - -record (mbbi,"EC-GN-HWCF:6528-0-STATUS") -{ - field(DESC, "PXI-6528.0 Board Status") - field(DTYP, "asynInt32") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6528_1,1) board_status") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ao,"EC-GN-HWCF:6528-0-WDGTOUT") -{ - field(DESC, "Set Watchdog TimeOut") - field(DRVH, "429496729580") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(HOPR, "429496729580") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setwatchdogtimeout") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-FILTINT") -{ - field(DESC, "Set Filter Interval Value") - field(DRVH, "209715200") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "209715200") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setfilterinterval") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP3") -{ - field(DESC, "Power-UP state of Port3") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,3, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP4") -{ - field(DESC, "Power-UP state of Port4") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,4, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP5") -{ - field(DESC, "Power-UP state of Port5") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,5, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIINPROUT") -{ - field(DESC, "Set RTSI Input Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsiinputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIOUTROUT") -{ - field(DESC, "Set RTSI Output Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsioutputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIPCHANGE") -{ - field(DESC, "Set RTSI Pulse on Change") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsipulseonchange") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIPWDG") -{ - field(DESC, "Set RTSI pulse on watchdog") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsipulseonwatchdog") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIWDGTRIG") -{ - field(DESC, "Set RTSI on Watchdog Trigger") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsiwatchdogtrigger") - field(VAL, "0") -} - -record (mbbi,"EC-GN-HWCF:6528-1-STATUS") -{ - field(DESC, "PXI-6528.1 Board Status") - field(DTYP, "asynInt32") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6528_0,0) board_status") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ao,"EC-GN-HWCF:6528-1-WDGTOUT") -{ - field(DESC, "Set Watchdog TimeOut") - field(DRVH, "429496729580") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(HOPR, "429496729580") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setwatchdogtimeout") - field(VAL, "0") -} - -record (waveform,"EC-GN-HWCF:6683-0-BDTM") -{ - field(DESC, "Board time") - field(DTYP, "asynInt32ArrayIn") - field(FTVL, "ULONG") - field(INP, "@asyn(ni6683h_0,0) getTime") - field(NELM, "2") - field(SCAN, ".1 second") -} - -record (subArray,"EC-GN-HWCF:6683-0-BDTMN") -{ - field(DESC, "Board time [ns]") - field(EGU, "ns") - field(FTVL, "ULONG") - field(INP, "EC-GN-HWCF:6683-0-BDTM CP MS") -} - -record (subArray,"EC-GN-HWCF:6683-0-BDTMS") -{ - field(DESC, "Board time [s]") - field(EGU, "s") - field(FTVL, "ULONG") - field(INP, "EC-GN-HWCF:6683-0-BDTM CP MS") -} - -record (waveform,"EC-GN-HWCF:6683-0-BLKTM") -{ - field(DESC, "Block until...") - field(DTYP, "asynInt32ArrayOut") - field(FTVL, "LONG") - field(HOPR, "4503599627370496") - field(INP, "@asyn(ni6683h_0,0) waitForTime") - field(LOPR, "0") - field(NELM, "2") -} - -record (stringin,"EC-GN-HWCF:6683-0-DEVNAME") -{ - field(DESC, "Device name") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) deviceName") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (stringin,"EC-GN-HWCF:6683-0-DRIVER") -{ - field(DESC, "Driver version") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) driverVersion") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-FTEMAX") -{ - field(DESC, "Max number of scheduled FTEs") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)maxScheduledFtes") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-FTENUM") -{ - field(DESC, "Number of pending FTEs") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)numPendingFtes") - field(SCAN, "5 second") -} - -record (stringin,"EC-GN-HWCF:6683-0-HBDTM") -{ - field(DESC, "Board Time") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) getTime") - field(PINI, "YES") - field(SCAN, ".1 second") -} - -record (longin,"EC-GN-HWCF:6683-0-LVL_ERRS") -{ - field(DESC, "Check number of FTE level errors") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)checkFteLevels") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-SERIAL") -{ - field(DESC, "Device serial number") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)deviceSerialNumber") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (mbbi,"EC-GN-HWCF:6683-0-STATUS") -{ - field(DESC, "PXI-6683.0 Device status") - field(DTYP, "asynInt32") - field(EIST, "FIFO overflow") - field(EISV, "MINOR") - field(EIVL, "8") - field(ELST, "Buffer overflow") - field(ELSV, "MINOR") - field(ELVL, "11") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6683h_0,0)deviceStatus") - field(NIST, "FPGA not ready") - field(NISV, "MINOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "5 second") - field(SVST, "Reserved") - field(SVSV, "INVALID") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Ref clk no lock") - field(TESV, "MINOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6683-0-SYNC") -{ - field(DESC, "PXI-6683.0 Synchronization status") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)syncStatus") - field(ONST, "SYNCING") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(THST, "LOST_SYNC") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "SYNCED") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "NOT_SYNCED") - field(ZRSV, "MAJOR") - field(ZRVL, "0") -} - -record (longin,"EC-GN-HWCF:6683-0-SYNCLOST") -{ - field(DESC, "Seconds since lost synchronization") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)secsSinceSync") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/22/22517f262b1d1c073748c08caed4b621fafa8d2a.svn-base b/EC-GN-JA-PCF/.svn/pristine/22/22517f262b1d1c073748c08caed4b621fafa8d2a.svn-base deleted file mode 100644 index 6d3b3b1..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/22/22517f262b1d1c073748c08caed4b621fafa8d2a.svn-base +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - - -def test_standby(): - """ - In the WaitStandby State, simulate PLC STANDBY signal. - Turn on FHPS by push auto-on button. - Turn on SCM PSs automatically. - State transition condition is checked at last. - """ - print '---------- Start WatiStandby test ----------' - print '1. Simulate SELECT signal. State should go to WatiStandby from Disabled.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2 1', shell=True) - time.sleep(1) - print '2. Set MCPS rampup parameter(target current, sweep rate.)' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For A - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET 1.5', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET 1.5', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For B - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET 1.5', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET 1.5', shell=True) - time.sleep(1) - print '3. Simulate STANDBY signal. MCPS, GCPS, FHPS rampup must be started.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R 1', shell=True) - time.sleep(1) - print '4. Set FHPS rampup parameter and start it.' - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME 10', shell=True) #in second. - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME 10', shell=True) #in second. - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - time.sleep(10) - print '5. Simulate FHPS, MCPS and GCPS state.' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - time.sleep(1) - print '6. Confirm FHPS and SCM ramp-up complete. The state goes to WaitREADY from WaitStandby.' - print '---------- END WaitStandby test ----------' - diff --git a/EC-GN-JA-PCF/.svn/pristine/22/22639e15d0cdcde3541b079abb81090daf9015d5.svn-base b/EC-GN-JA-PCF/.svn/pristine/22/22639e15d0cdcde3541b079abb81090daf9015d5.svn-base deleted file mode 100644 index 50ca308..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/22/22639e15d0cdcde3541b079abb81090daf9015d5.svn-base +++ /dev/null @@ -1,347 +0,0 @@ -/** - * @file JAMessageGAM.cpp - * @brief Source file for class JAMessageGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAMessageGAM (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 "AdvancedErrorManagement.h" -#include "JAMessageGAM.h" -#include "MessageI.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -template -bool Compare(JAMessageGAM::ComparisonMode comparator, void *inputSignal, U expectedValue) { - switch (comparator) { - case JAMessageGAM::Equals: - return *static_cast(inputSignal) == expectedValue; - case JAMessageGAM::Not: - return *static_cast(inputSignal) != expectedValue; - case JAMessageGAM::Greater: - return *static_cast(inputSignal) > expectedValue; - case JAMessageGAM::EqualsOrGreater: - return *static_cast(inputSignal) >= expectedValue; - case JAMessageGAM::Less: - return *static_cast(inputSignal) < expectedValue; - default: // case EqualsOrLess: - return *static_cast(inputSignal) <= expectedValue; - } -} - -JAMessageGAM::JAMessageGAM() { - inputSignals = NULL_PTR(void **); - inputSignalTypes = NULL_PTR(MARTe::TypeDescriptor *); - operation = And; - needsReset = false; - expectedValuesInt = NULL_PTR(MARTe::uint64 *); - expectedValuesFloat = NULL_PTR(MARTe::float64 *); - intValuesCount = 0u; - floatValuesCount = 0u; - comparators = NULL_PTR(ComparisonMode *); -} - -JAMessageGAM::~JAMessageGAM() { - if (inputSignals != NULL_PTR(void **)) { - delete[] inputSignals; - } - if (inputSignalTypes != NULL_PTR(MARTe::TypeDescriptor *)) { - delete[] inputSignalTypes; - } - if (expectedValuesInt != NULL_PTR(MARTe::uint64 *)) { - delete[] expectedValuesInt; - } - if (expectedValuesFloat != NULL_PTR(MARTe::float64 *)) { - delete[] expectedValuesFloat; - } - if (comparators != NULL_PTR(ComparisonMode *)) { - delete[] comparators; - } -} - -bool JAMessageGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - // Read expected integer values. - AnyType valuesArray = data.GetType("ExpectedIntValues"); - bool intValuesProvided = (valuesArray.GetDataPointer() != NULL); - - if (intValuesProvided) { - intValuesCount = valuesArray.GetNumberOfElements(0u); - } - if (intValuesProvided) { - expectedValuesInt = new uint64[intValuesCount]; - - Vector valuesVector(expectedValuesInt, intValuesCount); - ok = (data.Read("ExpectedIntValues", valuesVector)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Failed to read ExpectedIntValues."); - return ok; - } - } - // Read expected float values. - valuesArray = data.GetType("ExpectedFloatValues"); - bool floatValuesProvided = (valuesArray.GetDataPointer() != NULL); - - if (floatValuesProvided) { - floatValuesCount = valuesArray.GetNumberOfElements(0u); - } - if (floatValuesProvided) { - expectedValuesFloat = new float64[floatValuesCount]; - - Vector valuesVector(expectedValuesFloat, floatValuesCount); - ok = (data.Read("ExpectedFloatValues", valuesVector)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Failed to read ExpectedFloatValues."); - return ok; - } - } - - ok = (floatValuesCount + intValuesCount) > 0u; - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "ExpectedFloatValues and or ExpectedIntValues shall be defined."); - } - } - if (ok) { - // Read comparators. - AnyType comparatorsArray = data.GetType("Comparators"); - if (comparatorsArray.GetDataPointer() != NULL) { - uint32 count = comparatorsArray.GetNumberOfElements(0u); - ok = count == (intValuesCount + floatValuesCount); - if (ok) { - comparators = new ComparisonMode[count]; - StreamString* comp = new StreamString[count]; - Vector compVector(comp, count); - - ok = (data.Read("Comparators", compVector)); - - if (ok) { - for (uint32 i = 0; i < count; ++i) { - if (comp[i] == "EQUALS") { - comparators[i] = Equals; - } else if (comp[i] == "NOT") { - comparators[i] = Not; - } else if (comp[i] == "GREATER") { - comparators[i] = Greater; - } else if (comp[i] == "EQUALS_OR_GREATER") { - comparators[i] = EqualsOrGreater; - } else if (comp[i] == "LESS") { - comparators[i] = Less; - } else if (comp[i] == "EQUALS_OR_LESS") { - comparators[i] = EqualsOrLess; - } else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Comparator %s is not defined.", comp[i].Buffer()); - } - } - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } else { - uint32 count = intValuesCount + floatValuesCount; - if (ok) { - // Create default comparators (equals) when they aren't provided in the configuration. - comparators = new ComparisonMode[count]; - for (uint32 i = 0; i < count; ++i) { - comparators[i] = Equals; - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } - } - if (ok) { - MARTe::StreamString operationStr; - if (data.Read("Operation", operationStr)) { - if (operationStr == "AND") { - operation = And; - } - else if (operationStr == "OR") { - operation = Or; - } - else if (operationStr == "NOR") { - operation = Nor; - } - else if (operationStr == "XOR") { - operation = Xor; - } - else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Operation %s is not defined", operationStr.Buffer()); - } - } - } - if (ok) { - ok = (Size() == 1); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "A Message object shall be added to this container"); - } - } - if (ok) { - eventMsg = Get(0); - ok = (eventMsg.IsValid()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "A valid Message shall be added to this container"); - } - } - return ok; -} - -bool JAMessageGAM::Setup() { - using namespace MARTe; - bool ok = numberOfInputSignals == (intValuesCount + floatValuesCount); - if (ok) { - ok = numberOfInputSignals > 0u; - if (ok) { - inputSignals = new void*[numberOfInputSignals]; - uint32 i; - for (i = 0u; i < numberOfInputSignals; i++) { - inputSignals[i] = GetInputSignalMemory(i); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one input signal shall be defined"); - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be the same as " - "number of expected values."); - } - if (ok) { - inputSignalTypes = new TypeDescriptor[numberOfInputSignals]; - uint32 i; - for (i = 0u; (i < numberOfInputSignals) && (ok); i++) { - TypeDescriptor inputType = GetSignalType(InputSignals, i); - inputSignalTypes[i] = inputType; - ok = (inputType == UnsignedInteger32Bit) || (inputType == SignedInteger32Bit) || - (inputType == UnsignedInteger16Bit) || (inputType == SignedInteger16Bit) || - (inputType == UnsignedInteger8Bit) || (inputType == SignedInteger8Bit) || - (inputType == Float64Bit) || (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as 32/16/8 bit signed/unsigned integer " - "or as 64/32 float.", signalName.Buffer()); - } - } - } - - return ok; -} - -bool JAMessageGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - needsReset = false; - return true; -} - -bool JAMessageGAM::Execute() { - using namespace MARTe; - bool ok = true; - bool eventDetected = false; - uint32 inputPortIndex = 0; - uint32 intIndex = 0; - uint32 floatIndex = 0; - if (operation == Or) { - for (inputPortIndex = 0; (inputPortIndex < numberOfInputSignals) && (!eventDetected); inputPortIndex++) { - eventDetected = Compare(inputPortIndex, floatIndex, intIndex); - } - } - else if (operation == Nor) { - for (inputPortIndex = 0; (inputPortIndex < numberOfInputSignals) && (!eventDetected); inputPortIndex++) { - eventDetected = Compare(inputPortIndex, floatIndex, intIndex); - } - eventDetected = !eventDetected; - } - else if (operation == And) { - eventDetected = Compare(0, floatIndex, intIndex); - for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals); inputPortIndex++) { - eventDetected &= Compare(inputPortIndex, floatIndex, intIndex); - } - } - else if (operation == Xor) { - uint32 eventDetectedUInt32 = Compare(inputPortIndex, floatIndex, intIndex); - for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals); inputPortIndex++) { - eventDetectedUInt32 ^= Compare(inputPortIndex, floatIndex, intIndex); - } - eventDetected = (eventDetectedUInt32 == 1u); - } - if (eventDetected) { - if (!needsReset) { - ok = (MessageI::SendMessage(eventMsg, this) == ErrorManagement::NoError); - needsReset = true; - } - } - return ok; -} - -bool JAMessageGAM::Compare(MARTe::uint32 inputPortIndex, MARTe::uint32 &floatValueIndex, MARTe::uint32 &intValueIndex) { - using namespace MARTe; - bool ret = false; - if (inputSignalTypes[inputPortIndex] == UnsignedInteger32Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger32Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == UnsignedInteger16Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger16Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == UnsignedInteger8Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger8Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == Float64Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesFloat[floatValueIndex]); - ++floatValueIndex; - } - else { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesFloat[floatValueIndex]); - ++floatValueIndex; - } - return ret; -} - -CLASS_REGISTER(JAMessageGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/24/2465c0b34fdb5167f187933877ccba2f9b347ebd.svn-base b/EC-GN-JA-PCF/.svn/pristine/24/2465c0b34fdb5167f187933877ccba2f9b347ebd.svn-base deleted file mode 100644 index 04cde43..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/24/2465c0b34fdb5167f187933877ccba2f9b347ebd.svn-base +++ /dev/null @@ -1,27 +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. -# -############################################################# -export TARGET=x86-linux - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/.svn/pristine/24/24fb2a2695ad8c9d803e5d1fe284146eb2c689ab.svn-base b/EC-GN-JA-PCF/.svn/pristine/24/24fb2a2695ad8c9d803e5d1fe284146eb2c689ab.svn-base deleted file mode 100644 index 623ae28..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/24/24fb2a2695ad8c9d803e5d1fe284146eb2c689ab.svn-base +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -taskset -c 8-11 ./Main.sh -f ../Configurations/JAGyrotronA_FY19_P1.cfg -l RealTimeLoader -m StateMachine:Start - diff --git a/EC-GN-JA-PCF/.svn/pristine/25/25239d59bd135cb48283949cbba52accd73d141e.svn-base b/EC-GN-JA-PCF/.svn/pristine/25/25239d59bd135cb48283949cbba52accd73d141e.svn-base deleted file mode 100644 index a91120e..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/25/25239d59bd135cb48283949cbba52accd73d141e.svn-base +++ /dev/null @@ -1,52 +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=JAModeControlGAM.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)/JAModeControlGAM$(LIBEXT) \ - $(BUILD_DIR)/JAModeControlGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/25/254ff460acd05bd4a7e7b6db5e484ee266f39f29.svn-base b/EC-GN-JA-PCF/.svn/pristine/25/254ff460acd05bd4a7e7b6db5e484ee266f39f29.svn-base deleted file mode 100644 index 2e2dfed..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/25/254ff460acd05bd4a7e7b6db5e484ee266f39f29.svn-base +++ /dev/null @@ -1,56 +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=JATriangleWaveGAM.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)/JATriangleWaveGAM$(LIBEXT) \ - $(BUILD_DIR)/JATriangleWaveGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/26/2659b07cb3871c0d6275d9d5d622e15ec11732f8.svn-base b/EC-GN-JA-PCF/.svn/pristine/26/2659b07cb3871c0d6275d9d5d622e15ec11732f8.svn-base deleted file mode 100644 index e6c9edb..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/26/2659b07cb3871c0d6275d9d5d622e15ec11732f8.svn-base +++ /dev/null @@ -1,51 +0,0 @@ - -importClass(Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); - -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var selectedrow= table.getSelection(); - var cuName=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - var plcIocHlts =selectedrow[0][6]; - var cuType=selectedrow[0][7]; -// change $(CU) substitution - macroInput = DataUtil.createMacrosInput(true) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("CU_TYPE", cuType) - if (plcIocHlts == "") { - macroInput.put("SHOW_PLC_IOC", "false") - } - else { - macroInput.put("SHOW_PLC_IOC", "true") - } - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if (cuType == "POC with CA") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-POCWithCADetails.opi", 1, macroInput) - } - else if (cuType == "POC without CA") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-POCWithoutCADetails.opi", 1, macroInput) - } - else if (cuType == "Plant System Host") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-PSHDetails.opi", 1, macroInput) - } - else if (cuType == "Fast Controller") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-PCFDetails.opi", 1, macroInput) - } - else if (cuType == "Server") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-SRVDetails.opi", 1, macroInput) - } - else { - ScriptUtil.openOPI(widget, fct_name+"-CtrlUnitDetails.opi", 1, macroInput) - } - - } -}; - -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/.svn/pristine/26/26b589cf38bc11635855dee60306cc6117ee86c0.svn-base b/EC-GN-JA-PCF/.svn/pristine/26/26b589cf38bc11635855dee60306cc6117ee86c0.svn-base deleted file mode 100644 index 926c122..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/26/26b589cf38bc11635855dee60306cc6117ee86c0.svn-base +++ /dev/null @@ -1,87 +0,0 @@ - - -4.0.0 -org.iter.codac.units -EC-GN -codac -1.0.0 -CODAC Core System EC-GN subsystem -CODAC Core System EC-GN subsystem -http://www.iter.org/ - - - -subsystem -iandc -%(/opt/tools/get-vcs-url.sh --path=${project.basedir}) - - - - -org.iter.codac.units -maven-iter-settings -6.3.0 - - - - - -ferrog - -unit owner - - - - - - - -compile - - - -org.apache.maven.plugins -maven-iter-plugin -true - - - -src -${project.artifactId} -${project.version} -${project.description} - - -${rpm.vcs.url} - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/28/280f6864e791c7319b28df99903d18d5d0e03562.svn-base b/EC-GN-JA-PCF/.svn/pristine/28/280f6864e791c7319b28df99903d18d5d0e03562.svn-base deleted file mode 100644 index aaa1948..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/28/280f6864e791c7319b28df99903d18d5d0e03562.svn-base +++ /dev/null @@ -1,56 +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=JAPreProgrammedGAM.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)/JAPreProgrammedGAM$(LIBEXT) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/29/2919878bb9bfd7fb0f4253def24628423ff56a01.svn-base b/EC-GN-JA-PCF/.svn/pristine/29/2919878bb9bfd7fb0f4253def24628423ff56a01.svn-base deleted file mode 100644 index 0beb994..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/29/2919878bb9bfd7fb0f4253def24628423ff56a01.svn-base +++ /dev/null @@ -1,23557 +0,0 @@ - - - - - -52 - - - -EC-GN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10.136.136.101 - - -52RF01-PSH-4410 - - - - -52RF01-PCF-4210.codac.iter.org - - -52RF01-PCF-4210.codac.iter.org-R1 - - -52RF01-PCF-4210.codac.iter.org-R1 - - - - - -10.136.136.13-T1 - - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEAALL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-RESET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-TAIUTC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMN - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DEVNAME - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DRIVER - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEMAX - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTENUM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-HBDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-LVL_ERRS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SERIAL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNCLOST - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:DIO4900-YON - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-MST-TRIG - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-MODE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-ERR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-NAME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-ELAPSED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-ID - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV1 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV2 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV3 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV5 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV6 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV7 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV8 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OV - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YSTA-GAOP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:DIO4900-YON - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-MST-TRIG - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-MODE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-ERR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -string -configuration - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-NAME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-ELAPSED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-ID - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV1 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV2 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV3 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV5 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV6 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV7 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV8 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YSTA-GBOP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-CTRP - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PSU0000-YSTA-MOD - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-CONF-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-RECONF - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SW-TRIG - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RST-FLT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD1-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD2-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD3-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD4-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RDY-TOUT - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY1PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY2PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YSTA-MPSS - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTRP - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD4 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST1R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST2R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST3R - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-HV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-SW - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CTRP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YFLT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YSTA - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-MANM - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-MSP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-P - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-HVON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-SWON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-PREP-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-HV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-SW - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CTRP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YFLT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YSTA - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-MANM - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-MSP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-P - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-HVON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-SWON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-PREP-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-HV - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-SW - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CTRP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YFLT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YSTA - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-MANM - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF-MSP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-HVON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-SWON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-PREP-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-HV - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-SW - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CTRP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YFLT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YSTA - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-MANM - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF-MSP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-HVON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-SWON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-PREP-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-COFF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-MOD - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-SW - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-TYSTA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-YFLT - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-MANM - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF-MSP - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-DT-HVON - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-EREF-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-HVON-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-PREP-WF - - - - - - - - - - -iocEC-GN-PSH0PCF -PCFCORE IOC -epicsioc -IOC - - - -52RF01-PCF-4210 - -iocEC-GN-PCF0SYSM -PCFSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0SYSM -PSHSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0CUB -PSHCUB IOC -epicsioc -IOC - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/29/295be0cc30fdb38b9d8e582910a31341e4b12297.svn-base b/EC-GN-JA-PCF/.svn/pristine/29/295be0cc30fdb38b9d8e582910a31341e4b12297.svn-base deleted file mode 100644 index 28e8d36..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/29/295be0cc30fdb38b9d8e582910a31341e4b12297.svn-base +++ /dev/null @@ -1,26 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() -nbColPVs=4 -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -table.setCellText(i/nbColPVs, i%nbColPVs +3, PVUtil.getString(triggerPV)) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/2a/2acea19c934c5f71b43af5d78f1b0c45cb721955.svn-base b/EC-GN-JA-PCF/.svn/pristine/2a/2acea19c934c5f71b43af5d78f1b0c45cb721955.svn-base deleted file mode 100644 index bcfc0b0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2a/2acea19c934c5f71b43af5d78f1b0c45cb721955.svn-base +++ /dev/null @@ -1,146 +0,0 @@ -/** - * @file RandomDataSource.cpp - * @brief Source file for class RandomDataSource - * @date 01/03/2017 - * @author Andre Neto - * - * @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 RandomDataSource (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 "AdvancedErrorManagement.h" -#include "CompilerTypes.h" -#include "RandomDataSource.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -RandomDataSource::RandomDataSource() : - MARTe::DataSourceI() { - using namespace MARTe; - seed = 0u; - signalPtr = NULL_PTR(MARTe::char8 *); - signalTypeDescriptor = UnsignedInteger8Bit; -} - -RandomDataSource::~RandomDataSource() { - using namespace MARTe; - if (signalPtr) { - delete[] signalPtr; - } -} - -bool RandomDataSource::SetConfiguredDatabase(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = (DataSourceI::SetConfiguredDatabase(data)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "DataSourceI::SetConfiguredDatabas() failed"); - } - if (ok) { - ok = (GetNumberOfSignals() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetNumberOfSignals() != 1u"); - } - } - if (ok) { - signalTypeDescriptor = GetSignalType(0u); - ok = (signalTypeDescriptor.type == UnsignedInteger); - if (!ok) { - ok = (signalTypeDescriptor.type == SignedInteger); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetSignalType(0u) != Un/SignedInteger"); - } - } - - return ok; -} - -bool RandomDataSource::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("Seed", seed); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The Seed shall be specified"); - } - } - - return ok; -} - -bool RandomDataSource::Synchronise() { - using namespace MARTe; - - if (signalTypeDescriptor.numberOfBits == 8u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 16u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 32u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 64u) { - GetValue(); - } - - return true; -} - -bool RandomDataSource::AllocateMemory() { - signalPtr = new MARTe::char8[signalTypeDescriptor.numberOfBits]; - return true; -} - -bool RandomDataSource::GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress) { - signalAddress = &signalPtr[0]; - return true; -} - -const MARTe::char8 *RandomDataSource::GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction) { - using namespace MARTe; - - static bool firstTime = true; - const char8 * broker;// = NULL_PTR(const char8 *); - if (firstTime) { - broker = "MemoryMapSynchronisedInputBroker"; - } - else { - firstTime = false; - broker = "MemoryMapInputBroker"; - } - return broker; -} - -bool RandomDataSource::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - return true; -} - -CLASS_REGISTER(RandomDataSource, "1.0") - diff --git a/EC-GN-JA-PCF/.svn/pristine/2b/2b001e34b297e2b898182fc0e90d7544485be01d.svn-base b/EC-GN-JA-PCF/.svn/pristine/2b/2b001e34b297e2b898182fc0e90d7544485be01d.svn-base deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2b/2b001e34b297e2b898182fc0e90d7544485be01d.svn-base +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/2b/2b312fe29ce01389865572d006816e870e2030e2.svn-base b/EC-GN-JA-PCF/.svn/pristine/2b/2b312fe29ce01389865572d006816e870e2030e2.svn-base deleted file mode 100644 index 032baf6..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2b/2b312fe29ce01389865572d006816e870e2030e2.svn-base +++ /dev/null @@ -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=JABitReverseGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JABitReverseGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitReverseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/2b/2b3b6651643f1859516959472a1d2b39e908df45.svn-base b/EC-GN-JA-PCF/.svn/pristine/2b/2b3b6651643f1859516959472a1d2b39e908df45.svn-base deleted file mode 100644 index 773cbd6..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2b/2b3b6651643f1859516959472a1d2b39e908df45.svn-base +++ /dev/null @@ -1,157 +0,0 @@ -/** - * @file JATerminalInterfaceGAM.h - * @brief Header file for class JATerminalInterfaceGAM - * @date Feb 19, 2020 - * @author kuchida - * - * @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 JATerminalInterfaceGAM - * 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_JATerminalInterfaceGAM_H_ -#define GAMS_JATerminalInterfaceGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM calculates one output value by comparing input value and fixed parameters. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- * 
- *         +terminalInterfaceGAM = {
- *           Class = JATerminalInterfaceGAM
- *           mhvps_hvon_term = 4
- *           aps_hvon_term = 1
- *           aps_swon_term = 16
- *           bps_hvon_term = 2
- *           bps_swon_term = 8
- *           InputSignals = {
- *               MHVPS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               APS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               APS_SWON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               BPS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               BPS_SWON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               Value = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               Value = {
- *                   DataSource = NI6259
- *                   Type = uint32
- *                   Trigger = 1
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -class JATerminalInterfaceGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JATerminalInterfaceGAM(); - - virtual ~JATerminalInterfaceGAM(); - - 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: - // Fixed GAM input - MARTe::uint32 mhvps_hvon_term; - MARTe::uint32 aps_hvon_term; - MARTe::uint32 aps_swon_term; - MARTe::uint32 bps_hvon_term; - MARTe::uint32 bps_swon_term; - - // Input signals - //MARTe::uint32 *mhvps_manm; - MARTe::uint32 *mhvps_hvon; - - //MARTe::uint32 *aps_manm; - MARTe::uint32 *aps_hvon; - MARTe::uint32 *aps_swon; - - //MARTe::uint32 *bps_manm; - MARTe::uint32 *bps_hvon; - MARTe::uint32 *bps_swon; - - MARTe::uint32 *short_pulse_mode; - - MARTe::uint32 *stateMachineOutput; - MARTe::uint8 *ni6528p3Value; - MARTe::uint8 *ni6528p4Value; - - // Output signals - MARTe::uint32 *outputSignalNI6259; - MARTe::uint8 *outputSignalNI6528P3; - MARTe::uint8 *outputSignalNI6528P4; - - 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; - MARTe::uint8 p3Value; - MARTe::uint8 p4Value; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JATerminalInterfaceGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/2c/2c30507ec272eb645dfef2975defbd64150f2a4b.svn-base b/EC-GN-JA-PCF/.svn/pristine/2c/2c30507ec272eb645dfef2975defbd64150f2a4b.svn-base deleted file mode 100644 index 79c4ce6..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2c/2c30507ec272eb645dfef2975defbd64150f2a4b.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -TOP = ../.. -include $(TOP)/configure/CONFIG -ARCH = linux-x86_64 -TARGETS = envPaths -include $(TOP)/configure/RULES.ioc diff --git a/EC-GN-JA-PCF/.svn/pristine/2d/2db2a5d8186712e6c4094db5b3ad553cbe50746f.svn-base b/EC-GN-JA-PCF/.svn/pristine/2d/2db2a5d8186712e6c4094db5b3ad553cbe50746f.svn-base deleted file mode 100644 index fda3c4d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2d/2db2a5d8186712e6c4094db5b3ad553cbe50746f.svn-base +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,0,0.5,0.5,100,1,5 -10,0,0.5,0.5,100,1,5 -20,0,0.5,0.5,100,1,5 -30,0,0.5,0.5,100,1,5 -40,0,0.5,0.5,100,1,5 -50,0,0.5,0.5,100,1,5 -60,0,0.5,0.5,100,1,5 -70,0,0.5,0.5,100,1,5 -80,0,0.5,0.5,100,1,5 -90,0,0.5,0.5,100,1,5 -100,0,0.5,0.5,100,1,5 -110,0,0.5,0.5,100,1,5 -120,0,0.5,0.5,100,1,5 -130,0,0.5,0.5,100,1,5 -140,0,0.5,0.5,100,1,5 -150,0,0.5,0.5,100,1,5 -160,0,0.5,0.5,100,1,5 -170,0,0.5,0.5,100,1,5 -180,0,0.5,0.5,100,1,5 -190,0,0.5,0.5,100,1,5 -200,0,0.5,0.5,100,1,5 -210,0,0.5,0.5,100,1,5 -220,0,0.5,0.5,100,1,5 -230,0,0.5,0.5,100,1,5 -240,0,0.5,0.5,100,1,5 -250,0,0.5,0.5,100,1,5 -260,0,0.5,0.5,100,1,5 -270,0,0.5,0.5,100,1,5 -280,0,0.5,0.5,100,1,5 -290,0,0.5,0.5,100,1,5 -300,0,0.5,0.5,100,1,5 -310,0,0.5,0.5,100,1,5 -320,0,0.5,0.5,100,1,5 -330,0,0.5,0.5,100,1,5 -340,0,0.5,0.5,100,1,5 -350,0,0.5,0.5,100,1,5 -360,0,0.5,0.5,100,1,5 -370,0,0.5,0.5,100,1,5 -380,0,0.5,0.5,100,1,5 -390,0,0.5,0.5,100,1,5 -400,0,0.5,0.5,100,1,5 -410,0,0.5,0.5,100,1,5 -420,0,0.5,0.5,100,1,5 -430,0,0.5,0.5,100,1,5 -440,0,0.5,0.5,100,1,5 -450,0,0.5,0.5,100,1,5 -460,0,0.5,0.5,100,1,5 -470,0,0.5,0.5,100,1,5 -480,0,0.5,0.5,100,1,5 -490,0,0.5,0.5,100,1,5 -500,0,0.5,0.5,100,1,5 -510,0,0.5,0.5,100,1,5 -520,0,0.5,0.5,100,1,5 -530,0,0.5,0.5,100,1,5 -540,0,0.5,0.5,100,1,5 -550,0,0.5,0.5,100,1,5 -560,0,0.5,0.5,100,1,5 -570,0,0.5,0.5,100,1,5 -580,0,0.5,0.5,100,1,5 -590,0,0.5,0.5,100,1,5 -600,0,0.5,0.5,100,1,5 -610,0,0.5,0.5,100,1,5 -620,0,0.5,0.5,100,1,5 -630,0,0.5,0.5,100,1,5 -640,0,0.5,0.5,100,1,5 -650,0,0.5,0.5,100,1,5 -660,0,0.5,0.5,100,1,5 -670,0,0.5,0.5,100,1,5 -680,0,0.5,0.5,100,1,5 -690,0,0.5,0.5,100,1,5 -700,0,0.5,0.5,100,1,5 -710,0,0.5,0.5,100,1,5 -720,0,0.5,0.5,100,1,5 -730,0,0.5,0.5,100,1,5 -740,0,0.5,0.5,100,1,5 -750,0,0.5,0.5,100,1,5 -760,0,0.5,0.5,100,1,5 -770,0,0.5,0.5,100,1,5 -780,0,0.5,0.5,100,1,5 -790,0,0.5,0.5,100,1,5 -800,0,0.5,0.5,100,1,5 -810,0,0.5,0.5,100,1,5 -820,0,0.5,0.5,100,1,5 -830,0,0.5,0.5,100,1,5 -840,0,0.5,0.5,100,1,5 -850,0,0.5,0.5,100,1,5 -860,0,0.5,0.5,100,1,5 -870,0,0.5,0.5,100,1,5 -880,0,0.5,0.5,100,1,5 -890,0,0.5,0.5,100,1,5 -900,0,0.5,0.5,100,1,5 -910,0,0.5,0.5,100,1,5 -920,0,0.5,0.5,100,1,5 -930,0,0.5,0.5,100,1,5 -940,0,0.5,0.5,100,1,5 -950,0,0.5,0.5,100,1,5 -960,0,0.5,0.5,100,1,5 -970,0,0.5,0.5,100,1,5 -980,0,0.5,0.5,100,1,5 -990,0,0.5,0.5,100,1,5 -1000,0,0.5,0.5,100,1,5 -1010,0,1,1,100,1,5 -1020,0,1,1,100,1,5 -1030,0,1,1,100,1,5 -1040,0,1,1,100,1,5 -1050,0,1,1,100,1,5 -1060,0,1,1,100,1,5 -1070,0,1,1,100,1,5 -1080,0,1,1,100,1,5 -1090,0,1,1,100,1,5 -1100,0,1,1,100,1,5 -1110,0,1,1,100,1,5 -1120,0,1,1,100,1,5 -1130,0,1,1,100,1,5 -1140,0,1,1,100,1,5 -1150,0,1,1,100,1,5 -1160,0,1,1,100,1,5 -1170,0,1,1,100,1,5 -1180,0,1,1,100,1,5 -1190,0,1,1,100,1,5 -1200,0,1,1,100,1,5 -1210,0,1,1,100,1,5 -1220,0,1,1,100,1,5 -1230,0,1,1,100,1,5 -1240,0,1,1,100,1,5 -1250,0,1,1,100,1,5 -1260,0,1,1,100,1,5 -1270,0,1,1,100,1,5 -1280,0,1,1,100,1,5 -1290,0,1,1,100,1,5 -1300,0,1,1,100,1,5 -1310,0,1,1,100,1,5 -1320,0,1,1,100,1,5 -1330,0,1,1,100,1,5 -1340,0,1,1,100,1,5 -1350,0,1,1,100,1,5 -1360,0,1,1,100,1,5 -1370,0,1,1,100,1,5 -1380,0,1,1,100,1,5 -1390,0,1,1,100,1,5 -1400,0,1,1,100,1,5 -1410,0,1,1,100,1,5 -1420,0,1,1,100,1,5 -1430,0,1,1,100,1,5 -1440,0,1,1,100,1,5 -1450,0,1,1,100,1,5 -1460,0,1,1,100,1,5 -1470,0,1,1,100,1,5 -1480,0,1,1,100,1,5 -1490,0,1,1,100,1,5 -1500,0,1,1,100,1,5 -1510,0,1,1,100,1,5 -1520,0,1,1,100,1,5 -1530,0,1,1,100,1,5 -1540,0,1,1,100,1,5 -1550,0,1,1,100,1,5 -1560,0,1,1,100,1,5 -1570,0,1,1,100,1,5 -1580,0,1,1,100,1,5 -1590,0,1,1,100,1,5 -1600,0,1,1,100,1,5 -1610,0,1,1,100,1,5 -1620,0,1,1,100,1,5 -1630,0,1,1,100,1,5 -1640,0,1,1,100,1,5 -1650,0,1,1,100,1,5 -1660,0,1,1,100,1,5 -1670,0,1,1,100,1,5 -1680,0,1,1,100,1,5 -1690,0,1,1,100,1,5 -1700,0,1,1,100,1,5 -1710,0,1,1,100,1,5 -1720,0,1,1,100,1,5 -1730,0,1,1,100,1,5 -1740,0,1,1,100,1,5 -1750,0,1,1,100,1,5 -1760,0,1,1,100,1,5 -1770,0,1,1,100,1,5 -1780,0,1,1,100,1,5 -1790,0,1,1,100,1,5 -1800,0,1,1,100,1,5 -1810,0,1,1,100,1,5 -1820,0,1,1,100,1,5 -1830,0,1,1,100,1,5 -1840,0,1,1,100,1,5 -1850,0,1,1,100,1,5 -1860,0,1,1,100,1,5 -1870,0,1,1,100,1,5 -1880,0,1,1,100,1,5 -1890,0,1,1,100,1,5 -1900,0,1,1,100,1,5 -1910,0,1,1,100,1,5 -1920,0,1,1,100,1,5 -1930,0,1,1,100,1,5 -1940,0,1,1,100,1,5 -1950,0,1,1,100,1,5 -1960,0,1,1,100,1,5 -1970,0,1,1,100,1,5 -1980,0,1,1,100,1,5 -1990,0,1,1,100,1,5 -2000,0,1,1,100,1,5 -2010,0,1,1,100,1,5 -2020,0,1,1,100,1,5 -2030,0,1,1,100,1,5 -2040,0,1,1,100,1,5 -2050,0,1,1,100,1,5 -2060,0,1,1,100,1,5 -2070,0,1,1,100,1,5 -2080,0,1,1,100,1,5 -2090,0,1,1,100,1,5 -2100,0,1,1,100,1,5 -2110,0,1,1,100,1,5 -2120,0,1,1,100,1,5 -2130,0,1,1,100,1,5 -2140,0,1,1,100,1,5 -2150,0,1,1,100,1,5 -2160,0,1,1,100,1,5 -2170,0,1,1,100,1,5 -2180,0,1,1,100,1,5 -2190,0,1,1,100,1,5 -2200,0,1,1,100,1,5 -2210,0,1,1,100,1,5 -2220,0,1,1,100,1,5 -2230,0,1,1,100,1,5 -2240,0,1,1,100,1,5 -2250,0,1,1,100,1,5 -2260,0,1,1,100,1,5 -2270,0,1,1,100,1,5 -2280,0,1,1,100,1,5 -2290,0,1,1,100,1,5 -2300,0,1,1,100,1,5 -2310,0,1,1,100,1,5 -2320,0,1,1,100,1,5 -2330,0,1,1,100,1,5 -2340,0,1,1,100,1,5 -2350,0,1,1,100,1,5 -2360,0,1,1,100,1,5 -2370,0,1,1,100,1,5 -2380,0,1,1,100,1,5 -2390,0,1,1,100,1,5 -2400,0,1,1,100,1,5 -2410,0,1,1,100,1,5 -2420,0,1,1,100,1,5 -2430,0,1,1,100,1,5 -2440,0,1,1,100,1,5 -2450,0,1,1,100,1,5 -2460,0,1,1,100,1,5 -2470,0,1,1,100,1,5 -2480,0,1,1,100,1,5 -2490,0,1,1,100,1,5 -2500,0,1,1,100,1,5 -2510,0,1,1,100,1,5 -2520,0,1,1,100,1,5 -2530,0,1,1,100,1,5 -2540,0,1,1,100,1,5 -2550,0,1,1,100,1,5 -2560,0,1,1,100,1,5 -2570,0,1,1,100,1,5 -2580,0,1,1,100,1,5 -2590,0,1,1,100,1,5 -2600,0,1,1,100,1,5 -2610,0,1,1,100,1,5 -2620,0,1,1,100,1,5 -2630,0,1,1,100,1,5 -2640,0,1,1,100,1,5 -2650,0,1,1,100,1,5 -2660,0,1,1,100,1,5 -2670,0,1,1,100,1,5 -2680,0,1,1,100,1,5 -2690,0,1,1,100,1,5 -2700,0,1,1,100,1,5 -2710,0,1,1,100,1,5 -2720,0,1,1,100,1,5 -2730,0,1,1,100,1,5 -2740,0,1,1,100,1,5 -2750,0,1,1,100,1,5 -2760,0,1,1,100,1,5 -2770,0,1,1,100,1,5 -2780,0,1,1,100,1,5 -2790,0,1,1,100,1,5 -2800,0,1,1,100,1,5 -2810,0,1,1,100,1,5 -2820,0,1,1,100,1,5 -2830,0,1,1,100,1,5 -2840,0,1,1,100,1,5 -2850,0,1,1,100,1,5 -2860,0,1,1,100,1,5 -2870,0,1,1,100,1,5 -2880,0,1,1,100,1,5 -2890,0,1,1,100,1,5 -2900,0,1,1,100,1,5 -2910,0,1,1,100,1,5 -2920,0,1,1,100,1,5 -2930,0,1,1,100,1,5 -2940,0,1,1,100,1,5 -2950,0,1,1,100,1,5 -2960,0,1,1,100,1,5 -2970,0,1,1,100,1,5 -2980,0,1,1,100,1,5 -2990,0,1,1,100,1,5 -3000,0,1,1,100,1,5 -3010,0,1,1,100,1,5 -3020,0,1,1,100,1,5 -3030,0,1,1,100,1,5 -3040,0,1,1,100,1,5 -3050,0,1,1,100,1,5 -3060,0,1,1,100,1,5 -3070,0,1,1,100,1,5 -3080,0,1,1,100,1,5 -3090,0,1,1,100,1,5 -3100,0,1,1,100,1,5 -3110,0,1,1,100,1,5 -3120,0,1,1,100,1,5 -3130,0,1,1,100,1,5 -3140,0,1,1,100,1,5 -3150,0,1,1,100,1,5 -3160,0,1,1,100,1,5 -3170,0,1,1,100,1,5 -3180,0,1,1,100,1,5 -3190,0,1,1,100,1,5 -3200,0,1,1,100,1,5 -3210,0,1,1,100,1,5 -3220,0,1,1,100,1,5 -3230,0,1,1,100,1,5 -3240,0,1,1,100,1,5 -3250,0,1,1,100,1,5 -3260,0,1,1,100,1,5 -3270,0,1,1,100,1,5 -3280,0,1,1,100,1,5 -3290,0,1,1,100,1,5 -3300,0,1,1,100,1,5 -3310,0,1,1,100,1,5 -3320,0,1,1,100,1,5 -3330,0,1,1,100,1,5 -3340,0,1,1,100,1,5 -3350,0,1,1,100,1,5 -3360,0,1,1,100,1,5 -3370,0,1,1,100,1,5 -3380,0,1,1,100,1,5 -3390,0,1,1,100,1,5 -3400,0,1,1,100,1,5 -3410,0,1,1,100,1,5 -3420,0,1,1,100,1,5 -3430,0,1,1,100,1,5 -3440,0,1,1,100,1,5 -3450,0,1,1,100,1,5 -3460,0,1,1,100,1,5 -3470,0,1,1,100,1,5 -3480,0,1,1,100,1,5 -3490,0,1,1,100,1,5 -3500,0,1,1,100,1,5 -3510,0,1,1,100,1,5 -3520,0,1,1,100,1,5 -3530,0,1,1,100,1,5 -3540,0,1,1,100,1,5 -3550,0,1,1,100,1,5 -3560,0,1,1,100,1,5 -3570,0,1,1,100,1,5 -3580,0,1,1,100,1,5 -3590,0,1,1,100,1,5 -3600,0,1,1,100,1,5 -3610,0,1,1,100,1,5 -3620,0,1,1,100,1,5 -3630,0,1,1,100,1,5 -3640,0,1,1,100,1,5 -3650,0,1,1,100,1,5 -3660,0,1,1,100,1,5 -3670,0,1,1,100,1,5 -3680,0,1,1,100,1,5 -3690,0,1,1,100,1,5 -3700,0,1,1,100,1,5 -3710,0,1,1,100,1,5 -3720,0,1,1,100,1,5 -3730,0,1,1,100,1,5 -3740,0,1,1,100,1,5 -3750,0,1,1,100,1,5 -3760,0,1,1,100,1,5 -3770,0,1,1,100,1,5 -3780,0,1,1,100,1,5 -3790,0,1,1,100,1,5 -3800,0,1,1,100,1,5 -3810,0,1,1,100,1,5 -3820,0,1,1,100,1,5 -3830,0,1,1,100,1,5 -3840,0,1,1,100,1,5 -3850,0,1,1,100,1,5 -3860,0,1,1,100,1,5 -3870,0,1,1,100,1,5 -3880,0,1,1,100,1,5 -3890,0,1,1,100,1,5 -3900,0,1,1,100,1,5 -3910,0,1,1,100,1,5 -3920,0,1,1,100,1,5 -3930,0,1,1,100,1,5 -3940,0,1,1,100,1,5 -3950,0,1,1,100,1,5 -3960,0,1,1,100,1,5 -3970,0,1,1,100,1,5 -3980,0,1,1,100,1,5 -3990,0,1,1,100,1,5 -4000,0,1,1,100,1,5 -4010,0,1,1,100,1,5 -4020,0,1,1,100,1,5 -4030,0,1,1,100,1,5 -4040,0,1,1,100,1,5 -4050,0,1,1,100,1,5 -4060,0,1,1,100,1,5 -4070,0,1,1,100,1,5 -4080,0,1,1,100,1,5 -4090,0,1,1,100,1,5 -4100,0,1,1,100,1,5 -4110,0,1,1,100,1,5 -4120,0,1,1,100,1,5 -4130,0,1,1,100,1,5 -4140,0,1,1,100,1,5 -4150,0,1,1,100,1,5 -4160,0,1,1,100,1,5 -4170,0,1,1,100,1,5 -4180,0,1,1,100,1,5 -4190,0,1,1,100,1,5 -4200,0,1,1,100,1,5 -4210,0,1,1,100,1,5 -4220,0,1,1,100,1,5 -4230,0,1,1,100,1,5 -4240,0,1,1,100,1,5 -4250,0,1,1,100,1,5 -4260,0,1,1,100,1,5 -4270,0,1,1,100,1,5 -4280,0,1,1,100,1,5 -4290,0,1,1,100,1,5 -4300,0,1,1,100,1,5 -4310,0,1,1,100,1,5 -4320,0,1,1,100,1,5 -4330,0,1,1,100,1,5 -4340,0,1,1,100,1,5 -4350,0,1,1,100,1,5 -4360,0,1,1,100,1,5 -4370,0,1,1,100,1,5 -4380,0,1,1,100,1,5 -4390,0,1,1,100,1,5 -4400,0,1,1,100,1,5 -4410,0,1,1,100,1,5 -4420,0,1,1,100,1,5 -4430,0,1,1,100,1,5 -4440,0,1,1,100,1,5 -4450,0,1,1,100,1,5 -4460,0,1,1,100,1,5 -4470,0,1,1,100,1,5 -4480,0,1,1,100,1,5 -4490,0,1,1,100,1,5 -4500,0,1,1,100,1,5 -4510,0,1,1,100,1,5 -4520,0,1,1,100,1,5 -4530,0,1,1,100,1,5 -4540,0,1,1,100,1,5 -4550,0,1,1,100,1,5 -4560,0,1,1,100,1,5 -4570,0,1,1,100,1,5 -4580,0,1,1,100,1,5 -4590,0,1,1,100,1,5 -4600,0,1,1,100,1,5 -4610,0,1,1,100,1,5 -4620,0,1,1,100,1,5 -4630,0,1,1,100,1,5 -4640,0,1,1,100,1,5 -4650,0,1,1,100,1,5 -4660,0,1,1,100,1,5 -4670,0,1,1,100,1,5 -4680,0,1,1,100,1,5 -4690,0,1,1,100,1,5 -4700,0,1,1,100,1,5 -4710,0,1,1,100,1,5 -4720,0,1,1,100,1,5 -4730,0,1,1,100,1,5 -4740,0,1,1,100,1,5 -4750,0,1,1,100,1,5 -4760,0,1,1,100,1,5 -4770,0,1,1,100,1,5 -4780,0,1,1,100,1,5 -4790,0,1,1,100,1,5 -4800,0,1,1,100,1,5 -4810,0,1,1,100,1,5 -4820,0,1,1,100,1,5 -4830,0,1,1,100,1,5 -4840,0,1,1,100,1,5 -4850,0,1,1,100,1,5 -4860,0,1,1,100,1,5 -4870,0,1,1,100,1,5 -4880,0,1,1,100,1,5 -4890,0,1,1,100,1,5 -4900,0,1,1,100,1,5 -4910,0,1,1,100,1,5 -4920,0,1,1,100,1,5 -4930,0,1,1,100,1,5 -4940,0,1,1,100,1,5 -4950,0,1,1,100,1,5 -4960,0,1,1,100,1,5 -4970,0,1,1,100,1,5 -4980,0,1,1,100,1,5 -4990,0,1,1,100,1,5 -5000,0,2,2,100,1,5 -5010,0,2,2,100,1,5 -5020,0,2,2,100,1,5 -5030,0,2,2,100,1,5 -5040,0,2,2,100,1,5 -5050,0,2,2,100,1,5 -5060,0,2,2,100,1,5 -5070,0,2,2,100,1,5 -5080,0,2,2,100,1,5 -5090,0,2,2,100,1,5 -5100,0,2,2,100,1,5 -5110,0,2,2,100,1,5 -5120,0,2,2,100,1,5 -5130,0,2,2,100,1,5 -5140,0,2,2,100,1,5 -5150,0,2,2,100,1,5 -5160,0,2,2,100,1,5 -5170,0,2,2,100,1,5 -5180,0,2,2,100,1,5 -5190,0,2,2,100,1,5 -5200,0,2,2,100,1,5 -5210,0,2,2,100,1,5 -5220,0,2,2,100,1,5 -5230,0,2,2,100,1,5 -5240,0,2,2,100,1,5 -5250,0,2,2,100,1,5 -5260,0,2,2,100,1,5 -5270,0,2,2,100,1,5 -5280,0,2,2,100,1,5 -5290,0,2,2,100,1,5 -5300,0,2,2,100,1,5 -5310,0,2,2,100,1,5 -5320,0,2,2,100,1,5 -5330,0,2,2,100,1,5 -5340,0,2,2,100,1,5 -5350,0,2,2,100,1,5 -5360,0,2,2,100,1,5 -5370,0,2,2,100,1,5 -5380,0,2,2,100,1,5 -5390,0,2,2,100,1,5 -5400,0,2,2,100,1,5 -5410,0,2,2,100,1,5 -5420,0,2,2,100,1,5 -5430,0,2,2,100,1,5 -5440,0,2,2,100,1,5 -5450,0,2,2,100,1,5 -5460,0,2,2,100,1,5 -5470,0,2,2,100,1,5 -5480,0,2,2,100,1,5 -5490,0,2,2,100,1,5 -5500,0,2,2,100,1,5 -5510,0,2,2,100,1,5 -5520,0,2,2,100,1,5 -5530,0,2,2,100,1,5 -5540,0,2,2,100,1,5 -5550,0,2,2,100,1,5 -5560,0,2,2,100,1,5 -5570,0,2,2,100,1,5 -5580,0,2,2,100,1,5 -5590,0,2,2,100,1,5 -5600,0,2,2,100,1,5 -5610,0,2,2,100,1,5 -5620,0,2,2,100,1,5 -5630,0,2,2,100,1,5 -5640,0,2,2,100,1,5 -5650,0,2,2,100,1,5 -5660,0,2,2,100,1,5 -5670,0,2,2,100,1,5 -5680,0,2,2,100,1,5 -5690,0,2,2,100,1,5 -5700,0,2,2,100,1,5 -5710,0,2,2,100,1,5 -5720,0,2,2,100,1,5 -5730,0,2,2,100,1,5 -5740,0,2,2,100,1,5 -5750,0,2,2,100,1,5 -5760,0,2,2,100,1,5 -5770,0,2,2,100,1,5 -5780,0,2,2,100,1,5 -5790,0,2,2,100,1,5 -5800,0,2,2,100,1,5 -5810,0,2,2,100,1,5 -5820,0,2,2,100,1,5 -5830,0,2,2,100,1,5 -5840,0,2,2,100,1,5 -5850,0,2,2,100,1,5 -5860,0,2,2,100,1,5 -5870,0,2,2,100,1,5 -5880,0,2,2,100,1,5 -5890,0,2,2,100,1,5 -5900,0,2,2,100,1,5 -5910,0,2,2,100,1,5 -5920,0,2,2,100,1,5 -5930,0,2,2,100,1,5 -5940,0,2,2,100,1,5 -5950,0,2,2,100,1,5 -5960,0,2,2,100,1,5 -5970,0,2,2,100,1,5 -5980,0,2,2,100,1,5 -5990,0,2,2,100,1,5 -6000,0,2,2,100,1,5 -6010,0,2,2,100,1,5 -6020,0,2,2,100,1,5 -6030,0,2,2,100,1,5 -6040,0,2,2,100,1,5 -6050,0,2,2,100,1,5 -6060,0,2,2,100,1,5 -6070,0,2,2,100,1,5 -6080,0,2,2,100,1,5 -6090,0,2,2,100,1,5 -6100,0,2,2,100,1,5 -6110,0,2,2,100,1,5 -6120,0,2,2,100,1,5 -6130,0,2,2,100,1,5 -6140,0,2,2,100,1,5 -6150,0,2,2,100,1,5 -6160,0,2,2,100,1,5 -6170,0,2,2,100,1,5 -6180,0,2,2,100,1,5 -6190,0,2,2,100,1,5 -6200,0,2,2,100,1,5 -6210,0,2,2,100,1,5 -6220,0,2,2,100,1,5 -6230,0,2,2,100,1,5 -6240,0,2,2,100,1,5 -6250,0,2,2,100,1,5 -6260,0,2,2,100,1,5 -6270,0,2,2,100,1,5 -6280,0,2,2,100,1,5 -6290,0,2,2,100,1,5 -6300,0,2,2,100,1,5 -6310,0,2,2,100,1,5 -6320,0,2,2,100,1,5 -6330,0,2,2,100,1,5 -6340,0,2,2,100,1,5 -6350,0,2,2,100,1,5 -6360,0,2,2,100,1,5 -6370,0,2,2,100,1,5 -6380,0,2,2,100,1,5 -6390,0,2,2,100,1,5 -6400,0,2,2,100,1,5 -6410,0,2,2,100,1,5 -6420,0,2,2,100,1,5 -6430,0,2,2,100,1,5 -6440,0,2,2,100,1,5 -6450,0,2,2,100,1,5 -6460,0,2,2,100,1,5 -6470,0,2,2,100,1,5 -6480,0,2,2,100,1,5 -6490,0,2,2,100,1,5 -6500,0,2,2,100,1,5 -6510,0,2,2,100,1,5 -6520,0,2,2,100,1,5 -6530,0,2,2,100,1,5 -6540,0,2,2,100,1,5 -6550,0,2,2,100,1,5 -6560,0,2,2,100,1,5 -6570,0,2,2,100,1,5 -6580,0,2,2,100,1,5 -6590,0,2,2,100,1,5 -6600,0,2,2,100,1,5 -6610,0,2,2,100,1,5 -6620,0,2,2,100,1,5 -6630,0,2,2,100,1,5 -6640,0,2,2,100,1,5 -6650,0,2,2,100,1,5 -6660,0,2,2,100,1,5 -6670,0,2,2,100,1,5 -6680,0,2,2,100,1,5 -6690,0,2,2,100,1,5 -6700,0,2,2,100,1,5 -6710,0,2,2,100,1,5 -6720,0,2,2,100,1,5 -6730,0,2,2,100,1,5 -6740,0,2,2,100,1,5 -6750,0,2,2,100,1,5 -6760,0,2,2,100,1,5 -6770,0,2,2,100,1,5 -6780,0,2,2,100,1,5 -6790,0,2,2,100,1,5 -6800,0,2,2,100,1,5 -6810,0,2,2,100,1,5 -6820,0,2,2,100,1,5 -6830,0,2,2,100,1,5 -6840,0,2,2,100,1,5 -6850,0,2,2,100,1,5 -6860,0,2,2,100,1,5 -6870,0,2,2,100,1,5 -6880,0,2,2,100,1,5 -6890,0,2,2,100,1,5 -6900,0,2,2,100,1,5 -6910,0,2,2,100,1,5 -6920,0,2,2,100,1,5 -6930,0,2,2,100,1,5 -6940,0,2,2,100,1,5 -6950,0,2,2,100,1,5 -6960,0,2,2,100,1,5 -6970,0,2,2,100,1,5 -6980,0,2,2,100,1,5 -6990,0,2,2,100,1,5 -7000,0,2,2,100,1,5 -7010,0,2,2,100,1,5 -7020,0,2,2,100,1,5 -7030,0,2,2,100,1,5 -7040,0,2,2,100,1,5 -7050,0,2,2,100,1,5 -7060,0,2,2,100,1,5 -7070,0,2,2,100,1,5 -7080,0,2,2,100,1,5 -7090,0,2,2,100,1,5 -7100,0,2,2,100,1,5 -7110,0,2,2,100,1,5 -7120,0,2,2,100,1,5 -7130,0,2,2,100,1,5 -7140,0,2,2,100,1,5 -7150,0,2,2,100,1,5 -7160,0,2,2,100,1,5 -7170,0,2,2,100,1,5 -7180,0,2,2,100,1,5 -7190,0,2,2,100,1,5 -7200,0,2,2,100,1,5 -7210,0,2,2,100,1,5 -7220,0,2,2,100,1,5 -7230,0,2,2,100,1,5 -7240,0,2,2,100,1,5 -7250,0,2,2,100,1,5 -7260,0,2,2,100,1,5 -7270,0,2,2,100,1,5 -7280,0,2,2,100,1,5 -7290,0,2,2,100,1,5 -7300,0,2,2,100,1,5 -7310,0,2,2,100,1,5 -7320,0,2,2,100,1,5 -7330,0,2,2,100,1,5 -7340,0,2,2,100,1,5 -7350,0,2,2,100,1,5 -7360,0,2,2,100,1,5 -7370,0,2,2,100,1,5 -7380,0,2,2,100,1,5 -7390,0,2,2,100,1,5 -7400,0,2,2,100,1,5 -7410,0,2,2,100,1,5 -7420,0,2,2,100,1,5 -7430,0,2,2,100,1,5 -7440,0,2,2,100,1,5 -7450,0,2,2,100,1,5 -7460,0,2,2,100,1,5 -7470,0,2,2,100,1,5 -7480,0,2,2,100,1,5 -7490,0,2,2,100,1,5 -7500,0,2,2,100,1,5 -7510,0,2,2,100,1,5 -7520,0,2,2,100,1,5 -7530,0,2,2,100,1,5 -7540,0,2,2,100,1,5 -7550,0,2,2,100,1,5 -7560,0,2,2,100,1,5 -7570,0,2,2,100,1,5 -7580,0,2,2,100,1,5 -7590,0,2,2,100,1,5 -7600,0,2,2,100,1,5 -7610,0,2,2,100,1,5 -7620,0,2,2,100,1,5 -7630,0,2,2,100,1,5 -7640,0,2,2,100,1,5 -7650,0,2,2,100,1,5 -7660,0,2,2,100,1,5 -7670,0,2,2,100,1,5 -7680,0,2,2,100,1,5 -7690,0,2,2,100,1,5 -7700,0,2,2,100,1,5 -7710,0,2,2,100,1,5 -7720,0,2,2,100,1,5 -7730,0,2,2,100,1,5 -7740,0,2,2,100,1,5 -7750,0,2,2,100,1,5 -7760,0,2,2,100,1,5 -7770,0,2,2,100,1,5 -7780,0,2,2,100,1,5 -7790,0,2,2,100,1,5 -7800,0,2,2,100,1,5 -7810,0,2,2,100,1,5 -7820,0,2,2,100,1,5 -7830,0,2,2,100,1,5 -7840,0,2,2,100,1,5 -7850,0,2,2,100,1,5 -7860,0,2,2,100,1,5 -7870,0,2,2,100,1,5 -7880,0,2,2,100,1,5 -7890,0,2,2,100,1,5 -7900,0,2,2,100,1,5 -7910,0,2,2,100,1,5 -7920,0,2,2,100,1,5 -7930,0,2,2,100,1,5 -7940,0,2,2,100,1,5 -7950,0,2,2,100,1,5 -7960,0,2,2,100,1,5 -7970,0,2,2,100,1,5 -7980,0,2,2,100,1,5 -7990,0,2,2,100,1,5 -8000,0,2,2,100,1,5 -8010,0,2,2,100,1,5 -8020,0,2,2,100,1,5 -8030,0,2,2,100,1,5 -8040,0,2,2,100,1,5 -8050,0,2,2,100,1,5 -8060,0,2,2,100,1,5 -8070,0,2,2,100,1,5 -8080,0,2,2,100,1,5 -8090,0,2,2,100,1,5 -8100,0,2,2,100,1,5 -8110,0,2,2,100,1,5 -8120,0,2,2,100,1,5 -8130,0,2,2,100,1,5 -8140,0,2,2,100,1,5 -8150,0,2,2,100,1,5 -8160,0,2,2,100,1,5 -8170,0,2,2,100,1,5 -8180,0,2,2,100,1,5 -8190,0,2,2,100,1,5 -8200,0,2,2,100,1,5 -8210,0,2,2,100,1,5 -8220,0,2,2,100,1,5 -8230,0,2,2,100,1,5 -8240,0,2,2,100,1,5 -8250,0,2,2,100,1,5 -8260,0,2,2,100,1,5 -8270,0,2,2,100,1,5 -8280,0,2,2,100,1,5 -8290,0,2,2,100,1,5 -8300,0,2,2,100,1,5 -8310,0,2,2,100,1,5 -8320,0,2,2,100,1,5 -8330,0,2,2,100,1,5 -8340,0,2,2,100,1,5 -8350,0,2,2,100,1,5 -8360,0,2,2,100,1,5 -8370,0,2,2,100,1,5 -8380,0,2,2,100,1,5 -8390,0,2,2,100,1,5 -8400,0,2,2,100,1,5 -8410,0,2,2,100,1,5 -8420,0,2,2,100,1,5 -8430,0,2,2,100,1,5 -8440,0,2,2,100,1,5 -8450,0,2,2,100,1,5 -8460,0,2,2,100,1,5 -8470,0,2,2,100,1,5 -8480,0,2,2,100,1,5 -8490,0,2,2,100,1,5 -8500,0,2,2,100,1,5 -8510,0,2,2,100,1,5 -8520,0,2,2,100,1,5 -8530,0,2,2,100,1,5 -8540,0,2,2,100,1,5 -8550,0,2,2,100,1,5 -8560,0,2,2,100,1,5 -8570,0,2,2,100,1,5 -8580,0,2,2,100,1,5 -8590,0,2,2,100,1,5 -8600,0,2,2,100,1,5 -8610,0,2,2,100,1,5 -8620,0,2,2,100,1,5 -8630,0,2,2,100,1,5 -8640,0,2,2,100,1,5 -8650,0,2,2,100,1,5 -8660,0,2,2,100,1,5 -8670,0,2,2,100,1,5 -8680,0,2,2,100,1,5 -8690,0,2,2,100,1,5 -8700,0,2,2,100,1,5 -8710,0,2,2,100,1,5 -8720,0,2,2,100,1,5 -8730,0,2,2,100,1,5 -8740,0,2,2,100,1,5 -8750,0,2,2,100,1,5 -8760,0,2,2,100,1,5 -8770,0,2,2,100,1,5 -8780,0,2,2,100,1,5 -8790,0,2,2,100,1,5 -8800,0,2,2,100,1,5 -8810,0,2,2,100,1,5 -8820,0,2,2,100,1,5 -8830,0,2,2,100,1,5 -8840,0,2,2,100,1,5 -8850,0,2,2,100,1,5 -8860,0,2,2,100,1,5 -8870,0,2,2,100,1,5 -8880,0,2,2,100,1,5 -8890,0,2,2,100,1,5 -8900,0,2,2,100,1,5 -8910,0,2,2,100,1,5 -8920,0,2,2,100,1,5 -8930,0,2,2,100,1,5 -8940,0,2,2,100,1,5 -8950,0,2,2,100,1,5 -8960,0,2,2,100,1,5 -8970,0,2,2,100,1,5 -8980,0,2,2,100,1,5 -8990,0,2,2,100,1,5 -9000,0,2,2,100,1,5 -9010,0,2,2,100,1,5 -9020,0,2,2,100,1,5 -9030,0,2,2,100,1,5 -9040,0,2,2,100,1,5 -9050,0,2,2,100,1,5 -9060,0,2,2,100,1,5 -9070,0,2,2,100,1,5 -9080,0,2,2,100,1,5 -9090,0,2,2,100,1,5 -9100,0,2,2,100,1,5 -9110,0,2,2,100,1,5 -9120,0,2,2,100,1,5 -9130,0,2,2,100,1,5 -9140,0,2,2,100,1,5 -9150,0,2,2,100,1,5 -9160,0,2,2,100,1,5 -9170,0,2,2,100,1,5 -9180,0,2,2,100,1,5 -9190,0,2,2,100,1,5 -9200,0,2,2,100,1,5 -9210,0,2,2,100,1,5 -9220,0,2,2,100,1,5 -9230,0,2,2,100,1,5 -9240,0,2,2,100,1,5 -9250,0,2,2,100,1,5 -9260,0,2,2,100,1,5 -9270,0,2,2,100,1,5 -9280,0,2,2,100,1,5 -9290,0,2,2,100,1,5 -9300,0,2,2,100,1,5 -9310,0,2,2,100,1,5 -9320,0,2,2,100,1,5 -9330,0,2,2,100,1,5 -9340,0,2,2,100,1,5 -9350,0,2,2,100,1,5 -9360,0,2,2,100,1,5 -9370,0,2,2,100,1,5 -9380,0,2,2,100,1,5 -9390,0,2,2,100,1,5 -9400,0,2,2,100,1,5 -9410,0,2,2,100,1,5 -9420,0,2,2,100,1,5 -9430,0,2,2,100,1,5 -9440,0,2,2,100,1,5 -9450,0,2,2,100,1,5 -9460,0,2,2,100,1,5 -9470,0,2,2,100,1,5 -9480,0,2,2,100,1,5 -9490,0,2,2,100,1,5 -9500,0,2,2,100,1,5 -9510,0,2,2,100,1,5 -9520,0,2,2,100,1,5 -9530,0,2,2,100,1,5 -9540,0,2,2,100,1,5 -9550,0,2,2,100,1,5 -9560,0,2,2,100,1,5 -9570,0,2,2,100,1,5 -9580,0,2,2,100,1,5 -9590,0,2,2,100,1,5 -9600,0,2,2,100,1,5 -9610,0,2,2,100,1,5 -9620,0,2,2,100,1,5 -9630,0,2,2,100,1,5 -9640,0,2,2,100,1,5 -9650,0,2,2,100,1,5 -9660,0,2,2,100,1,5 -9670,0,2,2,100,1,5 -9680,0,2,2,100,1,5 -9690,0,2,2,100,1,5 -9700,0,2,2,100,1,5 -9710,0,2,2,100,1,5 -9720,0,2,2,100,1,5 -9730,0,2,2,100,1,5 -9740,0,2,2,100,1,5 -9750,0,2,2,100,1,5 -9760,0,2,2,100,1,5 -9770,0,2,2,100,1,5 -9780,0,2,2,100,1,5 -9790,0,2,2,100,1,5 -9800,0,2,2,100,1,5 -9810,0,2,2,100,1,5 -9820,0,2,2,100,1,5 -9830,0,2,2,100,1,5 -9840,0,2,2,100,1,5 -9850,0,2,2,100,1,5 -9860,0,2,2,100,1,5 -9870,0,2,2,100,1,5 -9880,0,2,2,100,1,5 -9890,0,2,2,100,1,5 -9900,0,2,2,100,1,5 -9910,0,2,2,100,1,5 -9920,0,2,2,100,1,5 -9930,0,2,2,100,1,5 -9940,0,2,2,100,1,5 -9950,0,2,2,100,1,5 -9960,0,2,2,100,1,5 -9970,0,2,2,100,1,5 -9980,0,2,2,100,1,5 -9990,0,2,2,100,1,5 -10000,0,2,2,100,1,5 -10010,0,2,2,100,1,5 -10020,0,2,2,100,1,5 -10030,0,2,2,100,1,5 -10040,0,2,2,100,1,5 -10050,0,2,2,100,1,5 -10060,0,2,2,100,1,5 -10070,0,2,2,100,1,5 -10080,0,2,2,100,1,5 -10090,0,2,2,100,1,5 -10100,0,2,2,100,1,5 diff --git a/EC-GN-JA-PCF/.svn/pristine/2d/2ded610fa2d2a0912a5b2e2b970829e1b82e3a2c.svn-base b/EC-GN-JA-PCF/.svn/pristine/2d/2ded610fa2d2a0912a5b2e2b970829e1b82e3a2c.svn-base deleted file mode 100644 index 1d3f9c1..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2d/2ded610fa2d2a0912a5b2e2b970829e1b82e3a2c.svn-base +++ /dev/null @@ -1,206 +0,0 @@ -/** - * @file JATerminalInterfaceGAM.cpp - * @brief Source file for class JATerminalInterfaceGAM - * @date Feb 19, 2019 - * @author kuchida - * - * @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 JATerminalInterfaceGAM (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 "JATerminalInterfaceGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JATerminalInterfaceGAM::JATerminalInterfaceGAM() { - - // Fixed GAM input - aps_hvon_term = 0; - - // Parameters which get from Input signals. - mhvps_hvon = NULL_PTR(MARTe::uint32 *); - aps_hvon = NULL_PTR(MARTe::uint32 *); - aps_swon = NULL_PTR(MARTe::uint32 *); - bps_hvon = NULL_PTR(MARTe::uint32 *); - bps_swon = NULL_PTR(MARTe::uint32 *); - - stateMachineOutput = NULL_PTR(MARTe::uint32 *); - - // write out target. - outputSignalNI6259 = NULL_PTR(MARTe::uint32 *); - outputSignalNI6528P3 = NULL_PTR(MARTe::uint8 *); - outputSignalNI6528P4 = NULL_PTR(MARTe::uint8 *); - - aps_hvon_state = 0; - aps_swon_state = 0; - mhvps_hvon_state = 0; - bps_hvon_state = 0; - bps_swon_state = 0; - p3Value = 0; - p4Value = 0; -} - -JATerminalInterfaceGAM::~JATerminalInterfaceGAM() { -} - -bool JATerminalInterfaceGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("mhvps_hvon_term", mhvps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The mhvps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("aps_hvon_term", aps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("aps_swon_term", aps_swon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_swon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("bps_hvon_term", bps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("bps_swon_term", bps_swon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_swon_term shall be specified"); - } - } - return ok; -} - -bool JATerminalInterfaceGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - - return true; -} - -bool JATerminalInterfaceGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 9u); - if (ok) { - ok = (numberOfOutputSignals == 3u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Three output signals shall be defined"); - } - } - 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 || inputType == UnsignedInteger8Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint8", 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 or uint8", signalName.Buffer()); - } - } - } - if (ok) { - //mhvps_manm = reinterpret_cast(GetInputSignalMemory(0)); - mhvps_hvon = reinterpret_cast(GetInputSignalMemory(0)); - //aps_manm = reinterpret_cast(GetInputSignalMemory(2)); - aps_hvon = reinterpret_cast(GetInputSignalMemory(1)); - aps_swon = reinterpret_cast(GetInputSignalMemory(2)); - //bps_manm = reinterpret_cast(GetInputSignalMemory(5)); - bps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - bps_swon = reinterpret_cast(GetInputSignalMemory(4)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(5)); - stateMachineOutput = reinterpret_cast(GetInputSignalMemory(6)); - ni6528p3Value = reinterpret_cast(GetInputSignalMemory(7)); - ni6528p4Value = reinterpret_cast(GetInputSignalMemory(8)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(0)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(1)); - outputSignalNI6528P4 = reinterpret_cast(GetOutputSignalMemory(2)); - - } - return ok; -} - -bool JATerminalInterfaceGAM::Execute() { - using namespace MARTe; - uint8 sm = *stateMachineOutput; - - - //Update HVPS state - aps_hvon_state = ((sm >> (0))&1); - aps_swon_state = ((sm >> (4))&1); - mhvps_hvon_state = ((sm >> (2))&1); - bps_hvon_state = ((sm >> (1))&1); - bps_swon_state = ((sm >> (3))&1); - - if(*short_pulse_mode == 1){ - p3Value = 1*aps_hvon_state + 8*bps_hvon_state +16*bps_swon_state; - *outputSignalNI6259 = 1*aps_swon_state; - //uint8 ni6528p3ValueTemp = 0;//*ni6528p3Value; - //ni6528p3ValueTemp &= ~(1<<2); //Does not turn on ni6258 aps switch - //Update terminal value - //*outputSignalNI6528P3 = ~(ni6528p3ValueTemp | p3Value); - *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; - //REPORT_ERROR(ErrorManagement::Debug, "long pulse mode with p3: %d.", p3Value); - } - - p4Value = 8*mhvps_hvon_state; - *outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value); - return true; -} - -CLASS_REGISTER(JATerminalInterfaceGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/2e/2ed144928052118ee7319dac0de6709099277527.svn-base b/EC-GN-JA-PCF/.svn/pristine/2e/2ed144928052118ee7319dac0de6709099277527.svn-base deleted file mode 100644 index 1d1e6ee..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2e/2ed144928052118ee7319dac0de6709099277527.svn-base +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/2f/2f0379f7e9df3871844046ef2e1f3ceada17bd06.svn-base b/EC-GN-JA-PCF/.svn/pristine/2f/2f0379f7e9df3871844046ef2e1f3ceada17bd06.svn-base deleted file mode 100644 index 1566c70..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2f/2f0379f7e9df3871844046ef2e1f3ceada17bd06.svn-base +++ /dev/null @@ -1,396 +0,0 @@ -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +Start = { - Class = StateMachineEvent - NextState = "WAITSTANDBY" - NextStateError = "WAITSTANDBY" - +PrepareNextStateMsg = { - Class = Message - Destination = JAGyrotronRTApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = WaitStandby - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = JAGyrotronRTApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +WAITSTANDBY = { - Class = ReferenceContainer - +Stay = { - Class = StateMachineEvent - NextState = "WAITSTANDBY" - NextStateError = "WAITSTANDBY" - +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 - } - } - } -} -+JAGyrotronRTApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMSDNSubCommand = { - Class = IOGAM - InputSignals = { - Command = { - DataSource = SDNSubCommands - Type = uint16 - NumberOfDimensions = 1 - NumberOfElements = 64 - Ranges = {{0 0}} - Frequency = 1 - } - ESDNTime = { - DataSource = SDNSubCommands - Type = uint32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - ESDNTimeDisplay = { - Alias = ESDNTime - DataSource = SDNSubCommands - Type = uint32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - } - OutputSignals = { - Command = { - DataSource = Display - Type = uint16 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - ESDNTimeDisplay = { - DataSource = Display - Type = uint32 - } - } - } - +GAMSDNSubWaveform = { - Class = IOGAM - InputSignals = { - GYA_FHPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_MCPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_CCPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - MHVPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_BPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_APS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - WaveformPacketIDFor1kHz = { - DataSource = SDNSubWaveform - Alias = WaveformPacketID - Type = uint16 - } - } - OutputSignals = { - GYA_FHPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_MCPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_CCPS_SP = { - DataSource = DDB1 - Type = float32 - } - MHVPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_BPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_APS_SP = { - DataSource = DDB1 - Type = float32 - } - WaveformPacketIDFor1kHz = { - DataSource = DDB1 - Alias = WaveformPacketID - Type = uint16 - } - } - } - +GAMReply = { - Class = IOGAM - InputSignals = { - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - WaveformPacketID = { - DataSource = DDB1 - Type = uint16 - } - } - OutputSignals = { - ESDNTime = { - DataSource = SDNReply - Type = uint32 - Trigger = 1 - } - ReplyWaveformAck = { - DataSource = SDNReply - Type = uint16 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timings = { - Class = TimingDataSource - } - +Display = { - Class = LoggerDataSource - } - +SDNSubCommands = { - Class = SDN::SDNSubscriber - Topic = ECPC2SCUJA - Interface = lo - CPUs = 0x2 - Locked = 1 - Timeout = 1000 // TODO: change to 1 ms - 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 = lo - CPUs = 0x8 - 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 - } - } - } - +SDNSubWaveform = { - Class = SDN::SDNSubscriber - Topic = ECPC2SCUJAWF - Interface = lo - Locked = 1 - Timeout = 1000 // TODO: change to 1 ms - 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 - } - WaveformPacketID = { - Type = uint16 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_MCPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_CCPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - MHVPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_BPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_APS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - } - } - } - +States = { - Class = ReferenceContainer - +WaitStandby = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMSDNSubCommand GAMSDNSubWaveform GAMReply} - CPUs = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/2f/2f7035aa607a78aab64352cf34bd25d8c7fb85fd.svn-base b/EC-GN-JA-PCF/.svn/pristine/2f/2f7035aa607a78aab64352cf34bd25d8c7fb85fd.svn-base deleted file mode 100644 index fc607b1..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2f/2f7035aa607a78aab64352cf34bd25d8c7fb85fd.svn-base +++ /dev/null @@ -1,68 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/configure_sdn.cpp.vm $ -// $Id: configure_sdn.cpp.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron01DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#include - -#include -#include "includetopics.h" - -using namespace std; - -/* Create variables for the topics on which application is publishing */ -//+P===================================================================== -//-P===================================================================== - -/* Create variables for topics on which application is subscribing */ -//+S===================================================================== -//-S===================================================================== - -int configureSDN() -{ - - SR_RET sr_ret = SR_OK; - - //+P===================================================================== - //-P===================================================================== - - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} - -int cleanupSDN() -{ - - SR_RET sr_ret = SR_OK; - - /* Unregister publisher */ - //+P===================================================================== - //-P===================================================================== - - /* Unregister subscriber */ - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/2f/2f8c561f13a6de3330f5df21840ddef019a3a467.svn-base b/EC-GN-JA-PCF/.svn/pristine/2f/2f8c561f13a6de3330f5df21840ddef019a3a467.svn-base deleted file mode 100644 index b425a77..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/2f/2f8c561f13a6de3330f5df21840ddef019a3a467.svn-base +++ /dev/null @@ -1,195 +0,0 @@ -#!/bin/bash -#Arguments -f FILENAME -m MESSAGE [-d cgdb|strace] -x DAN_CONFIG_LOCATION -r root -#-f FILENAME=MARTe configuration file -#-m MESSAGE=Start message -#-d cgdb=Run with cgdb -#-d strace=Run with strace -#-x DAN_CONFIG_LOCATION=Location of the DANConfig.xml (e.g. ~/Projects/ECJASDN/Configurations/DANTestConfig.xml) -#-r run as root - -#Run with cgdb or strace? -DEBUG="" - -#Consume input arguments -while [[ $# -gt 1 ]] -do -key="$1" - -case $key in - -f|--file) - FILE="$2" - shift # past argument - ;; - -m|--message) - MESSAGE="$2" - shift # past argument - ;; - -s|--state) - STATE="$2" - shift # past argument - ;; - -d|--debug) - DEBUG="$2" - shift # past argument - ;; - -x|--dan_config) - DAN_CONFIG_LOCATION="$2" - shift # past argument - ;; - -i|--dan_ip) - DAN_MASTER_IP="$2" - shift # past argument - ;; - -r|--root) - RUN_AS_ROOT="root" - shift # past argument - ;; - --default) - DEFAULT=YES - ;; - *) - # unknown option - ;; -esac -shift # past argument or value -done - -if [ -z ${MARTe2_DIR+x} ]; then - echo "Please set the MARTe2_DIR environment variable"; - exit; -fi - -if [ -z ${MARTe2_Components_DIR+x} ]; then - #Check if this is a CCS deployment - MARTe2_Components_DIR_CSS=$MARTe2_DIR/Build/x86-linux/Components/ - if [ -d ${MARTe2_Components_DIR_CSS+x} ]; then - MARTe2_Components_DIR=$MARTe2_DIR - else - echo "Please set the MARTe2_Components_DIR environment variable"; - exit; - fi -fi - -echo $MARTe2_Components_DIR - -LD_LIBRARY_PATH=. -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_DIR/Build/x86-linux/Core/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/EPICSCA/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/LinuxTimer/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/LoggerDataSource/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/DAN/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/NI6259/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/NI6368/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/SDN/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/UDP/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/MDSWriter/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/RealTimeThreadAsyncBridge/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/RealTimeThreadSynchronisation/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/FileDataSource/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/IOGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/BaseLib2GAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/ConversionGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/FilterGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/StatisticsGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/WaveformGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/ConstantGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/Interfaces/BaseLib2Wrapper/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/Interfaces/SysLogger/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/Interfaces/EPICS/ -### Add own datasource lib path -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/DataSources/RandomDataSource/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/DataSources/NI6528/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/DataSources/JAEPICSCA/ -### Add own GAM lib path -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/ESDNValidationGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAMessageGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAPreProgrammedGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JACountdownGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAWaitStandbyGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JATimerGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAESDNProcessCommandGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAModeControlGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JATimedSignalUpdateGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAHVArmedSyncGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JARFONSyncGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAWFRecordGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JATriangleWaveGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JARampupGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JACounterGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JARTStateMachineGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JASDNRTStateMachineGAM/ -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/ -### 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/ -#LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mdsplus/lib64/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SDN_CORE_LIBRARY_DIR -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/codac/lib/ - - -echo $LD_LIBRARY_PATH -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH - -#Starts the DAN services only if required -if [ ! -z "$DAN_CONFIG_LOCATION" ]; then - export DAN_ARCHIVE_MASTER=$DAN_MASTER_IP - echo $DAN_MASTER_IP - /opt/codac/bin/danApiTool api close - /opt/codac/bin/danApiTool api init $DAN_CONFIG_LOCATION -fi - -NR_CPUS=16 -#Setup performance -#Disable CPU speed changing -#service cpuspeed stop -#memo:Redirecting to /bin/systemctl stop cpuspeed.service -#memo:Failed to stop cpuspeed.service: Unit cpuspeed.service not loaded. -# - -# Migrate irq to CPU0 -#for D in $(ls /proc/irq) -#do -#if [ -x "/proc/irq/$D" ] && [ $D != "0" ] -#then -# echo $D -# echo 1 > /proc/irq/$D/smp_affinity -#fi -#done - - -#Location of the MARTe2 application loader -MARTe2APP=$MARTe2_DIR/Build/x86-linux/App/MARTeApp.ex - -#Start with cgdb or with strace -if [ "$DEBUG" = "cgdb" ]; then - cgdb --args $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE -elif [ "$DEBUG" = "strace" ]; then - strace -o/tmp/strace.err $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE -else - if [ -z ${RUN_AS_ROOT+x} ]; then - if [ -z ${STATE+x} ]; then - echo "taskset was not used." - sleep 1 - $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE - else - $MARTe2APP -l RealTimeLoader -f $FILE -s $STATE - fi - else - if [ -z ${STATE+x} ]; then - echo "taskset was used." - sleep 1 - taskset 1 $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE - else - taskset 1 $MARTe2APP -l RealTimeLoader -f $FILE -s $STATE - fi - fi -fi - - -if [ ! -z "$DAN_CONFIG_LOCATION" ]; then - /opt/codac/bin/danApiTool api close -fi diff --git a/EC-GN-JA-PCF/.svn/pristine/32/32acce34150b68fd7a49f282894aec6a5f2323b3.svn-base b/EC-GN-JA-PCF/.svn/pristine/32/32acce34150b68fd7a49f282894aec6a5f2323b3.svn-base deleted file mode 100644 index 4b14a4a..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/32/32acce34150b68fd7a49f282894aec6a5f2323b3.svn-base +++ /dev/null @@ -1,23 +0,0 @@ -importClass(Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil); - -var table = widget.getTable(); -var fct_name = widget.getPropertyValue("name"); - -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var selectedrow= table.getSelection(); - var cuIndex=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - - // change $(CU_INDEX) substitution - var macroInput = DataUtil.createMacrosInput(true); - macroInput.put("CUB", cuIndex); - macroInput.put("PHY_NAME", phyName); - macroInput.put("FCT_NAME", fct_name); - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(widget, fct_name+"-"+cuIndex+"-CubicleContents.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/.svn/pristine/32/32b72edf89e480b7875d15bae68fe7bdccd6a696.svn-base b/EC-GN-JA-PCF/.svn/pristine/32/32b72edf89e480b7875d15bae68fe7bdccd6a696.svn-base deleted file mode 100644 index 983ab3d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/32/32b72edf89e480b7875d15bae68fe7bdccd6a696.svn-base +++ /dev/null @@ -1,53 +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=NI6528.x - -PACKAGE=DataSources - -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 -INCLUDES += -I$(CODAC_ROOT)/include/ - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/NI6528$(LIBEXT) \ - $(BUILD_DIR)/NI6528$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/33/334513d1495cb31abb8c1f8354dd1be38aec2c1b.svn-base b/EC-GN-JA-PCF/.svn/pristine/33/334513d1495cb31abb8c1f8354dd1be38aec2c1b.svn-base deleted file mode 100644 index 190c39c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/33/334513d1495cb31abb8c1f8354dd1be38aec2c1b.svn-base +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -def test_setup(): - """ - Setup EPICS PVs for testing. - Turn simulation mode ON for unavailable device - """ - print '---------- Start setup for the test ----------' - - print '1. set PVs to simulation mode' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-DI-SIMM YES', shell=True) - #temporary commentout 2 lines - #res = subprocess.call('caput EC-GN-P01-GAF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:STAT-SIMM YES', shell=True) - #temporary commentout following line - #res = subprocess.call('caput EC-GN-P01-GBF-GCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-SIMM YES', shell=True) - #temporary commentout following line - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:STAT-SIMM YES', shell=True) - #temporary commentout following line - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:STAT-SIMM YES', shell=True) - time.sleep(1) - print '2. Change SCAN mode from I/O Inter to Passive to write sumulated values.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SCAN Passive', shell=True)#SELECT - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SCAN Passive', shell=True)#SELECT - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SCAN Passive', shell=True) #STANDBY - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SCAN Passive', shell=True) #READY - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SCAN Passive', shell=True) #ON - #res = subprocess.call('caput EC-GN-P01-PMF:PSU0000-TYSTA.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YSTA.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YSTA.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SCAN Passive', shell=True) #PERMIT - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SCAN Passive', shell = True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SCAN Passive', shell = True) #SYNC/ASYNC - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SCAN Passive', shell=True) #CCPS ON REQUEST - time.sleep(1) - print '3. Set pulse length limit mode value and state.' - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD1-LIM 10000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD2-LIM 100000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD3-LIM 1000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD4-LIM 10000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4 0', shell = True) #Pulse lenght mode - print '4. Set other operation modes' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) #Pre-pro mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0',shell = True) #Short pulse mode - time.sleep(1) - print '5. Set a beam-on schedule(10ms diff + 100ms pulse)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - time.sleep(1) - print '6. Reset PLC INTERLOCK' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SIMM 1', shell=True) #PLC Interlock - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SCAN 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SVAL 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP 0', shell=True) #CCPS_IS_OPERATION - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SIMM 1', shell=True) #cRIO Interlock - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SCAN 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SVAL 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPF:STAT-RST-FLT 1', shell=True) - print '---------- END setup for the test ----------' diff --git a/EC-GN-JA-PCF/.svn/pristine/34/345983ee7146674b868eac46600a4e1651f816e5.svn-base b/EC-GN-JA-PCF/.svn/pristine/34/345983ee7146674b868eac46600a4e1651f816e5.svn-base deleted file mode 100644 index cd7a5f1..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/34/345983ee7146674b868eac46600a4e1651f816e5.svn-base +++ /dev/null @@ -1,56 +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=JAWFRecordGAM.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)/JAWFRecordGAM$(LIBEXT) \ - $(BUILD_DIR)/JAWFRecordGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/34/34a02f9d077d9daf7d49899fc84237c00a260668.svn-base b/EC-GN-JA-PCF/.svn/pristine/34/34a02f9d077d9daf7d49899fc84237c00a260668.svn-base deleted file mode 100644 index cea80cf..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/34/34a02f9d077d9daf7d49899fc84237c00a260668.svn-base +++ /dev/null @@ -1,163 +0,0 @@ -+LoggerService = { - Class = LoggerService - CPUs = 0x1 - StackSize = 32768 - NumberOfLogPages = 128 - +ConLogger = { - Class = ConsoleLogger - Format = "EtOoFmC" - PrintKeys = 1 - } -} -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { //Time attribute is updated with us resolution. - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 10 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - +TimerDisplayGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - TimeDISP = { - DataSource = Display - Type = uint32 - } - CounterDISP = { - DataSource = Display - Type = uint32 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer TimerDisplayGAM} - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/34/34c317b3a004ca38e95831a65effbe6a9e6d09eb.svn-base b/EC-GN-JA-PCF/.svn/pristine/34/34c317b3a004ca38e95831a65effbe6a9e6d09eb.svn-base deleted file mode 100644 index 347e683..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/34/34c317b3a004ca38e95831a65effbe6a9e6d09eb.svn-base +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## CODAC specific environment variables -############################################################################ - -epicsEnvSet("AUTOSAVE_SYSM_PV_PREFIX","EC-GN-SYSM:PCF0SYSM-") -epicsEnvSet("IOCSH_PS1","${IOC}> ") -epicsEnvSet("STREAM_PROTOCOL_PATH","$(TOP)/db:$(EPICS_ROOT)/db") - diff --git a/EC-GN-JA-PCF/.svn/pristine/34/34c47aad1b095acb20b58d7edc31b98c07e7445c.svn-base b/EC-GN-JA-PCF/.svn/pristine/34/34c47aad1b095acb20b58d7edc31b98c07e7445c.svn-base deleted file mode 100644 index 30adbd0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/34/34c47aad1b095acb20b58d7edc31b98c07e7445c.svn-base +++ /dev/null @@ -1,53 +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=NI6528.x - -PACKAGE=DataSources - -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$(CODAC_ROOT)/include/ - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/NI6528$(LIBEXT) \ - $(BUILD_DIR)/NI6528$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/35/35a0f5c5ce985d21f583f097e8ea5c17106a723e.svn-base b/EC-GN-JA-PCF/.svn/pristine/35/35a0f5c5ce985d21f583f097e8ea5c17106a723e.svn-base deleted file mode 100644 index 5763fa5..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/35/35a0f5c5ce985d21f583f097e8ea5c17106a723e.svn-base +++ /dev/null @@ -1,230 +0,0 @@ -record (bi,"EC-GN-P01-GPS:PLC4110-CON-GY1PRM") -{ - field(DESC, "GY1 Operation Permission") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 18) bitread") - field(ONAM, "PERMITED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-GY2PRM") -{ - field(DESC, "GY2 Operation Permission") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 18) bitread") - field(ONAM, "PERMITED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-OPGY1") -{ - field(DESC, "GY1 Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 19) bitread") - field(ONAM, "SELECTED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-OPGY2") -{ - field(DESC, "GY2 Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 19) bitread") - field(ONAM, "SELECTED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-RV1") -{ - field(DESC, "Reserved for PLC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 21) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPS:PLC4110-RV2") -{ - field(DESC, "Reserved for PLC") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPS:PLC4110-RV3") -{ - field(DESC, "Reserved for PLC") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YON-CCPS1") -{ - field(DESC, "GY1 CCPS Start Operation") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 20) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YON-CCPS2") -{ - field(DESC, "GY2 CCPS Start Operation") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 20) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YSTA-MPSS") -{ - field(DESC, "Sync/Asynchronous Flag") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 21) bitread") - field(ONAM, "SYNC") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "ASYNC") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTRP") -{ - field(DESC, "Interlock signal from PLC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 14) bitread") - field(ONAM, "INTERLOCK") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD1") -{ - field(DESC, "Operation Mode 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 14) bitread") - field(ONAM, "VSHORT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD2") -{ - field(DESC, "Operation Mode 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 15) bitread") - field(ONAM, "SHORT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD3") -{ - field(DESC, "Operation Mode 3") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 16) bitread") - field(ONAM, "MIDDLE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD4") -{ - field(DESC, "Operation Mode 4") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 17) bitread") - field(ONAM, "LONG") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST1R") -{ - field(DESC, "PLC STANDBY state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 15) bitread") - field(ONAM, "STANDBY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST2R") -{ - field(DESC, "PLC READY state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 16) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST3R") -{ - field(DESC, "PLC ON state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 17) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/37/3703afbfbe9ed60ddbfd2f21ecdc1748a3f4997d.svn-base b/EC-GN-JA-PCF/.svn/pristine/37/3703afbfbe9ed60ddbfd2f21ecdc1748a3f4997d.svn-base deleted file mode 100644 index e7ba9e5..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/37/3703afbfbe9ed60ddbfd2f21ecdc1748a3f4997d.svn-base +++ /dev/null @@ -1,41 +0,0 @@ --100,0,0,0,0,0,0 --90,1,1,1,1,1,1 --80,2,2,2,2,2,2 --70,3,3,3,3,3,3 --60,4,4,4,4,4,4 --50,5,5,5,5,5,5 --40,6,6,6,6,6,6 --30,7,7,7,7,7,7 --20,8,8,8,8,8,8 --10,9,9,9,9,9,9 -0,10,10,10,10,10,10 -10,9,9,9,9,9,9 -20,8,8,8,8,8,8 -30,7,7,7,7,7,7 -40,6,6,6,6,6,6 -50,5,5,5,5,5,5 -60,4,4,4,4,4,4 -70,3,3,3,3,3,3 -80,2,2,2,2,2,2 -90,1,1,1,1,1,1 -100,0,0,0,0,0,0 -110,1,1,1,1,1,1 -120,2,2,2,2,2,2 -130,3,3,3,3,3,3 -140,4,4,4,4,4,4 -150,5,5,5,5,5,5 -160,6,6,6,6,6,6 -170,7,7,7,7,7,7 -180,8,8,8,8,8,8 -190,9,9,9,9,9,9 -200,10,10,10,10,10,10 -210,9,9,9,9,9,9 -220,8,8,8,8,8,8 -230,7,7,7,7,7,7 -240,6,6,6,6,6,6 -250,5,5,5,5,5,5 -260,4,4,4,4,4,4 -270,3,3,3,3,3,3 -280,2,2,2,2,2,2 -290,1,1,1,1,1,1 -300,0,0,0,0,0,0 diff --git a/EC-GN-JA-PCF/.svn/pristine/37/37d562b0855d966536fb2fe47245ae93bfaed2b7.svn-base b/EC-GN-JA-PCF/.svn/pristine/37/37d562b0855d966536fb2fe47245ae93bfaed2b7.svn-base deleted file mode 100644 index 1efebb0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/37/37d562b0855d966536fb2fe47245ae93bfaed2b7.svn-base +++ /dev/null @@ -1,1081 +0,0 @@ -// +LoggerService = { -// Class = LoggerService -// CPUs = 0x1 -// StackSize = 32768 -// NumberOfLogPages = 128 -// +ConLogger = { -// Class = ConsoleLogger -// Format = "EtOoFmC" -// PrintKeys = 1 -// } -// } - -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 1 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - //EPICS PV read GAM - +PV2DDB1GAM = { - Class = IOGAM - InputSignals = { - ni6259d0p0do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d0p3do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d0p4do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6259d1p0do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d1p3do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d1p4do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - ni6259d0p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d0p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d0p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6259d1p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d1p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d1p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do7 = { - DataSource = DDB1 - Type = uint32 - } - } - } - //HW Write GAMs - //NI6259 uses uint32, so it is not able to use BitSumGAM - +NI6259D0P0GAM = { - Class = JABitSumGAM - InputSignals = { - ni6259d0p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6259D0P0Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D0P3GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d0p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D0P3Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D0P4GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d0p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D0P4Value = { - DataSource = Display - Type = uint8 - } - } - } - //NI6259 uses uint32, so it is not able to use BitSumGAM - +NI6259D1P0GAM = { - Class = JABitSumGAM - InputSignals = { - ni6259d1p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6259D1P0Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D1P3GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d1p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D1P3Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D1P4GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d1p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D1P4Value = { - DataSource = Display - Type = uint8 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - - /**** - +NI6259D1P0 = { - Class = NI6259::NI6259DIO - DeviceName = "/dev/pxi6259" - BoardId = 1 - Signals = { - NI6269D1P0Value = { - Type = uint32 - Mask = 0xFF - PortId = 0 - } - } - } - +NI6528D1P3 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.1" - Port = 3 - Value = { - NI6528D1P3Value = { - Type = uint32 - } - } - } - +NI6528D1P4 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.1" - Port = 4 - Value = { - NI6528D1P4Value = { - Type = uint32 - } - } - } - +NI6259D0P0 = { - Class = NI6259::NI6259DIO - DeviceName = "/dev/pxi6259" - BoardId = 0 - Signals = { - NI6259D0P0Value = { - Type = uint32 - Mask = 0xFF - PortId = 0 - } - } - } - +NI6528D0P3 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 3 - Value = { - NI6528D0P3Value = { - Type = uint32 - } - } - } - +NI6528D0P4 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 4 - Value = { - NI6528D0P4Value = { - Type = uint32 - } - } - } - ***/ - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "1" - StackSize = "10000000" - Signals = { - // NI6259 DO PVs - ni6259d0p0do0 = { - PVName = "ni6259:d0:p0:do0" - Type = uint32 - } - ni6259d0p0do1 = { - PVName = "ni6259:d0:p0:do1" - Type = uint32 - } - ni6259d0p0do2 = { - PVName = "ni6259:d0:p0:do2" - Type = uint32 - } - ni6259d0p0do3 = { - PVName = "ni6259:d0:p0:do3" - Type = uint32 - } - ni6259d0p0do4 = { - PVName = "ni6259:d0:p0:do4" - Type = uint32 - } - ni6259d0p0do5 = { - PVName = "ni6259:d0:p0:do5" - Type = uint32 - } - ni6259d0p0do6 = { - PVName = "ni6259:d0:p0:do6" - Type = uint32 - } - ni6259d0p0do7 = { - PVName = "ni6259:d0:p0:do7" - Type = uint32 - } - - // NI6528P3 PVs - ni6528d0p3do0 = { - PVName = "ni6528:d0:p3:do0" - Type = uint32 - } - ni6528d0p3do1 = { - PVName = "ni6528:d0:p3:do1" - Type = uint32 - } - ni6528d0p3do2 = { - PVName = "ni6528:d0:p3:do2" - Type = uint32 - } - ni6528d0p3do3 = { - PVName = "ni6528:d0:p3:do3" - Type = uint32 - } - ni6528d0p3do4 = { - PVName = "ni6528:d0:p3:do4" - Type = uint32 - } - ni6528d0p3do5 = { - PVName = "ni6528:d0:p3:do5" - Type = uint32 - } - ni6528d0p3do6 = { - PVName = "ni6528:d0:p3:do6" - Type = uint32 - } - ni6528d0p3do7 = { - PVName = "ni6528:d0:p3:do7" - Type = uint32 - } - - //NI6528P4 PVs - ni6528d0p4do0 = { - PVName = "ni6528:d0:p4:do0" - Type = uint32 - } - ni6528d0p4do1 = { - PVName = "ni6528:d0:p4:do1" - Type = uint32 - } - ni6528d0p4do2 = { - PVName = "ni6528:d0:p4:do2" - Type = uint32 - } - ni6528d0p4do3 = { - PVName = "ni6528:d0:p4:do3" - Type = uint32 - } - ni6528d0p4do4 = { - PVName = "ni6528:d0:p4:do4" - Type = uint32 - } - ni6528d0p4do5 = { - PVName = "ni6528:d0:p4:do5" - Type = uint32 - } - ni6528d0p4do6 = { - PVName = "ni6528:d0:p4:do6" - Type = uint32 - } - ni6528d0p4do7 = { - PVName = "ni6528:d0:p4:do7" - Type = uint32 - } - - // NI6259 DO PVs - ni6259d1p0do0 = { - PVName = "ni6259:d1:p0:do0" - Type = uint32 - } - ni6259d1p0do1 = { - PVName = "ni6259:d1:p0:do1" - Type = uint32 - } - ni6259d1p0do2 = { - PVName = "ni6259:d1:p0:do2" - Type = uint32 - } - ni6259d1p0do3 = { - PVName = "ni6259:d1:p0:do3" - Type = uint32 - } - ni6259d1p0do4 = { - PVName = "ni6259:d1:p0:do4" - Type = uint32 - } - ni6259d1p0do5 = { - PVName = "ni6259:d1:p0:do5" - Type = uint32 - } - ni6259d1p0do6 = { - PVName = "ni6259:d1:p0:do6" - Type = uint32 - } - ni6259d1p0do7 = { - PVName = "ni6259:d1:p0:do7" - Type = uint32 - } - - // NI6528P3 PVs - ni6528d1p3do0 = { - PVName = "ni6528:d1:p3:do0" - Type = uint32 - } - ni6528d1p3do1 = { - PVName = "ni6528:d1:p3:do1" - Type = uint32 - } - ni6528d1p3do2 = { - PVName = "ni6528:d1:p3:do2" - Type = uint32 - } - ni6528d1p3do3 = { - PVName = "ni6528:d1:p3:do3" - Type = uint32 - } - ni6528d1p3do4 = { - PVName = "ni6528:d1:p3:do4" - Type = uint32 - } - ni6528d1p3do5 = { - PVName = "ni6528:d1:p3:do5" - Type = uint32 - } - ni6528d1p3do6 = { - PVName = "ni6528:d1:p3:do6" - Type = uint32 - } - ni6528d1p3do7 = { - PVName = "ni6528:d1:p3:do7" - Type = uint32 - } - - //NI6528P4 PVs - ni6528d1p4do0 = { - PVName = "ni6528:d1:p4:do0" - Type = uint32 - } - ni6528d1p4do1 = { - PVName = "ni6528:d1:p4:do1" - Type = uint32 - } - ni6528d1p4do2 = { - PVName = "ni6528:d1:p4:do2" - Type = uint32 - } - ni6528d1p4do3 = { - PVName = "ni6528:d1:p4:do3" - Type = uint32 - } - ni6528d1p4do4 = { - PVName = "ni6528:d1:p4:do4" - Type = uint32 - } - ni6528d1p4do5 = { - PVName = "ni6528:d1:p4:do5" - Type = uint32 - } - ni6528d1p4do6 = { - PVName = "ni6528:d1:p4:do6" - Type = uint32 - } - ni6528d1p4do7 = { - PVName = "ni6528:d1:p4:do7" - Type = uint32 - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer PV2DDB1GAM NI6259D0P0GAM NI6528D0P3GAM NI6528D0P4GAM NI6259D1P0GAM NI6528D1P3GAM NI6528D1P4GAM } - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/3b/3bedbfb4823274165dbb5dcce714578e62d3b27a.svn-base b/EC-GN-JA-PCF/.svn/pristine/3b/3bedbfb4823274165dbb5dcce714578e62d3b27a.svn-base deleted file mode 100644 index 1f40d18..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/3b/3bedbfb4823274165dbb5dcce714578e62d3b27a.svn-base +++ /dev/null @@ -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=JASourceChoiseGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JASourceChoiseGAM$(LIBEXT) \ - $(BUILD_DIR)/JASourceChoiseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/3c/3c41f9d04c70edf86536a205a96af7a204fd110b.svn-base b/EC-GN-JA-PCF/.svn/pristine/3c/3c41f9d04c70edf86536a205a96af7a204fd110b.svn-base deleted file mode 100644 index ae06cf5..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/3c/3c41f9d04c70edf86536a205a96af7a204fd110b.svn-base +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -./Main.sh -f ../Configurations/tests/NI6528_test.cfg -l RealTimeLoader -m StateMachine:START - diff --git a/EC-GN-JA-PCF/.svn/pristine/3e/3e6cc0813382efdcc62edcd615d1e4959f221a40.svn-base b/EC-GN-JA-PCF/.svn/pristine/3e/3e6cc0813382efdcc62edcd615d1e4959f221a40.svn-base deleted file mode 100644 index 595af96..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/3e/3e6cc0813382efdcc62edcd615d1e4959f221a40.svn-base +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - -Connection or frame of the communication for 4110 configuration and state is invalid -true -0 - -4110 communication failed -
The connection for configuration and state to 4110 was broken or the frame is not correct
-
- -Causes related to the alarm -
Timestamp update error (TIME) -Data block header, footer or length mismatch (FERROR) -Data block version mismatch (FVERS) -Data block alive counter update error (ALIVEC) -Frame lost due (FLOST) -PLC communication broken (CFGSTAT) -Lost a redundant CPU (CPU0-ALIVE, CPU1-ALIVE)
-
- -Corrective action -
Check whether the PLC is running\n Check whether network is ok\n Contact maintenance service (if needed)
-
- -4110 State Comm. Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-PLCHLTS_Alarm.opi "CBS1=EC, CBS2=GN, PP=01, NNNN=4110, TTT=PLC, PPPP=52RF, ALARM_PV=EC-GN-SYSM-52RF-01:PLC4110-PLCHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=PLC communication failed, ALARM_GUIDANCE1_DETAILS=The connection for configuration and state to PLC is broken or the frame is not correct."
-
-
- -Connection or frame of the communication for PLC Event is invalid -true -0 - -PLC Event communication failed -
The connection for event to PLC was broken or the frame is not correct
-
- -Causes related to the alarm -
Event Frame count update error (FRAMEC) -PLC Event communication broken (EVTSTAT)
-
- -Corrective action -
Check whether the PLC is running\n Check whether network is ok\n Contact maintenance service (if needed)
-
- -PLC Event Comm. Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-EVTHLTS_Alarm.opi "CBS1=EC, CBS2=GN, CBS3=SYSM, PP=01, NNNN=4110, TTT=PLC, PPPP=52RF, ALARM_PV=EC-GN-SYSM-52RF-01:PLC4110-EVTHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=PLC Event communication failed, ALARM_GUIDANCE1_DETAILS=The connection for event to PLC was broken or the frame is not correct."
-
-
- -Any one of CPU, MEM, Disk, FD, Process of the host is in alarm state -true -0 - -System is an abnormal state -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - one of CPU, Disk, Memory, FD load is high or necessary process has been stopped -2 - two of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped -3 - three of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped
-
- -Corrective action -
If any load remains high continuously, contact maintenance service. -In addition, check if the necessary processes are running
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIHI 100 - - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI - -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SHLT_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PCF, NNNN=4210, ALARM_PV=EC-GN-SYSM-52RF-01:PCF4210-SHLT, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD / Process of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
- -Any one of CPU, MEM, Disk or FD of the host is in alarm state -true -0 - -System resource utilization is high -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - CPU utilization high (CPUUTL) : CPU utilization is high -2 - Memory utilization high (MEMUTL) : Memory utilization is high -3 - CPU, Mem util high (CPUUTL, MEMUTL) : CPU and Memory utilizations are high -4 - Disk utilization high (DISKUTL) : Disk utilizations are high -5 - CPU, Disk util high (CPUUTL,DISKUTL) : CPU and Disk utilizations are high -6 - Mem, Disk util high (MEMUTL,DISKUTL) : Memory and Disk utilizations are high -7 - CPU, Mem, Disk util high (CPUUTL,MEMUTL,DISKUTL) : CPU/Memory/Disk utilizations are high -8 - FD utilization high (FDUTL) : FD utilization is high -9 - CPU, FD util high (CPUUTL,FDUTL) : CPU and FD are in alarm state -10 - Mem, FD util high (MEMUTL,FDUTL) : Memory and FD are in alarm state -11 - CPU, Mem, FD alarm (CPUUTL,MEMUTL,FDUTL) : CPU/Memory/FD are in alarm state -12 - Disk, FD util high (DISKUTL,FDUTL) : Disk and FD are in alarm state -13 - CPU, Disk, FD alarm (CPUUTL,DISKUTL,FDUTL) : CPU/Disk/FD are in alarm state -14 - Mem, Disk, FD alarm (MEMUTL,DISKUTL,FDUTL) : Memory/Disk/FD are in alarm state -15 - CPU,Mem,Disk,FD alarm (CPUUTL,MEMUTL,DISKUTL,FDUTL) : CPU/Memory/Disk/FD alarm
-
- -Corrective action -
If any load remains high continuously, contact maintenance service
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIHI 100 - - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SYSHLTS_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PCF, NNNN=4210, ALARM_PV=EC-GN-SYSM-52RF-01:PCF4210-SYSHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
- -Current state of TCNd and the synchronization state of the device -true -0 - -System time synchronization is not fully operational -
If status is N/A, then check that tcnd is running. -If status is not operational for some time, please contact maintenance service.
-
- -Documentation TCNd -
firefox file:///opt/codac/doc/pdf/TCNd_User_Manual.pdf
-
- -TCNd Sync. Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-TSTATUS_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PCF, NNNN=4210, ALARM_PV=EC-GN-SYSM-52RF-01:PCF4210-TSTATUS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System clock synchronization with respect to ITER time, ALARM_GUIDANCE1_DETAILS=The computer system clock is synchronized to ITER time using the TCN daemon (TCNd) component of CODAC Core SYstem. Please see TCNd User Manual (ITER_D_MUYNT6 - /opt/codac/doc/pdf/TCNd_User_Manual.pdf). -The clock synchronization has been detected to have been in an abnormal state. i.e. STATUS different from 'Operational' after two minutes of uptime."
-
-
- -Any one of CPU, MEM, Disk, FD, Process of the host is in alarm state -true -0 - -System is an abnormal state -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - one of CPU, Disk, Memory, FD load is high or necessary process has been stopped -2 - two of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped -3 - three of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped
-
- -Corrective action -
If any load remains high continuously, contact maintenance service. -In addition, check if the necessary processes are running
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIHI 100 - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SHLT_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PSH, NNNN=4410, ALARM_PV=EC-GN-SYSM-52RF-01:PSH4410-SHLT, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD / Process of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
- -Any one of CPU, MEM, Disk or FD of the host is in alarm state -true -0 - -System resource utilization is high -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - CPU utilization high (CPUUTL) : CPU utilization is high -2 - Memory utilization high (MEMUTL) : Memory utilization is high -3 - CPU, Mem util high (CPUUTL, MEMUTL) : CPU and Memory utilizations are high -4 - Disk utilization high (DISKUTL) : Disk utilizations are high -5 - CPU, Disk util high (CPUUTL,DISKUTL) : CPU and Disk utilizations are high -6 - Mem, Disk util high (MEMUTL,DISKUTL) : Memory and Disk utilizations are high -7 - CPU, Mem, Disk util high (CPUUTL,MEMUTL,DISKUTL) : CPU/Memory/Disk utilizations are high -8 - FD utilization high (FDUTL) : FD utilization is high -9 - CPU, FD util high (CPUUTL,FDUTL) : CPU and FD are in alarm state -10 - Mem, FD util high (MEMUTL,FDUTL) : Memory and FD are in alarm state -11 - CPU, Mem, FD alarm (CPUUTL,MEMUTL,FDUTL) : CPU/Memory/FD are in alarm state -12 - Disk, FD util high (DISKUTL,FDUTL) : Disk and FD are in alarm state -13 - CPU, Disk, FD alarm (CPUUTL,DISKUTL,FDUTL) : CPU/Disk/FD are in alarm state -14 - Mem, Disk, FD alarm (MEMUTL,DISKUTL,FDUTL) : Memory/Disk/FD are in alarm state -15 - CPU,Mem,Disk,FD alarm (CPUUTL,MEMUTL,DISKUTL,FDUTL) : CPU/Memory/Disk/FD alarm
-
- -Corrective action -
If any load remains high continuously, contact maintenance service
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIHI 100 - - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SYSHLTS_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PSH, NNNN=4410, ALARM_PV=EC-GN-SYSM-52RF-01:PSH4410-SYSHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - -
-
-
\ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/3f/3f4db3b56cd9ff77536c4ef03db90d604e137565.svn-base b/EC-GN-JA-PCF/.svn/pristine/3f/3f4db3b56cd9ff77536c4ef03db90d604e137565.svn-base deleted file mode 100644 index c9bc4f2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/3f/3f4db3b56cd9ff77536c4ef03db90d604e137565.svn-base +++ /dev/null @@ -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=JARTSampleGAM.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)/JARTSampleGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTSampleGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/3f/3f9dfae778989e6382bdc7e264248240d52f28d8.svn-base b/EC-GN-JA-PCF/.svn/pristine/3f/3f9dfae778989e6382bdc7e264248240d52f28d8.svn-base deleted file mode 100644 index ccec4a0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/3f/3f9dfae778989e6382bdc7e264248240d52f28d8.svn-base +++ /dev/null @@ -1,18 +0,0 @@ -record(bo, "test:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "test:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "test:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(longin, test:doValue){ - field(SCAN, "Passive") -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/3f/3fdb6fbb257caa83d471a695487bf999956c1446.svn-base b/EC-GN-JA-PCF/.svn/pristine/3f/3fdb6fbb257caa83d471a695487bf999956c1446.svn-base deleted file mode 100644 index fb91d7c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/3f/3fdb6fbb257caa83d471a695487bf999956c1446.svn-base +++ /dev/null @@ -1,389 +0,0 @@ -record (bi,"EC-GN-P01-GAF:DIO4900-YON") -{ - field(DESC, "GY1 External trigger") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 22) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-AI-SIMM") -{ - field(DESC, "GY1 AI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-AO-SIMM") -{ - field(DESC, "GY1 AO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-CSV-LOAD") -{ - field(DESC, "File load trigger") - field(HIGH, "0.1") - field(ONAM, "Loading") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Load") -} - -record (bo,"EC-GN-P01-GAF:STAT-CSV-LOADED") -{ - field(DESC, "File load status") - field(ONAM, "Loaded") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Loading") -} - -record (bo,"EC-GN-P01-GAF:STAT-DI-SIMM") -{ - field(DESC, "GY1 DI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-DO-SIMM") -{ - field(DESC, "GY1 DO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU") -{ - field(DESC, "GY1 egu of shot length") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") - field(ONAM, "s") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "ms") -} - -record (bo,"EC-GN-P01-GAF:STAT-MST-TRIG") -{ - field(DESC, "GY1 Master trigger") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-PREP-MODE") -{ - field(DESC, "GY1 Pre-Pro mode ON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-SHORT-PULSE") -{ - field(DESC, "GY1 Short Pulse Mode") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-TRIG-SOUR") -{ - field(DESC, "GY1 External Trigger Mode SW") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ai,"EC-GN-P01-GAF:MOE2810-ET") -{ - field(DESC, "GY1 Arc detect signal 1") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2810-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 1") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MOE2820-ET") -{ - field(DESC, "GY1 Arc detect signal 2") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2820-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 2") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MOE2830-ET") -{ - field(DESC, "GY1 Arc detect signal 3") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2830-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 3") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MRF2910-ET") -{ - field(DESC, "GY1 RF Signal") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MRF2910-ET-WF") -{ - field(DESC, "GY1 RF Signal") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:STAT-BEAMON-TIME") -{ - field(DESC, "GY1 Beam ON time") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (mbbo,"EC-GN-P01-GAF:STAT-CSV-ERR") -{ - field(DESC, "File load error status") - field(FRST, "Format error") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "Out of range") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(ONST, "Successfully loaded") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Empty data") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Failed to open") - field(TWSV, "MAJOR") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Not loaded yet") - field(ZRSV, "MINOR") - field(ZRVL, "0") -} - -record (stringout,"EC-GN-P01-GAF:STAT-CSV-NAME") -{ - field(DESC, "CSV file name") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "shot000000") -} - -record (ai,"EC-GN-P01-GAF:STAT-DT-SHOTLEN") -{ - field(DESC, "GY1 Shot length") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "100") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "1000000") -} - -record (calcout,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") -{ - field(CALC, "(!A)?1000*B:1000000*B") - field(DESC, "GY1 shot length convert") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN") - field(INPA, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU") - field(INPB, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM") - field(OUT, "EC-GN-P01-GAF:STAT-DT-SHOTLEN") - field(SCAN, "Passive") -} - -record (ao,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM") -{ - field(DESC, "GY1 shot length without unit") - field(DRVH, "3600") - field(DRVL, "0") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") - field(HOPR, "3600") - field(LOPR, "0") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF:STAT-ELAPSED") -{ - field(DESC, "GY1 Elapsed time") - field(EGU, "us") - field(HOPR, "4000000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (longin,"EC-GN-P01-GAF:STAT-PREHEAT-TIME") -{ - field(DESC, "Pre-heating time") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (waveform,"EC-GN-P01-GAF:STAT-PREP-TIME-WF") -{ - field(DESC, "GY1 prepro time schedule") - field(EGU, "ms") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") -} - -record (fanout,"EC-GN-P01-GAF:STAT-SHOT-FLNK1") -{ - field(DESC, "GY1 fanout1 to AI waveform signal") -} - -record (fanout,"EC-GN-P01-GAF:STAT-SHOT-FLNK2") -{ - field(DESC, "GY1 fanout2 to AI waveform signal") -} - -record (longin,"EC-GN-P01-GAF:STAT-SHOT-ID") -{ - field(DESC, "GY1 shot ID") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (calcout,"EC-GN-P01-GAF:STAT-SHOT-PLOT") -{ - field(CALC, "A andand (B >= C)") - field(DESC, "GY1 judge to plot measured values") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST3R") - field(INPB, "EC-GN-P01-GAF:STAT-BEAMON-TIME") - field(INPC, "6000000") - field(OOPT, "Transition To Non-zero") - field(OUT, "EC-GN-P01-GAF:STAT-SHOT-FLNK1 PP") - field(SCAN, ".1 second") -} - -record (mbbi,"EC-GN-P01-GAF:STAT-SM") -{ - field(DESC, "GY#1 state machine") - field(EIST, "WaitHVON_SDN") - field(EIVL, "8") - field(FLNK, "EC-GN-P01-GAF:STAT-SHOT-PLOT") - field(FRST, "WaitReady") - field(FRVL, "4") - field(FVST, "WaitPermit") - field(FVVL, "5") - field(NIST, "WaitHVON_SDN_PREP") - field(NIVL, "9") - field(ONST, "Error") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SVST, "WaitHVON_PREP") - field(SVVL, "7") - field(SXST, "WaitHVON") - field(SXVL, "6") - field(THST, "WaitStandby") - field(THVL, "3") - field(TWST, "Disabled") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Init") - field(ZRVL, "0") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/40/408ff12f1f4bef1fbd5701ae6126af0d48fd9168.svn-base b/EC-GN-JA-PCF/.svn/pristine/40/408ff12f1f4bef1fbd5701ae6126af0d48fd9168.svn-base deleted file mode 100644 index ebf5a71..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/40/408ff12f1f4bef1fbd5701ae6126af0d48fd9168.svn-base +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -def test_sync(): - """Test Sync Mode""" - print '1. Set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-SWON 500000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 300000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DT-SHOTLEN 300000000', shell=True) - print '2. Set SYNC flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 1', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 1', shell = True) - print '3. Set Mode 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 600000000', shell = True) - print '4. 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) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 1', shell=True) - time.sleep(1) - print '5. 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) - print '6. Wait SDN commands.' - print 'Enter to stop operation(Trun off PLC_HVON)' - inpval = raw_input() - print '7. Write 0 to 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(2) - print '8. 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) - 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 '9. Reset Mode 1 flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) - print 'end of sequence.' - -def test_sync_prepro(): - """Test Sync PrePro Mode""" - print '1. Set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 300000000', shell=True) - print '2. Set SYNC flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 1', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 1', shell = True) - print '3. Set Mode 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 600000000', shell = True) - print '4.Set Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 1', shell = True) - time.sleep(1) - print '5. 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) - print '6. 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) - print '7. Wait SDN commands.' - print 'Enter to stop operation(Trun off PLC_HVON)' - inpval = raw_input() - print '8. Write 0 to 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(2) - print '9. 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 '10.Reset Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) - time.sleep(1) - print '11. Reset Mode 1 flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) - print 'end of sequence.' \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/42/4201267146fc5ac3f8cdfce9473304430564c8fd.svn-base b/EC-GN-JA-PCF/.svn/pristine/42/4201267146fc5ac3f8cdfce9473304430564c8fd.svn-base deleted file mode 100644 index 5991673..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/42/4201267146fc5ac3f8cdfce9473304430564c8fd.svn-base +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -./Main.sh -f ../Configurations/tests/NI6528_NI6259_test.cfg -l RealTimeLoader -m StateMachine:START - diff --git a/EC-GN-JA-PCF/.svn/pristine/42/427221460c3ebad8dfdbdb18fd4ecbefb6ea87b0.svn-base b/EC-GN-JA-PCF/.svn/pristine/42/427221460c3ebad8dfdbdb18fd4ecbefb6ea87b0.svn-base deleted file mode 100644 index bb00d97..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/42/427221460c3ebad8dfdbdb18fd4ecbefb6ea87b0.svn-base +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################ -## Save and restore -############################################################################ - -### save_restore setup -# status-PV prefix -save_restoreSet_status_prefix("$(AUTOSAVE_SYSM_PV_PREFIX)") - -# Use status-PV -save_restoreSet_UseStatusPVs(1) - -# Debug-output level -save_restoreSet_Debug(0) - -# Ok to save/restore save sets with missing values (no CA connection to PV)? -save_restoreSet_IncompleteSetsOk(1) -# Save dated backup files? -save_restoreSet_DatedBackupFiles(1) - -# Number of sequenced backup files to write -save_restoreSet_NumSeqFiles(3) -# Time interval between sequenced backups -save_restoreSet_SeqPeriodInSeconds(300) - -# specify where save files should be -set_savefile_path("$(EPICS_AUTOSAVE_VAR)/$(UNIT_NAME)") - -# specify what save files should be restored. Note these files must be -# in the directory specified in set_savefile_path(), or, if that function -# has not been called, from the directory current when iocInit is invoked - -# Save files associated with the request files 'auto-output.req' and -# 'auto-input.req'. These files are the standard way to use autosave - -set_pass1_restoreFile("iocEC-GN-PSH0PCF.sav") - -# specify directories in which to to search for included request files -set_requestfile_path("./") - -dbLoadRecords("$(EPICS_ROOT)/db/save_restoreStatus.db", "P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/42/42cac31e62507cee1d6cad721f8241286a2dcac5.svn-base b/EC-GN-JA-PCF/.svn/pristine/42/42cac31e62507cee1d6cad721f8241286a2dcac5.svn-base deleted file mode 100644 index dd322b8..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/42/42cac31e62507cee1d6cad721f8241286a2dcac5.svn-base +++ /dev/null @@ -1,123 +0,0 @@ -/** - * @file JABitReverseGAM.cpp - * @brief Source file for class JABitReverseGAM - * @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 JABitReverseGAM (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 "JABitReverseGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JABitReverseGAM::JABitReverseGAM() { - //Input signals. - input1 = NULL_PTR(MARTe::uint8 *); - - //Output signals. - output1= NULL_PTR(MARTe::uint8 *); -} - -JABitReverseGAM::~JABitReverseGAM() { -} - -bool JABitReverseGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - return ok; -} - -bool JABitReverseGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JABitReverseGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 1u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One input signals shall be defined"); - } - // Do type check for input signals. - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - ok = ((inputType == UnsignedInteger8Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger8Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - } - } - // Do type cast. - if (ok) { - input1 = reinterpret_cast(GetInputSignalMemory(0)); - - output1 = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JABitReverseGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - *output1 = ~(*input1); - return true; -} - -CLASS_REGISTER(JABitReverseGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/43/43518b3f7985ff1378fe0d78c9f0f5e17a3aa242.svn-base b/EC-GN-JA-PCF/.svn/pristine/43/43518b3f7985ff1378fe0d78c9f0f5e17a3aa242.svn-base deleted file mode 100644 index 462f62b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/43/43518b3f7985ff1378fe0d78c9f0f5e17a3aa242.svn-base +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @file JABitSumGAM.h - * @brief Header file for class JABitSumGAM - * @date Feb 10, 2020 - * @author kuchida - * - * @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 JABitSumGAM - * 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_JABitSumGAM_H_ -#define GAMS_JABitSumGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "stdio.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JABitSumGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JABitSumGAM(); - - virtual ~JABitSumGAM(); - - 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: - // Input signals - MARTe::uint32 *input0; - MARTe::uint32 *input1; - MARTe::uint32 *input2; - MARTe::uint32 *input3; - MARTe::uint32 *input4; - MARTe::uint32 *input5; - MARTe::uint32 *input6; - MARTe::uint32 *input7; - - // Output signals - MARTe::uint8 *output; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JABitSumGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/45/45ace7db3804f804773aef9c6ba83dfd6cd27967.svn-base b/EC-GN-JA-PCF/.svn/pristine/45/45ace7db3804f804773aef9c6ba83dfd6cd27967.svn-base deleted file mode 100644 index 2bd84d4..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/45/45ace7db3804f804773aef9c6ba83dfd6cd27967.svn-base +++ /dev/null @@ -1,24 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuIndex="" - phyName="" - for row in selection: - cuIndex=row[0]; - phyName=row[1] - # change $(CU_INDEX) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CUB", cuIndex) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-"+cuIndex+"-CubicleContents.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/46/462899184ae75716f9a8903e9f3836feef5781ef.svn-base b/EC-GN-JA-PCF/.svn/pristine/46/462899184ae75716f9a8903e9f3836feef5781ef.svn-base deleted file mode 100644 index 16a1375..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/46/462899184ae75716f9a8903e9f3836feef5781ef.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/46/462d88297695ed1999e9a4cfd4d879d4a75aed50.svn-base b/EC-GN-JA-PCF/.svn/pristine/46/462d88297695ed1999e9a4cfd4d879d4a75aed50.svn-base deleted file mode 100644 index 0776c60..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/46/462d88297695ed1999e9a4cfd4d879d4a75aed50.svn-base +++ /dev/null @@ -1,120 +0,0 @@ -record (bi,"EC-GN-P01-GBFP:FMC4310-RV1") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 11) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-RV2") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 12) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-RV3") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 13) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV5") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV6") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV7") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV8") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-YSTA-GBOP") -{ - field(DESC, "GY2 Beam ON Status") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-YTRP") -{ - field(DESC, "Interlock from fast protection 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 9) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-YTRP2") -{ - field(DESC, "Pause signal from fast protection 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 10) bitread") - field(ONAM, "PAUSE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/46/46a808cfd5beafa5e60aefee867bf92025dc2849.svn-base b/EC-GN-JA-PCF/.svn/pristine/46/46a808cfd5beafa5e60aefee867bf92025dc2849.svn-base deleted file mode 100644 index df999dd..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/46/46a808cfd5beafa5e60aefee867bf92025dc2849.svn-base +++ /dev/null @@ -1 +0,0 @@ -generic \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/48/485d347b8594a32bbe88fc8140331f42a390a008.svn-base b/EC-GN-JA-PCF/.svn/pristine/48/485d347b8594a32bbe88fc8140331f42a390a008.svn-base deleted file mode 100644 index 5598c54..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/48/485d347b8594a32bbe88fc8140331f42a390a008.svn-base +++ /dev/null @@ -1,29 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); - -var selectionListener = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var selectedrow= table.getSelection(); - var cuName=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - - var macroInput = DataUtil.createMacrosInput(true); - macroInput.put("CU", cuName); - macroInput.put("PHY_NAME", phyName); - macroInput.put("FCT_NAME", fct_name); - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if (cuName.indexOf("P") == 0) { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-PLCDetails.opi", 1, macroInput); - } - else { - ScriptUtil.openOPI(widget, fct_name+"-CubiclePLCDetails.opi", 0, macroInput); - } - } -}; -table.addSelectionChangedListener(selectionListener); - diff --git a/EC-GN-JA-PCF/.svn/pristine/48/48b543d561b4987879ec76372d7dddeeb902ca4e.svn-base b/EC-GN-JA-PCF/.svn/pristine/48/48b543d561b4987879ec76372d7dddeeb902ca4e.svn-base deleted file mode 100644 index 3ba269d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/48/48b543d561b4987879ec76372d7dddeeb902ca4e.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -#RULES_DIRS -include $(CONFIG)/RULES_DIRS diff --git a/EC-GN-JA-PCF/.svn/pristine/48/48b6238e3504c525c654bc5f385cfdf2873ae341.svn-base b/EC-GN-JA-PCF/.svn/pristine/48/48b6238e3504c525c654bc5f385cfdf2873ae341.svn-base deleted file mode 100644 index 00886e0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/48/48b6238e3504c525c654bc5f385cfdf2873ae341.svn-base +++ /dev/null @@ -1,15 +0,0 @@ -#include "sdd-dan.h" -#include -#include "stdlib.h" - -int declareDANStruct(dan_Source ds ){ - - int result=0; - int Cnt=0; - if(ds==NULL){ - log_error("Invalid call to declareDANStruct, dan source not initialized \n "); - return -1; - } - - return 0; - } \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/49/4951acd666b7ef270c97c569ea65f9cff0794f05.svn-base b/EC-GN-JA-PCF/.svn/pristine/49/4951acd666b7ef270c97c569ea65f9cff0794f05.svn-base deleted file mode 100644 index 1b2696d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/49/4951acd666b7ef270c97c569ea65f9cff0794f05.svn-base +++ /dev/null @@ -1,257 +0,0 @@ -### The board on the Right Side Slots - -# NI6259 P0 PVs -record(bo, "ni6259:d1:p0:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - -#NI6528 P3 PVs -record(bo, "ni6528:d1:p3:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - - -#NI6528 P4 PVs -record(bo, "ni6528:d1:p4:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - - -### Left Side Slots -# NI6259 P0 PVs -record(bo, "ni6259:d0:p0:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - -#NI6528 P3 PVs -record(bo, "ni6528:d0:p3:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - - -#NI6528 P4 PVs -record(bo, "ni6528:d0:p4:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} diff --git a/EC-GN-JA-PCF/.svn/pristine/4b/4b097c32839a747f3e9a21cf7a5578b1cde41768.svn-base b/EC-GN-JA-PCF/.svn/pristine/4b/4b097c32839a747f3e9a21cf7a5578b1cde41768.svn-base deleted file mode 100644 index c2d11a9..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4b/4b097c32839a747f3e9a21cf7a5578b1cde41768.svn-base +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/4b/4ba8746e8a5b1cef852e24ba33f83c3b4871f9e0.svn-base b/EC-GN-JA-PCF/.svn/pristine/4b/4ba8746e8a5b1cef852e24ba33f83c3b4871f9e0.svn-base deleted file mode 100644 index 0e1b217..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4b/4ba8746e8a5b1cef852e24ba33f83c3b4871f9e0.svn-base +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/4b/4bcbb25a3345164e6a381b55704f07fb8e0312de.svn-base b/EC-GN-JA-PCF/.svn/pristine/4b/4bcbb25a3345164e6a381b55704f07fb8e0312de.svn-base deleted file mode 100644 index e9041ce..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4b/4bcbb25a3345164e6a381b55704f07fb8e0312de.svn-base +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @file JAModeControlGAM.h - * @brief Header file for class JAModeControlGAM - * @date Jan, 2019 - * @author kuchida - * - * @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 JAModeControlGAM - * 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_JAMODECONTROLGAM_H_ -#define GAMS_JAMODECONTROLGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that check the pulse lenght limit. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +ModeLimitGAM = {
- *           Class = JAModeControlGAM
- *           InputSignals = {
- *               PLC_MODE1 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD1_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE2 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD2_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE3 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD3_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE4 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD4_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               RFON = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint32
- *               }
- *               Time = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               HVInjection = {
- *               	DataSource = RealTimeThreadAsyncBridge
- *               	Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               MODE_SHOTLEN_FLAG = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *       }
- * 
- * If MODE1 is ON and Time is exceed MD1_SHOTLEN_LIM, MODE_SHOTLEN_FLAG become ON. - */ - -class JAModeControlGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAModeControlGAM(); - - virtual ~JAModeControlGAM(); - - 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: - - MARTe::uint32 CalcPulseLengthLimit(MARTe::uint32 **inputSignals); - - // Input signals - MARTe::uint32 **inputSignals; - - // Output signals - MARTe::uint32 *outputSignal; - - // Calculated pulse lenght limit. - MARTe::uint32 pulseLengthLimit; - - // Amount of time passed per execution cycle. - MARTe::uint32 rfonTime; - - // reset flag - bool resetRemainingTime; - MARTe::uint32 previousState; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAMODECONTROLGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/4c/4c008fb086ec9ae271cbafab9e19ae94c0550990.svn-base b/EC-GN-JA-PCF/.svn/pristine/4c/4c008fb086ec9ae271cbafab9e19ae94c0550990.svn-base deleted file mode 100644 index c3eaa05..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4c/4c008fb086ec9ae271cbafab9e19ae94c0550990.svn-base +++ /dev/null @@ -1,31 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() -nbColPVs=2 -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK -elif s == 4: - color = ColorFontUtil.GREEN -# table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color) -if "-CUBHLTS" in triggerPV.getName(): - table.setCellText(i/nbColPVs, 3, PVUtil.getString(triggerPV)) - table.setCellBackground(i/nbColPVs, 3, color) -if "-PLCHLTS" in triggerPV.getName(): - table.setCellText(i/nbColPVs, 4, PVUtil.getString(triggerPV)) - table.setCellBackground(i/nbColPVs, 4, color) diff --git a/EC-GN-JA-PCF/.svn/pristine/4c/4c9a1176dcf52d8f864e19529ce95425546b58c2.svn-base b/EC-GN-JA-PCF/.svn/pristine/4c/4c9a1176dcf52d8f864e19529ce95425546b58c2.svn-base deleted file mode 100644 index fa62c0e..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4c/4c9a1176dcf52d8f864e19529ce95425546b58c2.svn-base +++ /dev/null @@ -1,17 +0,0 @@ -######################################## -# Program-specific environment variables -######################################## - -# INFO - This file is part of the I&C project. It can be modified without risk of being overwritten. -# INFO - This file is sourced when invoking 'mvn run -Dprog=' to allow for setting development-specific environment variables. - -# Override SDN interface name for test purposes -# Default: lo -# Project: Target host in SDD database -#SDN_INTERFACE_NAME=lo - -# INFO - This file can be further extended with anything specific required by the program. - -#LOG_FILE_ENABLE=false -#LOG_FILTER_LEVEL=info -#LOG_FWD_MODE=asyn diff --git a/EC-GN-JA-PCF/.svn/pristine/4c/4ca6a80f8855bcd5787141444c0a11312ad980b9.svn-base b/EC-GN-JA-PCF/.svn/pristine/4c/4ca6a80f8855bcd5787141444c0a11312ad980b9.svn-base deleted file mode 100644 index 7c58c4c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4c/4ca6a80f8855bcd5787141444c0a11312ad980b9.svn-base +++ /dev/null @@ -1,1471 +0,0 @@ - - - - Display - - true - F0 - 52RF01-PCF-4210 - EC-GN-SYSM - 52RF - 01 - 4210 - PCF - - false - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - false - - - - false - -1 - -1 - - - - - true - Grouping Container - - true - - true - 6 - - true - - 2 - groupHeading - - false - false - false - - - - - true - false - - 0 - - - - - - - 0 - - - - - - 1243 - 50 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SystemDetailsLabel - - - false - false - false - - - false - System Information: - - true - 1 - true - Label - 40 - true - - 6 - 55 - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-SYS_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 200 - 45 - - - true - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - (°C) - picmg-sensors - - - - - - - (°C) - picmg-sensors - - - - - - - (°C) - picmg-sensors - - - - - - - (MB) - sysmon - - - - - - - (MB) - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (KB) - sysmon - - - - - - - (KB) - sysmon - - - - - - - (%) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon-tcnd - - - - - - - - sysmon - - - - - - - (ns) - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - (s) - sysmon-tcnd - - - - - - - - sysmon-tcnd - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-BTIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CAV1 - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CCSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CTEMPAVG - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CTEMPMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CTEMPMIN - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EPICSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-HOSTNAME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-IPADDR - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-KERNELV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NRBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NSBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-OSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCLST - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCSTS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SHLT - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TDEVICE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TMAXOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TMEANOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TMINOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TOFFSET - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TSTATUS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TSTDOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TUPTIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TVERSION - - - 600 - SystemDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - Template Name - 100 - no - - - false - - 2 - - - - 5 - - 125 - - 6 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - COREIOCDetailsLabel - - - false - false - false - - - false - CORE IOC: - - true - 1 - true - Label - 40 - true - - 1600 - 55 - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-IOC_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 1800 - 45 - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-SVPORT - - - 600 - COREIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 125 - - 1600 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SYSMIOCDetailsLabel - - - false - false - false - - - false - SYSM IOC: - - true - 1 - true - Label - 40 - true - - 6 - 750 - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-SVPORT - - - 600 - SYSMIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 6 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLCIOCDetailsLabel - - - false - false - false - - - false - Others: - - true - 1 - true - Label - 40 - true - - 1600 - 750 - - - - true - - - - - - - 600 - PLCIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 1600 - - - - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 6 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 4 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 4 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/4d/4d0d4a9f9c5419716adc211e5fad73939eb957d5.svn-base b/EC-GN-JA-PCF/.svn/pristine/4d/4d0d4a9f9c5419716adc211e5fad73939eb957d5.svn-base deleted file mode 100644 index f5f01cc..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4d/4d0d4a9f9c5419716adc211e5fad73939eb957d5.svn-base +++ /dev/null @@ -1,53 +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=RandomDataSource.x - -PACKAGE=DataSources - -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)/RandomDataSource$(LIBEXT) \ - $(BUILD_DIR)/RandomDataSource$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/4d/4d0efcf04f4bdf1098c1953e08dbce7c37031a73.svn-base b/EC-GN-JA-PCF/.svn/pristine/4d/4d0efcf04f4bdf1098c1953e08dbce7c37031a73.svn-base deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4d/4d0efcf04f4bdf1098c1953e08dbce7c37031a73.svn-base +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/.svn/pristine/4d/4d38832d2f7f52eeb0a4e98e9ab63d1fa17b661e.svn-base b/EC-GN-JA-PCF/.svn/pristine/4d/4d38832d2f7f52eeb0a4e98e9ab63d1fa17b661e.svn-base deleted file mode 100644 index 8f595b2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4d/4d38832d2f7f52eeb0a4e98e9ab63d1fa17b661e.svn-base +++ /dev/null @@ -1,414 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - - -def test_async(): - """" - Simulate permit signal and ON signal from PLC. - Confirm pulse generation with async mode. 10ms - """ - print '1.set beam-on schedule (10ms diff + 3s pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 1000000', shell=True) - # 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 10000000', 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(1) - 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 "end of async, non-prepro mode test!" - -def test_async_limit(): - """" - Mode Limit Stop test. - Pulse lenght was set to 3s, but it stop in 1s because of mode limit. - """ - print '1.set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 11000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 21000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 31000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 41000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 3000000', shell=True) - # 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(6) - 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 "end of async, non-prepro mode test!" - -def test_async_prepro(): - """PrePro mode test""" - print '1.set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 3000000', shell=True) - 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 10000000', shell = True) - time.sleep(1) - print '1.Set Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 1', shell = True) - time.sleep(1) - print '2.Reset Mode 1 flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) - 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(2) - 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) - time.sleep(4) - print '5.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(3) - print '6.Reset Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 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 'end of async, prepro mode testscript!' - -def test_async_shortpulse(): - """Short Pulse Mode test""" - #print '1.Set puls length to 1ms (1ms diff)' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 1', shell=True) #Set short pulse mode. - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 1', shell = True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 2000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 4000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 5000', shell=True) #Should be grater than 1ms. - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 1000', shell=True) - print '1.Set puls length to 100us (100us diff)' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 1', shell=True) #Set short pulse mode. - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 1', shell = True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200', shell=True) - #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) - print '1.Set puls length (100us diff)' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 1', shell=True) #Set short pulse mode. - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 1', shell = True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200', shell=True) - 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 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) - time.sleep(1) - print '3.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(1) - print '4.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 '5.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 '6.Reset short pulse mode' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0', shell=True) #Set short pulse mode. - print "-----------------------------------------\n" - -def test_async_longpulse(): - """" - Simulate permit signal and ON signal from PLC. - Confirm pulse generation with async mode. 10ms - """ - print '1.set beam-on schedule (10ms diff + 50ms pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 3600000000', shell=True) - # 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 180000000', 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(185) - 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 "end of async, non-prepro mode test!" - -def test_async_both(): - """" - Simultanious operation test. - """ - print '1.set beam-on schedule (10ms diff + 500ms pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 500000', shell=True) - - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DT-SHOTLEN 500000', shell=True) - # 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) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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(1) - 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) - 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(): - """" - Test GYA operation with Async mode. - """ - #print '1.set beam-on schedule (1s diff + 1s pulse.)' - #print '1.set beam-on schedule (100ms diff + 1s pulse.)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 1000000', shell=True) - #print '1.set beam-on schedule (10ms diff + 100ms pulse.)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - #print '1.set beam-on schedule (1ms diff + 10ms pulse.)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 2000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 4000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 5000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 10000', shell=True) - print '1.set beam-on schedule (1s diff + 20s pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 2000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 4000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 5000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 20000000', shell=True) - # 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(30) - 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 "end of async, non-prepro mode test!" - -def test_async_GYB(): - """" - Test GYB operation with Async mode. - """ - print '1.set beam-on schedule (1s diff + 1s pulse.)' - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-HVON 1000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-HVON 2000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-SWON 4000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-SWON 5000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DT-SHOTLEN 20000000', shell=True) - # 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-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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(30) - 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-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_manual(): - """" - Test GYA operation with Async mode. - """ - print '1.. Set delays and pulse length on HMI and set sleep time here:' - inp_val = raw_input() - try: - sleep_time = float(inp_val) - except: - return - # 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 "end of async, non-prepro mode test!" - -def test_async_GYB_manual(): - """" - Test GYA operation with Async mode. - """ - print '1.. Set delays and pulse length on HMI and set sleep time here:' - inp_val = raw_input() - try: - sleep_time = float(inp_val) - except: - return - # 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-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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-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!" diff --git a/EC-GN-JA-PCF/.svn/pristine/4d/4dca29abe1ea225f0f812da1184a3be00fa23b36.svn-base b/EC-GN-JA-PCF/.svn/pristine/4d/4dca29abe1ea225f0f812da1184a3be00fa23b36.svn-base deleted file mode 100644 index a8af1fe..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4d/4dca29abe1ea225f0f812da1184a3be00fa23b36.svn-base +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef SDD_IOMODULE_H -#define SDD_IOMODULE_H - -//include all linux libraries for IO module listed in the programs - - -//max is 15 for component name -#define SDD_CPMAXLENGTH 50 -#define SDD_SERIALNBMAXLENGTH 60 -#define SDD_FDPREFIXMAXLENGTH 100 - -struct SDD_IOModule { - - //name of the module - char name[SDD_CPMAXLENGTH]; - - //type of the module - char modtype[SDD_CPMAXLENGTH]; - - //module index - int fd; - - //file descriptor name - char filedescrip_prefix[SDD_FDPREFIXMAXLENGTH]; - - //serial number - char serial_number [SDD_SERIALNBMAXLENGTH]; - -}; - -//list of symbol for IOModule : IO module type and fd -typedef enum SDD_IOModuleEnum { - - } SDD_IOModuleEnum; - - -#endif /* SDD_IOMODULE_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/4e/4e2dbd52e7f4d44bb897c60332f73ce790c2c609.svn-base b/EC-GN-JA-PCF/.svn/pristine/4e/4e2dbd52e7f4d44bb897c60332f73ce790c2c609.svn-base deleted file mode 100644 index 5a244e9..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/4e/4e2dbd52e7f4d44bb897c60332f73ce790c2c609.svn-base +++ /dev/null @@ -1 +0,0 @@ -7V1Zd+K4Ev41Oefeh/TxvjwSlpDbYRkgSfe8cBww4G5jM8ZkmV9/Je+WBMjGNg50P6RtYWup+lRVqirJN3xz/XHvaJtVz57r5g3HzD9u+NYNx0kcC/7Cgk+/QJAkv2DpGHO/iI0Lxsa/elDIBKU7Y65vUw+6tm26xiZdOLMtS5+5qTLNcez39GML20y3utGWOlYwnmkmXvpizN2VX6pwUlze1Y3lKmyZlVT/l1dt9nvp2DsraO+G4xfeP//ntRbWFQx0u9Lm9nuiiG/f8E3Htl3/av3R1E1I2pBs/nudPb9G/XZ0y6V5YbP6+/bVXm9s9y9xvdD+ni6Vx1tV9qt508xdQJAXzXDHrmbNXz+DjrufIbG84eqwQuaGv3tfGa4+3mgz+Os7QAcoW7lrE9yx4BLvYNDnN91x9Y9EUdDhe91e664DmmWCXzmV918JwRXQ8j3mFBvSd5XgUvicFoBjGdUcEwhcBDTKQi8Fo4k+B3gKbm3HXdlL29LMdlx6l6ZagkL6h+H+gMXfxODuZ+KX1kfwhnfzGdz80l33M5hG2s61QVHc6qNtb45Rf2vvnJlOgQlXc5a6S/EgpMBBbjq6qbnGW3rGFc4blgnxFYN5sFiYhqXXDsiccm4kswyHUatlbLVXE5Dl7ORiakctgSgoh7qzNtzz0wuTk+cnmIgRbOgAVQoEgbWsHcFE7vwEk4gIG+navH6KWDq7JmYZFaMXrputeQPaiOBuZmrbrTFDFLAFuuJrYFkM73+GahfexErYuwu1cKS5E3o7rGOv6q5AJUdS/ahOTjBOJPAtLKNW3UELQ9sAg4txo6QlOSsiePCHHryVtF6RipB6ZAmpx6cMVg/gvvaZeGwDH9ju7y/LIu2kbGpw4VcYwzai6AlIZnFNPHxsTsftx3ZzAsphESwN7ZsEwMH0ddOQ3rqO/Vtv2qbtgBLLtqAFujBMEynSTGNpwXkBwKiD8jsoDAywLmoEP6yN+dwzX0nSJS1/ChAwCH9pxTFXmnhh+SLFS0q2fONEWvESPBpKmJLESyQ1ijP5qxEvPIOIFzaneGEFBH9oRQXJFzHdjFiJeMEtsfxIZtNIpgZySk+WpSajFeDX05Mqgj9Uv9ECmRPZb2K6KpkOysXhDTdks+ONiBvuMHD2WnPsEZSegjjhiyIOtXQEFCbUolNCKkJ1ckmmmcBWIjxxB+kNJ5nQ6Jobb+ByCS97zeF42mhOpqO7pL3Gh4+CthNPEypo9FvUz3qNNZ9Go2lv0AeF2hpaZNbrduM9z0RFQQVQR2bvxqsTFt4fGVz85P7X4+4e6B6xoqN97nRB/YOnyaCPdJAthfpec712A5LkgXI4+yq/VGOeR8wclWDNizwu2lilPHOeweYxeY3FXC5bWIQtnCzgfKl4lYU7ca6eLTytt7s8tnD4bMlvwmUIbiUsuEzuuPwGXAbPGlsr+w1ZsEp5zTdk4SFRWm+FGVhcEX6WLwG1LKtToc5Yk/M6cRGsyUzVWMODeE1onT6Mp6Onfv+hf4/YjxesdXgxHdGJbLak1pGq1TpFOKq+iCgQqUWB9EcUlCEKinRS1Rxr9C4qsVZY49MYUficWENjh+gqs3Ss4T6k61vkoMw8/xpHKVACJOZ/iWkAdbMLo9BCFM7KG7VAVyElhffRxDKBZw73iyP3q1yfM0fKbMEckcNRezjtDVptRIKU4POE0mrYHvUe0GyEa3d0IrAlZpHxB+Zf8VItbC0HdjLw8w+aqliSCaQlWcVwwlOq7382pgA/3XZjMp089FDxcy3MEUlBjWrXyzyHMQdmjHafYZwN4UPVCaOSnM5CkFlKg6+8hFEe9zR2nxvOug75yCi5RFEO0zjOSDDcXeYRTJ83tp/WrHZEq0HWO4+7sLrPD9YvfeYatlUXsgkpstVgdwWPe2NGnUG/LvRKw4wlWXkV0wv3KHSfJ3AviqW559/txKJ5jnWQ/vhyvw2W9s75icWrKpKyJzL82clFtQZtWHAgY9cDHZWxXgPqctLZqStQrdJSO3G/CnVl5fzUxRctGKXK9e2nPPuJZNQSnPuB5jzu3A9XCzXxHaKBJBWBQ95AEgqrgjyH6PIvbKdcT6CAr/DyIznlo6ZNpc6Y738CkkN8fr09KClgKHkTcUSkIqEkJIvozEPPjTjyfCUucKGIzZ1EEX54D9W+8GyJOwiocR85MGoCfAQXCuroyivBq96vIpKMsQvFGk+NtXpFGi8Ga6WZpvXDGnXaCV+vtJOLwVqRxmPNsUadTsfXOp3u62KtyD3GGVPj8izVT8GaSo01pVZYYwUGddYI4SkHmTd98jzmtBSRukrHHGlr5oViTqHFXChQ6oI5EYWJKueEHIehV+WqRhwpZRBz294Nx9NRu9H6eVP6ZtTGwaauOJNGUlJIkRRCML3aTBqJtMok5kZhDN2b1Hep7BMFhH2kXBuWwL7ycm0k3MCB83z84u9pPzD3BiO8rNd9Bi/7iTqply+VozIvI8Kb5wlTMjyqpqIpSXW2A5ySe5h8LfNR5tO8I53+p1Y7Hak0cYM8ySrJcr2ja5t4ZIa3O+Rnv7k3u/t6NbuMrJgFiaAaSJq9vKMlFNzPApOXxnXIXWIZnv9Wu/QlBU8s3DN7Uf2aYQacPHv3tl1oS2RTgDBOoqRAJBz9i3cUL16bbGFZxI3Gc7RJuJEHsoTJQtqpSpwsnce8Oyqw6khGa6bJU5e++NNr8JxvLX5Sb4Kmm2dreh8PSm77YTx9mDzmazluhmob0b52rliGCZKCrrRos0k5dPtmgUKMaqk1ao/bkyJFB1H10b+Nz6GC7I9ihOr5OkOSqqf05rQOkgTtuXtTIKtO7A4ujs+HG4LM/mN3kmR2FEw7KrPL87EouI8F94Vd8I5PFT03hLC9TCnJ6/X99w/7+z/P7R9dcdnXh9Pb5WJ3i+cOBdvx6upqqHRDHpFkuGsGo1PeEPGxdJYwRBwGhRMJ1KWEiAmpfYdQVJMA8ZkTYDIfQs2gHw6SFQSkp6VDE1lGcpdVjOIsCWBUKD6EzSSG31dPzd1o9P2p9/z4Igxb2r30XjMMSyyCYS4fhlk2XZEsIxUVl99ApD4e4iS5YGmDGJThUeK7VxcfZVkG/W4DKxO9j6QQqVqA85GICNwCrB0i6AJq8Xk3+HH5V2DKolEzNvxI7zFksYxSErSO7C9mQgqC0n928Bu5dwEto/ukm6aYKG+WRqlCPBkqLCNeXKQ/tBwhRx2+RbeHFreowvOyYPR26OhDx8boUvWiSkFO2Ks0eEumV4mZ3nVbUhF2FRzEUE3sUQVxXPB5j2VUkS2pWC5WQasqtJ2ww6Uuqgifqbpg4+aCbWcVNW5kSrO5POOG+NWorEKywK1Xx7YznCIk6Q+gqNe+fRbgBD0ZJvfnI3nk42Qi5RnTWSUlmol55PxarF98FYK1tIOV63dmBfXXY2p2+oqqovnY2BeVqbHPCFhdlF9PzYG4301d1ExnKz++3LblvvHGqi1CYCTUkis21JLkw5Ti38PCTfTCSrdApd7aagIU7x3ck2FsfV0KY81bHVIh+vTfeOgX3ycLGNAg+Ot9NK7xNBnAqkYwMuzasKJvUEUfWqNt0LK4w4PFwjQsPfNgwu0lfs9gCfwGimd6gCkQjcvvYHKk3qdS/A/teUOLhrC/t1EB/Io9BLf2pi9sZw2puHDsNfhvtoXrZGBlwKaNBWxn/Dx9HDRaIblB6wcbSfN4CE/Bc+moUk2vWsZWezWBxUPVpz6kqr2hqxqsUrs6kAPwBFOaytvAqoJCBs5PxhvvbjP3Dm9j8GN9Ief9vWwd/6aRvPFwPxnd+592HLcnCfTjxd4E8N71YROSHFyC9jVPoHm8COgPKZ+B6ZCRlNM6E33j43RpqgbixfGmjrGGHh7mPxtzNgHX/4UDjiegN9UyYig+qJamI5OdAxuzrYCDwcoi6EPQK5/ms5W+TTw1bU3oJnSyiQZVEw3KJpBBR4fNZh14alF1oF/+c3nGnVjyHSEtfIq6CTDsUa+dFDQJcQxaCoQSbM9d+Y/AAxijyrMqklQSQS6cOwvbQoA+6vg4n9nrta9pxq2+Z2bNfnsD8jru6DMdGDHz7LQncTfsRmnsJTaQmb/o1KFoo1E1ho4hJjrS+Irm5WG+7RN5Gdn20P9fuzl5SOmIcqd/4qDlLKxcLFJkaKbp7k/5FKu3/imxDFyzZezsJtnXkjCddPpflymVjbVNhK/haAIu+4xPGB3edCHy/pycpld2TyFX/UFHTIvZkJ2FGBSGAUMDWZJgaaFas4OyNmwQlsD7jnfR6aQVN3Q6H+tCxol8JVBLHcpe+OokOL88s9RGaXqH3cX0b2DUD5CTJjYMBFBjobBAxBaAEi6K+JYY300A+fjWLbcvQGsDwb0wPdfjypjPAf5LiEnsO9044d2TSAdYsEoRge623mkI/7x2P5vfe389q4v2y2vvNtsHLwMKnxiPoHKtfoWQKhZjyhspwEOdZXlKiSDIFpeqEASHt9bXBAUssy8dI7vTXBUqwgExgZbAdkDicXBrO+7KXtqWZrbjUkRInumQyF+6636OjX9hN7UdUNRAoEe9fbQ92R/n3iC4OYrCQ8nGx2M8PlpxcFKjjla+H+om+ctDRe0QwTQggaRZdohw4VEQVeQzEcmGfxTsys51OpGlqpSWY2FItIRjncCtY8OkyVgSgmGtevZch0/8Hw== \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/50/50914f9ee1d8215fcd85b6d3ff3f49fc18ee48f1.svn-base b/EC-GN-JA-PCF/.svn/pristine/50/50914f9ee1d8215fcd85b6d3ff3f49fc18ee48f1.svn-base deleted file mode 100644 index f143ef0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/50/50914f9ee1d8215fcd85b6d3ff3f49fc18ee48f1.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/51/517cbe55fa5fdb473c64c3e12cc0fbd0791081e8.svn-base b/EC-GN-JA-PCF/.svn/pristine/51/517cbe55fa5fdb473c64c3e12cc0fbd0791081e8.svn-base deleted file mode 100644 index 0b30380..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/51/517cbe55fa5fdb473c64c3e12cc0fbd0791081e8.svn-base +++ /dev/null @@ -1,424 +0,0 @@ -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START") -{ - field(DESC, "Auto rampup start command") - field(HIGH, "0.1") - field(ONAM, "Start") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-LOC") -{ - field(DESC, "Local control on") - field(DTYP, "stream") - field(ONAM, "LOC") - field(OUT, "@PCR500LE.proto setLoc FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB") -{ - field(DESC, "Output ON readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getOut FHPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP") -{ - field(DESC, "Output ON command") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PCR500LE.proto setOut FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-REM") -{ - field(DESC, "Remote control on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setRem FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-RST") -{ - field(DESC, "Reset command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto resetDevice FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB") -{ - field(DESC, "External control readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getSourceON FHPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP") -{ - field(DESC, "External control ON command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setSourceON FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP") -{ - field(DESC, "GY2 FHPS rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 FHPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:STAT-SIMM") -{ - field(DESC, "GY2 FHPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB") -{ - field(DESC, "Output Voltage readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getVolt FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP") -{ - field(DESC, "Output voltage setpoint") - field(DRVH, "300") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setVolt FHPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME") -{ - field(DESC, "Auto rampup time") - field(DRVH, "100000") - field(DRVL, "10") - field(EGU, "sec") - field(HOPR, "100000") - field(LOPR, "10") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "30") -} - -record (mbbo,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT") -{ - field(DESC, "Auto rampup status") - field(ONST, "IN OPERATION") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(THST, "ERROR") - field(THVL, "3") - field(TWST, "FINISH") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "NOT IN OPERATION") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV") -{ - field(DESC, "Auto rampup target voltage") - field(DRVH, "300") - field(DRVL, "0.0") - field(EGU, "V") - field(HOPR, "60.0") - field(LOPR, "0.0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB") -{ - field(DESC, "Output Current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5") - field(INP, "@PCR500LE.proto getCurr FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP") -{ - field(DESC, "Output current setpoint") - field(DRVH, "5.0") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setCurr FHPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-EREF") -{ - field(DESC, "GY2 FHPS voltage setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP") -{ - field(DESC, "GY2 FHPS voltage manual setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GBF-FHPS:PSU2610-ERROR") -{ - field(DESC, "Error code") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getError FHPS2") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB") -{ - field(DESC, "Output frequency readback") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getFreq FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP") -{ - field(DESC, "Output frequency setpoint") - field(DRVH, "999.9") - field(DRVL, "1") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setFreq FHPS2") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (stringin,"EC-GN-P01-GBF-FHPS:PSU2610-IDN") -{ - field(DESC, "IDN") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto readDeviceID FHPS2") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI") -{ - field(DESC, "Measued AC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(INP, "@PCR500LE.proto getMeasACI FHPS2") - field(LOPR, "-5.0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP") -{ - field(DESC, "Measued AC Power") - field(DTYP, "stream") - field(EGU, "W") - field(HOPR, "500") - field(INP, "@PCR500LE.proto getMeasACP FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV") -{ - field(DESC, "Measued AC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getMeasACV FHPS2") - field(LOPR, "-300") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ") -{ - field(DESC, "Measued Frequency") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getMeasACF FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET") -{ - field(CALC, "A==1?0:1") - field(DESC, "GYB FHPS rampup comp off") - field(INPA, "EC-GN-P01-GBF:STAT-SM") - field(OOPT, "Transition To Zero") - field(OUT, "EC-GN-P01-GBF-FHPS:STAT-MANM PP") - field(SCAN, "1 second") -} - -record (waveform,"EC-GN-P01-GBF-FHPS:STAT-PREP-WF") -{ - field(DESC, "GY2 FHPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC") -{ - field(CALC, "A==2?1:0") - field(DESC, "GYB FHPS rampup comp check") - field(INPA, "EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(ABS(A-B)<0.1*B)?2:((C > D)?1:0);D:=C") - field(DESC, "GYB FHPS rampup stat check") - field(FLNK, "EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC") - field(INPA, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV") - field(INPB, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV") - field(INPC, "EC-GN-P01-GBF-FHPS:PSU2610-EREF") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYB FHPS rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/53/5319a1a2d1d0f7173cffb44d2ca7336c2fd927fa.svn-base b/EC-GN-JA-PCF/.svn/pristine/53/5319a1a2d1d0f7173cffb44d2ca7336c2fd927fa.svn-base deleted file mode 100644 index ebe75ef..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/53/5319a1a2d1d0f7173cffb44d2ca7336c2fd927fa.svn-base +++ /dev/null @@ -1,242 +0,0 @@ - - - - -EC-GN-SYSM - -EC-GN-SYSM-52RF-01:PLC4110-CFGWRCNTR -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PLC4110-PLCHLTS -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PLC4110-EVTHLTS -1.0 -0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-BTIME - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CCSV - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CORE-DBDLC - 10.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CORE-DBRECC - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CORE-STTOD - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CPUUTL - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-DISKUTL - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-EPICSV - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-HOSTNAME - 1.0 -0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-MEMUTL - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-NRBPS - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-NSBPS - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SHLT - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSHLTS - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSM-DBDLC - 10.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSM-DBRECC - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSM-STTOD - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-TDEVICE - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-TOFFSET - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-TSTATUS - 1.0 - 0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-BTIME -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-CCSV -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-CPUUTL -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-DISKUTL -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-EPICSV -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-HOSTNAME -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-MEMUTL -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-NRBPS -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-NSBPS -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-SHLT -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-SYSHLTS -1.0 -0.0 - - - -EC-GN-HWCF - - -EC-GN-P01-GAF - - -EC-GN-P01-GAF-CCPS - - -EC-GN-P01-GAF-FHPS - - -EC-GN-P01-GAF-GCPS - - -EC-GN-P01-GAF-MCPS - - -EC-GN-P01-GAFP - - -EC-GN-P01-GBF - - -EC-GN-P01-GBF-CCPS - - -EC-GN-P01-GBF-FHPS - - -EC-GN-P01-GBF-GCPS - - -EC-GN-P01-GBF-MCPS - - -EC-GN-P01-GBFP - - -EC-GN-P01-GPF - - -EC-GN-P01-GPS - - -EC-GN-P01-PA1F - - -EC-GN-P01-PA2F - - -EC-GN-P01-PB1F - - -EC-GN-P01-PB2F - - -EC-GN-P01-PMF - - diff --git a/EC-GN-JA-PCF/.svn/pristine/54/54771e7a1107a816e88d89281286046ae91019f9.svn-base b/EC-GN-JA-PCF/.svn/pristine/54/54771e7a1107a816e88d89281286046ae91019f9.svn-base deleted file mode 100644 index dbc6b1e..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/54/54771e7a1107a816e88d89281286046ae91019f9.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=Àéï=é, IDX=0, IOCTYPE=CUB, PP=, PPPP=, NNNN=, TTT=") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/54/54be21e00f211e3f81a33f1feb6d5ec457bc4580.svn-base b/EC-GN-JA-PCF/.svn/pristine/54/54be21e00f211e3f81a33f1feb6d5ec457bc4580.svn-base deleted file mode 100644 index 0c4212c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/54/54be21e00f211e3f81a33f1feb6d5ec457bc4580.svn-base +++ /dev/null @@ -1,29 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/includetopics.h.vm $ -// $Id: includetopics.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron02DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef INCLUDETOPICS_H -#define INCLUDETOPICS_H - -#include - - -#endif \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/55/55d3ec486070fce2b5a8392ee5c3ed6121017e46.svn-base b/EC-GN-JA-PCF/.svn/pristine/55/55d3ec486070fce2b5a8392ee5c3ed6121017e46.svn-base deleted file mode 100644 index 29d9b00..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/55/55d3ec486070fce2b5a8392ee5c3ed6121017e46.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## Thread scheduling configuration for real-time tuning -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/56/561bdf8242299eac7602f6eb1f790f96fbb19005.svn-base b/EC-GN-JA-PCF/.svn/pristine/56/561bdf8242299eac7602f6eb1f790f96fbb19005.svn-base deleted file mode 100644 index 256fd18..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/56/561bdf8242299eac7602f6eb1f790f96fbb19005.svn-base +++ /dev/null @@ -1 +0,0 @@ -Last SDD Generation: Tue May 13 15:53:47 UTC 2025 diff --git a/EC-GN-JA-PCF/.svn/pristine/56/56c3385c9c5b4d1fefbe2cadf37f5c02fd249a09.svn-base b/EC-GN-JA-PCF/.svn/pristine/56/56c3385c9c5b4d1fefbe2cadf37f5c02fd249a09.svn-base deleted file mode 100644 index 4226fef..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/56/56c3385c9c5b4d1fefbe2cadf37f5c02fd249a09.svn-base +++ /dev/null @@ -1,187 +0,0 @@ -/** - * @file JAPreProgrammedGAM.h - * @brief Header file for class JAPreProgrammedGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAPreProgrammedGAM - * 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_JAPREPROGRAMMEDGAM_H_ -#define GAMS_JAPREPROGRAMMEDGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that update PS output value for pre-programmed operation. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +PreProgrammedGAM = {
- *           Class = JAPreProgrammedGAM
- *           Directory = "../Configurations" // Directory which has pre-pro configuration file.
- *           PreProgrammedPeriodMs = 1       // RFON state is executed every millisecond.
- *           InputSignals = {
- *               CSV_LOAD = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               Filename = {
- *                   Alias = CSV_NAME
- *                   DataSource = EPICSCAInput
- *               }
- *               FHPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               RFON = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               GYA_PREHEAT_TIME = {
- *                   DataSource = DDB1
- *                   Type = int32
- *               }
- *               MHVPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               BPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               APS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               MCPS_TRG_CURR_SET = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               GCPS_TRG_CURR_SET = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               FHPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               CSV_LOADED = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               CSV_ERR = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *       }
- * 
- * - */ - -class JAPreProgrammedGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAPreProgrammedGAM(); - - virtual ~JAPreProgrammedGAM(); - - 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: - bool LoadFile(); - - void DeleteArrays(); - - //Parameters - MARTe::StreamString directory; //Location for prepro configuration file. - MARTe::uint32 preProgrammedExecutaionPeriodMs; // Time between to execution cycles in milliseconds in pre-programmed mode. - - //Input Signals - MARTe::uint32 *loadTriggerSignal; //index:0 - MARTe::uint32 filenameSignalIndex;//index:1 - MARTe::float32 *fhpsrefSignal; //index:2 - MARTe::uint32 *rfonStateSignal; //index:3 - - //Output Signals - MARTe::int32 *timeSignal; //index:0 - MARTe::float32 **valueSignals; //index:1-5 = BPS,APS,MC,GC,FHPS - MARTe::uint32 *fileLoadedSignal; //index:6 - MARTe::uint32 *fileLoadErrorOutput;//index:7 - - //Internal variables - MARTe::int32 *preProgrammedTime; - MARTe::float32 **preProgrammedValues; - - MARTe::uint32 startTime; - - //Number of columns in csv, EXCLUDING the time - MARTe::uint32 numberOfPreProgrammedValues; //is 5.(BPS, APS, MC, GC, FHPS) - MARTe::uint32 numberOfPreProgrammedTimeRows; //This start from t=0 row. - MARTe::uint32 currentRow; - - // Number of milliseconds since the last time output signals were updated. - MARTe::uint32 msCounter; - - // Row number where the pre-programmed data begins (time == 0). - MARTe::uint32 preProgrammedRow; - - enum OperationMode { - LoadFileMode, PreProgrammedMode, None - }; - enum PreProTableDefinition { - Time, MHVPS, BPS, APS, MCPS, GCPS, FHPS - }; - - OperationMode mode; - - bool resetOutputSignals; - - // Flag determining whether file should be read (so it isn't read multiple time) - bool readOnce; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAPREPROGRAMMEDGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/56/56cbc568d160147013d7797e1d940a2fb77683a3.svn-base b/EC-GN-JA-PCF/.svn/pristine/56/56cbc568d160147013d7797e1d940a2fb77683a3.svn-base deleted file mode 100644 index 07d2393..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/56/56cbc568d160147013d7797e1d940a2fb77683a3.svn-base +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2 -#Time,BPS,APS,MC,GC,FHPS -0,10,10,10,10,10 -10,9,9,9,9,9 -20,8,8,8,8,8 -30,7,7,7,7,7 -40,6,6,6,6,6 -50,5,5,5,5,5 -60,4,4,4,4,4 -70,3,3,3,3,3 -80,2,2,2,2,2 -90,1,1,1,1,1 -100,0,0,0,0,0 -110,1,1,1,1,1 -120,2,2,2,2,2 -130,3,3,3,3,3 -140,4,4,4,4,4 -150,5,5,5,5,5 -160,6,6,6,6,6 -170,7,7,7,7,7 -180,8,8,8,8,8 -190,9,9,9,9,9 -200,10,10,10,10,10 -210,9,9,9,9,9 -220,8,8,8,8,8 -230,7,7,7,7,7 -240,6,6,6,6,6 -250,5,5,5,5,5 -260,4,4,4,4,4 -270,3,3,3,3,3 -280,2,2,2,2,2 -290,1,1,1,1,1 -300,0,0,0,0,0 -310,1,1,1,1,1 -320,2,2,2,2,2 -330,3,3,3,3,3 -340,4,4,4,4,4 -350,5,5,5,5,5 -360,6,6,6,6,6 -370,7,7,7,7,7 -380,8,8,8,8,8 -390,9,9,9,9,9 -400,10,10,10,10,10 -410,9,9,9,9,9 -420,8,8,8,8,8 -430,7,7,7,7,7 -440,6,6,6,6,6 -450,5,5,5,5,5 -460,4,4,4,4,4 -470,3,3,3,3,3 -480,2,2,2,2,2 -490,1,1,1,1,1 -500,0,0,0,0,0 -510,1,1,1,1,1 -520,2,2,2,2,2 -530,3,3,3,3,3 -540,4,4,4,4,4 -550,5,5,5,5,5 -560,6,6,6,6,6 -570,7,7,7,7,7 -580,8,8,8,8,8 -590,9,9,9,9,9 -600,10,10,10,10,10 -610,9,9,9,9,9 -620,8,8,8,8,8 -630,7,7,7,7,7 -640,6,6,6,6,6 -650,5,5,5,5,5 -660,4,4,4,4,4 -670,3,3,3,3,3 -680,2,2,2,2,2 -690,1,1,1,1,1 -700,0,0,0,0,0 -710,1,1,1,1,1 -720,2,2,2,2,2 -730,3,3,3,3,3 -740,4,4,4,4,4 -750,5,5,5,5,5 -760,6,6,6,6,6 -770,7,7,7,7,7 -780,8,8,8,8,8 -790,9,9,9,9,9 -800,10,10,10,10,10 -810,9,9,9,9,9 -820,8,8,8,8,8 -830,7,7,7,7,7 -840,6,6,6,6,6 -850,5,5,5,5,5 -860,4,4,4,4,4 -870,3,3,3,3,3 -880,2,2,2,2,2 -890,1,1,1,1,1 -900,0,0,0,0,0 -910,1,1,1,1,1 -920,2,2,2,2,2 -930,3,3,3,3,3 -940,4,4,4,4,4 -950,5,5,5,5,5 -960,6,6,6,6,6 -970,7,7,7,7,7 -980,8,8,8,8,8 -990,9,9,9,9,9 -1000,10,10,10,10,10 diff --git a/EC-GN-JA-PCF/.svn/pristine/58/58cf976a9d738240c1860f6e2df68361584aed3e.svn-base b/EC-GN-JA-PCF/.svn/pristine/58/58cf976a9d738240c1860f6e2df68361584aed3e.svn-base deleted file mode 100644 index 3ab70d0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/58/58cf976a9d738240c1860f6e2df68361584aed3e.svn-base +++ /dev/null @@ -1,188 +0,0 @@ -/** - * @file JASourceChoiseGAM.cpp - * @brief Source file for class JASourceChoiseGAM - * @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 JASourceChoiseGAM (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 "JASourceChoiseGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASourceChoiseGAM::JASourceChoiseGAM() { - // initialize member variables. - numberOfPVs = 0; -} - -JASourceChoiseGAM::~JASourceChoiseGAM() { -} - -bool JASourceChoiseGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("numberOfPVs", numberOfPVs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The numberOfPVs parameter shall be specified"); - } - } - return ok; -} - -bool JASourceChoiseGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JASourceChoiseGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == numberOfPVs*3u); - if (ok) { - ok = (numberOfOutputSignals == numberOfPVs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "%d *3 output signals shall be defined", numberOfPVs); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "%d input signals shall be defined", numberOfPVs); - } - // Do type check for input signals. - int int_num = 0; - int float_num = 0; - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - if(inputType == UnsignedInteger32Bit){ - int_num++; - } else if (inputType == Float32Bit) { - float_num++; - } else { - ok = false; - }; - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or flaot32", signalName.Buffer()); - } - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger32Bit) || (outputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or float32", signalName.Buffer()); - } - } - } - // Set memory - inputUInt32.resize(numberOfPVs*2); - inputFloat32.resize(numberOfPVs*2); - choise.resize(numberOfPVs); - outputUInt32.resize(numberOfPVs); - outputFloat32.resize(numberOfPVs); - - prevUInt32.resize(numberOfPVs*2); - prevFloat32.resize(numberOfPVs*2); - - if(ok){ - for(uint32 i=0; i(GetInputSignalMemory(3*i)); - inputUInt32[2*i+1] = reinterpret_cast(GetInputSignalMemory(3*i+1)); - choise[i] = reinterpret_cast(GetInputSignalMemory(3*i+2)); - outputUInt32[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } else if(inputType == Float32Bit){ - inputFloat32[2*i] = reinterpret_cast(GetInputSignalMemory(3*i)); - inputFloat32[2*i+1] = reinterpret_cast(GetInputSignalMemory(3*i+1)); - choise[i] = reinterpret_cast(GetInputSignalMemory(3*i+2)); - outputFloat32[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } - prevUInt32[2*i] = 0; - prevUInt32[2*i+1] = 0; - prevFloat32[2*i] = 0; - prevFloat32[2*i+1] = 0; - } - } - return ok; -} - -bool JASourceChoiseGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - - for (uint32 i=0; i < numberOfPVs; i++){ - if(*choise[i]==0){ - if(outputUInt32[i]){ - if(prevUInt32[i*2] != *inputUInt32[i*2]){ - *outputUInt32[i] = *inputUInt32[i*2]; - prevUInt32[i*2] = *inputUInt32[i*2]; - prevUInt32[1+i*2] = *inputUInt32[1+i*2]; - } - } else if(outputFloat32[i]){ - if(prevFloat32[i*2] != *inputFloat32[i*2]){ - *outputFloat32[i] = *inputFloat32[i*2]; - prevFloat32[i*2] = *inputFloat32[i*2]; - prevFloat32[1+i*2] = *inputFloat32[1+i*2]; - } - } - } else { - if(outputUInt32[i]){ - if(prevUInt32[1+i*2] != *inputUInt32[1+i*2]){ - *outputUInt32[i] = *inputUInt32[1+i*2]; - prevUInt32[i*2] = *inputUInt32[i*2]; - prevUInt32[1+i*2] = *inputUInt32[1+i*2]; - } - } else if (outputFloat32[i]){ - if(prevFloat32[1+i*2] != *inputFloat32[1+i*2]){ - *outputFloat32[i] = *inputFloat32[1+i*2]; - prevFloat32[i*2] = *inputFloat32[i*2]; - prevFloat32[1+i*2] = *inputFloat32[1+i*2]; - } - } - } - } - return true; -} - -CLASS_REGISTER(JASourceChoiseGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/59/5970b9108b91382e9bc21a029cf126579f079ce6.svn-base b/EC-GN-JA-PCF/.svn/pristine/59/5970b9108b91382e9bc21a029cf126579f079ce6.svn-base deleted file mode 100644 index ff7c79a..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/59/5970b9108b91382e9bc21a029cf126579f079ce6.svn-base +++ /dev/null @@ -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=JATerminalInterfaceGAM.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)/JATerminalInterfaceGAM$(LIBEXT) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/59/59840e5ac0a759251b9daacd2e0c1e6d9a090a77.svn-base b/EC-GN-JA-PCF/.svn/pristine/59/59840e5ac0a759251b9daacd2e0c1e6d9a090a77.svn-base deleted file mode 100644 index 30565c2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/59/59840e5ac0a759251b9daacd2e0c1e6d9a090a77.svn-base +++ /dev/null @@ -1,71 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil -# from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -func = display.getPropertyValue("name") -type = widget.getPropertyValue("name") -widgetType = "ellipse"; -varName = "XXXXXXX"; - -if "PSH" in type: - varName = "-SYSHLTS"; -if "PCF" in type: - varName = "-SYSHLTS"; -if "SRV" in type: - varName = "-SYSHLTS"; -if "PLC" in type: - varName = "-PLCHLTS"; -if "COM" in type: - varName = "-SYSHLTS"; -if "CHS" in type: - varName = "-SYSHLTS"; -# if "IOM" in type: -# varName = "-BS"; -if "CUB" in type: - varName = "-CUBHLTS"; -if "Box" in type: - widgetType = "rectangle"; - -if varName in triggerPV.getName(): -# ConsoleUtil.writeInfo("Trigger PV found: " +triggerPV.getName()); - - s = PVUtil.getSeverity(triggerPV) - - color = ColorFontUtil.WHITE - if s == 0: - color = ColorFontUtil.GREEN - elif s == 1: - color = ColorFontUtil.RED - elif s == 2: - color = ColorFontUtil.YELLOW - elif s == 3: - color = ColorFontUtil.PINK - elif s == 4: - color = ColorFontUtil.GREEN - - if "ellipse" == widgetType: - widget.setPropertyValue("foreground_color", color) - - tooltip = PVUtil.getString(triggerPV) - widget.setPropertyValue("tooltip", tooltip) - -if "IOM" in type: - if ".SIMM" not in triggerPV.getName(): - - s = PVUtil.getSeverity(triggerPV) - color = ColorFontUtil.WHITE - if s == 0: - color = ColorFontUtil.GREEN - elif s == 1: - color = ColorFontUtil.RED - elif s == 2: - color = ColorFontUtil.YELLOW - elif s == 3: - color = ColorFontUtil.PINK - elif s == 4: - color = ColorFontUtil.GREEN - - widget.setPropertyValue("foreground_color", color) - - tooltip = PVUtil.getString(triggerPV) - widget.setPropertyValue("tooltip", tooltip) \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/59/59d513317dcb6ee3262005011911d62689a8b690.svn-base b/EC-GN-JA-PCF/.svn/pristine/59/59d513317dcb6ee3262005011911d62689a8b690.svn-base deleted file mode 100644 index 5f84ca9..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/59/59d513317dcb6ee3262005011911d62689a8b690.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/5a/5a0b5adfec01b8975b3d744e668eb8bbfa786d5e.svn-base b/EC-GN-JA-PCF/.svn/pristine/5a/5a0b5adfec01b8975b3d744e668eb8bbfa786d5e.svn-base deleted file mode 100644 index d09d668..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5a/5a0b5adfec01b8975b3d744e668eb8bbfa786d5e.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -#RULES_TOP -include $(CONFIG)/RULES_TOP - diff --git a/EC-GN-JA-PCF/.svn/pristine/5a/5a9d8cde244a1fbbffafcede7c521c80e1feb54f.svn-base b/EC-GN-JA-PCF/.svn/pristine/5a/5a9d8cde244a1fbbffafcede7c521c80e1feb54f.svn-base deleted file mode 100644 index c7cdc88..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5a/5a9d8cde244a1fbbffafcede7c521c80e1feb54f.svn-base +++ /dev/null @@ -1,146 +0,0 @@ -record (bi,"EC-GN-P01-GAFP:FMC4310-RV1") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 11) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-RV2") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 12) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-RV3") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 13) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV5") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV6") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV7") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV8") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YFLT-OC") -{ - field(DESC, "MHVPS OC Detected") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 5) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YFLT-OV") -{ - field(DESC, "MHVPS OV Detected") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 4) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-YSTA-GAOP") -{ - field(DESC, "GY1 Beam ON Status") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YTRP") -{ - field(DESC, "Interlock from fast protection 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 9) bitread") - field(ONAM, "INTERLOCK") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YTRP2") -{ - field(DESC, "Pause signal from Fast Protection 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 10) bitread") - field(ONAM, "PAUSE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/5a/5af5f3c387e987f13e2ba0eae94207a440e68703.svn-base b/EC-GN-JA-PCF/.svn/pristine/5a/5af5f3c387e987f13e2ba0eae94207a440e68703.svn-base deleted file mode 100644 index b7aece5..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5a/5af5f3c387e987f13e2ba0eae94207a440e68703.svn-base +++ /dev/null @@ -1,29 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/includetopics.h.vm $ -// $Id: includetopics.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron01DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef INCLUDETOPICS_H -#define INCLUDETOPICS_H - -#include - - -#endif \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/5b/5b28ad94fff984271989b6d1eb6dc549295a51d7.svn-base b/EC-GN-JA-PCF/.svn/pristine/5b/5b28ad94fff984271989b6d1eb6dc549295a51d7.svn-base deleted file mode 100644 index ed398a9..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5b/5b28ad94fff984271989b6d1eb6dc549295a51d7.svn-base +++ /dev/null @@ -1,331 +0,0 @@ -record (bo,"EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") -{ - field(DESC, "SCM rampdown comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") -{ - field(DESC, "GY1 SCM rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 MCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:STAT-SIMM") -{ - field(DESC, "GY1 MCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") -{ - field(DESC, "GY1 MCPS read ACT") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity MC1") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP") -{ - field(DESC, "GY1 MCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity MC1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI") -{ - field(DESC, "GY1 MCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO") -{ - field(DESC, "GY1 MCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON") -{ - field(DESC, "GY1 MCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent MC1") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GAF-MCPS:PSU2120-ERR") -{ - field(DESC, "GY1 MCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat MC1") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM") -{ - field(DESC, "GY1 MCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim MC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB") -{ - field(DESC, "GY1 MCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep MC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB") -{ - field(DESC, "GY1 MCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent MC1") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET") -{ - field(DESC, "GY1 MCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent MC1") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI") -{ - field(DESC, "GY1 MCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO") -{ - field(DESC, "GY1 MCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET") -{ - field(DESC, "GY1 MCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep MC1") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(VAL, "1.69") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON") -{ - field(DESC, "GY1 MCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage MC1") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#1 state set by Marte") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GAF-MCPS:STAT-PREP-WF") -{ - field(DESC, "GY1 MCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP") -{ - field(CALC, "(A==4 andand B==4 and C==4 andand D==4)?1:0") - field(DESC, "SMCPS ramp down check") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") - field(INPC, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") - field(INPD, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(A==3 andand B==3)?1:0") - field(DESC, "GYA SCMPS rampup check") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYA MC GC rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#1 current set by Marte") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/5d/5d5541c92f38a9ad919175fae0f8c865bcc53958.svn-base b/EC-GN-JA-PCF/.svn/pristine/5d/5d5541c92f38a9ad919175fae0f8c865bcc53958.svn-base deleted file mode 100644 index 2502e17..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5d/5d5541c92f38a9ad919175fae0f8c865bcc53958.svn-base +++ /dev/null @@ -1,55 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); - - -var table = widget.getTable(); - -//Fill PV Name only once -if (widget.getVar("firstTime") == null) -{ - widget.setVar("firstTime", true); - - for (var i=0;pv=pvs[i];i++) { - // earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().trim()) - if (!pv.isConnected()) { - table.setCellText(i, 1, "Disconnected"); - } - } - // Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if (widget.getPropertyValue("name") == 'PLCIOCDetailsTable') { - if (display.getMacroValue("SHOW_PLC_IOC") == "true") { - widget.setPropertyValue("visible", "true"); - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true"); - } - } -} - - -//find index of the trigger PV -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -table.setCellText(i, 1, PVUtil.getString(triggerPV).trim()); -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).trim()); -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).trim()); - -var s = PVUtil.getSeverity(triggerPV); - -var color = ColorFontUtil.WHITE -color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} -table.setCellBackground(i, 3, color); diff --git a/EC-GN-JA-PCF/.svn/pristine/5d/5d6bbfbd1c25aac56dca7fba976ad4f767c83150.svn-base b/EC-GN-JA-PCF/.svn/pristine/5d/5d6bbfbd1c25aac56dca7fba976ad4f767c83150.svn-base deleted file mode 100644 index 2742db7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5d/5d6bbfbd1c25aac56dca7fba976ad4f767c83150.svn-base +++ /dev/null @@ -1,27 +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 $ -# -############################################################# - -make -f Makefile.gcc diff --git a/EC-GN-JA-PCF/.svn/pristine/5d/5d7e46060a8906957d3220725e70cc61969d9277.svn-base b/EC-GN-JA-PCF/.svn/pristine/5d/5d7e46060a8906957d3220725e70cc61969d9277.svn-base deleted file mode 100644 index 30e4bde..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5d/5d7e46060a8906957d3220725e70cc61969d9277.svn-base +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Sequence programs to load -############################################################################ - -## Start any sequence programs -#seq sncxxx,"user=codac-devHost" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/5e/5e0480dc231cd2b9239946aab04a019bda8ff684.svn-base b/EC-GN-JA-PCF/.svn/pristine/5e/5e0480dc231cd2b9239946aab04a019bda8ff684.svn-base deleted file mode 100644 index 53f06ad..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5e/5e0480dc231cd2b9239946aab04a019bda8ff684.svn-base +++ /dev/null @@ -1,122 +0,0 @@ -/** - * @file JASampleGAM.h - * @brief Header file for class JASampleGAM - * @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 JASampleGAM - * 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_JASampleGAM_H_ -#define GAMS_JASampleGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief GAM Sample Usage. - * @details Sample - * - * The configuration syntax is: - * - *
- * +SampleGAM = {
- *     Class = JASampleGAM
- *     InputSignals = {
- *         Input1 = {
- *             DataSource = "DDB"
- *             Type = uint32
- *             Default = 0
- *         }
- *         Input2 = {
- *             DataSource = "DDB"
- *             Type = float32
- *             Default = 100
- *         }
- *         InputXXX = {
- *             DataSource = "DDB"
- *             Type = float32
- *             NumberOfElements = 1
- *         }
- *     }
- *     OutputSignals = {
- *         Output1 = {
- *             DataSource = "DDB"
- *             Type = uint32
- *             Default = 0
- *         }
- *         Output2 = {
- *             DataSource = "DDB"
- *             Type = int32
- *             Default = 100
- *         }
- *     }
- * }
- * 
- */ - - -class JASampleGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASampleGAM(); - - virtual ~JASampleGAM(); - - 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: - //GAM fixed parameters. - MARTe::uint32 param1; - MARTe::float32 param2; - - // Input signals - MARTe::uint32 *input1; - MARTe::float32 *input2; - MARTe::float32 *inputXXX; - - // Output signals - MARTe::uint32 *output1; - MARTe::float32 *output2; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASampleGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/5e/5e3ccaf6fff9ff412b7c7b2c25566bc5dc3d13e9.svn-base b/EC-GN-JA-PCF/.svn/pristine/5e/5e3ccaf6fff9ff412b7c7b2c25566bc5dc3d13e9.svn-base deleted file mode 100644 index 2cf5c5d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5e/5e3ccaf6fff9ff412b7c7b2c25566bc5dc3d13e9.svn-base +++ /dev/null @@ -1,180 +0,0 @@ -/** - * @file JAConditionalSignalUpdateGAM.h - * @brief Header file for class JAConditionalSignalUpdateGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAConditionalSignalUpdateGAM - * 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_JACONDITIONALSIGNALUPDATEGAM_H_ -#define GAMS_JACONDITIONALSIGNALUPDATEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that writes predefined values to output signals when a condition is met. - * If there are no conditional signals provided, the condition is presumed to be met. - * - * +ASYNCShotlengthControlGAM = { - * Class = JAConditionalSignalUpdateGAM - * Operation = OR // Logical operation performed between conditional signals - * // Supported values: AND, OR, XOR, NOR - * // Default: AND - * ExpectedValues = {1 1} // Values to which conditional signals will be compared. - * Comparators = {EQUALS EQUALS} // Operator between conditional signal an expected value - * // Supported values: EQUALS, NOT, GREATER, EQUALS_OR_GREATER, LESS, EQUALS_OR_LESS - * // Default: EQUALS - * Values = {0 3} // Values that will be written to output signals when condition is met. - * InputSignals = { - * // Conditional Signals - * SHOTLEN_FLAG = { - * DataSource = DDB1 - * Type = uint32 - * } - * MODE_SHOTLEN_FLAG = { - * DataSource = DDB1 - * Type = uint32 - * } - * // Default values (set to output signals before the condition is met) - * APS_SWON = { // APS_SWON will keep the value from previous state. - * DataSource = DDB1 - * Type = uint32 - * } - * BPS_SWON_DEFAULT = { // BPS_SWON will be set to 7 before condition is met. - * DataSource = DDB1 - * Type = uint32 - * Default = 7 - * } - * } - * OutputSignals = { - * APS_SWON = { - * DataSource = DDB1 - * Type = uint32 - * } - * BPS_SWON = { - * DataSource = DDB1 - * Type = uint32 - * } - * } - * } - */ -class JAConditionalSignalUpdateGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAConditionalSignalUpdateGAM(); - - virtual ~JAConditionalSignalUpdateGAM(); - - 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: - /** - * @brief Does the input signal at provided index have the expected value. - * @param[in] index of the signal. - * @return true if the signal has expected value. - */ - bool Compare(MARTe::uint32 index); - - template - bool Compare(MARTe::uint32 index); - - enum OperationMode { - And, Or, Xor, Nor - }; - - enum ComparisonMode { - Equals, Not, Greater, EqualsOrGreater, Less, EqualsOrLess - }; - - // Input signals - void **inputSignals; - - MARTe::TypeDescriptor *inputSignalTypes; - - // Condition operation. - OperationMode operation; - - // Array of expected values of input signals. - MARTe::uint32* expectedValues; - - // Expected values count (must be equal to numberOfInputSignals) - MARTe::uint32 expectedValuesCount; - - // Array of comparators - ComparisonMode* comparators; - - // Values to be written on output signals when input signal has the expected value. - MARTe::uint32 *values; - - // Number of values (must be equal to numberOfOutputSignals) - MARTe::uint32 valuesCount; - - // Output signals - MARTe::uint32 **outputSignals; - - // Default values of output signals - MARTe::uint32 **defaultValues; - - // Were output signals already set and we are waiting for a state change before they are set again. - bool needsReset; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -template -bool JAConditionalSignalUpdateGAM::Compare(MARTe::uint32 index) { - switch (comparators[index]) { - case Equals: - return *static_cast(inputSignals[index]) == static_cast(expectedValues[index]); - case Not: - return *static_cast(inputSignals[index]) != static_cast(expectedValues[index]); - case Greater: - return *static_cast(inputSignals[index]) > static_cast(expectedValues[index]); - case EqualsOrGreater: - return *static_cast(inputSignals[index]) >= static_cast(expectedValues[index]); - case Less: - return *static_cast(inputSignals[index]) < static_cast(expectedValues[index]); - default: // case EqualsOrLess: - return *static_cast(inputSignals[index]) <= static_cast(expectedValues[index]); - } -} - -#endif /* GAMS_JACONDITIONALSIGNALUPDATEGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/5e/5e811f31da6a173d5418d462856b922e14e1b2b6.svn-base b/EC-GN-JA-PCF/.svn/pristine/5e/5e811f31da6a173d5418d462856b922e14e1b2b6.svn-base deleted file mode 100644 index ee22c1a..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5e/5e811f31da6a173d5418d462856b922e14e1b2b6.svn-base +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file JAWFRecordGAM.h - * @brief Header file for class JAWFRecordGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAWFRecordGAM - * 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_JAWFRECORDGAM_H_ -#define GAMS_JAWFRECORDGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that is used for pre-programmed operation. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *       +WFRecordGAM = {
- *           Class = JAWFRecordGAM
- *           Directory = "../Configurations" 
- *           InputSignals = {
- *               CSV_LOAD = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               Filename = {
- *                   Alias = CSV_NAME
- *                   DataSource = EPICSCAInput
- *               }
- *           }
- *           OutputSignals = {
- *               PREP_TIME_WF = {
- *                   DataSource = DDB1
- *               }
- * *             MHVPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               BPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               APS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               MCPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               GCPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               FHPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *           }
- *       }
- * 
- * - */ - -class JAWFRecordGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAWFRecordGAM(); - - virtual ~JAWFRecordGAM(); - - 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: - void LoadFile(); - - MARTe::uint32 filenameSignalIndex; - - MARTe::uint32 *loadTriggerSignal; - - MARTe::StreamString directory; - - MARTe::float32 **valueSignals; - - MARTe::int32 *timeSignal; - - MARTe::uint32 maxElements; - - // Flag determining whether file should be read (so it isn't read multiple time) - bool readOnce; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAWFRECORDGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/5f/5f7cd2a3b9ac9d7233b3ea8aceaf9eb4f88df2df.svn-base b/EC-GN-JA-PCF/.svn/pristine/5f/5f7cd2a3b9ac9d7233b3ea8aceaf9eb4f88df2df.svn-base deleted file mode 100644 index 2c60bb7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/5f/5f7cd2a3b9ac9d7233b3ea8aceaf9eb4f88df2df.svn-base +++ /dev/null @@ -1,14 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - -import datetime - -pv = pvs[0] - -s = PVUtil.getTimeInMilliseconds(pv) -t = datetime.datetime.fromtimestamp(float(s)/1000.) - -format = "%H:%M:%S" - -widget.setPropertyValue("on_label", t.strftime(format)) -widget.setPropertyValue("off_label", t.strftime(format)) diff --git a/EC-GN-JA-PCF/.svn/pristine/60/604afcd144772ac58c0d5c165bfefebb37a4dcd8.svn-base b/EC-GN-JA-PCF/.svn/pristine/60/604afcd144772ac58c0d5c165bfefebb37a4dcd8.svn-base deleted file mode 100644 index 13fdc95..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/60/604afcd144772ac58c0d5c165bfefebb37a4dcd8.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/60/60db156c5956b8db7abf7c96ccb6634c239da122.svn-base b/EC-GN-JA-PCF/.svn/pristine/60/60db156c5956b8db7abf7c96ccb6634c239da122.svn-base deleted file mode 100644 index c66a7fd..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/60/60db156c5956b8db7abf7c96ccb6634c239da122.svn-base +++ /dev/null @@ -1,53 +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=JAConditionalSignalUpdateGAM.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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAConditionalSignalUpdateGAM$(LIBEXT) \ - $(BUILD_DIR)/JAConditionalSignalUpdateGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/61/61e5f5da23622cd759847804f11a667b20b656d9.svn-base b/EC-GN-JA-PCF/.svn/pristine/61/61e5f5da23622cd759847804f11a667b20b656d9.svn-base deleted file mode 100644 index 72c14a3..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/61/61e5f5da23622cd759847804f11a667b20b656d9.svn-base +++ /dev/null @@ -1,180 +0,0 @@ -record (bo,"EC-GN-P01-PB2F:PSU2000-CON-HV") -{ - field(DESC, "GY2 BPS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB2F:PSU2000-CON-SW") -{ - field(DESC, "GY2 BPS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB2F:PSU2000-CTRP") -{ - field(DESC, "GY2 BPS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PB2F:PSU2000-YFLT") -{ - field(DESC, "GY2 BPS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 3) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PB2F:PSU2000-YSTA") -{ - field(DESC, "GY2 BPS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 2) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PB2F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 BPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PB2F:PSU2000-EREF") -{ - field(ASLO, "4") - field(DESC, "GY2 BPS voltage setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PB2F:PSU2000-EREF-MSP") -{ - field(DESC, "GY2 BPS voltage manual setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PB2F:PSU2000-ET") -{ - field(DESC, "GY2 BPS Measured Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB2F:PSU2000-ET-WF") -{ - field(DESC, "GY2 BPS Measured Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB2F:PSU2000-IT") -{ - field(DESC, "GY2 BPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB2F:PSU2000-IT-WF") -{ - field(DESC, "GY2 BPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB2F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY2 BPS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PB2F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY2 BPS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "550000") -} - -record (waveform,"EC-GN-P01-PB2F:STAT-PREP-WF") -{ - field(DESC, "GY2 BPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/63/63dc16eaaddf747c1049e35fb5ae3188b2146b1e.svn-base b/EC-GN-JA-PCF/.svn/pristine/63/63dc16eaaddf747c1049e35fb5ae3188b2146b1e.svn-base deleted file mode 100644 index a0574c6..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/63/63dc16eaaddf747c1049e35fb5ae3188b2146b1e.svn-base +++ /dev/null @@ -1,45 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() - -#Fill PV Name only once -if widget.getVar("firstTime") == None: - widget.setVar("firstTime", True) - i=0 - for pv in pvs: - # earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().strip()) - if not pv.isConnected(): - table.setCellText(i, 1, "Disconnected") - i+=1 - # Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if widget.getPropertyValue("name") == 'PLCIOCDetailsTable': - if display.getMacroValue("SHOW_PLC_IOC") == "true": - widget.setPropertyValue("visible", "true") - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true") - - -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -table.setCellText(i, 1, PVUtil.getString(triggerPV).strip()) -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).strip()) -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).strip()) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i, 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/64/6494c4c15c01862692d6f55568b066fd2e087a14.svn-base b/EC-GN-JA-PCF/.svn/pristine/64/6494c4c15c01862692d6f55568b066fd2e087a14.svn-base deleted file mode 100644 index 91e47d0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/64/6494c4c15c01862692d6f55568b066fd2e087a14.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -TOP = .. -include $(TOP)/configure/CONFIG -DIRS += $(wildcard *ioc*) -DIRS += $(wildcard as*) -include $(CONFIG)/RULES_DIRS - diff --git a/EC-GN-JA-PCF/.svn/pristine/66/664c628c0fbe688ad687497e94deb0334ed2c2b2.svn-base b/EC-GN-JA-PCF/.svn/pristine/66/664c628c0fbe688ad687497e94deb0334ed2c2b2.svn-base deleted file mode 100644 index 8786feb..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/66/664c628c0fbe688ad687497e94deb0334ed2c2b2.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/67/67caca0a7139cfdf8e6f1d7b38e2ca249317760f.svn-base b/EC-GN-JA-PCF/.svn/pristine/67/67caca0a7139cfdf8e6f1d7b38e2ca249317760f.svn-base deleted file mode 100644 index 50056e0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/67/67caca0a7139cfdf8e6f1d7b38e2ca249317760f.svn-base +++ /dev/null @@ -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=JASDNRTStateMachineGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/68/682293df37dc9572bb9b91544a337eff98c80189.svn-base b/EC-GN-JA-PCF/.svn/pristine/68/682293df37dc9572bb9b91544a337eff98c80189.svn-base deleted file mode 100644 index a20f095..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/68/682293df37dc9572bb9b91544a337eff98c80189.svn-base +++ /dev/null @@ -1,56 +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=JATriangleWaveGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JATriangleWaveGAM$(LIBEXT) \ - $(BUILD_DIR)/JATriangleWaveGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/69/6945050cdab49b1abd3f54c9b6ac537aaf7505a4.svn-base b/EC-GN-JA-PCF/.svn/pristine/69/6945050cdab49b1abd3f54c9b6ac537aaf7505a4.svn-base deleted file mode 100644 index e2e2415..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/69/6945050cdab49b1abd3f54c9b6ac537aaf7505a4.svn-base +++ /dev/null @@ -1,53 +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=JAMessageGAM.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)/JAMessageGAM$(LIBEXT) \ - $(BUILD_DIR)/JAMessageGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/69/698b97b7cb9cfd63e7642ea7e9584c787b423930.svn-base b/EC-GN-JA-PCF/.svn/pristine/69/698b97b7cb9cfd63e7642ea7e9584c787b423930.svn-base deleted file mode 100644 index 3c42493..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/69/698b97b7cb9cfd63e7642ea7e9584c787b423930.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/69/69a199e69c3cf96b9e977bf8887ae6b3280ee052.svn-base b/EC-GN-JA-PCF/.svn/pristine/69/69a199e69c3cf96b9e977bf8887ae6b3280ee052.svn-base deleted file mode 100644 index 5607efe..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/69/69a199e69c3cf96b9e977bf8887ae6b3280ee052.svn-base +++ /dev/null @@ -1,101 +0,0 @@ - - - - - 1.0.0 - - - - danInt16 - - 100000 - - - DATA_D0 - - DM_BLOCK2D_VAR - - CHECK_AND_OVERWRITE - - 1000 - - 1 - - UTC - - - - GYBDanSource - - v1.3 - - 0 - - N1134342 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ALL - - - - - - IF_FAIL_NEXT - - ${DAN_ARCHIVE_MASTER} - - ${DAN_ARCHIVE_SLAVE} - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/6a/6a0c699e7c09b531a62d8bd618212f80a85a0851.svn-base b/EC-GN-JA-PCF/.svn/pristine/6a/6a0c699e7c09b531a62d8bd618212f80a85a0851.svn-base deleted file mode 100644 index ba3363d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/6a/6a0c699e7c09b531a62d8bd618212f80a85a0851.svn-base +++ /dev/null @@ -1,53 +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=JAConditionalSignalUpdateGAM.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)/JAConditionalSignalUpdateGAM$(LIBEXT) \ - $(BUILD_DIR)/JAConditionalSignalUpdateGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/6a/6aa6fdf2ef59a2c824eda7d1e8cf863c8f2508cb.svn-base b/EC-GN-JA-PCF/.svn/pristine/6a/6aa6fdf2ef59a2c824eda7d1e8cf863c8f2508cb.svn-base deleted file mode 100644 index 114fba6..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/6a/6aa6fdf2ef59a2c824eda7d1e8cf863c8f2508cb.svn-base +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################ -## Save and restore -############################################################################ - -### save_restore setup -# status-PV prefix -save_restoreSet_status_prefix("$(AUTOSAVE_SYSM_PV_PREFIX)") - -# Use status-PV -save_restoreSet_UseStatusPVs(1) - -# Debug-output level -save_restoreSet_Debug(0) - -# Ok to save/restore save sets with missing values (no CA connection to PV)? -save_restoreSet_IncompleteSetsOk(1) -# Save dated backup files? -save_restoreSet_DatedBackupFiles(1) - -# Number of sequenced backup files to write -save_restoreSet_NumSeqFiles(3) -# Time interval between sequenced backups -save_restoreSet_SeqPeriodInSeconds(300) - -# specify where save files should be -set_savefile_path("$(EPICS_AUTOSAVE_VAR)/$(UNIT_NAME)") - -# specify what save files should be restored. Note these files must be -# in the directory specified in set_savefile_path(), or, if that function -# has not been called, from the directory current when iocInit is invoked - -# Save files associated with the request files 'auto-output.req' and -# 'auto-input.req'. These files are the standard way to use autosave - -set_pass1_restoreFile(".sav") - -# specify directories in which to to search for included request files -set_requestfile_path("./") - -dbLoadRecords("$(EPICS_ROOT)/db/save_restoreStatus.db", "P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/6b/6be7746df1ab71f7b4b6b65c291fe9de00babe48.svn-base b/EC-GN-JA-PCF/.svn/pristine/6b/6be7746df1ab71f7b4b6b65c291fe9de00babe48.svn-base deleted file mode 100644 index f57063b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/6b/6be7746df1ab71f7b4b6b65c291fe9de00babe48.svn-base +++ /dev/null @@ -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=JABitSumGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JABitSumGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitSumGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/6d/6d0d4b6785945a002bcf6160c9535cb4bb8dc3e9.svn-base b/EC-GN-JA-PCF/.svn/pristine/6d/6d0d4b6785945a002bcf6160c9535cb4bb8dc3e9.svn-base deleted file mode 100644 index c55e6d0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/6d/6d0d4b6785945a002bcf6160c9535cb4bb8dc3e9.svn-base +++ /dev/null @@ -1,154 +0,0 @@ -/** - * @file JAModeControlGAM.cpp - * @brief Source file for class JAModeControlGAM - * @date Jan, 2019 - * @author kuchida - * - * @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 JAModeControlGAM (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 "JAModeControlGAM.h" -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAModeControlGAM::JAModeControlGAM() { - inputSignals = NULL_PTR(MARTe::uint32 **); - outputSignal = NULL_PTR(MARTe::uint32 *); - pulseLengthLimit = 360000000u; - resetRemainingTime = true; - previousState = 0u; -} - -JAModeControlGAM::~JAModeControlGAM() { - if (inputSignals != NULL_PTR(MARTe::uint32 **)) { - delete[] inputSignals; - } -} - -bool JAModeControlGAM::Initialise(MARTe::StructuredDataI & data) { - /* read hard coded on cfg file parameter values by using key name. */ - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JAModeControlGAM::Setup() { - /* read GAM Input signal */ - using namespace MARTe; - /* read 4 mode bits and 4 shot length limit values */ - - bool ok = numberOfInputSignals == 11; - if (ok) { - uint32 i; - for (i = 0u; (i < numberOfInputSignals) && (ok); i++) { - TypeDescriptor inputType = GetSignalType(InputSignals, i); - ok = inputType == UnsignedInteger32Bit; - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "InputSignel %s shall be defined as uint32", signalName.Buffer()); - } - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Eleven input signals shall be defined."); - } - if (ok) { - ok = numberOfOutputSignals == 1; - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "One output signal shall be defined."); - } - else { - TypeDescriptor type = GetSignalType(OutputSignals, 0); - ok = type == UnsignedInteger32Bit; - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 0, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - } - if (ok) { - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - inputSignals = new uint32*[numberOfInputSignals]; - uint32 i; - for (i = 0u; i < 11; i++) { - inputSignals[i] = reinterpret_cast(GetInputSignalMemory(i)); - } - } - return ok; -} - -bool JAModeControlGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - *outputSignal = 0u; - previousState = 0u; - resetRemainingTime = true; - return true; -} - -bool JAModeControlGAM::Execute() { - using namespace MARTe; - //When RT state goes to RFON state, update the limit. - if(previousState == 0u && *inputSignals[8] == 1u && resetRemainingTime) { - rfonTime = *inputSignals[9]; - resetRemainingTime = false; - pulseLengthLimit = CalcPulseLengthLimit(inputSignals); - 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)) { - *outputSignal = 0u; - return true; - } else if(*inputSignals[9] == 1u){ - resetRemainingTime = true; - *outputSignal = 1u; - } - - previousState = *inputSignals[8]; - return true; -} - - -MARTe::uint32 JAModeControlGAM::CalcPulseLengthLimit(MARTe::uint32 **inputSignals) { - if (*inputSignals[0] == 1) { - return *inputSignals[1]; - } else if (*inputSignals[2] == 1) { - return *inputSignals[3]; - } else if (*inputSignals[4] == 1) { - return *inputSignals[5]; - } else if (*inputSignals[6] == 1) { - return *inputSignals[7]; - } else { - return 3600000000;//us - } -} - - -CLASS_REGISTER(JAModeControlGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/6e/6e52f1861fcb4106db444c17b8d3947c9646d8ea.svn-base b/EC-GN-JA-PCF/.svn/pristine/6e/6e52f1861fcb4106db444c17b8d3947c9646d8ea.svn-base deleted file mode 100644 index c36ff86..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/6e/6e52f1861fcb4106db444c17b8d3947c9646d8ea.svn-base +++ /dev/null @@ -1,26 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - - var selectedrow= table.getSelection(); - var cuName=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - - // change $(CU) substitution - var macroInput = DataUtil.createMacrosInput(true); - macroInput.put("CU", cuName); - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name); - macroInput.put("SHOW_PLC_IOC", "false"); - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(widget, fct_name+"-"+cuName+"-SRVDetails.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/.svn/pristine/6e/6ebcc57b80347d346dfd1d7497f54bb384e9ce0a.svn-base b/EC-GN-JA-PCF/.svn/pristine/6e/6ebcc57b80347d346dfd1d7497f54bb384e9ce0a.svn-base deleted file mode 100644 index 99ba1f5..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/6e/6ebcc57b80347d346dfd1d7497f54bb384e9ce0a.svn-base +++ /dev/null @@ -1,309 +0,0 @@ -/** - * @file JAConditionalSignalUpdateGAM.cpp - * @brief Source file for class JAConditionalSignalUpdateGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAConditionalSignalUpdateGAM (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 "JAConditionalSignalUpdateGAM.h" -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAConditionalSignalUpdateGAM::JAConditionalSignalUpdateGAM() { - inputSignals = NULL_PTR(void **); - inputSignalTypes = NULL_PTR(MARTe::TypeDescriptor *); - values = NULL_PTR(MARTe::uint32 *); - valuesCount = 0u; - outputSignals = NULL_PTR(MARTe::uint32 **); - defaultValues = NULL_PTR(MARTe::uint32 **); - needsReset = false; - expectedValues = NULL_PTR(MARTe::uint32 *); - expectedValuesCount = 0u; - operation = And; - comparators = NULL_PTR(ComparisonMode *); -} - -JAConditionalSignalUpdateGAM::~JAConditionalSignalUpdateGAM() { - if (outputSignals != NULL_PTR(MARTe::uint32 **)) { - delete[] outputSignals; - } - if (inputSignals != NULL_PTR(void **)) { - delete[] inputSignals; - } - if (inputSignalTypes != NULL_PTR(MARTe::TypeDescriptor *)) { - delete[] inputSignalTypes; - } - if (values != NULL_PTR(MARTe::uint32 *)) { - delete[] values; - } - if (comparators != NULL_PTR(ComparisonMode *)) { - delete[] comparators; - } - if (defaultValues != NULL_PTR(MARTe::uint32 **)) { - delete[] defaultValues; - } -} - -bool JAConditionalSignalUpdateGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - // Read expected values. - AnyType valuesArray = data.GetType("ExpectedValues"); - - if (valuesArray.GetDataPointer() != NULL) { - expectedValuesCount = valuesArray.GetNumberOfElements(0u); - - expectedValues = new uint32[expectedValuesCount]; - - Vector valuesVector(expectedValues, expectedValuesCount); - ok = (data.Read("ExpectedValues", valuesVector)); - } - } - if (ok) { - // Read comparators. - AnyType comparatorsArray = data.GetType("Comparators"); - if (comparatorsArray.GetDataPointer() != NULL) { - uint32 count; - if (ok) { - count = comparatorsArray.GetNumberOfElements(0u); - ok = count == expectedValuesCount; - } - if (ok) { - comparators = new ComparisonMode[count]; - StreamString* comp = new StreamString[count]; - Vector compVector(comp, count); - - ok = (data.Read("Comparators", compVector)); - - if (ok) { - for (uint32 i = 0; i < count; ++i) { - if (comp[i] == "EQUALS") { - comparators[i] = Equals; - } else if (comp[i] == "NOT") { - comparators[i] = Not; - } else if (comp[i] == "GREATER") { - comparators[i] = Greater; - } else if (comp[i] == "EQUALS_OR_GREATER") { - comparators[i] = EqualsOrGreater; - } else if (comp[i] == "LESS") { - comparators[i] = Less; - } else if (comp[i] == "EQUALS_OR_LESS") { - comparators[i] = EqualsOrLess; - } else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Comparator %s is not defined.", comp[i].Buffer()); - } - } - } - delete[] comp; - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } else { - // Create default comparators (equals) when they aren't provided in the configuration. - comparators = new ComparisonMode[expectedValuesCount]; - for (uint32 i = 0; i < expectedValuesCount; ++i) { - comparators[i] = Equals; - } - } - } - if (ok) { - MARTe::StreamString operationStr; - if (data.Read("Operation", operationStr)) { - if (operationStr == "AND") { - operation = And; - } - else if (operationStr == "OR") { - operation = Or; - } - else if (operationStr == "NOR") { - operation = Nor; - } - else if (operationStr == "XOR") { - operation = Xor; - } - else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Operation %s is not defined", operationStr.Buffer()); - } - } - } - if (ok) { - // Read output signal values to be set. - AnyType valuesArray = data.GetType("Values"); - ok = (valuesArray.GetDataPointer() != NULL); - - if (ok) { - valuesCount = valuesArray.GetNumberOfElements(0u); - ok = valuesCount > 0u; - } - if (ok) { - values = new uint32[valuesCount]; - - Vector valuesVector(values, valuesCount); - ok = (data.Read("Values", valuesVector)); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Values shall be defined."); - } - } - return ok; -} - -bool JAConditionalSignalUpdateGAM::Setup() { - using namespace MARTe; - bool ok = numberOfInputSignals == (expectedValuesCount + numberOfOutputSignals); - if (ok) { - inputSignals = new void*[expectedValuesCount]; - defaultValues = new uint32*[numberOfOutputSignals]; - uint32 i; - for (i = 0u; i < expectedValuesCount; i++) { - inputSignals[i] = GetInputSignalMemory(i); - } - for (; i < numberOfInputSignals; i++) { - defaultValues[i - expectedValuesCount] = reinterpret_cast(GetInputSignalMemory(i)); - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be equal to number " - "of expected values plus number of output signals."); - } - if (ok) { - inputSignalTypes = new TypeDescriptor[expectedValuesCount]; - uint32 i; - for (i = 0u; (i < expectedValuesCount) && (ok); i++) { - inputSignalTypes[i] = GetSignalType(InputSignals, i); - ok = ((inputSignalTypes[i] == UnsignedInteger32Bit) || (inputSignalTypes[i] == UnsignedInteger16Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint16", signalName.Buffer()); - } - } - } - if (ok) { - ok = numberOfOutputSignals == valuesCount; - if (ok) { - ok = numberOfOutputSignals > 0u; - if (ok) { - outputSignals = new uint32*[numberOfOutputSignals]; - uint32 i; - for (i = 0u; i < numberOfOutputSignals; i++) { - outputSignals[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one output signal shall be defined"); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of output signals shall be the same as " - "number of provided values."); - } - } - - return ok; -} - -bool JAConditionalSignalUpdateGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - needsReset = false; - return true; -} - -bool JAConditionalSignalUpdateGAM::Execute() { - if (!needsReset) { - bool eventDetected = expectedValuesCount == 0; - if (!eventDetected) { - if (operation == Or) { - MARTe::uint32 j; - for (j = 0; (j < expectedValuesCount) && (!eventDetected); j++) { - eventDetected = Compare(j); - } - } - else if (operation == Nor) { - MARTe::uint32 j; - for (j = 0; (j < expectedValuesCount) && (!eventDetected); j++) { - eventDetected = Compare(j); - } - eventDetected = !eventDetected; - } - else if (operation == And) { - MARTe::uint32 j; - eventDetected = Compare(0); - for (j = 1; (j < expectedValuesCount); j++) { - eventDetected &= Compare(j); - } - } - else if (operation == Xor) { - MARTe::uint32 j; - MARTe::uint32 eventDetectedUint32; - if (inputSignalTypes[0] == MARTe::UnsignedInteger32Bit) { - eventDetectedUint32 = *static_cast(inputSignals[0]); - } - else { - eventDetectedUint32 = *static_cast(inputSignals[0]); - } - for (j = 1; (j < expectedValuesCount); j++) { - eventDetectedUint32 ^= Compare(j); - } - eventDetected = (eventDetectedUint32 == 1u); - } - } - if (eventDetected) { - needsReset = true; - MARTe::uint32 i; - for (i = 0u; i < numberOfOutputSignals; ++i) { - *outputSignals[i] = values[i]; - MARTe::StreamString signalName; - (void) GetSignalName(MARTe::OutputSignals, i, signalName); - } - } - else { - MARTe::uint32 i; - for (i = 0u; i < numberOfOutputSignals; ++i) { - *outputSignals[i] = *defaultValues[i]; - } - } - } - return true; -} - -bool JAConditionalSignalUpdateGAM::Compare(MARTe::uint32 index) { - if (inputSignalTypes[index] == MARTe::UnsignedInteger32Bit) { - return Compare(index); - } - return Compare(index); -} - -CLASS_REGISTER(JAConditionalSignalUpdateGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/6e/6edb1afabdbe0a722ff0c1477415d37ac7603078.svn-base b/EC-GN-JA-PCF/.svn/pristine/6e/6edb1afabdbe0a722ff0c1477415d37ac7603078.svn-base deleted file mode 100644 index 2064aac..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/6e/6edb1afabdbe0a722ff0c1477415d37ac7603078.svn-base +++ /dev/null @@ -1 +0,0 @@ -QST Gyrotron Fast Controller Implementation with MARTe2 RT Application Framework diff --git a/EC-GN-JA-PCF/.svn/pristine/6f/6f0bdb579866c16ab49369a5963e75483c9d05ab.svn-base b/EC-GN-JA-PCF/.svn/pristine/6f/6f0bdb579866c16ab49369a5963e75483c9d05ab.svn-base deleted file mode 100644 index fed3a3b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/6f/6f0bdb579866c16ab49369a5963e75483c9d05ab.svn-base +++ /dev/null @@ -1,23557 +0,0 @@ - - - - - -52 - - - -EC-GN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10.136.136.101 - - -52RF01-PSH-4410 - - - - -52RF01-PCF-4210.codac.iter.org - - -52RF01-PCF-4210.codac.iter.org-R1 - - -52RF01-PCF-4210.codac.iter.org-R1 - - - - - -10.136.136.13-T1 - - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEAALL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-RESET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-TAIUTC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMN - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DEVNAME - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DRIVER - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEMAX - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTENUM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-HBDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-LVL_ERRS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SERIAL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNCLOST - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:DIO4900-YON - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-MST-TRIG - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-MODE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-ERR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-NAME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-ELAPSED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-ID - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV1 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV2 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV3 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV5 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV6 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV7 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV8 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OV - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YSTA-GAOP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:DIO4900-YON - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-MST-TRIG - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-MODE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-ERR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -string -configuration - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-NAME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-ELAPSED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-ID - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV1 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV2 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV3 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV5 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV6 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV7 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV8 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YSTA-GBOP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-CTRP - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PSU0000-YSTA-MOD - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-CONF-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-RECONF - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SW-TRIG - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RST-FLT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD1-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD2-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD3-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD4-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RDY-TOUT - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY1PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY2PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YSTA-MPSS - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTRP - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD4 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST1R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST2R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST3R - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-HV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-SW - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CTRP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YFLT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YSTA - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-MANM - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-MSP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-P - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-HVON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-SWON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-PREP-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-HV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-SW - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CTRP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YFLT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YSTA - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-MANM - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-MSP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-P - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-HVON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-SWON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-PREP-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-HV - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-SW - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CTRP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YFLT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YSTA - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-MANM - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF-MSP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-HVON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-SWON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-PREP-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-HV - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-SW - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CTRP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YFLT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YSTA - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-MANM - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF-MSP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-HVON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-SWON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-PREP-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-COFF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-MOD - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-SW - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-TYSTA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-YFLT - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-MANM - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF-MSP - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-DT-HVON - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-EREF-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-HVON-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-PREP-WF - - - - - - - - - - -iocEC-GN-PSH0PCF -PCFCORE IOC -epicsioc -IOC - - - -52RF01-PCF-4210 - -iocEC-GN-PCF0SYSM -PCFSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0SYSM -PSHSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0CUB -PSHCUB IOC -epicsioc -IOC - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/71/7142a58ecb8d5f67395c4f18731aedda51717653.svn-base b/EC-GN-JA-PCF/.svn/pristine/71/7142a58ecb8d5f67395c4f18731aedda51717653.svn-base deleted file mode 100644 index 8847378..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/71/7142a58ecb8d5f67395c4f18731aedda51717653.svn-base +++ /dev/null @@ -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=JABitReverseGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JABitReverseGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitReverseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/71/716d11760dc358c4c01307291ed68bcaa97c7e08.svn-base b/EC-GN-JA-PCF/.svn/pristine/71/716d11760dc358c4c01307291ed68bcaa97c7e08.svn-base deleted file mode 100644 index 5293c3f..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/71/716d11760dc358c4c01307291ed68bcaa97c7e08.svn-base +++ /dev/null @@ -1,134 +0,0 @@ -#+====================================================================== -# $HeadURL: $ -# $Id: $ -# -# Project : ITER I&C Integration -# -# Description : SPEC file for packaging CS-Studio related file artefacts -# -# Author(s) : Bertrand Bauvir (IO) -# -# Copyright (c) : 2010-2021 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -%define __spec_install_post %{nil} - -Name: iter-icint-%{project_artifactId} -Version: %{project_version} -Release: %{?rpm_release_num:%{rpm_release_num}}%{!?rpm_release_num:1} -Summary: %{project_description} - -Group: Development/CODAC -Distribution: I&C Applications -#URL: http://www.iter.org/org/team/chd/cid/codac -URL: %{?rpm_vcs_url:%{rpm_vcs_url}}%{!?rpm_vcs_url:undefined} -Vendor: ITER Organization -Packager: ITER Organization -License: ITER License - -Source0: src.tar.gz - -BuildArch: noarch -AutoReq: no - -%provides_self - -%description -%{project_description}. - -%package -n %subpackage opi -Summary: %{project_description} - OPI resources -Group: Development/CODAC -AutoReq: no -Requires: filesystem -%provides_self %subpackage opi - -%description -n %subpackage opi -%{project_description} - OPI resources. - -%package -n %subpackage alarm -Summary: %{project_description} - Alarm configuration -Group: Development/CODAC -AutoReq: no -Requires: filesystem -%provides_self %subpackage alarm - -%description -n %subpackage alarm -%{project_description} - Alarm configuration. - -%package -n %subpackage archive -Summary: %{project_description} - Archive configuration -Group: Development/CODAC -AutoReq: no -Requires: filesystem -%provides_self %subpackage archive - -%description -n %subpackage archive -%{project_description} - Archive configuration. - -%prep -%setup -T -c -a 0 - -%build - -%install -rm -rf %{buildroot} -mkdir -p %{buildroot}/opt/codac/opi/%{project_artifactId} -install -d %{buildroot}/opt/codac/opi/%{project_artifactId} -cp -r src/main/boy %{buildroot}/opt/codac/opi/%{project_artifactId} -mkdir -p %{buildroot}/opt/codac/opi/%{project_artifactId}/epics -cp -r src/main/epics/*App %{buildroot}/opt/codac/opi/%{project_artifactId}/epics || : -mkdir -p %{buildroot}/etc/opt/codac/%{project_artifactId} -install -d %{buildroot}/etc/opt/codac/%{project_artifactId} -cp src/main/beast/* %{buildroot}/etc/opt/codac/%{project_artifactId} -cp src/main/beauty/* %{buildroot}/etc/opt/codac/%{project_artifactId} -mkdir -p %{buildroot}/etc/opt/codac/css/beast/%{project_artifactId} -install -d %{buildroot}/etc/opt/codac/css/beast/%{project_artifactId} -cp src/main/beast/* %{buildroot}/etc/opt/codac/css/beast/%{project_artifactId} -mkdir -p %{buildroot}/etc/opt/codac/css/beauty/%{project_artifactId} -install -d %{buildroot}/etc/opt/codac/css/beauty/%{project_artifactId} -cp src/main/beauty/* %{buildroot}/etc/opt/codac/css/beauty/%{project_artifactId} - -%clean - -%files - -%files -n %subpackage opi -/opt/codac/opi/* - -%files -n %subpackage alarm -/etc/opt/codac/%{project_artifactId}/*beast.xml -/etc/opt/codac/css/beast/%{project_artifactId}/*beast.xml - -%files -n %subpackage archive -/etc/opt/codac/%{project_artifactId}/*beauty.xml -/etc/opt/codac/css/beauty/%{project_artifactId}/*beauty.xml - -%pretrans -%beginlog_pretrans -%endlog - -%posttrans -%beginlog_posttrans -%endlog - -%preun -%beginlog_preun -%endlog - -%postun -%beginlog_postun -%endlog - -%changelog -* Wed Mar 31 2021 Bertrand Bauvir -- Initial version. diff --git a/EC-GN-JA-PCF/.svn/pristine/72/72c1a68f591a72f34ece014e29523c80b81d8b2d.svn-base b/EC-GN-JA-PCF/.svn/pristine/72/72c1a68f591a72f34ece014e29523c80b81d8b2d.svn-base deleted file mode 100644 index 212485e..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/72/72c1a68f591a72f34ece014e29523c80b81d8b2d.svn-base +++ /dev/null @@ -1,43 +0,0 @@ -# CONFIG_SITE - -# Make any application-specific changes to the EPICS build -# configuration variables in this file. -# -# Host/target specific settings can be specified in files named -# CONFIG_SITE.$(EPICS_HOST_ARCH).Common -# CONFIG_SITE.Common.$(T_A) -# CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) - -# CHECK_RELEASE controls the consistency checking of the support -# applications pointed to by the RELEASE* files. -# Normally CHECK_RELEASE should be set to YES. -# Set CHECK_RELEASE to NO to disable checking completely. -# Set CHECK_RELEASE to WARN to perform consistency checking but -# continue building even if conflicts are found. -CHECK_RELEASE = YES - -# Set this when you only want to compile this application -# for a subset of the cross-compiled target architectures -# that Base is built for. -#CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc32 - -# To install files into a location other than $(TOP) define -# INSTALL_LOCATION here. -#INSTALL_LOCATION= - -# Set this when the IOC and build host use different paths -# to the install location. This may be needed to boot from -# a Microsoft FTP server say, or on some NFS configurations. -#IOCS_APPL_TOP = - -# For application debugging purposes, override the HOST_OPT and/ -# or CROSS_OPT settings from base/configure/CONFIG_SITE -#HOST_OPT = NO -#CROSS_OPT = NO - -# These allow developers to override the CONFIG_SITE variable -# settings without having to modify the configure/CONFIG_SITE -# file itself. --include $(TOP)/../CONFIG_SITE.local --include $(TOP)/configure/CONFIG_SITE.local - diff --git a/EC-GN-JA-PCF/.svn/pristine/73/733053c46c05b598acfa0197c98e7bf3793b4cc7.svn-base b/EC-GN-JA-PCF/.svn/pristine/73/733053c46c05b598acfa0197c98e7bf3793b4cc7.svn-base deleted file mode 100644 index 6a74042..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/73/733053c46c05b598acfa0197c98e7bf3793b4cc7.svn-base +++ /dev/null @@ -1,206 +0,0 @@ -record (bo,"EC-GN-P01-PA2F:PSU4000-CON-HV") -{ - field(DESC, "GY2 APS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA2F:PSU4000-CON-SW") -{ - field(DESC, "GY2 APS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA2F:PSU4000-CTRP") -{ - field(DESC, "GY2 APS Shutdown request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PA2F:PSU4000-YFLT") -{ - field(DESC, "GY2 APS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 1) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PA2F:PSU4000-YSTA") -{ - field(DESC, "GY2 APS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 0) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PA2F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF") -{ - field(DESC, "GY2 APS voltage setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_0, 1) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF-MSP") -{ - field(DESC, "GY2 APS voltage manual setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF-P") -{ - field(ASLO, "2") - field(DESC, "GY2 APS P-voltage setpoint") - field(DRVH, "0") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_0, 2) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PA2F:PSU4000-ET") -{ - field(DESC, "GY2 APS Measured Volatege") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA2F:PSU4000-ET-WF") -{ - field(DESC, "GY2 APS Measured Volatege") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA2F:PSU4000-IT") -{ - field(DESC, "GY2 APS Measued Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA2F:PSU4000-IT-WF") -{ - field(DESC, "GY2 APS Measued Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA2F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY2 APS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PA2F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY2 APS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "600000") -} - -record (calcout,"EC-GN-P01-PA2F:STAT-EREF-CONV") -{ - field(CALC, "A>0?A:((A>-20)?A/2:-10)") - field(DESC, "GYB APS engineer value conversion") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PA2F:PSU4000-EREF PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PA2F:STAT-PREP-WF") -{ - field(DESC, "GY2 APS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/73/7397400233046adceeb850f4ed7fc5d6c7a864b6.svn-base b/EC-GN-JA-PCF/.svn/pristine/73/7397400233046adceeb850f4ed7fc5d6c7a864b6.svn-base deleted file mode 100644 index a6fb765..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/73/7397400233046adceeb850f4ed7fc5d6c7a864b6.svn-base +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -taskset -c 12-15 ./Main.sh -f ../Configurations/JAGyrotronB_FY19_P1.cfg -l RealTimeLoader -m StateMachine:Start diff --git a/EC-GN-JA-PCF/.svn/pristine/73/739a18ad3bbd15629d3d87f896cc710b9b374039.svn-base b/EC-GN-JA-PCF/.svn/pristine/73/739a18ad3bbd15629d3d87f896cc710b9b374039.svn-base deleted file mode 100644 index 62ab62d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/73/739a18ad3bbd15629d3d87f896cc710b9b374039.svn-base +++ /dev/null @@ -1,177 +0,0 @@ -/** - * @file JASampleGAM.cpp - * @brief Source file for class JASampleGAM - * @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 JASampleGAM (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 "JASampleGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASampleGAM::JASampleGAM() { - // initialize member variables. - param1 = 0; - param2 = 0; - - //Input signals. - input1 = NULL_PTR(MARTe::uint32 *); - input2 = NULL_PTR(MARTe::float32 *); - //Output signals. - output1= NULL_PTR(MARTe::uint32 *); - output2 = NULL_PTR(MARTe::float32 *); - -} - -JASampleGAM::~JASampleGAM() { -} - -bool JASampleGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("param1", param1); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The param1 shall be specified"); - } - } - if (ok) { - ok = data.Read("param2", param2); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The param2 shall be specified"); - } - } - return ok; -} - -bool JASampleGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JASampleGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 2u); - if (ok) { - ok = (numberOfOutputSignals == 2u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two output signals shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two input signals shall be defined"); - } - // Do type check for input signals. - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - ok = ((inputType == UnsignedInteger32Bit) || (inputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or flaot32", signalName.Buffer()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger32Bit) || (outputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or float32", signalName.Buffer()); - } - } - } - - // Signal id can get by signal name in configuration file - if (ok) { - StreamString signalName = "InputXXX"; //Variable name in configuration file. - uint32 signalxxxIndex; //Index is copied to this variable by using signal name. - ok = GetSignalIndex(InputSignals, signalxxxIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "InputXXX input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, signalxxxIndex); - ok = (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, signalxxxIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - inputXXX = reinterpret_cast(GetInputSignalMemory(signalxxxIndex)); - } - } - } - - // Do type cast. with explicit signal id. - if (ok) { - input1 = reinterpret_cast(GetInputSignalMemory(0)); - input2 = reinterpret_cast(GetInputSignalMemory(1)); - - output1 = reinterpret_cast(GetOutputSignalMemory(0)); - output2 = reinterpret_cast(GetOutputSignalMemory(1)); - - } - return ok; -} - -bool JASampleGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - REPORT_ERROR(ErrorManagement::Information, "input1 is %d.", *input1); - REPORT_ERROR(ErrorManagement::Information, "input2 is %f.", *input2); - REPORT_ERROR(ErrorManagement::Information, "inputXXX is %f.", *inputXXX); - - REPORT_ERROR(ErrorManagement::Information, "maltiply param value to input."); - - *output1 = *input1 * param1; - *output2 = *input2 * param2; - - REPORT_ERROR(ErrorManagement::Information, "output1 is %d.", *output1); - REPORT_ERROR(ErrorManagement::Information, "output2 is %f.", *output2); - - return true; -} - -CLASS_REGISTER(JASampleGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/74/748386473f6668a9bfd07cc4a1ed52d60a8e27b8.svn-base b/EC-GN-JA-PCF/.svn/pristine/74/748386473f6668a9bfd07cc4a1ed52d60a8e27b8.svn-base deleted file mode 100644 index 2ce42cd..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/74/748386473f6668a9bfd07cc4a1ed52d60a8e27b8.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/76/76a63875e336f9b543af3a8115e9c643ce2a0395.svn-base b/EC-GN-JA-PCF/.svn/pristine/76/76a63875e336f9b543af3a8115e9c643ce2a0395.svn-base deleted file mode 100644 index c809458..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/76/76a63875e336f9b543af3a8115e9c643ce2a0395.svn-base +++ /dev/null @@ -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=JARTSampleGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARTSampleGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTSampleGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/77/777f69b163c24769b3f933688d39a8d88f1cb32c.svn-base b/EC-GN-JA-PCF/.svn/pristine/77/777f69b163c24769b3f933688d39a8d88f1cb32c.svn-base deleted file mode 100644 index 20f083d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/77/777f69b163c24769b3f933688d39a8d88f1cb32c.svn-base +++ /dev/null @@ -1,34 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil.*); - -var table = widget.getTable(); -var nbColPVs=4; - -//find index of the trigger PV - -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -table.setCellText(i/nbColPVs, i%nbColPVs +3, PVUtil.getString(triggerPV)); - -var s = PVUtil.getSeverity(triggerPV); - -var color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} - -table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color); - diff --git a/EC-GN-JA-PCF/.svn/pristine/78/780954360790cd82cadd2850b578af840251fe2f.svn-base b/EC-GN-JA-PCF/.svn/pristine/78/780954360790cd82cadd2850b578af840251fe2f.svn-base deleted file mode 100644 index e0a2fc4..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/78/780954360790cd82cadd2850b578af840251fe2f.svn-base +++ /dev/null @@ -1,26 +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. -# -############################################################# - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/.svn/pristine/78/78fcde4103223083f4c567fd6a848f74eb73b4cb.svn-base b/EC-GN-JA-PCF/.svn/pristine/78/78fcde4103223083f4c567fd6a848f74eb73b4cb.svn-base deleted file mode 100644 index 1edd319..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/78/78fcde4103223083f4c567fd6a848f74eb73b4cb.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -/* PLCMain.cpp */ -/* Author: Marty Kraimer Date: 17MAR2000 */ - -#include -#include -#include -#include -#include -#include - -#include "epicsExit.h" -#include "epicsThread.h" -#include "iocsh.h" - -int main(int argc,char *argv[]) -{ - sigset(SIGTERM, epicsExit); - if(argc>=2) { - iocsh(argv[1]); - epicsThreadSleep(.2); - } - iocsh(NULL); - epicsExit(0); - return(0); -} diff --git a/EC-GN-JA-PCF/.svn/pristine/79/799db37bd59cad2842f7a5a27cb9247f7b6e33bb.svn-base b/EC-GN-JA-PCF/.svn/pristine/79/799db37bd59cad2842f7a5a27cb9247f7b6e33bb.svn-base deleted file mode 100644 index d5356be..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/79/799db37bd59cad2842f7a5a27cb9247f7b6e33bb.svn-base +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Autosave monitor post setup -############################################################################ - -cd "${TOP}/iocBoot/$(IOC)" -create_monitor_set("iocEC-GN-PSH0PCF.req",30,"P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/7a/7a057f520954948457c88ca89b6fd4daeef42b40.svn-base b/EC-GN-JA-PCF/.svn/pristine/7a/7a057f520954948457c88ca89b6fd4daeef42b40.svn-base deleted file mode 100644 index 1d2bbcf..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/7a/7a057f520954948457c88ca89b6fd4daeef42b40.svn-base +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @file JABitReverseGAM.h - * @brief Header file for class JABitReverseGAM - * @date Mar 18, 2020 - * @author kuchida - * - * @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 JABitReverseGAM - * 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_JABitReverseGAM_H_ -#define GAMS_JABitReverseGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JABitReverseGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JABitReverseGAM(); - - virtual ~JABitReverseGAM(); - - 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 - - // Input signals - MARTe::uint8 *input1; - - // Output signals - MARTe::uint8 *output1; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JABitReverseGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/7b/7b019c0cfd645bdae9898985e37060d389767186.svn-base b/EC-GN-JA-PCF/.svn/pristine/7b/7b019c0cfd645bdae9898985e37060d389767186.svn-base deleted file mode 100644 index 82a2603..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/7b/7b019c0cfd645bdae9898985e37060d389767186.svn-base +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -import test_async -import test_sync -import test_ready_hw -import test_setup_hw -import test_standby_hw -import test_ready -import test_setup -import test_standby - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -print '---------- Pre setup for the test ----------' -test_setup.test_setup() -#test_setup_hw.test_setup() - -print 'Enter to continue test:' -inpval = raw_input() -################################################################################ -# set SELECT and STANDBY signal -################################################################################ -print '---------- WatiStandby test ----------' -test_standby.test_standby() -#test_standby_hw.test_standby() - -print 'Enter to continue test' -inpval = raw_input() - -################################################################################ -# set READY and CCPS_ON_REQUEST signal -################################################################################ -print '---------- WatiReady test ----------' -test_ready.test_ready() -#test_ready_hw.test_ready() - -print 'Enter to continue test' -inpval = raw_input() -################################################################################ -# set PERMIT and ON signal -################################################################################ -print 'Simulate PERMIT signal. State should go to WaitHVON state' -while(1): - print '''Select test type and push enter key: - 1: GYA / Async mode - 2: GYB / Async mode - 3: Two Gyrotron operation - 4: Mode limit detection - 5: Short pulse - 6: Long pulse - 7: PrePro operation - 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 - ''' - inpval = raw_input() - - if inpval == "1": - test_async.test_async_GYA() - elif inpval == "2": - test_async.test_async_GYB() - elif inpval == "3": - test_async.test_async_both() - elif inpval == "4": - test_async.test_async_limit() - elif inpval == "5": - test_async.test_async_shortpulse() - elif inpval == "6": - test_async.test_async_longpulse() - elif inpval == "7": - test_async.test_async_prepro() - elif inpval == "8": - test_sync.test_sync() - elif inpval == "9": - test_async.test_async_GYA_manual() - elif inpval == "10": - test_async.test_async_GYB_manual() - else: - print 'invalid value. Enter 1 to 10!' - continue - -print '..... End of test code .....' diff --git a/EC-GN-JA-PCF/.svn/pristine/7b/7b58f2f5abb58491d8db91dc530e75071095b557.svn-base b/EC-GN-JA-PCF/.svn/pristine/7b/7b58f2f5abb58491d8db91dc530e75071095b557.svn-base deleted file mode 100644 index 55983f1..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/7b/7b58f2f5abb58491d8db91dc530e75071095b557.svn-base +++ /dev/null @@ -1,409 +0,0 @@ -/** - * @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(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 == 13u); - 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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - modulation = reinterpret_cast(GetInputSignalMemory(11)); - pauseSet = reinterpret_cast(GetInputSignalMemory(12)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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; - if (modulation) p4Value += 32; - if (pauseSet) p4Value += 1; - //*outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value); - *outputSignalNI6528P4 = ~p4Value; - return true; -} - -CLASS_REGISTER(JARTStateMachineGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/7f/7f4f0820b2bcf0768b94db3953f0f746a419b3de.svn-base b/EC-GN-JA-PCF/.svn/pristine/7f/7f4f0820b2bcf0768b94db3953f0f746a419b3de.svn-base deleted file mode 100644 index ffd24ee..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/7f/7f4f0820b2bcf0768b94db3953f0f746a419b3de.svn-base +++ /dev/null @@ -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=JATerminalInterfaceGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(LIBEXT) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/81/816e87665ef18f97f83abce3ec13782e575ab786.svn-base b/EC-GN-JA-PCF/.svn/pristine/81/816e87665ef18f97f83abce3ec13782e575ab786.svn-base deleted file mode 100644 index a23d75a..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/81/816e87665ef18f97f83abce3ec13782e575ab786.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided sequence programs to load -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/81/8198339af1c730aa7f3b596b3c4749505f1dbe3d.svn-base b/EC-GN-JA-PCF/.svn/pristine/81/8198339af1c730aa7f3b596b3c4749505f1dbe3d.svn-base deleted file mode 100644 index 658d273..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/81/8198339af1c730aa7f3b596b3c4749505f1dbe3d.svn-base +++ /dev/null @@ -1,53 +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=JAMessageGAM.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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAMessageGAM$(LIBEXT) \ - $(BUILD_DIR)/JAMessageGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/82/82906779cb9ce4d1c006ecbd7461f8b4002b114a.svn-base b/EC-GN-JA-PCF/.svn/pristine/82/82906779cb9ce4d1c006ecbd7461f8b4002b114a.svn-base deleted file mode 100644 index 60517bb..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/82/82906779cb9ce4d1c006ecbd7461f8b4002b114a.svn-base +++ /dev/null @@ -1,67 +0,0 @@ -#!../../bin/linux-x86_64/EC-GN -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericBoot/ioc/st.cmd $ -# $Id: st.cmd 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : ITER ioc template EPICS start up file -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -< envPaths -< envSystem -< envUser - -cd "${TOP}" - -############################################################################ -## Register all support components -############################################################################ - -dbLoadDatabase "dbd/EC-GN.dbd" -EC_GN_registerRecordDeviceDriver pdbbase - -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/sddPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/userPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/threadSchedulingConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/dbToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-preSaveRestore.cmd" - -############################################################################ -## IOC Logging -############################################################################ -iocLogInit -iocLogPrefix "${STY} : " - -############################################################################ -## IOC initialization -############################################################################ -cd "${TOP}/db" -iocInit - -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-postSaveRestore.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/sddSeqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/seqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/sddPostDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/userPostDriverConf.cmd" - - -dbl > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbl" -dbla > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbla" -dbior > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbior" -dbhcr > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbhcr" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/83/8331f49fb9bee87c696c009ba0fd85eac418f3b7.svn-base b/EC-GN-JA-PCF/.svn/pristine/83/8331f49fb9bee87c696c009ba0fd85eac418f3b7.svn-base deleted file mode 100644 index 6d56e14..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/83/8331f49fb9bee87c696c009ba0fd85eac418f3b7.svn-base +++ /dev/null @@ -1,6 +0,0 @@ -# RULES - -include $(CONFIG)/RULES - -# Library should be rebuilt because LIBOBJS may have changed. -$(LIBNAME): ../Makefile diff --git a/EC-GN-JA-PCF/.svn/pristine/83/83570b90f2f2ddf5ff699e4c17ac97f6e8a915b2.svn-base b/EC-GN-JA-PCF/.svn/pristine/83/83570b90f2f2ddf5ff699e4c17ac97f6e8a915b2.svn-base deleted file mode 100644 index 230aa06..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/83/83570b90f2f2ddf5ff699e4c17ac97f6e8a915b2.svn-base +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SDD_DAN_H -#define SDD_DAN_H -#include "dan.h" - -static const char ICProgName[] = "Gyrotron02DAN"; -static const char GYBDanSource[] = "GYBDanSource"; - -#endif /* SDD_DAN_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/83/83fc02d60e8d5dabba73d649217e085164125996.svn-base b/EC-GN-JA-PCF/.svn/pristine/83/83fc02d60e8d5dabba73d649217e085164125996.svn-base deleted file mode 100644 index 420177c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/83/83fc02d60e8d5dabba73d649217e085164125996.svn-base +++ /dev/null @@ -1,67 +0,0 @@ -#!../../bin/linux-x86_64/EC-GN -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericBoot/ioc/st.cmd $ -# $Id: st.cmd 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : ITER ioc template EPICS start up file -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -< envPaths -< envSystem -< envUser - -cd "${TOP}" - -############################################################################ -## Register all support components -############################################################################ - -dbLoadDatabase "dbd/EC-GN.dbd" -EC_GN_registerRecordDeviceDriver pdbbase - -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/sddPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/userPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/threadSchedulingConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/dbToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-preSaveRestore.cmd" - -############################################################################ -## IOC Logging -############################################################################ -iocLogInit -iocLogPrefix "${STY} : " - -############################################################################ -## IOC initialization -############################################################################ -cd "${TOP}/db" -iocInit - -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-postSaveRestore.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/sddSeqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/seqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/sddPostDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/userPostDriverConf.cmd" - - -dbl > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbl" -dbla > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbla" -dbior > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbior" -dbhcr > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbhcr" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/86/863510893564f7f055425ff8e56b023a4163fdd3.svn-base b/EC-GN-JA-PCF/.svn/pristine/86/863510893564f7f055425ff8e56b023a4163fdd3.svn-base deleted file mode 100644 index 7868875..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/86/863510893564f7f055425ff8e56b023a4163fdd3.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/87/876a86edeafe4711e6474178e7f0bb448faf79d7.svn-base b/EC-GN-JA-PCF/.svn/pristine/87/876a86edeafe4711e6474178e7f0bb448faf79d7.svn-base deleted file mode 100644 index 988dfd2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/87/876a86edeafe4711e6474178e7f0bb448faf79d7.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=À‰n‰ü~, IDX=0, IOCTYPE=CUB, PP=, PPPP=, NNNN=, TTT=") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/87/878a4270b568fd56cc070d9cbde0ad460b2699d5.svn-base b/EC-GN-JA-PCF/.svn/pristine/87/878a4270b568fd56cc070d9cbde0ad460b2699d5.svn-base deleted file mode 100644 index 07012f8..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/87/878a4270b568fd56cc070d9cbde0ad460b2699d5.svn-base +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/88/8817d5a0861ab1fbcff80feac46ed370cbac79fe.svn-base b/EC-GN-JA-PCF/.svn/pristine/88/8817d5a0861ab1fbcff80feac46ed370cbac79fe.svn-base deleted file mode 100644 index 22e34c3..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/88/8817d5a0861ab1fbcff80feac46ed370cbac79fe.svn-base +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file JATriangleWaveGAM.h - * @brief Header file for class JATriangleWaveGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JATriangleWaveGAM - * 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_JATRIANGLEWAVEGAM_H_ -#define GAMS_JATRIANGLEWAVEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM provides triangular waveform output within 1kHz thread. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *      +CCPSWaveformGAM = {
- *           Class = JATriangleWaveGAM
- *           InputSignals = {
- *               Offset = {
- *                   Alias = OFFSET
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               Frequency = {
- *                   Alias = CCPS_OUTPUT_FREQ
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               Amplitude = {
- *                   Alias = CCPS_OUTPUT_AMP
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               PLCCCPSON = {
- *                   Alias = PLC_CCPSON
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
-  *              READY = {
- *                   Alias = PLC_READY
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               CCPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -class JATriangleWaveGAM : public MARTe::GAM { -public: - CLASS_REGISTER_DECLARATION() - - JATriangleWaveGAM(); - - virtual ~JATriangleWaveGAM(); - - virtual bool Initialise(MARTe::StructuredDataI & data); - - virtual bool Setup(); - - virtual bool Execute(); -private: - // Input signal containing the frequency of the waveform. - MARTe::float32 *frequency; - - // Input signal containing the amplitude of the waveform. - MARTe::float32 *amplitude; - - // Input signal cantaining the offset of the waveform. - MARTe::float32 *offset; - - // Input signal containing CCPS_ON_REQUEST - //MARTe::uint32 *plcccpson; - - // Input signal condition CCPS_READY - //MARTe::uint32 *plcReady; - - // Input signal condition CCPS_STANDBY - MARTe::uint32 *plcStandby; - - MARTe::float32 *waveOutput; - - MARTe::float32 time; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JATRIANGLEWAVEGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/88/88c87f05bce8accaad5ffb7de87990ca5432df98.svn-base b/EC-GN-JA-PCF/.svn/pristine/88/88c87f05bce8accaad5ffb7de87990ca5432df98.svn-base deleted file mode 100644 index 1a4216b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/88/88c87f05bce8accaad5ffb7de87990ca5432df98.svn-base +++ /dev/null @@ -1,36 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/topicvars.h.vm $ -// $Id: topicvars.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron02DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef TOPICVARS_H -#define TOPICVARS_H - -#include "includetopics.h" - -/* Declare variables for the topics on which application is publishing. */ -//+P===================================================================== -//-P===================================================================== - -/* Declare variables for the topics to which application is subscribing. */ -//+S===================================================================== -//-S===================================================================== - -#endif diff --git a/EC-GN-JA-PCF/.svn/pristine/89/89404842a9a99b8d182defcdf24697a3eb1147c5.svn-base b/EC-GN-JA-PCF/.svn/pristine/89/89404842a9a99b8d182defcdf24697a3eb1147c5.svn-base deleted file mode 100644 index c141074..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/89/89404842a9a99b8d182defcdf24697a3eb1147c5.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -./Main.sh -f ../Configurations/tests/EPICS_Test.cfg -l RealTimeLoader -m StateMachine:START - diff --git a/EC-GN-JA-PCF/.svn/pristine/8a/8af3ffb7c7b71295510bc6a903ca963a954b4f1e.svn-base b/EC-GN-JA-PCF/.svn/pristine/8a/8af3ffb7c7b71295510bc6a903ca963a954b4f1e.svn-base deleted file mode 100644 index 3be2fb2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/8a/8af3ffb7c7b71295510bc6a903ca963a954b4f1e.svn-base +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/8a/8af5737f068bad44aaffa4a72d4bb473dd42ff49.svn-base b/EC-GN-JA-PCF/.svn/pristine/8a/8af5737f068bad44aaffa4a72d4bb473dd42ff49.svn-base deleted file mode 100644 index 6c9a40e..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/8a/8af5737f068bad44aaffa4a72d4bb473dd42ff49.svn-base +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver pre configuration -############################################################################ - -# Enable parallel callback threads to improve 'I/O Intr' record scanning -# see https://bugzilla.iter.org/codac/show_bug.cgi?id=10413 -callbackParallelThreads - -callbackSetQueueSize(100000) -scanOnceSetQueueSize(100000) - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/8b/8b53da5e48dbd5bf7ad8f2e0e095e48da7f4442e.svn-base b/EC-GN-JA-PCF/.svn/pristine/8b/8b53da5e48dbd5bf7ad8f2e0e095e48da7f4442e.svn-base deleted file mode 100644 index 53595f8..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/8b/8b53da5e48dbd5bf7ad8f2e0e095e48da7f4442e.svn-base +++ /dev/null @@ -1 +0,0 @@ -Last SDD Generation: Tue May 13 14:02:23 UTC 2025 diff --git a/EC-GN-JA-PCF/.svn/pristine/8c/8cbd4f09a363ba841b5a7420c7f2953833bb8a94.svn-base b/EC-GN-JA-PCF/.svn/pristine/8c/8cbd4f09a363ba841b5a7420c7f2953833bb8a94.svn-base deleted file mode 100644 index 178d63c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/8c/8cbd4f09a363ba841b5a7420c7f2953833bb8a94.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -/* Main.cpp */ -/* Author: Marty Kraimer Date: 17MAR2000 */ - -#include -#include -#include -#include -#include -#include - -#include "epicsExit.h" -#include "epicsThread.h" -#include "iocsh.h" - -int main(int argc,char *argv[]) -{ - sigset(SIGTERM, epicsExit); - if(argc>=2) { - iocsh(argv[1]); - epicsThreadSleep(.2); - } - iocsh(NULL); - epicsExit(0); - return(0); -} diff --git a/EC-GN-JA-PCF/.svn/pristine/8c/8cc6904688eef8b35d37a4351569381cc7fe6807.svn-base b/EC-GN-JA-PCF/.svn/pristine/8c/8cc6904688eef8b35d37a4351569381cc7fe6807.svn-base deleted file mode 100644 index 49f62b1..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/8c/8cc6904688eef8b35d37a4351569381cc7fe6807.svn-base +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @file NI6528.cpp - * @brief Source file for class NI6528 - * @date 01/03/2017 - * @author Andre Neto - * - * @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 NI6528 (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include -#include -#include -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "CompilerTypes.h" -#include "NI6528.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -NI6528::NI6528() : - MARTe::DataSourceI() { - using namespace MARTe; - previousValue = 0u; - value = 0u; - port = 0u; - boardFileDescriptor = 0; -} - -NI6528::~NI6528() { - using namespace MARTe; - (void) pxi6528_close_device(boardFileDescriptor); -} - -bool NI6528::SetConfiguredDatabase(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = (DataSourceI::SetConfiguredDatabase(data)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "DataSourceI::SetConfiguredDatabas() failed"); - } - if (ok) { - ok = (GetNumberOfSignals() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetNumberOfSignals() != 1u"); - } - } - if (ok) { - ok = (GetSignalType(0u) == UnsignedInteger8Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetSignalType(0u) != UnsignedInteger8Bit"); - } - } - - return ok; -} - -bool NI6528::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("Port", port); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The Port shall be specified"); - } - } - if (ok) { - ok = data.Read("DeviceName", deviceName); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The DeviceName shall be specified"); - } - } - int32 ret = pxi6528_open_device(&boardFileDescriptor, deviceName.Buffer(), O_NONBLOCK); - ok = (ret == 0); - if (!ok) { - StreamString err = strerror(-ret); - REPORT_ERROR(ErrorManagement::FatalError, "Could not open device (%s) : %s", deviceName.Buffer(), err.Buffer()); - } - return ok; -} - -bool NI6528::Synchronise() { - using namespace MARTe; - if(previousValue != value){ - int32 ret = (pxi6528_write_port(boardFileDescriptor, port, value) > 0); - previousValue = value; - bool ok = (ret > -1); - if (!ok) { - StreamString err = strerror(-ret); - REPORT_ERROR(ErrorManagement::FatalError, "Could not write to device (%s) : %s", deviceName.Buffer(), err.Buffer()); - } - } - - return true; -} - -bool NI6528::AllocateMemory() { - return true; -} - -bool NI6528::GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress) { - signalAddress = &value; - return true; -} - -const MARTe::char8 *NI6528::GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction) { - using namespace MARTe; - return "MemoryMapSynchronisedOutputBroker"; -} - -bool NI6528::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - return true; -} - -CLASS_REGISTER(NI6528, "1.0") - diff --git a/EC-GN-JA-PCF/.svn/pristine/8d/8d0751151d2aceecb03307dd3eb27e2956a4c14c.svn-base b/EC-GN-JA-PCF/.svn/pristine/8d/8d0751151d2aceecb03307dd3eb27e2956a4c14c.svn-base deleted file mode 100644 index 06f975b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/8d/8d0751151d2aceecb03307dd3eb27e2956a4c14c.svn-base +++ /dev/null @@ -1,639 +0,0 @@ -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp-sdn/main/c++/prog/prog.cpp.template $ - * $Id: prog.cpp.template 83098 2018-01-08 13:23:38Z cesnikt $ - * - * Project : CODAC Core System - * - * Description : GyrotronDAN program - * - * Author : codac-dev - * - * Copyright (c) : 2010-2018 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* header files */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#define float32_t float32_t1 -#include -#undef float32_t - -#include -#include -#include -#include -#include -#include - -#include - -// global variables -static bool __terminate = false; -char pxie6368_0_ai_fd[] = "/dev/pxie-6368.1.ai"; // ai segment -char pxie6368_0_device[] = "/dev/pxie-6368.1"; // device descriptor - -typedef struct { - int daq_smpl_rate; - int daq_mode; - double daq_smpl_st_dly; - double daq_len; - double daq_pub_dly; -} daq_parameters; - -void signal_handler(int signal) { - log_info("Received signal '%d' to terminate", signal); - __terminate = true; -}; - -// DAN parameter reload function ------------------------------------------------ -int reload_daq_conf(int *aifd, int *ai_chan_fd, daq_parameters *daq_p) { - std::cout << "reload_daq_conf was called \n"; - - // Common variables - int retval; - unsigned long number_of_samples; - int chan_num = 10; // Channel number to add. - uint32_t sample_period_divisor; - uint32_t base_clock = 100000000; // TB3:100MHz, TB2:100 kHz - uint32_t pre_samples = 1000; - uint32_t post_samples = 1000; - char str[40]; - xseries_ai_conf_t conf; // ai segment configuraton data - - // calculate sampling period divisor - if (daq_p->daq_smpl_rate != 0) { - sample_period_divisor = base_clock / daq_p->daq_smpl_rate; - } else { - return 0; - } - - // Stop ai segment---------------------------------------------------------------------- - retval = xseries_stop_ai(*aifd); - if (retval) { - log_error("ai segment stop failed.\n"); - } else { - log_info("ai segment stopped.\n"); - } - - // reset ai segment--------------------------------------------------------------------- - retval = xseries_reset_ai(*aifd); - if (retval) { - log_error("ai segment reset failed.\n"); - return -1; - } - - // Configure AI segment mode ------------------------------------------------------------ - switch (daq_p->daq_mode) { - case 0: - conf = xseries_software_timed_ai(); - log_info("software_timed mode.\n"); - break; - case 1: - conf = xseries_finite_ai(number_of_samples); - log_info("finite mode.\n"); - break; - case 2: - conf = xseries_retriggerable_finite_ai(number_of_samples); - log_info("retriggerable_finite mode.\n"); - break; - case 3: - conf = xseries_continuous_ai(); - log_info("continuous mode.\n"); - break; - case 4: - conf = xseries_reference_ai(pre_samples, post_samples); - log_info("reference mode.\n"); - break; - } - - // disable external gate - retval = xseries_set_ai_external_gate(&conf, - XSERIES_AI_EXTERNAL_GATE_DISABLED, // No external pause signal - XSERIES_AI_POLARITY_ACTIVE_LOW_OR_FALLING_EDGE); // Don't care - if (retval) { - log_error("Cannot set gate trigger.\n"); - return -1; - } - - // select start trigger (START1 signal) - retval = xseries_set_ai_start_trigger(&conf, - XSERIES_AI_START_TRIGGER_SW_PULSE, // Set the line to software-driven - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, // Make line active on rising... - 1); // ... edge (not high level) - if (retval) { - log_error("Cannot set start trigger.\n"); - return -1; - } - - // set sampling clock source---------------------------------------------------------------------------------------- - retval = xseries_set_ai_sample_clock(&conf, - XSERIES_AI_SAMPLE_CONVERT_CLOCK_INTERNALTIMING, - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, 1); - if (retval) { - log_error("Cannot configure sampling clock.\n"); - return -1; - } - - // set scan interval ------------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_scan_interval_counter(&conf, - XSERIES_SCAN_INTERVAL_COUNTER_TB3, // TB3 : 100MHz base clock, TB2 : 100kHz base clock - XSERIES_SCAN_INTERVAL_COUNTER_POLARITY_RISING_EDGE, - sample_period_divisor, 2); // Wait 2*100MHz sec after sampling trig. - if (retval) { - log_error("Cannot configure scan counter.\n"); - return -1; - } - - // Set DMA buffer size----------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_attribute(&conf, XSERIES_AI_DMA_BUFFER_SIZE, 1000); - if (retval) { - log_error("DMA configuration was failed.\n"); - return -1; - } - - // Add AI channels --------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - retval = xseries_add_ai_channel(&conf, i, XSERIES_INPUT_RANGE_10V, - XSERIES_AI_CHANNEL_TYPE_DIFFERENTIAL, 0); - if (retval) { - log_error("Add AI channel %d was failed.\n", i); - return -1; - } - } - sleep(3); - - // Load configuration.----------------------------------------------------------------------------------------------------------------------- - retval = xseries_load_ai_conf(*aifd, conf); - if (retval) { - log_error("xseries_load_ai_conf was failed. error code: %d \n", retval); - exit (EXIT_FAILURE); - } - sleep(3); - - // Open channels-------------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - sprintf(str, "%s.ai.%u", pxie6368_0_device, i); - //ai_chan_fd[i] = open(str, O_RDWR | O_NONBLOCK); - ai_chan_fd[i] = open(str, O_RDWR); - if (ai_chan_fd[i] < 0) { - log_error("Cannot open ai channel %d .\n",i); - sleep(1); - exit (EXIT_FAILURE); - } - } - - // start ai segment task----------------------------------------------------------------------------------------------------------------------- - retval = xseries_start_ai(*aifd); - if (retval) { - log_error("ERROR, starting AI segment failed: %s\n", strerror(retval)); - exit (EXIT_FAILURE); - } - - log_info("PXIe-6368 configuration was finished.\n"); - return 0; -}; - - - -int main(int argc, char **argv) { - using namespace std; - unsigned long n_sample_quotient = 0; - - log_initialize(NULL); - - while (!__terminate) { - // Install signal handler to support graceful termination - sigset(SIGTERM, signal_handler); - sigset(SIGINT, signal_handler); - sigset(SIGHUP, signal_handler); - - // ---------------------------------------------------------------------------------------------------------------- - // Running parameter declaration - // ---------------------------------------------------------------------------------------------------------------- - // pxie6368 hardware parameters - int pxie6368_0_device_number = 1; // device discriptor number - int aifd = 0; // ai segment file discriptor - xseries_ai_conf_t conf; // ai segment config - xseries_ai_attribute_t aiatrb; // ai segment attributes - char str[40]; // fd tmp var - int ai_chan_fd[16]; // ai channels file discriptor - int pxie6368_sampling_rate = 1000; // sampling rate Hz - uint32_t sample_period_divisor = 100000000 / pxie6368_sampling_rate; // TB3 100MHz, TB2:100kHz, TB1:20MHz - int sampleSize = 2; // Sample size in bytes <---> uInt16 - int n_channels; // Number of opened channels - struct xseries_dma *dma; // Ptr to dma struct - int chan_num = 10; // Channel number to add. - - // DAN parameters - char dan_source_name[] = "GYBDanSource"; // DAN data source (ds) name - long offset_ai = 0; // offset size in published data - int dma_mode = 1; // 0:All, 1:AI only, 2:AO only - dan_DataCore dc = NULL; // Datacore reference declaration - dan_Source ds = NULL; // DAN source declaration - long samplesCounter = 0; // Total acquired sample size - size_t n_samples; // prepared sample size to publish - - // TCN parameters - uint64_t tBase_old = 0; - uint64_t tBase = 0; // TCN publishing base time - uint64_t nanos; // time length for sampling - hpn_timestamp_t delay = 1e7; // wait for publishing (10ms) - char buf[ISO_8601_LEN]; - uint64_t tBase0 = 0; - - // Operation tmp parameter - int result; // For result values. - int exValue; - bool toterminate = false; - int retval; - bool daq_start = false; - int testcounter = 10000; - - // Connected EPCIS PV - - // DAQ config PVs - chid daq_smpl_rate_id; - chtype daq_smpl_rate_type; - int daq_smpl_rate; - chid daq_smpl_rate_rb_id; - chtype daq_smpl_rate_rb_type; - int daq_smpl_rate_rb; - chid daq_mode_id; - chtype daq_mode_type; - int daq_mode; - chid daq_mode_rb_id; - chtype daq_mode_rb_type; - int daq_mode_rb; - chid daq_sw_trig_id; - chtype daq_sw_trig_type; - int daq_sw_trig; - chid daq_smpl_st_dly_id; - chtype daq_smpl_st_dly_type; - double daq_smpl_st_dly; - chid daq_smpl_st_dly_rb_id; - chtype daq_smpl_st_dly_rb_type; - double daq_smpl_st_dly_rb; - chid daq_len_id; - chtype daq_len_type; - double daq_len; - chid daq_len_rb_id; - chtype daq_len_rb_type; - double daq_len_rb; - chid daq_reconf_id; - chtype daq_reconf_type; - int daq_reconf; - chid daq_pub_dly_id; - chtype daq_pub_dly_type; - double daq_pub_dly; - chid daq_pub_dly_rb_id; - chtype daq_pub_dly_rb_type; - double daq_pub_dly_rb; - - chid daq_stat_id; - chtype daq_stat_type; - int daq_stat; - chid daq_conf_stat_id; - chtype daq_conf_stat_type; - int daq_conf_stat; - - daq_parameters daq_p = { 0 }; // = {daq_smpl_rate, daq_smpl_rate_rb, daq_mode, daq_mode_rb}; - - // ---------------------------------------------------------------------------------------------------------------------------------------------- - // EPICS PV connection - // ---------------------------------------------------------------------------------------------------------------------------------------------- - //Initialize ChannelAccess interface - CAInterface_Initialize(); - - // Connect to EPICS PVs - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE", daq_smpl_rate_id); - daq_smpl_rate_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB", daq_smpl_rate_rb_id); - daq_smpl_rate_rb_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE", daq_mode_id); - daq_mode_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE-RB", daq_mode_rb_id); - daq_mode_rb_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SW-TRIG", daq_sw_trig_id); - daq_sw_trig_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY", daq_smpl_st_dly_id); - daq_smpl_st_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY-RB", daq_smpl_st_dly_rb_id); - daq_smpl_st_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN", daq_len_id); - daq_len_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN-RB", daq_len_rb_id); - daq_len_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-RECONF", daq_reconf_id); - daq_reconf_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY", daq_pub_dly_id); - daq_pub_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB", daq_pub_dly_rb_id); - daq_pub_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-STAT", daq_stat_id); - daq_stat_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-CONF-STAT", daq_conf_stat_id); - daq_conf_stat_type = DBR_ENUM; - - tcn_sleep(3e9);// Wait for a while. - - // ---------------------------------------------------------------------------------------------------------------- - // Initialize tcn library - // ---------------------------------------------------------------------------------------------------------------- - int tcn_err; - tcn_err = tcn_init(); - if (tcn_err != TCN_SUCCESS) { - log_error("TCN Initialization failed.\n"); - exValue = 1; - goto END; - } - - // ---------------------------------------------------------------------------------------------------------------- - // pxie-6368 settings - // ---------------------------------------------------------------------------------------------------------------- - // Open ai segment---------------------------------------------------------------------- - aifd = open(pxie6368_0_ai_fd, O_RDWR); - if (aifd <= 0) { - log_error("Open PXIe6368 AI fd failed.\n"); - exValue = -1; - goto END; - } - - // wait ai segment setup start - do { - CAInterface_ReadVariable(daq_reconf_id, daq_reconf_type, (void*) &daq_reconf); - } while (!daq_reconf and !__terminate); - - // read parameter - result = CAInterface_ReadVariable(daq_smpl_rate_id, daq_smpl_rate_type, (void *) &daq_p.daq_smpl_rate); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_mode_id, daq_mode_type, (void *) &daq_p.daq_mode); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_smpl_st_dly_id, daq_smpl_st_dly_type, (void *) &daq_p.daq_smpl_st_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_len_id, daq_len_type, (void *) &daq_p.daq_len); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_pub_dly_id, daq_pub_dly_type, (void *) &daq_p.daq_pub_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - - std::cout << "SAMPLE RATE:" << daq_p.daq_smpl_rate << endl; - std::cout << "MODE :" << daq_p.daq_mode << endl; - std::cout << "START DELAY:" <ai.count * sampleSize, 4096); - - //dan_DataCore, ds_name, devName, enum_daq_type refType, long refSize, long refOffset - if (ds == NULL) { - log_error("Error while publishing DAN source %s ", dan_source_name); - exValue = 1; - goto END; - } - - n_channels = dan_publisher_getNumberOfChannels(ds); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- DAN Streamer. - // ------------------------------------------------------------------------------------------------------------------ - // ----- Open a new stream --------------------------------------------------------------------- - dan_publisher_openStream(ds, daq_p.daq_smpl_rate, 0); - sleep(1); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Main DAN Loop. - // ------------------------------------------------------------------------------------------------------------------ - while (!__terminate) { - // Wait for the master trigger.---------------------------------------------------------------------------- - daq_stat = 1; //0:Not Ready, 1: Waiting trigger, 2:Acquiring 3:Error - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - daq_conf_stat = 1; //0:Not ready, 1: Ready - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - - // Wait DAQ Start Software Trigger. - do { - // check daq_sw_trigger to start DAQ sequence. - CAInterface_ReadVariable(daq_sw_trig_id, daq_sw_trig_type, (void*) &daq_sw_trig); - tcn_sleep(1e7); // wait 0.01 s - if (daq_sw_trig) { - daq_start = true; - } - } while (daq_start != true and !__terminate); - - daq_start = false; //reset daq_start flag. - delay = (long) (1e6 * daq_p.daq_pub_dly); //check publish period. - - // Wait a time to start DAQ. ---------------------------------------------------------------------------------------------------------------------- - tcn_sleep(daq_p.daq_smpl_st_dly * 1e6); // in ms - - // After the wating, trigger DAQ ------------------------------------------------------------------------------------------------------------------ - retval = xseries_pulse_ai(aifd, XSERIES_START_TRIGGER); - daq_stat = 2; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - if (retval) { - std::cout << "Cannot generate start trigger!\n"; - goto END; - } else { - tcn_get_time(&tBase); // get DAQ start time. - tBase0 = tBase; // save DAQ start time to tBase0; - tBase_old = tBase; - } - - // DAQ Publish Loop. ---------------------------------------------------------------------------------------------------------------------------- - // DAN data publish is executed every delay time interval. - while (!__terminate && (tcn_wait_until_hr((tBase + delay), &tBase, 0) == TCN_SUCCESS)) { - // Get the number of available samples in PXIe6368 buffer. - n_samples = xsereis_ai_dma_samples_in_buffer(dma); // samples - - if (n_samples > dma->ai.count) { - //log_error("DMA Buffer overflow: Number of new samples in buffer = %ld, AI buffer size = %ld,\n", n_samples, dma->ai.count); - } else if (n_samples > 0) { - //log_info("Current Time:\n%s\n", tcn_strftime(tBase, buf, ISO_8601_LEN)); - if (tBase == 0) { - // "tBase was reset.------------------------------------------------------\n"; - tcn_get_time(&tBase); - tBase -= n_samples * 100000000 / pxie6368_sampling_rate; - nanos = 0; - } else { - // update time offset value. - nanos = n_samples * 100000000 / daq_p.daq_smpl_rate; - } - n_sample_quotient = floor(n_samples / chan_num); - n_samples = n_sample_quotient * chan_num; - - // Publish a new data block -------------------------------------------------------------------------------------------------------------------------- - result = dan_publisher_putBlockReference(ds, - tBase_old + nanos, // timestamp in epoch nanoseconds - n_samples * sampleSize, // datablock size in bytes - offset_ai * sampleSize, // Offset in DAQ buffer - NULL); // No datablock header.... - // Detected overflow in pass datablock reference queue - if (result == -1) { - log_info("%s, Queue overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } else if (result == -2) { - log_info("%s, DAQ buffer overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } - } - - samplesCounter += n_samples; // Increment total of published sampes - offset_ai = (offset_ai + n_samples) % dma->ai.count; // Update offset of memory - dma->ai.last_transfer_count = samplesCounter; // Update dma last_transfer_count - - // Check exit condition. - if ((daq_p.daq_len * 1e6 <= (tBase - tBase0))) { - retval = xseries_stop_ai(aifd); - if (retval) { - std::cout << "Stop AI segment failed.\n"; - exit (EXIT_FAILURE); - } - - //restart ai segment. - tcn_sleep(1e9); // wait - retval = xseries_start_ai(aifd); - if (retval) { - std::cout << "Start AI segment failed.\n"; - exit (EXIT_FAILURE); - } - //debug - tcn_sleep(1e8); - n_samples = xsereis_ai_dma_samples_in_buffer(dma); - cout << "n_samples check : " << n_samples << endl; - break; - } - tBase_old = tBase; - } // End of DAQ publish loop. - break; - } // End of DAN main loop. - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Closing program. - // ------------------------------------------------------------------------------------------------------------------ - log_info("DAN end of acquisition, closing all resources"); - - //Closing stream - dan_publisher_closeStream(ds); - exValue = 0; - - // Close all channels - for (int channel = 0; channel < chan_num; channel++) { - close(ai_chan_fd[channel]); - } - goto END; - - END: daq_conf_stat = 0; - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - daq_stat = 0; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - // Destroy CA context - CAInterface_Finalize(); - // Close pxie6368 - if (dma != NULL) { - xseries_dma_close(dma); - cout << "pxie-6368 dma was clesed.\n"; - } - - close(aifd); - - // Unpublishing source from DAN API - if (ds != NULL) { - dan_publisher_unpublishSource(dc, ds); - } - - // Closing DAN API library - if (dc != NULL) { - dan_closeLibrary(dc); - } - - // Closing TCN library - result = tcn_finalize(); - if (result != TCN_SUCCESS) { - //log_error("Error finalizing TCN lib.\n"); - } - - } // loop end from initialization - return (0); - -} diff --git a/EC-GN-JA-PCF/.svn/pristine/8d/8d41ae78ac5775598b5912322a7b04c0d83c7569.svn-base b/EC-GN-JA-PCF/.svn/pristine/8d/8d41ae78ac5775598b5912322a7b04c0d83c7569.svn-base deleted file mode 100644 index 6aee723..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/8d/8d41ae78ac5775598b5912322a7b04c0d83c7569.svn-base +++ /dev/null @@ -1,424 +0,0 @@ -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START") -{ - field(DESC, "Auto rampup start command") - field(HIGH, "0.1") - field(ONAM, "Start") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-LOC") -{ - field(DESC, "Local control ON") - field(DTYP, "stream") - field(ONAM, "LOC") - field(OUT, "@PCR500LE.proto setLoc FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB") -{ - field(DESC, "Output ON readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getOut FHPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP") -{ - field(DESC, "Output ON command") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PCR500LE.proto setOut FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-REM") -{ - field(DESC, "Remote control on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setRem FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-RST") -{ - field(DESC, "Reset command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto resetDevice FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB") -{ - field(DESC, "External control readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getSourceON FHPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP") -{ - field(DESC, "External control ON command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setSourceON FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP") -{ - field(DESC, "GY1 FHPS rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 FHPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:STAT-SIMM") -{ - field(DESC, "GY1 FHPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB") -{ - field(DESC, "Output Voltage readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getVolt FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP") -{ - field(DESC, "Output voltage setpoint") - field(DRVH, "300") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setVolt FHPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME") -{ - field(DESC, "Auto rampup time") - field(DRVH, "100000") - field(DRVL, "10") - field(EGU, "sec") - field(HOPR, "100000") - field(LOPR, "10") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "30") -} - -record (mbbo,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT") -{ - field(DESC, "Auto rampup status") - field(ONST, "IN OPERATION") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(THST, "ERROR") - field(THVL, "3") - field(TWST, "FINISH") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "NOT IN OPERATION") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV") -{ - field(DESC, "Auto rampup target voltage") - field(DRVH, "60") - field(DRVL, "0.0") - field(EGU, "V") - field(HOPR, "60.0") - field(LOPR, "0.0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "5") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB") -{ - field(DESC, "Output Current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5") - field(INP, "@PCR500LE.proto getCurr FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP") -{ - field(DESC, "Output current setpoint") - field(DRVH, "5.0") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setCurr FHPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-EREF") -{ - field(DESC, "GY1 FHPS voltage setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP") -{ - field(DESC, "GY1 FHPS voltage manual setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GAF-FHPS:PSU2610-ERROR") -{ - field(DESC, "Error code") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getError FHPS1") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB") -{ - field(DESC, "Output frequency readback") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getFreq FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP") -{ - field(DESC, "Output frequency setpoint") - field(DRVH, "999.9") - field(DRVL, "1") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setFreq FHPS1") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (stringin,"EC-GN-P01-GAF-FHPS:PSU2610-IDN") -{ - field(DESC, "IDN") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto readDeviceID FHPS1") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI") -{ - field(DESC, "Measued AC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(INP, "@PCR500LE.proto getMeasACI FHPS1") - field(LOPR, "-5.0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP") -{ - field(DESC, "Measued AC Power") - field(DTYP, "stream") - field(EGU, "W") - field(HOPR, "500") - field(INP, "@PCR500LE.proto getMeasACP FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV") -{ - field(DESC, "Measued AC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getMeasACV FHPS1") - field(LOPR, "-300") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ") -{ - field(DESC, "Measued Frequency") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getMeasACF FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET") -{ - field(CALC, "A==1?0:1") - field(DESC, "GYA FHPS rampup comp off") - field(INPA, "EC-GN-P01-GAF:STAT-SM") - field(OOPT, "Transition To Zero") - field(OUT, "EC-GN-P01-GAF-FHPS:STAT-MANM PP") - field(SCAN, "1 second") -} - -record (waveform,"EC-GN-P01-GAF-FHPS:STAT-PREP-WF") -{ - field(DESC, "GY1 FHPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC") -{ - field(CALC, "A==2?1:0") - field(DESC, "GYA FHPS rampup comp check") - field(INPA, "EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(ABS(A-B)<0.1*B)?2:((C > D)?1:0);D:=C") - field(DESC, "GYA FHPS rampup stat check") - field(FLNK, "EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC") - field(INPA, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV") - field(INPB, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV") - field(INPC, "EC-GN-P01-GAF-FHPS:PSU2610-EREF") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYA FHPS rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/8e/8ebfbb941a921b6e727cdd7071b60096b4585e57.svn-base b/EC-GN-JA-PCF/.svn/pristine/8e/8ebfbb941a921b6e727cdd7071b60096b4585e57.svn-base deleted file mode 100644 index 72089d8..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/8e/8ebfbb941a921b6e727cdd7071b60096b4585e57.svn-base +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -def test_ready(): - """In the WaitReady state, simulate READY signal from PLC.""" - print '---------- WatiReady test ----------' - print '1. Simulate READY signal. State should go to WaitPermit state.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R 1', shell=True) - print '2. Set CCPS trianguler waveform parameters(1V, 1Hz)' - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-AMP 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-FREQ 1', shell=True) #Hz - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-AMP 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-FREQ 1', shell=True) #Hz - time.sleep(1) - print '3. load csv file.' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-NAME test.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-LOAD 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-NAME test2.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-LOAD 1', shell=True) - time.sleep(1) - print '4. Simulate CCPS_ON_REQUEST signal' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2 1', shell=True) - time.sleep(1) - print '5. Confirm CCPS_ON flag and triangular waveform generation.' - print '6. Simulate CCPS status PVs.' - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:PSU2320-TR 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:PSU2320-TR 1', shell=True) - print '7. Confirm PCF state changes to WaitPermit state.' - diff --git a/EC-GN-JA-PCF/.svn/pristine/90/90c6b4911cdf61a3a290499d924bdf9187062bb0.svn-base b/EC-GN-JA-PCF/.svn/pristine/90/90c6b4911cdf61a3a290499d924bdf9187062bb0.svn-base deleted file mode 100644 index c942204..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/90/90c6b4911cdf61a3a290499d924bdf9187062bb0.svn-base +++ /dev/null @@ -1,41 +0,0 @@ --100,0,0,0,0,0 --90,1,1,1,1,1 --80,2,2,2,2,2 --70,3,3,3,3,3 --60,4,4,4,4,4 --50,5,5,5,5,5 --40,6,6,6,6,6 --30,7,7,7,7,7 --20,8,8,8,8,8 --10,9,9,9,9,9 -0,10,10,10,10,10 -10,9,9,9,9,9 -20,8,8,8,8,8 -30,7,7,7,7,7 -40,6,6,6,6,6 -50,5,5,5,5,5 -60,4,4,4,4,4 -70,3,3,3,3,3 -80,2,2,2,2,2 -90,1,1,1,1,1 -100,0,0,0,0,0 -110,1,1,1,1,1 -120,2,2,2,2,2 -130,3,3,3,3,3 -140,4,4,4,4,4 -150,5,5,5,5,5 -160,6,6,6,6,6 -170,7,7,7,7,7 -180,8,8,8,8,8 -190,9,9,9,9,9 -200,10,10,10,10,10 -210,9,9,9,9,9 -220,8,8,8,8,8 -230,7,7,7,7,7 -240,6,6,6,6,6 -250,5,5,5,5,5 -260,4,4,4,4,4 -270,3,3,3,3,3 -280,2,2,2,2,2 -290,1,1,1,1,1 -300,0,0,0,0,0 diff --git a/EC-GN-JA-PCF/.svn/pristine/91/913fef48b21bbf86519fc9efb324e75bc11bd6fc.svn-base b/EC-GN-JA-PCF/.svn/pristine/91/913fef48b21bbf86519fc9efb324e75bc11bd6fc.svn-base deleted file mode 100644 index 3799297..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/91/913fef48b21bbf86519fc9efb324e75bc11bd6fc.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/91/91be254585d5fe85af5832474bd40f96dafcf261.svn-base b/EC-GN-JA-PCF/.svn/pristine/91/91be254585d5fe85af5832474bd40f96dafcf261.svn-base deleted file mode 100644 index 9254309..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/91/91be254585d5fe85af5832474bd40f96dafcf261.svn-base +++ /dev/null @@ -1,8 +0,0 @@ -TOP=.. - -include $(TOP)/configure/CONFIG - -TARGETS = $(CONFIG_TARGETS) -CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS))) - -include $(TOP)/configure/RULES diff --git a/EC-GN-JA-PCF/.svn/pristine/91/91d99695ab6991a44e28b917406e8b3c083f9799.svn-base b/EC-GN-JA-PCF/.svn/pristine/91/91d99695ab6991a44e28b917406e8b3c083f9799.svn-base deleted file mode 100644 index a127b25..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/91/91d99695ab6991a44e28b917406e8b3c083f9799.svn-base +++ /dev/null @@ -1,27 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() -nbColPVs = 3 -#find index of the trigger PV -i = 0 -while triggerPV != pvs[i]: - i += 1 - - -table.setCellText(i / nbColPVs, i % nbColPVs + 3, PVUtil.getString(triggerPV)) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i / nbColPVs, i % nbColPVs + 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/93/936ed27125b958e3464efd824c6501f2117f1c30.svn-base b/EC-GN-JA-PCF/.svn/pristine/93/936ed27125b958e3464efd824c6501f2117f1c30.svn-base deleted file mode 100644 index 56f9b18..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/93/936ed27125b958e3464efd824c6501f2117f1c30.svn-base +++ /dev/null @@ -1,411 +0,0 @@ -/** - * @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(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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - modulation = reinterpret_cast(GetInputSignalMemory(11)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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") diff --git a/EC-GN-JA-PCF/.svn/pristine/94/9436185f1abe8cdcd064bf0c0bb418d78b769586.svn-base b/EC-GN-JA-PCF/.svn/pristine/94/9436185f1abe8cdcd064bf0c0bb418d78b769586.svn-base deleted file mode 100644 index 2b1cfbe..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/94/9436185f1abe8cdcd064bf0c0bb418d78b769586.svn-base +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/94/945399a0a40b0724212b241cefe50d3637e3bed3.svn-base b/EC-GN-JA-PCF/.svn/pristine/94/945399a0a40b0724212b241cefe50d3637e3bed3.svn-base deleted file mode 100644 index 31d6c69..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/94/945399a0a40b0724212b241cefe50d3637e3bed3.svn-base +++ /dev/null @@ -1 +0,0 @@ -Last SDD Generation: Tue May 13 13:52:12 UTC 2025 diff --git a/EC-GN-JA-PCF/.svn/pristine/96/969867ecd2546715cbe8ce904621acd7cb454299.svn-base b/EC-GN-JA-PCF/.svn/pristine/96/969867ecd2546715cbe8ce904621acd7cb454299.svn-base deleted file mode 100644 index e3d7232..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/96/969867ecd2546715cbe8ce904621acd7cb454299.svn-base +++ /dev/null @@ -1,74 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil.*); - -var table = widget.getTable(); -var func = display.getPropertyValue("name"); - -var i = 0; -var row = 0; -var col = 3; -// ConsoleUtil.writeInfo("Trigger PV : " + triggerPV.getName()); -while (triggerPV != pvs[i]) { -// ConsoleUtil.writeInfo("pvs[i] : " + pvs[i].getName()); - if (col == 5) { - if (pvs[i+1].getName().indexOf("PLC-IOCHLTS") != -1) { - col = col+1; - } - else { - col = 3 - row = row+1; - } - } - else if (col == 3) { - if ( (pvs[i+1].getName().indexOf("-SYSHLTS") != -1) || (pvs[i+1].getName().indexOf("-HLTS") != -1)) { - col = 3; - row = row+1; - } - else if (pvs[i+1].getName().indexOf("-IOCHLTS") != -1) { - if (pvs[i+1].getName().indexOf("CORE-IOCHLTS") != -1) { - col = 4; - } - else { - col = 5; - } - } - else { - col += 1; - if (col > 5) { - row += 1; - col = 3; - } - } - } - else { - col += 1; - if (col > 6) { - row += 1; - col = 3; - } - } - i += 1; -} - -table.setCellText(row, col, PVUtil.getString(triggerPV)) - -var s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if( s == 0) { - color = ColorFontUtil.GREEN -} -else if( s == 1) { - color = ColorFontUtil.RED -} -else if( s == 2) { - color = ColorFontUtil.YELLOW -} -else if( s == 3) { - color = ColorFontUtil.PINK -} -else if( s == 3) { - color = ColorFontUtil.PINK -} -table.setCellBackground(row, col, color) diff --git a/EC-GN-JA-PCF/.svn/pristine/96/96a19a2e087efba977f03fe52cee87753146df62.svn-base b/EC-GN-JA-PCF/.svn/pristine/96/96a19a2e087efba977f03fe52cee87753146df62.svn-base deleted file mode 100644 index 3a20916..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/96/96a19a2e087efba977f03fe52cee87753146df62.svn-base +++ /dev/null @@ -1,619 +0,0 @@ - - - - Display - - true - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - - false - - - - false - -1 - -1 - - - - - - - - true - Grouping Container - - true - - true - 6 - - true - - 2 - - false - false - false - - groupHeading - - - - true - false - - 0 - - - - - - - 0 - - 1243 - 50 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Label Template - - - false - false - false - - - false - Cubicles - - true - 1 - true - Label - 40 - true - - 6 - 54 - - - - - - true - - - - - - - - 1 - - - - - - - - 200 - EC-GN-SYSM - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1400 - 6 - - - Name - 50 - no - - - Physical Name - 120 - - - - Description - 120 - no - - - Cubicle health summary - 100 - no - - - PLC health summary - 100 - no - - - Location - 100 - no - - - Macro PPPP - 0 - no - - - Macro PP - 0 - no - - - Macro NNNN - 0 - no - - - false - - 2 - - - - 7 - - 90 - - 6 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Label Template - - - false - false - false - - - false - PLCs - - true - 1 - true - Label - 26 - true - - 6 - 320 - - - - - - true - - - - P0 - 52RF01-PLC-4110 - - - - - - - - - - - - 1 - - - - - EC-GN-SYSM-52RF-01:PLC4110-PLCHLTS -EC-GN-SYSM-52RF-01:PLC4110-EVTHLTS -EC-GN-SYSM-52RF-01:PLC4110-FRAMEC - - - - - 200 - EC-GN-SYSM - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1400 - 6 - - - Name - 50 - no - - - Physical Name - 120 - - - - Description - 120 - no - - - PLC health summary - 100 - no - - - ALIVEC - 100 - no - - - Event health summary - 100 - no - - - FRAMEC - 100 - no - - - false - - 2 - - - - 5 - - 350 - - 6 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Label Template - - - false - false - false - - - false - Control Units - - true - 1 - true - Label - 59 - true - - 6 - 570 - - - - - - true - - - - H0 - 52RF01-PSH-4410 - - - - - - Plant System Host - - - - - F0 - 52RF01-PCF-4210 - - - - - - Fast Controller - - - - - - - 1 - - - - EC-GN-SYSM-52RF-01:PCF4210-SYSHLTS -EC-GN-SYSM-52RF-01:PSH4410-SYSHLTS - - - - - - 300 - EC-GN-SYSM - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1400 - 6 - - - Name - 50 - no - - - Physical Name - 120 - - - - Description - 120 - no - - - Controller health summary - 150 - no - - - PSH0CORE IOC health summary - 100 - no - - - Controller IOC health summary - 100 - no - - - PLC IOC health summary - 100 - no - - - Type - 100 - no - - - false - - 2 - - - - 7 - - 600 - - 6 - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 6 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1400 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 1 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 1 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/96/96b9f136f274eb76da18d421f2a0b6ac8f4c3699.svn-base b/EC-GN-JA-PCF/.svn/pristine/96/96b9f136f274eb76da18d421f2a0b6ac8f4c3699.svn-base deleted file mode 100644 index 3a5071d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/96/96b9f136f274eb76da18d421f2a0b6ac8f4c3699.svn-base +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @file EPICSCAInput.h - * @brief Header file for class EPICSCAInput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAInput - * 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 JAEPICSCAINPUT_H_ -#define JAEPICSCAINPUT_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" -#include "EmbeddedServiceMethodBinderI.h" -#include "EventSem.h" -#include "SingleThreadService.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -/** - * Maximum size that a PV name may have - */ -/*lint -esym(551, MARTe::PV_NAME_MAX_SIZE) the symbol is used to define the size of PVWrapper below*/ -const uint32 PV_NAME_MAX_SIZE = 64u; - -/** - * Wraps a PV - */ -struct PVWrapper { - /** - * The channel identifier - */ - chid pvChid; - /** - * The event identifier - */ - evid pvEvid; - /** - * The PV type - */ - chtype pvType; - /** - * The memory of the signal associated to this channel - */ - void *memory; - void *previousValue; - /** - * The number of elements > 0 - */ - uint32 numberOfElements; - /** - * The memory size - */ - uint32 memorySize; - /** - * The PV name - */ - char8 pvName[PV_NAME_MAX_SIZE]; -}; - -/** - * @brief A DataSource which allows to retrieved data from any number of PVs using the EPICS channel access client protocol. - * Data is asynchronously retrieved using ca_create_subscriptions in the context of a different thread (w.r.t. to the real-time thread). - * - * The configuration syntax is (names are only given as an example): - * - *
- * +EPICSCAInput_1 = {
- *     Class = JAEPICSCA::JAEPICSCAInput
- *     StackSize = 1048576 //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u
- *     CPUs = 0xff //Optional the affinity of the EmbeddedThread (where the EPICS context is attached).
- *     Signals = {
- *          PV1 = { //At least one shall be defined
- *             PVName = My::PV1 //Compulsory. Name of the PV.
- *             Type = uint32 //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, uint64, int64, float32 and float64
- *             NumberOfElements = 1 //Arrays also supported
- *          }
- *          ...
- *     }
- * }
- *
- * 
- */ -class JAEPICSCAInput: public DataSourceI, public EmbeddedServiceMethodBinderI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Default constructor. NOOP. - */ - JAEPICSCAInput(); - - /** - * @brief Destructor. - * @details TODO. - */ - virtual ~JAEPICSCAInput(); - - /** - * @brief See DataSourceI::AllocateMemory. NOOP. - * @return true. - */ - virtual bool AllocateMemory(); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @return 1. - */ - virtual uint32 GetNumberOfMemoryBuffers(); - - /** - * @brief See DataSourceI::GetSignalMemoryBuffer. - * @pre - * SetConfiguredDatabase - */ - virtual bool GetSignalMemoryBuffer(const uint32 signalIdx, - const uint32 bufferIdx, - void *&signalAddress); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @details Only InputSignals are supported. - * @return MemoryMapInputBroker. - */ - virtual const char8 *GetBrokerName(StructuredDataI &data, - const SignalDirection direction); - - /** - * @brief See DataSourceI::GetInputBrokers. - * @details adds a memory MemoryMapInputBroker instance to the inputBrokers - * @return true. - */ - virtual bool GetInputBrokers(ReferenceContainer &inputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::GetOutputBrokers. - * @return false. - */ - virtual bool GetOutputBrokers(ReferenceContainer &outputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::PrepareNextState. NOOP. - * @return true. - */ - virtual bool PrepareNextState(const char8 * const currentStateName, - const char8 * const nextStateName); - - /** - * @brief Loads and verifies the configuration parameters detailed in the class description. - * @return true if all the mandatory parameters are correctly specified and if the specified optional parameters have valid values. - */ - virtual bool Initialise(StructuredDataI & data); - - /** - * @brief Final verification of all the parameters. Setup of the memory required to hold all the signals. - * @details This method verifies that all the parameters requested by the GAMs interacting with this DataSource - * are valid and consistent with the parameters set during the initialisation phase. - * In particular the following conditions shall be met: - * - All the signals have the PVName defined - * - All the signals have one of the following types: uint32, int32, float32 or float64. - * @return true if all the parameters are valid and the conditions above are met. - */ - virtual bool SetConfiguredDatabase(StructuredDataI & data); - - /** - * @brief Gets the affinity of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - * @return the the affinity of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - */ - uint32 GetCPUMask() const; - - /** - * @brief Gets the stack size of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - * @return the stack size of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - */ - uint32 GetStackSize() const; - - /** - * @brief Provides the context to execute all the EPICS relevant calls. - * @details Executes in the context of a spawned thread the following EPICS calls: - * ca_context_create, ca_create_channel, ca_create_subscription, ca_clear_subscription, - * ca_clear_event, ca_clear_channel, ca_detach_context and ca_context_destroy - * @return ErrorManagement::NoError if all the EPICS calls return without any error. - */ - virtual ErrorManagement::ErrorType Execute(ExecutionInfo & info); - - /** - * @brief See DataSourceI::Synchronise. - * @return false. - */ - virtual bool Synchronise(); - - /** - * @brief Registered as the ca_create_subscription callback function. - * It calls updates the memory of the corresponding PV variable. - */ - friend void JAEPICSCAInputEventCallback(struct event_handler_args args); - -private: - - /** - * List of PVs. - */ - PVWrapper *pvs; - - /** - * The CPU mask for the executor - */ - uint32 cpuMask; - - /** - * The stack size - */ - uint32 stackSize; - - /** - * The EmbeddedThread where the ca_pend_event is executed. - */ - SingleThreadService executor; - - /** - * Stores the configuration information received at Initialise. - */ - ConfigurationDatabase originalSignalInformation; -}; -} - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* EPICSCADATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/.svn/pristine/96/96d6248672cb516118a1b73999b74d9810164f2c.svn-base b/EC-GN-JA-PCF/.svn/pristine/96/96d6248672cb516118a1b73999b74d9810164f2c.svn-base deleted file mode 100644 index 5eba449..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/96/96d6248672cb516118a1b73999b74d9810164f2c.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -Build/ - diff --git a/EC-GN-JA-PCF/.svn/pristine/98/98804f810ab2c3918bcb2436e9058ed8602f3b00.svn-base b/EC-GN-JA-PCF/.svn/pristine/98/98804f810ab2c3918bcb2436e9058ed8602f3b00.svn-base deleted file mode 100644 index e8a3e8b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/98/98804f810ab2c3918bcb2436e9058ed8602f3b00.svn-base +++ /dev/null @@ -1,28 +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 $ -# -############################################################# -export TARGET=x86-linux - -make -f Makefile.gcc diff --git a/EC-GN-JA-PCF/.svn/pristine/98/989ce703308abcae4e3b8ec696812b9b0d66566e.svn-base b/EC-GN-JA-PCF/.svn/pristine/98/989ce703308abcae4e3b8ec696812b9b0d66566e.svn-base deleted file mode 100644 index 1e256f8..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/98/989ce703308abcae4e3b8ec696812b9b0d66566e.svn-base +++ /dev/null @@ -1,42 +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 $ -# -############################################################# -SPB = DataSources.x GAMs.x - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=. -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif - diff --git a/EC-GN-JA-PCF/.svn/pristine/99/99177ee43f02a0371ea6181d96b0b132ecbd74c0.svn-base b/EC-GN-JA-PCF/.svn/pristine/99/99177ee43f02a0371ea6181d96b0b132ecbd74c0.svn-base deleted file mode 100644 index fa87195..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/99/99177ee43f02a0371ea6181d96b0b132ecbd74c0.svn-base +++ /dev/null @@ -1,28 +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 $ -# -############################################################# -export TARGET=x86-linux - -include Makefile.gcc \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/9a/9a3899be8280efae87bac6f8c3f38acca8dbcc7d.svn-base b/EC-GN-JA-PCF/.svn/pristine/9a/9a3899be8280efae87bac6f8c3f38acca8dbcc7d.svn-base deleted file mode 100644 index d0f8af2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/9a/9a3899be8280efae87bac6f8c3f38acca8dbcc7d.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=À¹é¯ñ, IDX=0, IOCTYPE=CUB, PP=, PPPP=, NNNN=, TTT=") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/9a/9ae69c5d94d58e96a1076918cb49b2574c321e9d.svn-base b/EC-GN-JA-PCF/.svn/pristine/9a/9ae69c5d94d58e96a1076918cb49b2574c321e9d.svn-base deleted file mode 100644 index 3254982..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/9a/9ae69c5d94d58e96a1076918cb49b2574c321e9d.svn-base +++ /dev/null @@ -1 +0,0 @@ -./Main.sh -f ../Configurations/tests/ECPCSubscriber.cfg -l RealTimeLoader -m StateMachine:Start \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/9b/9b2611d29b18bc3f2e1700d48f3b73cb8ddc19ff.svn-base b/EC-GN-JA-PCF/.svn/pristine/9b/9b2611d29b18bc3f2e1700d48f3b73cb8ddc19ff.svn-base deleted file mode 100644 index a95be67..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/9b/9b2611d29b18bc3f2e1700d48f3b73cb8ddc19ff.svn-base +++ /dev/null @@ -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=JARTSampleGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARTSampleGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTSampleGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/9c/9c74f59d6857e4fd23f04c657b629891b4b9b36b.svn-base b/EC-GN-JA-PCF/.svn/pristine/9c/9c74f59d6857e4fd23f04c657b629891b4b9b36b.svn-base deleted file mode 100644 index 34f5d19..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/9c/9c74f59d6857e4fd23f04c657b629891b4b9b36b.svn-base +++ /dev/null @@ -1,273 +0,0 @@ -record (bo,"EC-GN-P01-GAF-GCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 GCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-GCPS:STAT-SIMM") -{ - field(DESC, "GY1 GCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") -{ - field(DESC, "GY1 GCPS read ACT") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity GC1") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP") -{ - field(DESC, "GY1 GCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity GC1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI") -{ - field(DESC, "GY1 GCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO") -{ - field(DESC, "GY1 GCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON") -{ - field(DESC, "GY1 GCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent GC1") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GAF-GCPS:PSU2130-ERR") -{ - field(DESC, "GY1 GCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat GC1") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM") -{ - field(DESC, "GY1 GCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim GC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB") -{ - field(DESC, "GY1 GCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep GC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB") -{ - field(DESC, "GY1 GCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent GC1") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET") -{ - field(DESC, "GY1 GCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent GC1") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI") -{ - field(DESC, "GY1 GCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO") -{ - field(DESC, "GY1 GCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET") -{ - field(DESC, "GY1 GCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep GC1") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON") -{ - field(DESC, "GY1 GCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage GC1") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#1 state set by Marte") - field(INPA, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GAF-GCPS:STAT-PREP-WF") -{ - field(DESC, "GY1 GCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#1 current set by Marte") - field(INPA, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/9c/9cac30126cbb343d7d39cd528a0c3ce3c8a75628.svn-base b/EC-GN-JA-PCF/.svn/pristine/9c/9cac30126cbb343d7d39cd528a0c3ce3c8a75628.svn-base deleted file mode 100644 index fb0fc2e..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/9c/9cac30126cbb343d7d39cd528a0c3ce3c8a75628.svn-base +++ /dev/null @@ -1,1405 +0,0 @@ - - - - Display - - true - H0 - 52RF01-PSH-4410 - EC-GN-SYSM - 52RF - 01 - 4410 - PSH - false - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - - false - - - - false - -1 - -1 - - - - - - - - true - Grouping Container - - true - - true - 0 - - true - - 2 - - false - false - false - - groupHeading - - - - true - false - - 0 - - - - - - - 0 - - - - - - - 1243 - 50 - - - - - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SystemDetailsLabel - - - false - false - false - - - false - System Information: - - true - 1 - true - Label - 40 - true - - 6 - 55 - - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-SYS_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 200 - 45 - - - - true - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - (MB) - sysmon - - - - - - - (MB) - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (KB) - sysmon - - - - - - - (KB) - sysmon - - - - - - - (%) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-BTIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CAV1 - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CCSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EPICSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-HOSTNAME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-IPADDR - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-KERNELV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NRBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NSBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-OSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCLST - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCSTS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SHLT - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TIME - - - 600 - SystemDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - Template Name - 100 - no - - - false - - 2 - - - - 5 - - 125 - - 6 - - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - COREIOCDetailsLabel - - - false - false - false - - - false - CORE IOC: - - true - 1 - true - Label - 40 - true - - 1600 - 55 - - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-IOC_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 1800 - 45 - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-SVPORT - - - 600 - COREIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 125 - - 1600 - - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SYSMIOCDetailsLabel - - - false - false - false - - - false - SYSM IOC: - - true - 1 - true - Label - 40 - true - - 6 - 750 - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-SVPORT - - - 600 - SYSMIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 6 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLCIOCDetailsLabel - - - false - false - false - - - false - Others: - - true - 1 - true - Label - 40 - true - - 1600 - 750 - - - - - true - - - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-SVPORT - - - 600 - PLCIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 1600 - - - - - - - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 0 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 1 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 1 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/9f/9f010f44921da5b733da00173a6af31daa974d7a.svn-base b/EC-GN-JA-PCF/.svn/pristine/9f/9f010f44921da5b733da00173a6af31daa974d7a.svn-base deleted file mode 100644 index ab6bca0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/9f/9f010f44921da5b733da00173a6af31daa974d7a.svn-base +++ /dev/null @@ -1,68 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/prog/Makefile.template $ -# $Id: Makefile.template 83098 2018-01-08 13:23:38Z cesnikt $ -# -# Project : CODAC Core System -# -# Description : gyrotronDAN Makefile -# -# Author : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2018 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -PROGNAME=Gyrotron01DAN - -LIBRARIES=ca dan_api dan_client_api dan_stream dan_base xml2 log sdn sdn-core ccs-core rt pthread tcn nixseries -LIBRARY_DIRS= -INCLUDE_DIRS=. ../include $(CODAC_ROOT)/include $(EPICS_BASE)/include/os/Linux $(EPICS_BASE)/include/compiler/gcc $(EPICS_BASE)/include /usr/include/libxml2 $(SDN_TOPIC_DIRECTORY) - -TARGET=../../../../target -BINARY_DIR=$(TARGET)/bin -OBJECT_DIR=$(TARGET)/obj/$(PROGNAME) -SOURCE_DIR=. - -EXECUTABLE=$(BINARY_DIR)/$(PROGNAME) -INCLUDES=$(foreach inc,$(INCLUDE_DIRS),-I$(inc)) -LDLIBS=-L$(CODAC_ROOT)/lib -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) $(foreach libs,$(LIBRARY_DIRS),-L$(libs) -Wl,-rpath,$(libs)) $(foreach libs,$(LIBRARIES),-l$(libs)) -SOURCES=$(SOURCE_DIR)/$(PROGNAME).cpp $(SOURCE_DIR)/configure_sdn.cpp -# to build executable from all sources in the program directory: -#SOURCES=$(wildcard $(SOURCE_DIR)/*.cpp $(SOURCE_DIR)/*.c) -OBJECTS=$(addprefix $(OBJECT_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(SOURCES)))) - -C=gcc -CC=g++ -CFLAGS=-c -Wall -CCFLAGS=-c -Wall -std=c++11 -LDFLAGS= - -.PHONY: all clean run - -all: $(SOURCES) $(EXECUTABLE) - -clean: - rm -rf "$(EXECUTABLE)" "$(OBJECT_DIR)" - -run: $(SOURCES) $(EXECUTABLE) - $(EXECUTABLE) - -$(EXECUTABLE): $(OBJECTS) - mkdir -p $(BINARY_DIR) - $(CC) $(LDFLAGS) $(LDLIBS) $(OBJECTS) -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.cpp - mkdir -p $(OBJECT_DIR) - $(CC) $(CCFLAGS) $(INCLUDES) $< -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.c - mkdir -p $(OBJECT_DIR) - $(C) $(CFLAGS) $(INCLUDES) $< -o $@ \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/9f/9f34739bbd057f9bea50f88c793463f0e4e0d4a0.svn-base b/EC-GN-JA-PCF/.svn/pristine/9f/9f34739bbd057f9bea50f88c793463f0e4e0d4a0.svn-base deleted file mode 100644 index e761be7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/9f/9f34739bbd057f9bea50f88c793463f0e4e0d4a0.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/a0/a02278d0cde72a2d665b7c89829e554043d90773.svn-base b/EC-GN-JA-PCF/.svn/pristine/a0/a02278d0cde72a2d665b7c89829e554043d90773.svn-base deleted file mode 100644 index 3a90691..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a0/a02278d0cde72a2d665b7c89829e554043d90773.svn-base +++ /dev/null @@ -1,38 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuName="" - phyName="" - plcIocHlts ="" - cuType="" - for row in selection: - phyName=row[1] - cuName=row[0] - plcIocHlts=row[6] - cuType=row[7]; -# change $(CU) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("CU_TYPE", cuType) - if plcIocHlts == "": - macroInput.put("SHOW_PLC_IOC", "false") - else: - macroInput.put("SHOW_PLC_IOC", "true") - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if cuType == "POC with CA": - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-POCWithCADetails.opi", 1, macroInput) - elif cuType == "POC without CA": - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-POCWithoutCADetails.opi", 1, macroInput) - else: - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CtrlUnitDetails.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) diff --git a/EC-GN-JA-PCF/.svn/pristine/a0/a06678beb0073662e76e011f278f81b6793ed6b4.svn-base b/EC-GN-JA-PCF/.svn/pristine/a0/a06678beb0073662e76e011f278f81b6793ed6b4.svn-base deleted file mode 100644 index 8dfc149..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a0/a06678beb0073662e76e011f278f81b6793ed6b4.svn-base +++ /dev/null @@ -1,45 +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 $ -# -############################################################# - -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 - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=../../../obj -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif diff --git a/EC-GN-JA-PCF/.svn/pristine/a0/a09246348ba58f522f256282d4b788d6ca60779b.svn-base b/EC-GN-JA-PCF/.svn/pristine/a0/a09246348ba58f522f256282d4b788d6ca60779b.svn-base deleted file mode 100644 index 0f3e2aa..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a0/a09246348ba58f522f256282d4b788d6ca60779b.svn-base +++ /dev/null @@ -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=JATerminalInterfaceGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(LIBEXT) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/a1/a1c5fa1fb9465d049d7e1dd2988ee02664ff6fc3.svn-base b/EC-GN-JA-PCF/.svn/pristine/a1/a1c5fa1fb9465d049d7e1dd2988ee02664ff6fc3.svn-base deleted file mode 100644 index ff47dc4..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a1/a1c5fa1fb9465d049d7e1dd2988ee02664ff6fc3.svn-base +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -def test_setup(): - """ - Setup EPICS PVs for testing. - Turn simulation mode ON for unavailable device - """ - print '---------- Start setup for the test ----------' - - print '1. set PVs to simulation mode' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-AI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:STAT-SIMM YES', shell=True) #turn off for GCPS test. - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT 0', shell=True) - time.sleep(1) - print '2. Change SCAN mode from I/O Inter to Passive to write sumulated values.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SCAN Passive', shell=True) #STANDBY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SCAN Passive', shell=True) #READY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SCAN Passive', shell=True) #ON - res = subprocess.call('caput EC-GN-P01-PMF:PSU0000-TYSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SCAN Passive', shell = True) #SYNC/ASYNC - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SCAN Passive', shell=True) #CCPS ON REQUEST - time.sleep(1) - print '3. Set pulse length limit mode value and state.' - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD1-LIM 10000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD2-LIM 100000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD3-LIM 1000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD4-LIM 10000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4 0', shell = True) #Pulse lenght mode - print '4. Set other operation modes' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) #Pre-pro mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0',shell = True) #Short pulse mode - time.sleep(1) - print '5. Set a beam-on schedule(10ms diff + 100ms pulse)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - time.sleep(1) - print '6. Reset PLC INTERLOCK' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP 0', shell=True) #CCPS_IS_OPERATION - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-RST-FLT 1', shell=True) - print '---------- END setup for the test ----------' diff --git a/EC-GN-JA-PCF/.svn/pristine/a1/a1e26a6963a4bea31e9a1418d6d79842a9e1be91.svn-base b/EC-GN-JA-PCF/.svn/pristine/a1/a1e26a6963a4bea31e9a1418d6d79842a9e1be91.svn-base deleted file mode 100644 index 9778039..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a1/a1e26a6963a4bea31e9a1418d6d79842a9e1be91.svn-base +++ /dev/null @@ -1,231 +0,0 @@ -record (bo,"EC-GN-P01-PMF:PSU0000-COFF") -{ - field(DESC, "MHVPS Shutdown request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PMF:PSU0000-CON-MOD") -{ - field(DESC, "MHVPS MOD Enable/Disable") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PMF:PSU0000-CON-SW") -{ - field(DESC, "MHVPS Enable/Disable") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PMF:PSU0000-TYSTA") -{ - field(DESC, "MHVPS Ready status") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 7) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bi,"EC-GN-P01-PMF:PSU0000-YFLT") -{ - field(DESC, "MHVPS Fast Protection Act") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 6) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bo,"EC-GN-P01-PMF:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PMF:PSU0000-EREF") -{ - field(ASLO, "11") - field(DESC, "MHVPS voltage setpoint") - field(DRVH, "55") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "55") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 3) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PMF:PSU0000-EREF-MSP") -{ - field(DESC, "MHVPS voltage manual setpoint") - field(DRVH, "55") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "55") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-ET-GA") -{ - field(DESC, "GY1 MHVPS Measued Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-ET-GA-WF") -{ - field(DESC, "GY1 MHVPS Measued Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-ET-GB") -{ - field(DESC, "GY2 MHVPS Measued Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-ET-GB-WF") -{ - field(DESC, "GY2 MHVPS Measued Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-IT-GA") -{ - field(DESC, "GY1 MHVPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-IT-GA-WF") -{ - field(DESC, "GY1 MHVPS Measured Current") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-IT-GB") -{ - field(DESC, "GY2 MHVPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-IT-GB-WF") -{ - field(DESC, "GY2 MHVPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:STAT-DT-HVON") -{ - field(DESC, "Time diff to MHVPS ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (calcout,"EC-GN-P01-PMF:STAT-EREF-CALC") -{ - field(CALC, "(A!=C)?A:((B!=D)?B:E);C:=A; D:=B") - field(DESC, "determine MHVPS EREF change") - field(INPE, "EC-GN-P01-PMF:PSU0000-EREF") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PMF:PSU0000-EREF PP") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-PMF:STAT-HVON-CALC") -{ - field(CALC, "(A||B)?1:0") - field(DESC, "determine MHVPS HVON change") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PMF:PSU0000-CON-SW PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PMF:STAT-PREP-WF") -{ - field(DESC, "MHVPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/a3/a38b4150db9fb23c0a6d516499b1bafc3dd178a6.svn-base b/EC-GN-JA-PCF/.svn/pristine/a3/a38b4150db9fb23c0a6d516499b1bafc3dd178a6.svn-base deleted file mode 100644 index d889bf8..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a3/a38b4150db9fb23c0a6d516499b1bafc3dd178a6.svn-base +++ /dev/null @@ -1,45 +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 $ -# -############################################################# - -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 - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=../../obj -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif diff --git a/EC-GN-JA-PCF/.svn/pristine/a4/a473e687dbb266ceb462f472e4eb74868e365e4c.svn-base b/EC-GN-JA-PCF/.svn/pristine/a4/a473e687dbb266ceb462f472e4eb74868e365e4c.svn-base deleted file mode 100644 index 44d05b7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a4/a473e687dbb266ceb462f472e4eb74868e365e4c.svn-base +++ /dev/null @@ -1,6002 +0,0 @@ -#t (100ms),EW2-Voset (kV),EW3-VOset (kV),EW101-MC-Ioset (A),EW101-GC-Ioset (A),FPS101-Voset (V) -0,20,15,111.3,1.7,53.2 -1,20.5,14.5,111.3,1.7,62 -2,21,14,111.3,1.7,62 -3,21.5,13.5,111.3,1.7,62 -4,22,13,111.3,1.7,62 -5,22.5,12.5,111.3,1.7,62 -6,23,12,111.3,1.7,62 -7,23.5,11.5,111.3,1.7,62 -8,24,11,111.3,1.7,62 -9,24.5,10.5,111.3,1.7,62 -10,25,10,111.3,1.7,62 -11,25.5,9.5,111.3,1.7,62 -12,26,9,111.3,1.7,62 -13,26.5,8.5,111.3,1.7,62 -14,27,8,111.3,1.7,62 -15,27.5,7.5,111.3,1.7,62 -16,28,7,111.3,1.7,62 -17,28.5,6.5,111.3,1.7,62 -18,29,6,111.3,1.7,62 -19,29.5,5.5,111.3,1.7,62 -20,30,5,111.3,1.7,62 -21,30,4.5,111.3,1.7,62 -22,30,4,111.3,1.7,62 -23,30,4,111.3,1.7,62 -24,30,4,111.3,1.7,62 -25,30,4,111.3,1.7,62 -26,30,4,111.3,1.7,62 -27,30,4,111.3,1.7,62 -28,30,4,111.3,1.7,62 -29,30,4,111.3,1.7,62 -30,30,4,111.3,1.7,62 -31,30,3.4,111.3,1.7,62 -32,30,3.4,111.3,1.7,62 -33,30,3.4,111.3,1.7,62 -34,30,3.4,111.3,1.7,62 -35,30,3.4,111.3,1.7,62 -36,30,3.4,111.3,1.7,62 -37,30,3.4,111.3,1.7,62 -38,30,3.4,111.3,1.7,62 -39,30,3.4,111.3,1.7,62 -40,30,3.4,111.3,1.7,62 -41,30,3.4,111.3,1.7,62 -42,30,3.4,111.3,1.7,62 -43,30,3.4,111.3,1.7,62 -44,30,3.4,111.3,1.7,62 -45,30,3.4,111.3,1.7,62 -46,30,3.4,111.3,1.7,62 -47,30,3.4,111.3,1.7,62 -48,30,3.4,111.3,1.7,62 -49,30,3.4,111.3,1.7,62 -50,30,3.4,111.3,1.7,62 -51,30,3.4,111.3,1.7,62.1 -52,30,3.4,111.3,1.7,62.2 -53,30,3.4,111.3,1.7,62.3 -54,30,3.4,111.3,1.7,62.4 -55,30,3.4,111.3,1.7,62.5 -56,30,3.4,111.3,1.7,62.6 -57,30,3.4,111.3,1.7,62.7 -58,30,3.4,111.3,1.7,62.8 -59,30,3.4,111.3,1.7,62.9 -60,30,3.4,111.3,1.7,63 -61,30,3,111.3,1.7,63.1 -62,30,3,111.3,1.7,63.2 -63,30,3,111.3,1.7,63.3 -64,30,3,111.3,1.7,63.4 -65,30,3,111.3,1.7,63.5 -66,30,3,111.3,1.7,63.6 -67,30,3,111.3,1.7,63.7 -68,30,3,111.3,1.7,63.8 -69,30,3,111.3,1.7,63.9 -70,30,3,111.3,1.7,64 -71,30,3,111.3,1.7,64.1 -72,30,3,111.3,1.7,64.2 -73,30,3,111.3,1.7,64.3 -74,30,3,111.3,1.7,64.4 -75,30,3,111.3,1.7,64.5 -76,30,3,111.3,1.7,64.6 -77,30,3,111.3,1.7,64.7 -78,30,3,111.3,1.7,64.8 -79,30,3,111.3,1.7,64.9 -80,30,3,111.3,1.7,65 -81,30,3,111.3,1.7,65.1 -82,30,3,111.3,1.7,65.2 -83,30,3,111.3,1.7,65.3 -84,30,3,111.3,1.7,65.4 -85,30,3,111.3,1.7,65.5 -86,30,3,111.3,1.7,65.6 -87,30,3,111.3,1.7,65.7 -88,30,3,111.3,1.7,65.8 -89,30,3,111.3,1.7,65.9 -90,30,3,111.3,1.7,66 -91,30,3,111.3,1.7,66.1 -92,30,3,111.3,1.7,66.2 -93,30,3,111.3,1.7,66.3 -94,30,3,111.3,1.7,66.4 -95,30,3,111.3,1.7,66.5 -96,30,3,111.3,1.7,66.6 -97,30,3,111.3,1.7,66.7 -98,30,3,111.3,1.7,66.8 -99,30,3,111.3,1.7,66.9 -100,30,3,111.3,1.7,67 -101,30,3,111.3,1.7,67 -102,30,3,111.3,1.7,67 -103,30,3,111.3,1.7,67 -104,30,3,111.3,1.7,67 -105,30,3,111.3,1.7,67 -106,30,3,111.3,1.7,67 -107,30,3,111.3,1.7,67 -108,30,3,111.3,1.7,67 -109,30,3,111.3,1.7,67 -110,30,3,111.3,1.7,67 -111,30,3,111.3,1.7,67 -112,30,3,111.3,1.7,67 -113,30,3,111.3,1.7,67 -114,30,3,111.3,1.7,67 -115,30,3,111.3,1.7,67 -116,30,3,111.3,1.7,67 -117,30,3,111.3,1.7,67 -118,30,3,111.3,1.7,67 -119,30,3,111.3,1.7,67 -120,30,3,111.3,1.7,67 -121,30,3,111.3,1.7,67 -122,30,3,111.3,1.7,67 -123,30,3,111.3,1.7,67 -124,30,3,111.3,1.7,67 -125,30,3,111.3,1.7,67 -126,30,3,111.3,1.7,67 -127,30,3,111.3,1.7,67 -128,30,3,111.3,1.7,67 -129,30,3,111.3,1.7,67 -130,30,3,111.3,1.7,67 -131,30,3,111.3,1.7,67 -132,30,3,111.3,1.7,67 -133,30,3,111.3,1.7,67 -134,30,3,111.3,1.7,67 -135,30,3,111.3,1.7,67 -136,30,3,111.3,1.7,67 -137,30,3,111.3,1.7,67 -138,30,3,111.3,1.7,67 -139,30,3,111.3,1.7,67 -140,30,3,111.3,1.7,67 -141,30,3,111.3,1.7,67 -142,30,3,111.3,1.7,67 -143,30,3,111.3,1.7,67 -144,30,3,111.3,1.7,67 -145,30,3,111.3,1.7,67 -146,30,3,111.3,1.7,67 -147,30,3,111.3,1.7,67 -148,30,3,111.3,1.7,67 -149,30,3,111.3,1.7,67 -150,30,3,111.3,1.7,67 -151,30,3,111.3,1.7,67 -152,30,3,111.3,1.7,67 -153,30,3,111.3,1.7,67 -154,30,3,111.3,1.7,67 -155,30,3,111.3,1.7,67 -156,30,3,111.3,1.7,67 -157,30,3,111.3,1.7,67 -158,30,3,111.3,1.7,67 -159,30,3,111.3,1.7,67 -160,30,3,111.3,1.7,67 -161,30,3,111.3,1.7,67 -162,30,3,111.3,1.7,67 -163,30,3,111.3,1.7,67 -164,30,3,111.3,1.7,67 -165,30,3,111.3,1.7,67 -166,30,3,111.3,1.7,67 -167,30,3,111.3,1.7,67 -168,30,3,111.3,1.7,67 -169,30,3,111.3,1.7,67 -170,30,3,111.3,1.7,67 -171,30,3,111.3,1.7,67 -172,30,3,111.3,1.7,67 -173,30,3,111.3,1.7,67 -174,30,3,111.3,1.7,67 -175,30,3,111.3,1.7,67 -176,30,3,111.3,1.7,67 -177,30,3,111.3,1.7,67 -178,30,3,111.3,1.7,67 -179,30,3,111.3,1.7,67 -180,30,3,111.3,1.7,67 -181,30,3,111.3,1.7,67 -182,30,3,111.3,1.7,67 -183,30,3,111.3,1.7,67 -184,30,3,111.3,1.7,67 -185,30,3,111.3,1.7,67 -186,30,3,111.3,1.7,67 -187,30,3,111.3,1.7,67 -188,30,3,111.3,1.7,67 -189,30,3,111.3,1.7,67 -190,30,3,111.3,1.7,67 -191,30,3,111.3,1.7,67 -192,30,3,111.3,1.7,67 -193,30,3,111.3,1.7,67 -194,30,3,111.3,1.7,67 -195,30,3,111.3,1.7,67 -196,30,3,111.3,1.7,67 -197,30,3,111.3,1.7,67 -198,30,3,111.3,1.7,67 -199,30,3,111.3,1.7,67 -200,30,2.9,111.3,1.7,67 -201,30,2.9,111.05,1.7,67 -202,30,2.9,111.05,1.7,67 -203,30,2.9,111.05,1.7,67 -204,30,2.9,111.05,1.7,67 -205,30,2.9,111.05,1.7,67 -206,30,2.9,111.05,1.7,67 -207,30,2.9,111.05,1.7,67 -208,30,2.9,111.05,1.7,67 -209,30,2.9,111.05,1.7,67 -210,30,2.9,111.05,1.7,67 -211,30,2.9,111.05,1.7,67 -212,30,2.9,111.05,1.7,67 -213,30,2.9,111.05,1.7,67 -214,30,2.9,111.05,1.7,67 -215,30,2.9,111.05,1.7,67 -216,30,2.9,111.05,1.7,67 -217,30,2.9,111.05,1.7,67 -218,30,2.9,111.05,1.7,67 -219,30,2.9,111.05,1.7,67 -220,30,2.9,111.05,1.7,67 -221,30,2.9,111.05,1.7,67 -222,30,2.9,111.05,1.7,67 -223,30,2.9,111.05,1.7,67 -224,30,2.9,111.05,1.7,67 -225,30,2.9,111.05,1.7,67 -226,30,2.9,111.05,1.7,67 -227,30,2.9,111.05,1.7,67 -228,30,2.9,111.05,1.7,67 -229,30,2.9,111.05,1.7,67 -230,30,2.9,111.05,1.7,67 -231,30,2.9,111.05,1.7,67 -232,30,2.9,111.05,1.7,67 -233,30,2.9,111.05,1.7,67 -234,30,2.9,111.05,1.7,67 -235,30,2.9,111.05,1.7,67 -236,30,2.9,111.05,1.7,67 -237,30,2.9,111.05,1.7,67 -238,30,2.9,111.05,1.7,67 -239,30,2.9,111.05,1.7,67 -240,30,2.9,111.05,1.7,67 -241,30,2.9,111.05,1.7,67 -242,30,2.9,111.05,1.7,67 -243,30,2.9,111.05,1.7,67 -244,30,2.9,111.05,1.7,67 -245,30,2.9,111.05,1.7,67 -246,30,2.9,111.05,1.7,67 -247,30,2.9,111.05,1.7,67 -248,30,2.9,111.05,1.7,67 -249,30,2.9,111.05,1.7,67 -250,30,2.8,111.05,1.7,67 -251,30,2.8,111.05,1.7,67 -252,30,2.8,111.05,1.7,67 -253,30,2.8,111.05,1.7,67 -254,30,2.8,111.05,1.7,67 -255,30,2.8,111.05,1.7,67 -256,30,2.8,111.05,1.7,67 -257,30,2.8,111.05,1.7,67 -258,30,2.8,111.05,1.7,67 -259,30,2.8,111.05,1.7,67 -260,30,2.8,111.05,1.7,67 -261,30,2.8,111.05,1.7,67 -262,30,2.8,111.05,1.7,67 -263,30,2.8,111.05,1.7,67 -264,30,2.8,111.05,1.7,67 -265,30,2.8,111.05,1.7,67 -266,30,2.8,111.05,1.7,67 -267,30,2.8,111.05,1.7,67 -268,30,2.8,111.05,1.7,67 -269,30,2.8,111.05,1.7,67 -270,30,2.8,111.05,1.7,67 -271,30,2.8,111.05,1.7,67 -272,30,2.8,111.05,1.7,67 -273,30,2.8,111.05,1.7,67 -274,30,2.8,111.05,1.7,67 -275,30,2.8,111.05,1.7,67 -276,30,2.8,111.05,1.7,67 -277,30,2.8,111.05,1.7,67 -278,30,2.8,111.05,1.7,67 -279,30,2.8,111.05,1.7,67 -280,30,2.8,111.05,1.7,67 -281,30,2.8,111.05,1.7,67 -282,30,2.8,111.05,1.7,67 -283,30,2.8,111.05,1.7,67 -284,30,2.8,111.05,1.7,67 -285,30,2.8,111.05,1.7,67 -286,30,2.8,111.05,1.7,67 -287,30,2.8,111.05,1.7,67 -288,30,2.8,111.05,1.7,67 -289,30,2.8,111.05,1.7,67 -290,30,2.8,111.05,1.7,67 -291,30,2.8,111.05,1.7,67 -292,30,2.8,111.05,1.7,67 -293,30,2.8,111.05,1.7,67 -294,30,2.8,111.05,1.7,67 -295,30,2.8,111.05,1.7,67 -296,30,2.8,111.05,1.7,67 -297,30,2.8,111.05,1.7,67 -298,30,2.8,111.05,1.7,67 -299,30,2.8,111.05,1.7,67 -300,30,2.7,111.05,1.7,67 -301,30,2.7,111.05,1.7,67 -302,30,2.7,111.05,1.7,67 -303,30,2.7,111.05,1.7,67 -304,30,2.7,111.05,1.7,67 -305,30,2.7,111.05,1.7,67 -306,30,2.7,111.05,1.7,67 -307,30,2.7,111.05,1.7,67 -308,30,2.7,111.05,1.7,67 -309,30,2.7,111.05,1.7,67 -310,30,2.7,111.05,1.7,67 -311,30,2.7,111.05,1.7,67 -312,30,2.7,111.05,1.7,67 -313,30,2.7,111.05,1.7,67 -314,30,2.7,111.05,1.7,67 -315,30,2.7,111.05,1.7,67 -316,30,2.7,111.05,1.7,67 -317,30,2.7,111.05,1.7,67 -318,30,2.7,111.05,1.7,67 -319,30,2.7,111.05,1.7,67 -320,30,2.7,111.05,1.7,67 -321,30,2.7,111.05,1.7,67 -322,30,2.7,111.05,1.7,67 -323,30,2.7,111.05,1.7,67 -324,30,2.7,111.05,1.7,67 -325,30,2.7,111.05,1.7,67 -326,30,2.7,111.05,1.7,67 -327,30,2.7,111.05,1.7,67 -328,30,2.7,111.05,1.7,67 -329,30,2.7,111.05,1.7,67 -330,30,2.7,111.05,1.7,67 -331,30,2.7,111.05,1.7,67 -332,30,2.7,111.05,1.7,67 -333,30,2.7,111.05,1.7,67 -334,30,2.7,111.05,1.7,67 -335,30,2.7,111.05,1.7,67 -336,30,2.7,111.05,1.7,67 -337,30,2.7,111.05,1.7,67 -338,30,2.7,111.05,1.7,67 -339,30,2.7,111.05,1.7,67 -340,30,2.7,111.05,1.7,67 -341,30,2.7,111.05,1.7,67 -342,30,2.7,111.05,1.7,67 -343,30,2.7,111.05,1.7,67 -344,30,2.7,111.05,1.7,67 -345,30,2.7,111.05,1.7,67 -346,30,2.7,111.05,1.7,67 -347,30,2.7,111.05,1.7,67 -348,30,2.7,111.05,1.7,67 -349,30,2.7,111.05,1.7,67 -350,30,2.7,111.05,1.7,67 -351,30,2.7,111.05,1.7,67 -352,30,2.7,111.05,1.7,67 -353,30,2.7,111.05,1.7,67 -354,30,2.7,111.05,1.7,67 -355,30,2.7,111.05,1.7,67 -356,30,2.7,111.05,1.7,67 -357,30,2.7,111.05,1.7,67 -358,30,2.7,111.05,1.7,67 -359,30,2.7,111.05,1.7,67 -360,30,2.7,111.05,1.7,67 -361,30,2.7,111.05,1.7,67 -362,30,2.7,111.05,1.7,67 -363,30,2.7,111.05,1.7,67 -364,30,2.7,111.05,1.7,67 -365,30,2.7,111.05,1.7,67 -366,30,2.7,111.05,1.7,67 -367,30,2.7,111.05,1.7,67 -368,30,2.7,111.05,1.7,67 -369,30,2.7,111.05,1.7,67 -370,30,2.7,111.05,1.7,67 -371,30,2.7,111.05,1.7,67 -372,30,2.7,111.05,1.7,67 -373,30,2.7,111.05,1.7,67 -374,30,2.7,111.05,1.7,67 -375,30,2.7,111.05,1.7,67 -376,30,2.7,111.05,1.7,67 -377,30,2.7,111.05,1.7,67 -378,30,2.7,111.05,1.7,67 -379,30,2.7,111.05,1.7,67 -380,30,2.7,111.05,1.7,67 -381,30,2.7,111.05,1.7,67 -382,30,2.7,111.05,1.7,67 -383,30,2.7,111.05,1.7,67 -384,30,2.7,111.05,1.7,67 -385,30,2.7,111.05,1.7,67 -386,30,2.7,111.05,1.7,67 -387,30,2.7,111.05,1.7,67 -388,30,2.7,111.05,1.7,67 -389,30,2.7,111.05,1.7,67 -390,30,2.7,111.05,1.7,67 -391,30,2.7,111.05,1.7,67 -392,30,2.7,111.05,1.7,67 -393,30,2.7,111.05,1.7,67 -394,30,2.7,111.05,1.7,67 -395,30,2.7,111.05,1.7,67 -396,30,2.7,111.05,1.7,67 -397,30,2.7,111.05,1.7,67 -398,30,2.7,111.05,1.7,67 -399,30,2.7,111.05,1.7,67 -400,30,2.7,111.05,1.7,67 -401,30,2.7,111.05,1.7,66.9975 -402,30,2.7,111.05,1.7,66.995 -403,30,2.7,111.05,1.7,66.9925 -404,30,2.7,111.05,1.7,66.99 -405,30,2.7,111.05,1.7,66.9875 -406,30,2.7,111.05,1.7,66.985 -407,30,2.7,111.05,1.7,66.9825 -408,30,2.7,111.05,1.7,66.98 -409,30,2.7,111.05,1.7,66.9775 -410,30,2.7,111.05,1.7,66.975 -411,30,2.7,111.05,1.7,66.9725 -412,30,2.7,111.05,1.7,66.97 -413,30,2.7,111.05,1.7,66.9675 -414,30,2.7,111.05,1.7,66.965 -415,30,2.7,111.05,1.7,66.9625 -416,30,2.7,111.05,1.7,66.96 -417,30,2.7,111.05,1.7,66.9575 -418,30,2.7,111.05,1.7,66.955 -419,30,2.7,111.05,1.7,66.9525 -420,30,2.7,111.05,1.7,66.95 -421,30,2.7,111.05,1.7,66.9475 -422,30,2.7,111.05,1.7,66.945 -423,30,2.7,111.05,1.7,66.9425 -424,30,2.7,111.05,1.7,66.94 -425,30,2.7,111.05,1.7,66.9375 -426,30,2.7,111.05,1.7,66.935 -427,30,2.7,111.05,1.7,66.9325 -428,30,2.7,111.05,1.7,66.93 -429,30,2.7,111.05,1.7,66.9275 -430,30,2.7,111.05,1.7,66.925 -431,30,2.7,111.05,1.7,66.9225 -432,30,2.7,111.05,1.7,66.92 -433,30,2.7,111.05,1.7,66.9175 -434,30,2.7,111.05,1.7,66.915 -435,30,2.7,111.05,1.7,66.9125 -436,30,2.7,111.05,1.7,66.91 -437,30,2.7,111.05,1.7,66.9075 -438,30,2.7,111.05,1.7,66.905 -439,30,2.7,111.05,1.7,66.9025 -440,30,2.7,111.05,1.7,66.9 -441,30,2.7,111.05,1.7,66.8975 -442,30,2.7,111.05,1.7,66.895 -443,30,2.7,111.05,1.7,66.8925 -444,30,2.7,111.05,1.7,66.89 -445,30,2.7,111.05,1.7,66.8875 -446,30,2.7,111.05,1.7,66.885 -447,30,2.7,111.05,1.7,66.8825 -448,30,2.7,111.05,1.7,66.88 -449,30,2.7,111.05,1.7,66.8775 -450,30,2.7,111.05,1.7,66.875 -451,30,2.7,111.05,1.7,66.8725 -452,30,2.7,111.05,1.7,66.87 -453,30,2.7,111.05,1.7,66.8675 -454,30,2.7,111.05,1.7,66.865 -455,30,2.7,111.05,1.7,66.8625 -456,30,2.7,111.05,1.7,66.86 -457,30,2.7,111.05,1.7,66.8575 -458,30,2.7,111.05,1.7,66.855 -459,30,2.7,111.05,1.7,66.8525 -460,30,2.7,111.05,1.7,66.85 -461,30,2.7,111.05,1.7,66.8475 -462,30,2.7,111.05,1.7,66.845 -463,30,2.7,111.05,1.7,66.8425 -464,30,2.7,111.05,1.7,66.84 -465,30,2.7,111.05,1.7,66.8375 -466,30,2.7,111.05,1.7,66.835 -467,30,2.7,111.05,1.7,66.8325 -468,30,2.7,111.05,1.7,66.83 -469,30,2.7,111.05,1.7,66.8275 -470,30,2.7,111.05,1.7,66.825 -471,30,2.7,111.05,1.7,66.8225 -472,30,2.7,111.05,1.7,66.82 -473,30,2.7,111.05,1.7,66.8175 -474,30,2.7,111.05,1.7,66.815 -475,30,2.7,111.05,1.7,66.8125 -476,30,2.7,111.05,1.7,66.81 -477,30,2.7,111.05,1.7,66.8075 -478,30,2.7,111.05,1.7,66.805 -479,30,2.7,111.05,1.7,66.8025 -480,30,2.7,111.05,1.7,66.8 -481,30,2.7,111.05,1.7,66.7975 -482,30,2.7,111.05,1.7,66.795 -483,30,2.7,111.05,1.7,66.7925 -484,30,2.7,111.05,1.7,66.79 -485,30,2.7,111.05,1.7,66.7875 -486,30,2.7,111.05,1.7,66.785 -487,30,2.7,111.05,1.7,66.7825 -488,30,2.7,111.05,1.7,66.78 -489,30,2.7,111.05,1.7,66.7775 -490,30,2.7,111.05,1.7,66.775 -491,30,2.7,111.05,1.7,66.7725 -492,30,2.7,111.05,1.7,66.77 -493,30,2.7,111.05,1.7,66.7675 -494,30,2.7,111.05,1.7,66.765 -495,30,2.7,111.05,1.7,66.7625 -496,30,2.7,111.05,1.7,66.76 -497,30,2.7,111.05,1.7,66.7575 -498,30,2.7,111.05,1.7,66.755 -499,30,2.7,111.05,1.7,66.7525 -500,30,2.7,111.05,1.7,66.75 -501,30,2.7,111.05,1.7,66.7475 -502,30,2.7,111.05,1.7,66.745 -503,30,2.7,111.05,1.7,66.7425 -504,30,2.7,111.05,1.7,66.74 -505,30,2.7,111.05,1.7,66.7375 -506,30,2.7,111.05,1.7,66.735 -507,30,2.7,111.05,1.7,66.7325 -508,30,2.7,111.05,1.7,66.73 -509,30,2.7,111.05,1.7,66.7275 -510,30,2.7,111.05,1.7,66.725 -511,30,2.7,111.05,1.7,66.7225 -512,30,2.7,111.05,1.7,66.72 -513,30,2.7,111.05,1.7,66.7175 -514,30,2.7,111.05,1.7,66.715 -515,30,2.7,111.05,1.7,66.7125 -516,30,2.7,111.05,1.7,66.71 -517,30,2.7,111.05,1.7,66.7075 -518,30,2.7,111.05,1.7,66.705 -519,30,2.7,111.05,1.7,66.7025 -520,30,2.7,111.05,1.7,66.7 -521,30,2.7,111.05,1.7,66.6975 -522,30,2.7,111.05,1.7,66.695 -523,30,2.7,111.05,1.7,66.6925 -524,30,2.7,111.05,1.7,66.69 -525,30,2.7,111.05,1.7,66.6875 -526,30,2.7,111.05,1.7,66.685 -527,30,2.7,111.05,1.7,66.6825 -528,30,2.7,111.05,1.7,66.68 -529,30,2.7,111.05,1.7,66.6775 -530,30,2.7,111.05,1.7,66.675 -531,30,2.7,111.05,1.7,66.6725 -532,30,2.7,111.05,1.7,66.67 -533,30,2.7,111.05,1.7,66.6675 -534,30,2.7,111.05,1.7,66.665 -535,30,2.7,111.05,1.7,66.6625 -536,30,2.7,111.05,1.7,66.66 -537,30,2.7,111.05,1.7,66.6575 -538,30,2.7,111.05,1.7,66.655 -539,30,2.7,111.05,1.7,66.6525 -540,30,2.7,111.05,1.7,66.65 -541,30,2.7,111.05,1.7,66.6475 -542,30,2.7,111.05,1.7,66.645 -543,30,2.7,111.05,1.7,66.6425 -544,30,2.7,111.05,1.7,66.64 -545,30,2.7,111.05,1.7,66.6375 -546,30,2.7,111.05,1.7,66.635 -547,30,2.7,111.05,1.7,66.6325 -548,30,2.7,111.05,1.7,66.63 -549,30,2.7,111.05,1.7,66.6275 -550,30,2.7,111.05,1.7,66.625 -551,30,2.7,111.05,1.7,66.6225 -552,30,2.7,111.05,1.7,66.62 -553,30,2.7,111.05,1.7,66.6175 -554,30,2.7,111.05,1.7,66.615 -555,30,2.7,111.05,1.7,66.6125 -556,30,2.7,111.05,1.7,66.61 -557,30,2.7,111.05,1.7,66.6075 -558,30,2.7,111.05,1.7,66.605 -559,30,2.7,111.05,1.7,66.6025 -560,30,2.7,111.05,1.7,66.6 -561,30,2.7,111.05,1.7,66.5975 -562,30,2.7,111.05,1.7,66.595 -563,30,2.7,111.05,1.7,66.5925 -564,30,2.7,111.05,1.7,66.59 -565,30,2.7,111.05,1.7,66.5875 -566,30,2.7,111.05,1.7,66.585 -567,30,2.7,111.05,1.7,66.5825 -568,30,2.7,111.05,1.7,66.58 -569,30,2.7,111.05,1.7,66.5775 -570,30,2.7,111.05,1.7,66.575 -571,30,2.7,111.05,1.7,66.5725 -572,30,2.7,111.05,1.7,66.57 -573,30,2.7,111.05,1.7,66.5675 -574,30,2.7,111.05,1.7,66.565 -575,30,2.7,111.05,1.7,66.5625 -576,30,2.7,111.05,1.7,66.56 -577,30,2.7,111.05,1.7,66.5575 -578,30,2.7,111.05,1.7,66.555 -579,30,2.7,111.05,1.7,66.5525 -580,30,2.7,111.05,1.7,66.55 -581,30,2.7,111.05,1.7,66.5475 -582,30,2.7,111.05,1.7,66.545 -583,30,2.7,111.05,1.7,66.5425 -584,30,2.7,111.05,1.7,66.54 -585,30,2.7,111.05,1.7,66.5375 -586,30,2.7,111.05,1.7,66.535 -587,30,2.7,111.05,1.7,66.5325 -588,30,2.7,111.05,1.7,66.53 -589,30,2.7,111.05,1.7,66.5275 -590,30,2.7,111.05,1.7,66.525 -591,30,2.7,111.05,1.7,66.5225 -592,30,2.7,111.05,1.7,66.52 -593,30,2.7,111.05,1.7,66.5175 -594,30,2.7,111.05,1.7,66.515 -595,30,2.7,111.05,1.7,66.5125 -596,30,2.7,111.05,1.7,66.51 -597,30,2.7,111.05,1.7,66.5075 -598,30,2.7,111.05,1.7,66.505 -599,30,2.7,111.05,1.7,66.5025 -600,30,2.7,111.05,1.7,66.5 -601,30,2.7,111.05,1.7,66.495 -602,30,2.7,111.05,1.7,66.49 -603,30,2.7,111.05,1.7,66.485 -604,30,2.7,111.05,1.7,66.48 -605,30,2.7,111.05,1.7,66.475 -606,30,2.7,111.05,1.7,66.47 -607,30,2.7,111.05,1.7,66.465 -608,30,2.7,111.05,1.7,66.46 -609,30,2.7,111.05,1.7,66.455 -610,30,2.7,111.05,1.7,66.45 -611,30,2.7,111.05,1.7,66.445 -612,30,2.7,111.05,1.7,66.44 -613,30,2.7,111.05,1.7,66.435 -614,30,2.7,111.05,1.7,66.43 -615,30,2.7,111.05,1.7,66.425 -616,30,2.7,111.05,1.7,66.42 -617,30,2.7,111.05,1.7,66.415 -618,30,2.7,111.05,1.7,66.41 -619,30,2.7,111.05,1.7,66.405 -620,30,2.7,111.05,1.7,66.4 -621,30,2.7,111.05,1.7,66.395 -622,30,2.7,111.05,1.7,66.39 -623,30,2.7,111.05,1.7,66.385 -624,30,2.7,111.05,1.7,66.38 -625,30,2.7,111.05,1.7,66.375 -626,30,2.7,111.05,1.7,66.37 -627,30,2.7,111.05,1.7,66.365 -628,30,2.7,111.05,1.7,66.36 -629,30,2.7,111.05,1.7,66.355 -630,30,2.7,111.05,1.7,66.35 -631,30,2.7,111.05,1.7,66.345 -632,30,2.7,111.05,1.7,66.34 -633,30,2.7,111.05,1.7,66.335 -634,30,2.7,111.05,1.7,66.33 -635,30,2.7,111.05,1.7,66.325 -636,30,2.7,111.05,1.7,66.32 -637,30,2.7,111.05,1.7,66.315 -638,30,2.7,111.05,1.7,66.31 -639,30,2.7,111.05,1.7,66.305 -640,30,2.7,111.05,1.7,66.3 -641,30,2.7,111.05,1.7,66.295 -642,30,2.7,111.05,1.7,66.29 -643,30,2.7,111.05,1.7,66.285 -644,30,2.7,111.05,1.7,66.28 -645,30,2.7,111.05,1.7,66.275 -646,30,2.7,111.05,1.7,66.27 -647,30,2.7,111.05,1.7,66.265 -648,30,2.7,111.05,1.7,66.26 -649,30,2.7,111.05,1.7,66.255 -650,30,2.7,111.05,1.7,66.25 -651,30,2.7,111.05,1.7,66.245 -652,30,2.7,111.05,1.7,66.24 -653,30,2.7,111.05,1.7,66.235 -654,30,2.7,111.05,1.7,66.23 -655,30,2.7,111.05,1.7,66.225 -656,30,2.7,111.05,1.7,66.22 -657,30,2.7,111.05,1.7,66.215 -658,30,2.7,111.05,1.7,66.21 -659,30,2.7,111.05,1.7,66.205 -660,30,2.7,111.05,1.7,66.2 -661,30,2.7,111.05,1.7,66.195 -662,30,2.7,111.05,1.7,66.19 -663,30,2.7,111.05,1.7,66.185 -664,30,2.7,111.05,1.7,66.18 -665,30,2.7,111.05,1.7,66.175 -666,30,2.7,111.05,1.7,66.17 -667,30,2.7,111.05,1.7,66.165 -668,30,2.7,111.05,1.7,66.16 -669,30,2.7,111.05,1.7,66.155 -670,30,2.7,111.05,1.7,66.15 -671,30,2.7,111.05,1.7,66.145 -672,30,2.7,111.05,1.7,66.14 -673,30,2.7,111.05,1.7,66.135 -674,30,2.7,111.05,1.7,66.13 -675,30,2.7,111.05,1.7,66.125 -676,30,2.7,111.05,1.7,66.12 -677,30,2.7,111.05,1.7,66.115 -678,30,2.7,111.05,1.7,66.11 -679,30,2.7,111.05,1.7,66.105 -680,30,2.7,111.05,1.7,66.1 -681,30,2.7,111.05,1.7,66.095 -682,30,2.7,111.05,1.7,66.09 -683,30,2.7,111.05,1.7,66.085 -684,30,2.7,111.05,1.7,66.08 -685,30,2.7,111.05,1.7,66.075 -686,30,2.7,111.05,1.7,66.07 -687,30,2.7,111.05,1.7,66.065 -688,30,2.7,111.05,1.7,66.06 -689,30,2.7,111.05,1.7,66.055 -690,30,2.7,111.05,1.7,66.05 -691,30,2.7,111.05,1.7,66.045 -692,30,2.7,111.05,1.7,66.04 -693,30,2.7,111.05,1.7,66.035 -694,30,2.7,111.05,1.7,66.03 -695,30,2.7,111.05,1.7,66.025 -696,30,2.7,111.05,1.7,66.02 -697,30,2.7,111.05,1.7,66.015 -698,30,2.7,111.05,1.7,66.01 -699,30,2.7,111.05,1.7,66.005 -700,30,2.7,111.05,1.7,66 -701,30,2.7,111.05,1.7,65.995 -702,30,2.7,111.05,1.7,65.99 -703,30,2.7,111.05,1.7,65.985 -704,30,2.7,111.05,1.7,65.98 -705,30,2.7,111.05,1.7,65.975 -706,30,2.7,111.05,1.7,65.97 -707,30,2.7,111.05,1.7,65.965 -708,30,2.7,111.05,1.7,65.96 -709,30,2.7,111.05,1.7,65.955 -710,30,2.7,111.05,1.7,65.95 -711,30,2.7,111.05,1.7,65.945 -712,30,2.7,111.05,1.7,65.94 -713,30,2.7,111.05,1.7,65.935 -714,30,2.7,111.05,1.7,65.93 -715,30,2.7,111.05,1.7,65.925 -716,30,2.7,111.05,1.7,65.92 -717,30,2.7,111.05,1.7,65.915 -718,30,2.7,111.05,1.7,65.91 -719,30,2.7,111.05,1.7,65.905 -720,30,2.7,111.05,1.7,65.9 -721,30,2.7,111.05,1.7,65.895 -722,30,2.7,111.05,1.7,65.89 -723,30,2.7,111.05,1.7,65.885 -724,30,2.7,111.05,1.7,65.88 -725,30,2.7,111.05,1.7,65.875 -726,30,2.7,111.05,1.7,65.87 -727,30,2.7,111.05,1.7,65.865 -728,30,2.7,111.05,1.7,65.86 -729,30,2.7,111.05,1.7,65.855 -730,30,2.7,111.05,1.7,65.85 -731,30,2.7,111.05,1.7,65.845 -732,30,2.7,111.05,1.7,65.84 -733,30,2.7,111.05,1.7,65.835 -734,30,2.7,111.05,1.7,65.83 -735,30,2.7,111.05,1.7,65.825 -736,30,2.7,111.05,1.7,65.82 -737,30,2.7,111.05,1.7,65.815 -738,30,2.7,111.05,1.7,65.81 -739,30,2.7,111.05,1.7,65.805 -740,30,2.7,111.05,1.7,65.8 -741,30,2.7,111.05,1.7,65.795 -742,30,2.7,111.05,1.7,65.79 -743,30,2.7,111.05,1.7,65.785 -744,30,2.7,111.05,1.7,65.78 -745,30,2.7,111.05,1.7,65.775 -746,30,2.7,111.05,1.7,65.77 -747,30,2.7,111.05,1.7,65.765 -748,30,2.7,111.05,1.7,65.76 -749,30,2.7,111.05,1.7,65.755 -750,30,2.7,111.05,1.7,65.75 -751,30,2.7,111.05,1.7,65.745 -752,30,2.7,111.05,1.7,65.74 -753,30,2.7,111.05,1.7,65.735 -754,30,2.7,111.05,1.7,65.73 -755,30,2.7,111.05,1.7,65.725 -756,30,2.7,111.05,1.7,65.72 -757,30,2.7,111.05,1.7,65.715 -758,30,2.7,111.05,1.7,65.71 -759,30,2.7,111.05,1.7,65.705 -760,30,2.7,111.05,1.7,65.7 -761,30,2.7,111.05,1.7,65.695 -762,30,2.7,111.05,1.7,65.69 -763,30,2.7,111.05,1.7,65.685 -764,30,2.7,111.05,1.7,65.68 -765,30,2.7,111.05,1.7,65.675 -766,30,2.7,111.05,1.7,65.67 -767,30,2.7,111.05,1.7,65.665 -768,30,2.7,111.05,1.7,65.66 -769,30,2.7,111.05,1.7,65.655 -770,30,2.7,111.05,1.7,65.65 -771,30,2.7,111.05,1.7,65.645 -772,30,2.7,111.05,1.7,65.64 -773,30,2.7,111.05,1.7,65.635 -774,30,2.7,111.05,1.7,65.63 -775,30,2.7,111.05,1.7,65.625 -776,30,2.7,111.05,1.7,65.62 -777,30,2.7,111.05,1.7,65.615 -778,30,2.7,111.05,1.7,65.61 -779,30,2.7,111.05,1.7,65.605 -780,30,2.7,111.05,1.7,65.6 -781,30,2.7,111.05,1.7,65.595 -782,30,2.7,111.05,1.7,65.59 -783,30,2.7,111.05,1.7,65.585 -784,30,2.7,111.05,1.7,65.58 -785,30,2.7,111.05,1.7,65.575 -786,30,2.7,111.05,1.7,65.57 -787,30,2.7,111.05,1.7,65.565 -788,30,2.7,111.05,1.7,65.56 -789,30,2.7,111.05,1.7,65.555 -790,30,2.7,111.05,1.7,65.55 -791,30,2.7,111.05,1.7,65.545 -792,30,2.7,111.05,1.7,65.54 -793,30,2.7,111.05,1.7,65.535 -794,30,2.7,111.05,1.7,65.53 -795,30,2.7,111.05,1.7,65.525 -796,30,2.7,111.05,1.7,65.52 -797,30,2.7,111.05,1.7,65.515 -798,30,2.7,111.05,1.7,65.51 -799,30,2.7,111.05,1.7,65.505 -800,30,2.7,111.05,1.7,65.5 -801,30,2.7,111.05,1.7,65.495 -802,30,2.7,111.05,1.7,65.49 -803,30,2.7,111.05,1.7,65.485 -804,30,2.7,111.05,1.7,65.48 -805,30,2.7,111.05,1.7,65.475 -806,30,2.7,111.05,1.7,65.47 -807,30,2.7,111.05,1.7,65.465 -808,30,2.7,111.05,1.7,65.46 -809,30,2.7,111.05,1.7,65.455 -810,30,2.7,111.05,1.7,65.45 -811,30,2.7,111.05,1.7,65.445 -812,30,2.7,111.05,1.7,65.44 -813,30,2.7,111.05,1.7,65.435 -814,30,2.7,111.05,1.7,65.43 -815,30,2.7,111.05,1.7,65.425 -816,30,2.7,111.05,1.7,65.42 -817,30,2.7,111.05,1.7,65.415 -818,30,2.7,111.05,1.7,65.41 -819,30,2.7,111.05,1.7,65.405 -820,30,2.7,111.05,1.7,65.4 -821,30,2.7,111.05,1.7,65.395 -822,30,2.7,111.05,1.7,65.39 -823,30,2.7,111.05,1.7,65.385 -824,30,2.7,111.05,1.7,65.38 -825,30,2.7,111.05,1.7,65.375 -826,30,2.7,111.05,1.7,65.37 -827,30,2.7,111.05,1.7,65.365 -828,30,2.7,111.05,1.7,65.36 -829,30,2.7,111.05,1.7,65.355 -830,30,2.7,111.05,1.7,65.35 -831,30,2.7,111.05,1.7,65.345 -832,30,2.7,111.05,1.7,65.34 -833,30,2.7,111.05,1.7,65.335 -834,30,2.7,111.05,1.7,65.33 -835,30,2.7,111.05,1.7,65.325 -836,30,2.7,111.05,1.7,65.32 -837,30,2.7,111.05,1.7,65.315 -838,30,2.7,111.05,1.7,65.31 -839,30,2.7,111.05,1.7,65.305 -840,30,2.7,111.05,1.7,65.3 -841,30,2.7,111.05,1.7,65.295 -842,30,2.7,111.05,1.7,65.29 -843,30,2.7,111.05,1.7,65.285 -844,30,2.7,111.05,1.7,65.28 -845,30,2.7,111.05,1.7,65.275 -846,30,2.7,111.05,1.7,65.27 -847,30,2.7,111.05,1.7,65.265 -848,30,2.7,111.05,1.7,65.26 -849,30,2.7,111.05,1.7,65.255 -850,30,2.7,111.05,1.7,65.25 -851,30,2.7,111.05,1.7,65.245 -852,30,2.7,111.05,1.7,65.24 -853,30,2.7,111.05,1.7,65.235 -854,30,2.7,111.05,1.7,65.23 -855,30,2.7,111.05,1.7,65.225 -856,30,2.7,111.05,1.7,65.22 -857,30,2.7,111.05,1.7,65.215 -858,30,2.7,111.05,1.7,65.21 -859,30,2.7,111.05,1.7,65.205 -860,30,2.7,111.05,1.7,65.2 -861,30,2.7,111.05,1.7,65.195 -862,30,2.7,111.05,1.7,65.19 -863,30,2.7,111.05,1.7,65.185 -864,30,2.7,111.05,1.7,65.18 -865,30,2.7,111.05,1.7,65.175 -866,30,2.7,111.05,1.7,65.17 -867,30,2.7,111.05,1.7,65.165 -868,30,2.7,111.05,1.7,65.16 -869,30,2.7,111.05,1.7,65.155 -870,30,2.7,111.05,1.7,65.15 -871,30,2.7,111.05,1.7,65.145 -872,30,2.7,111.05,1.7,65.14 -873,30,2.7,111.05,1.7,65.135 -874,30,2.7,111.05,1.7,65.13 -875,30,2.7,111.05,1.7,65.125 -876,30,2.7,111.05,1.7,65.12 -877,30,2.7,111.05,1.7,65.115 -878,30,2.7,111.05,1.7,65.11 -879,30,2.7,111.05,1.7,65.105 -880,30,2.7,111.05,1.7,65.1 -881,30,2.7,111.05,1.7,65.095 -882,30,2.7,111.05,1.7,65.09 -883,30,2.7,111.05,1.7,65.085 -884,30,2.7,111.05,1.7,65.08 -885,30,2.7,111.05,1.7,65.075 -886,30,2.7,111.05,1.7,65.07 -887,30,2.7,111.05,1.7,65.065 -888,30,2.7,111.05,1.7,65.06 -889,30,2.7,111.05,1.7,65.055 -890,30,2.7,111.05,1.7,65.05 -891,30,2.7,111.05,1.7,65.045 -892,30,2.7,111.05,1.7,65.04 -893,30,2.7,111.05,1.7,65.035 -894,30,2.7,111.05,1.7,65.03 -895,30,2.7,111.05,1.7,65.025 -896,30,2.7,111.05,1.7,65.02 -897,30,2.7,111.05,1.7,65.015 -898,30,2.7,111.05,1.7,65.01 -899,30,2.7,111.05,1.7,65.005 -900,30,2.7,111.05,1.7,65 -901,30,2.7,111.05,1.7,64.99833333 -902,30,2.7,111.05,1.7,64.99666667 -903,30,2.7,111.05,1.7,64.995 -904,30,2.7,111.05,1.7,64.99333333 -905,30,2.7,111.05,1.7,64.99166667 -906,30,2.7,111.05,1.7,64.99 -907,30,2.7,111.05,1.7,64.98833333 -908,30,2.7,111.05,1.7,64.98666667 -909,30,2.7,111.05,1.7,64.985 -910,30,2.7,111.05,1.7,64.98333333 -911,30,2.7,111.05,1.7,64.98166667 -912,30,2.7,111.05,1.7,64.98 -913,30,2.7,111.05,1.7,64.97833333 -914,30,2.7,111.05,1.7,64.97666667 -915,30,2.7,111.05,1.7,64.975 -916,30,2.7,111.05,1.7,64.97333333 -917,30,2.7,111.05,1.7,64.97166667 -918,30,2.7,111.05,1.7,64.97 -919,30,2.7,111.05,1.7,64.96833333 -920,30,2.7,111.05,1.7,64.96666667 -921,30,2.7,111.05,1.7,64.965 -922,30,2.7,111.05,1.7,64.96333333 -923,30,2.7,111.05,1.7,64.96166667 -924,30,2.7,111.05,1.7,64.96 -925,30,2.7,111.05,1.7,64.95833333 -926,30,2.7,111.05,1.7,64.95666667 -927,30,2.7,111.05,1.7,64.955 -928,30,2.7,111.05,1.7,64.95333333 -929,30,2.7,111.05,1.7,64.95166667 -930,30,2.7,111.05,1.7,64.95 -931,30,2.7,111.05,1.7,64.94833333 -932,30,2.7,111.05,1.7,64.94666667 -933,30,2.7,111.05,1.7,64.945 -934,30,2.7,111.05,1.7,64.94333333 -935,30,2.7,111.05,1.7,64.94166667 -936,30,2.7,111.05,1.7,64.94 -937,30,2.7,111.05,1.7,64.93833333 -938,30,2.7,111.05,1.7,64.93666667 -939,30,2.7,111.05,1.7,64.935 -940,30,2.7,111.05,1.7,64.93333333 -941,30,2.7,111.05,1.7,64.93166667 -942,30,2.7,111.05,1.7,64.93 -943,30,2.7,111.05,1.7,64.92833333 -944,30,2.7,111.05,1.7,64.92666667 -945,30,2.7,111.05,1.7,64.925 -946,30,2.7,111.05,1.7,64.92333333 -947,30,2.7,111.05,1.7,64.92166667 -948,30,2.7,111.05,1.7,64.92 -949,30,2.7,111.05,1.7,64.91833333 -950,30,2.7,111.05,1.7,64.91666667 -951,30,2.7,111.05,1.7,64.915 -952,30,2.7,111.05,1.7,64.91333333 -953,30,2.7,111.05,1.7,64.91166666 -954,30,2.7,111.05,1.7,64.91 -955,30,2.7,111.05,1.7,64.90833333 -956,30,2.7,111.05,1.7,64.90666666 -957,30,2.7,111.05,1.7,64.905 -958,30,2.7,111.05,1.7,64.90333333 -959,30,2.7,111.05,1.7,64.90166666 -960,30,2.7,111.05,1.7,64.9 -961,30,2.7,111.05,1.7,64.89833333 -962,30,2.7,111.05,1.7,64.89666666 -963,30,2.7,111.05,1.7,64.895 -964,30,2.7,111.05,1.7,64.89333333 -965,30,2.7,111.05,1.7,64.89166666 -966,30,2.7,111.05,1.7,64.89 -967,30,2.7,111.05,1.7,64.88833333 -968,30,2.7,111.05,1.7,64.88666666 -969,30,2.7,111.05,1.7,64.885 -970,30,2.7,111.05,1.7,64.88333333 -971,30,2.7,111.05,1.7,64.88166666 -972,30,2.7,111.05,1.7,64.88 -973,30,2.7,111.05,1.7,64.87833333 -974,30,2.7,111.05,1.7,64.87666666 -975,30,2.7,111.05,1.7,64.875 -976,30,2.7,111.05,1.7,64.87333333 -977,30,2.7,111.05,1.7,64.87166666 -978,30,2.7,111.05,1.7,64.87 -979,30,2.7,111.05,1.7,64.86833333 -980,30,2.7,111.05,1.7,64.86666666 -981,30,2.7,111.05,1.7,64.865 -982,30,2.7,111.05,1.7,64.86333333 -983,30,2.7,111.05,1.7,64.86166666 -984,30,2.7,111.05,1.7,64.86 -985,30,2.7,111.05,1.7,64.85833333 -986,30,2.7,111.05,1.7,64.85666666 -987,30,2.7,111.05,1.7,64.855 -988,30,2.7,111.05,1.7,64.85333333 -989,30,2.7,111.05,1.7,64.85166666 -990,30,2.7,111.05,1.7,64.85 -991,30,2.7,111.05,1.7,64.84833333 -992,30,2.7,111.05,1.7,64.84666666 -993,30,2.7,111.05,1.7,64.845 -994,30,2.7,111.05,1.7,64.84333333 -995,30,2.7,111.05,1.7,64.84166666 -996,30,2.7,111.05,1.7,64.84 -997,30,2.7,111.05,1.7,64.83833333 -998,30,2.7,111.05,1.7,64.83666666 -999,30,2.7,111.05,1.7,64.835 -1000,30,2.7,111.05,1.7,64.83333333 -1001,30,2.7,111.05,1.7,64.83166666 -1002,30,2.7,111.05,1.7,64.83 -1003,30,2.7,111.05,1.7,64.82833333 -1004,30,2.7,111.05,1.7,64.82666666 -1005,30,2.7,111.05,1.7,64.825 -1006,30,2.7,111.05,1.7,64.82333333 -1007,30,2.7,111.05,1.7,64.82166666 -1008,30,2.7,111.05,1.7,64.82 -1009,30,2.7,111.05,1.7,64.81833333 -1010,30,2.7,111.05,1.7,64.81666666 -1011,30,2.7,111.05,1.7,64.815 -1012,30,2.7,111.05,1.7,64.81333333 -1013,30,2.7,111.05,1.7,64.81166666 -1014,30,2.7,111.05,1.7,64.81 -1015,30,2.7,111.05,1.7,64.80833333 -1016,30,2.7,111.05,1.7,64.80666666 -1017,30,2.7,111.05,1.7,64.805 -1018,30,2.7,111.05,1.7,64.80333333 -1019,30,2.7,111.05,1.7,64.80166666 -1020,30,2.7,111.05,1.7,64.8 -1021,30,2.7,111.05,1.7,64.79833333 -1022,30,2.7,111.05,1.7,64.79666666 -1023,30,2.7,111.05,1.7,64.795 -1024,30,2.7,111.05,1.7,64.79333333 -1025,30,2.7,111.05,1.7,64.79166666 -1026,30,2.7,111.05,1.7,64.79 -1027,30,2.7,111.05,1.7,64.78833333 -1028,30,2.7,111.05,1.7,64.78666666 -1029,30,2.7,111.05,1.7,64.785 -1030,30,2.7,111.05,1.7,64.78333333 -1031,30,2.7,111.05,1.7,64.78166666 -1032,30,2.7,111.05,1.7,64.78 -1033,30,2.7,111.05,1.7,64.77833333 -1034,30,2.7,111.05,1.7,64.77666666 -1035,30,2.7,111.05,1.7,64.775 -1036,30,2.7,111.05,1.7,64.77333333 -1037,30,2.7,111.05,1.7,64.77166666 -1038,30,2.7,111.05,1.7,64.77 -1039,30,2.7,111.05,1.7,64.76833333 -1040,30,2.7,111.05,1.7,64.76666666 -1041,30,2.7,111.05,1.7,64.765 -1042,30,2.7,111.05,1.7,64.76333333 -1043,30,2.7,111.05,1.7,64.76166666 -1044,30,2.7,111.05,1.7,64.76 -1045,30,2.7,111.05,1.7,64.75833333 -1046,30,2.7,111.05,1.7,64.75666666 -1047,30,2.7,111.05,1.7,64.755 -1048,30,2.7,111.05,1.7,64.75333333 -1049,30,2.7,111.05,1.7,64.75166666 -1050,30,2.7,111.05,1.7,64.75 -1051,30,2.7,111.05,1.7,64.74833333 -1052,30,2.7,111.05,1.7,64.74666666 -1053,30,2.7,111.05,1.7,64.74499999 -1054,30,2.7,111.05,1.7,64.74333333 -1055,30,2.7,111.05,1.7,64.74166666 -1056,30,2.7,111.05,1.7,64.73999999 -1057,30,2.7,111.05,1.7,64.73833333 -1058,30,2.7,111.05,1.7,64.73666666 -1059,30,2.7,111.05,1.7,64.73499999 -1060,30,2.7,111.05,1.7,64.73333333 -1061,30,2.7,111.05,1.7,64.73166666 -1062,30,2.7,111.05,1.7,64.72999999 -1063,30,2.7,111.05,1.7,64.72833333 -1064,30,2.7,111.05,1.7,64.72666666 -1065,30,2.7,111.05,1.7,64.72499999 -1066,30,2.7,111.05,1.7,64.72333333 -1067,30,2.7,111.05,1.7,64.72166666 -1068,30,2.7,111.05,1.7,64.71999999 -1069,30,2.7,111.05,1.7,64.71833333 -1070,30,2.7,111.05,1.7,64.71666666 -1071,30,2.7,111.05,1.7,64.71499999 -1072,30,2.7,111.05,1.7,64.71333333 -1073,30,2.7,111.05,1.7,64.71166666 -1074,30,2.7,111.05,1.7,64.70999999 -1075,30,2.7,111.05,1.7,64.70833333 -1076,30,2.7,111.05,1.7,64.70666666 -1077,30,2.7,111.05,1.7,64.70499999 -1078,30,2.7,111.05,1.7,64.70333333 -1079,30,2.7,111.05,1.7,64.70166666 -1080,30,2.7,111.05,1.7,64.69999999 -1081,30,2.7,111.05,1.7,64.69833333 -1082,30,2.7,111.05,1.7,64.69666666 -1083,30,2.7,111.05,1.7,64.69499999 -1084,30,2.7,111.05,1.7,64.69333333 -1085,30,2.7,111.05,1.7,64.69166666 -1086,30,2.7,111.05,1.7,64.68999999 -1087,30,2.7,111.05,1.7,64.68833333 -1088,30,2.7,111.05,1.7,64.68666666 -1089,30,2.7,111.05,1.7,64.68499999 -1090,30,2.7,111.05,1.7,64.68333333 -1091,30,2.7,111.05,1.7,64.68166666 -1092,30,2.7,111.05,1.7,64.67999999 -1093,30,2.7,111.05,1.7,64.67833333 -1094,30,2.7,111.05,1.7,64.67666666 -1095,30,2.7,111.05,1.7,64.67499999 -1096,30,2.7,111.05,1.7,64.67333333 -1097,30,2.7,111.05,1.7,64.67166666 -1098,30,2.7,111.05,1.7,64.66999999 -1099,30,2.7,111.05,1.7,64.66833333 -1100,30,2.7,111.05,1.7,64.66666666 -1101,30,2.7,111.05,1.7,64.66499999 -1102,30,2.7,111.05,1.7,64.66333333 -1103,30,2.7,111.05,1.7,64.66166666 -1104,30,2.7,111.05,1.7,64.65999999 -1105,30,2.7,111.05,1.7,64.65833333 -1106,30,2.7,111.05,1.7,64.65666666 -1107,30,2.7,111.05,1.7,64.65499999 -1108,30,2.7,111.05,1.7,64.65333333 -1109,30,2.7,111.05,1.7,64.65166666 -1110,30,2.7,111.05,1.7,64.64999999 -1111,30,2.7,111.05,1.7,64.64833333 -1112,30,2.7,111.05,1.7,64.64666666 -1113,30,2.7,111.05,1.7,64.64499999 -1114,30,2.7,111.05,1.7,64.64333333 -1115,30,2.7,111.05,1.7,64.64166666 -1116,30,2.7,111.05,1.7,64.63999999 -1117,30,2.7,111.05,1.7,64.63833333 -1118,30,2.7,111.05,1.7,64.63666666 -1119,30,2.7,111.05,1.7,64.63499999 -1120,30,2.7,111.05,1.7,64.63333333 -1121,30,2.7,111.05,1.7,64.63166666 -1122,30,2.7,111.05,1.7,64.62999999 -1123,30,2.7,111.05,1.7,64.62833333 -1124,30,2.7,111.05,1.7,64.62666666 -1125,30,2.7,111.05,1.7,64.62499999 -1126,30,2.7,111.05,1.7,64.62333333 -1127,30,2.7,111.05,1.7,64.62166666 -1128,30,2.7,111.05,1.7,64.61999999 -1129,30,2.7,111.05,1.7,64.61833333 -1130,30,2.7,111.05,1.7,64.61666666 -1131,30,2.7,111.05,1.7,64.61499999 -1132,30,2.7,111.05,1.7,64.61333333 -1133,30,2.7,111.05,1.7,64.61166666 -1134,30,2.7,111.05,1.7,64.60999999 -1135,30,2.7,111.05,1.7,64.60833333 -1136,30,2.7,111.05,1.7,64.60666666 -1137,30,2.7,111.05,1.7,64.60499999 -1138,30,2.7,111.05,1.7,64.60333333 -1139,30,2.7,111.05,1.7,64.60166666 -1140,30,2.7,111.05,1.7,64.59999999 -1141,30,2.7,111.05,1.7,64.59833333 -1142,30,2.7,111.05,1.7,64.59666666 -1143,30,2.7,111.05,1.7,64.59499999 -1144,30,2.7,111.05,1.7,64.59333333 -1145,30,2.7,111.05,1.7,64.59166666 -1146,30,2.7,111.05,1.7,64.58999999 -1147,30,2.7,111.05,1.7,64.58833333 -1148,30,2.7,111.05,1.7,64.58666666 -1149,30,2.7,111.05,1.7,64.58499999 -1150,30,2.7,111.05,1.7,64.58333333 -1151,30,2.7,111.05,1.7,64.58166666 -1152,30,2.7,111.05,1.7,64.57999999 -1153,30,2.7,111.05,1.7,64.57833332 -1154,30,2.7,111.05,1.7,64.57666666 -1155,30,2.7,111.05,1.7,64.57499999 -1156,30,2.7,111.05,1.7,64.57333332 -1157,30,2.7,111.05,1.7,64.57166666 -1158,30,2.7,111.05,1.7,64.56999999 -1159,30,2.7,111.05,1.7,64.56833332 -1160,30,2.7,111.05,1.7,64.56666666 -1161,30,2.7,111.05,1.7,64.56499999 -1162,30,2.7,111.05,1.7,64.56333332 -1163,30,2.7,111.05,1.7,64.56166666 -1164,30,2.7,111.05,1.7,64.55999999 -1165,30,2.7,111.05,1.7,64.55833332 -1166,30,2.7,111.05,1.7,64.55666666 -1167,30,2.7,111.05,1.7,64.55499999 -1168,30,2.7,111.05,1.7,64.55333332 -1169,30,2.7,111.05,1.7,64.55166666 -1170,30,2.7,111.05,1.7,64.54999999 -1171,30,2.7,111.05,1.7,64.54833332 -1172,30,2.7,111.05,1.7,64.54666666 -1173,30,2.7,111.05,1.7,64.54499999 -1174,30,2.7,111.05,1.7,64.54333332 -1175,30,2.7,111.05,1.7,64.54166666 -1176,30,2.7,111.05,1.7,64.53999999 -1177,30,2.7,111.05,1.7,64.53833332 -1178,30,2.7,111.05,1.7,64.53666666 -1179,30,2.7,111.05,1.7,64.53499999 -1180,30,2.7,111.05,1.7,64.53333332 -1181,30,2.7,111.05,1.7,64.53166666 -1182,30,2.7,111.05,1.7,64.52999999 -1183,30,2.7,111.05,1.7,64.52833332 -1184,30,2.7,111.05,1.7,64.52666666 -1185,30,2.7,111.05,1.7,64.52499999 -1186,30,2.7,111.05,1.7,64.52333332 -1187,30,2.7,111.05,1.7,64.52166666 -1188,30,2.7,111.05,1.7,64.51999999 -1189,30,2.7,111.05,1.7,64.51833332 -1190,30,2.7,111.05,1.7,64.51666666 -1191,30,2.7,111.05,1.7,64.51499999 -1192,30,2.7,111.05,1.7,64.51333332 -1193,30,2.7,111.05,1.7,64.51166666 -1194,30,2.7,111.05,1.7,64.50999999 -1195,30,2.7,111.05,1.7,64.50833332 -1196,30,2.7,111.05,1.7,64.50666666 -1197,30,2.7,111.05,1.7,64.50499999 -1198,30,2.7,111.05,1.7,64.50333332 -1199,30,2.7,111.05,1.7,64.50166666 -1200,30,2.7,111.05,1.7,64.5 -1201,30,2.7,111.05,1.7,64.499375 -1202,30,2.7,111.05,1.7,64.49875 -1203,30,2.7,111.05,1.7,64.498125 -1204,30,2.7,111.05,1.7,64.4975 -1205,30,2.7,111.05,1.7,64.496875 -1206,30,2.7,111.05,1.7,64.49625 -1207,30,2.7,111.05,1.7,64.495625 -1208,30,2.7,111.05,1.7,64.495 -1209,30,2.7,111.05,1.7,64.494375 -1210,30,2.7,111.05,1.7,64.49375 -1211,30,2.7,111.05,1.7,64.493125 -1212,30,2.7,111.05,1.7,64.4925 -1213,30,2.7,111.05,1.7,64.491875 -1214,30,2.7,111.05,1.7,64.49125 -1215,30,2.7,111.05,1.7,64.490625 -1216,30,2.7,111.05,1.7,64.49 -1217,30,2.7,111.05,1.7,64.489375 -1218,30,2.7,111.05,1.7,64.48875 -1219,30,2.7,111.05,1.7,64.488125 -1220,30,2.7,111.05,1.7,64.4875 -1221,30,2.7,111.05,1.7,64.486875 -1222,30,2.7,111.05,1.7,64.48625 -1223,30,2.7,111.05,1.7,64.485625 -1224,30,2.7,111.05,1.7,64.485 -1225,30,2.7,111.05,1.7,64.484375 -1226,30,2.7,111.05,1.7,64.48375 -1227,30,2.7,111.05,1.7,64.483125 -1228,30,2.7,111.05,1.7,64.4825 -1229,30,2.7,111.05,1.7,64.481875 -1230,30,2.7,111.05,1.7,64.48125 -1231,30,2.7,111.05,1.7,64.480625 -1232,30,2.7,111.05,1.7,64.48 -1233,30,2.7,111.05,1.7,64.479375 -1234,30,2.7,111.05,1.7,64.47875 -1235,30,2.7,111.05,1.7,64.478125 -1236,30,2.7,111.05,1.7,64.4775 -1237,30,2.7,111.05,1.7,64.476875 -1238,30,2.7,111.05,1.7,64.47625 -1239,30,2.7,111.05,1.7,64.475625 -1240,30,2.7,111.05,1.7,64.475 -1241,30,2.7,111.05,1.7,64.474375 -1242,30,2.7,111.05,1.7,64.47375 -1243,30,2.7,111.05,1.7,64.473125 -1244,30,2.7,111.05,1.7,64.4725 -1245,30,2.7,111.05,1.7,64.471875 -1246,30,2.7,111.05,1.7,64.47125 -1247,30,2.7,111.05,1.7,64.470625 -1248,30,2.7,111.05,1.7,64.47 -1249,30,2.7,111.05,1.7,64.469375 -1250,30,2.7,111.05,1.7,64.46875 -1251,30,2.7,111.05,1.7,64.468125 -1252,30,2.7,111.05,1.7,64.4675 -1253,30,2.7,111.05,1.7,64.466875 -1254,30,2.7,111.05,1.7,64.46625 -1255,30,2.7,111.05,1.7,64.465625 -1256,30,2.7,111.05,1.7,64.465 -1257,30,2.7,111.05,1.7,64.464375 -1258,30,2.7,111.05,1.7,64.46375 -1259,30,2.7,111.05,1.7,64.463125 -1260,30,2.7,111.05,1.7,64.4625 -1261,30,2.7,111.05,1.7,64.461875 -1262,30,2.7,111.05,1.7,64.46125 -1263,30,2.7,111.05,1.7,64.460625 -1264,30,2.7,111.05,1.7,64.46 -1265,30,2.7,111.05,1.7,64.459375 -1266,30,2.7,111.05,1.7,64.45875 -1267,30,2.7,111.05,1.7,64.458125 -1268,30,2.7,111.05,1.7,64.4575 -1269,30,2.7,111.05,1.7,64.456875 -1270,30,2.7,111.05,1.7,64.45625 -1271,30,2.7,111.05,1.7,64.455625 -1272,30,2.7,111.05,1.7,64.455 -1273,30,2.7,111.05,1.7,64.454375 -1274,30,2.7,111.05,1.7,64.45375 -1275,30,2.7,111.05,1.7,64.453125 -1276,30,2.7,111.05,1.7,64.4525 -1277,30,2.7,111.05,1.7,64.451875 -1278,30,2.7,111.05,1.7,64.45125 -1279,30,2.7,111.05,1.7,64.450625 -1280,30,2.7,111.05,1.7,64.45 -1281,30,2.7,111.05,1.7,64.449375 -1282,30,2.7,111.05,1.7,64.44875 -1283,30,2.7,111.05,1.7,64.448125 -1284,30,2.7,111.05,1.7,64.4475 -1285,30,2.7,111.05,1.7,64.446875 -1286,30,2.7,111.05,1.7,64.44625 -1287,30,2.7,111.05,1.7,64.445625 -1288,30,2.7,111.05,1.7,64.445 -1289,30,2.7,111.05,1.7,64.444375 -1290,30,2.7,111.05,1.7,64.44375 -1291,30,2.7,111.05,1.7,64.443125 -1292,30,2.7,111.05,1.7,64.4425 -1293,30,2.7,111.05,1.7,64.441875 -1294,30,2.7,111.05,1.7,64.44125 -1295,30,2.7,111.05,1.7,64.440625 -1296,30,2.7,111.05,1.7,64.44 -1297,30,2.7,111.05,1.7,64.439375 -1298,30,2.7,111.05,1.7,64.43875 -1299,30,2.7,111.05,1.7,64.438125 -1300,30,2.7,111.05,1.7,64.4375 -1301,30,2.7,111.05,1.7,64.436875 -1302,30,2.7,111.05,1.7,64.43625 -1303,30,2.7,111.05,1.7,64.435625 -1304,30,2.7,111.05,1.7,64.435 -1305,30,2.7,111.05,1.7,64.434375 -1306,30,2.7,111.05,1.7,64.43375 -1307,30,2.7,111.05,1.7,64.433125 -1308,30,2.7,111.05,1.7,64.4325 -1309,30,2.7,111.05,1.7,64.431875 -1310,30,2.7,111.05,1.7,64.43125 -1311,30,2.7,111.05,1.7,64.430625 -1312,30,2.7,111.05,1.7,64.43 -1313,30,2.7,111.05,1.7,64.429375 -1314,30,2.7,111.05,1.7,64.42875 -1315,30,2.7,111.05,1.7,64.428125 -1316,30,2.7,111.05,1.7,64.4275 -1317,30,2.7,111.05,1.7,64.426875 -1318,30,2.7,111.05,1.7,64.42625 -1319,30,2.7,111.05,1.7,64.425625 -1320,30,2.7,111.05,1.7,64.425 -1321,30,2.7,111.05,1.7,64.424375 -1322,30,2.7,111.05,1.7,64.42375 -1323,30,2.7,111.05,1.7,64.423125 -1324,30,2.7,111.05,1.7,64.4225 -1325,30,2.7,111.05,1.7,64.421875 -1326,30,2.7,111.05,1.7,64.42125 -1327,30,2.7,111.05,1.7,64.420625 -1328,30,2.7,111.05,1.7,64.42 -1329,30,2.7,111.05,1.7,64.419375 -1330,30,2.7,111.05,1.7,64.41875 -1331,30,2.7,111.05,1.7,64.418125 -1332,30,2.7,111.05,1.7,64.4175 -1333,30,2.7,111.05,1.7,64.416875 -1334,30,2.7,111.05,1.7,64.41625 -1335,30,2.7,111.05,1.7,64.415625 -1336,30,2.7,111.05,1.7,64.415 -1337,30,2.7,111.05,1.7,64.414375 -1338,30,2.7,111.05,1.7,64.41375 -1339,30,2.7,111.05,1.7,64.413125 -1340,30,2.7,111.05,1.7,64.4125 -1341,30,2.7,111.05,1.7,64.411875 -1342,30,2.7,111.05,1.7,64.41125 -1343,30,2.7,111.05,1.7,64.410625 -1344,30,2.7,111.05,1.7,64.41 -1345,30,2.7,111.05,1.7,64.409375 -1346,30,2.7,111.05,1.7,64.40875 -1347,30,2.7,111.05,1.7,64.408125 -1348,30,2.7,111.05,1.7,64.4075 -1349,30,2.7,111.05,1.7,64.406875 -1350,30,2.7,111.05,1.7,64.40625 -1351,30,2.7,111.05,1.7,64.405625 -1352,30,2.7,111.05,1.7,64.405 -1353,30,2.7,111.05,1.7,64.404375 -1354,30,2.7,111.05,1.7,64.40375 -1355,30,2.7,111.05,1.7,64.403125 -1356,30,2.7,111.05,1.7,64.4025 -1357,30,2.7,111.05,1.7,64.401875 -1358,30,2.7,111.05,1.7,64.40125 -1359,30,2.7,111.05,1.7,64.400625 -1360,30,2.7,111.05,1.7,64.4 -1361,30,2.7,111.05,1.7,64.399375 -1362,30,2.7,111.05,1.7,64.39875 -1363,30,2.7,111.05,1.7,64.398125 -1364,30,2.7,111.05,1.7,64.3975 -1365,30,2.7,111.05,1.7,64.396875 -1366,30,2.7,111.05,1.7,64.39625 -1367,30,2.7,111.05,1.7,64.395625 -1368,30,2.7,111.05,1.7,64.395 -1369,30,2.7,111.05,1.7,64.394375 -1370,30,2.7,111.05,1.7,64.39375 -1371,30,2.7,111.05,1.7,64.393125 -1372,30,2.7,111.05,1.7,64.3925 -1373,30,2.7,111.05,1.7,64.391875 -1374,30,2.7,111.05,1.7,64.39125 -1375,30,2.7,111.05,1.7,64.390625 -1376,30,2.7,111.05,1.7,64.39 -1377,30,2.7,111.05,1.7,64.389375 -1378,30,2.7,111.05,1.7,64.38875 -1379,30,2.7,111.05,1.7,64.388125 -1380,30,2.7,111.05,1.7,64.3875 -1381,30,2.7,111.05,1.7,64.386875 -1382,30,2.7,111.05,1.7,64.38625 -1383,30,2.7,111.05,1.7,64.385625 -1384,30,2.7,111.05,1.7,64.385 -1385,30,2.7,111.05,1.7,64.384375 -1386,30,2.7,111.05,1.7,64.38375 -1387,30,2.7,111.05,1.7,64.383125 -1388,30,2.7,111.05,1.7,64.3825 -1389,30,2.7,111.05,1.7,64.381875 -1390,30,2.7,111.05,1.7,64.38125 -1391,30,2.7,111.05,1.7,64.380625 -1392,30,2.7,111.05,1.7,64.38 -1393,30,2.7,111.05,1.7,64.379375 -1394,30,2.7,111.05,1.7,64.37875 -1395,30,2.7,111.05,1.7,64.378125 -1396,30,2.7,111.05,1.7,64.3775 -1397,30,2.7,111.05,1.7,64.376875 -1398,30,2.7,111.05,1.7,64.37625 -1399,30,2.7,111.05,1.7,64.375625 -1400,30,2.7,111.05,1.7,64.375 -1401,30,2.7,111.05,1.7,64.374375 -1402,30,2.7,111.05,1.7,64.37375 -1403,30,2.7,111.05,1.7,64.373125 -1404,30,2.7,111.05,1.7,64.3725 -1405,30,2.7,111.05,1.7,64.371875 -1406,30,2.7,111.05,1.7,64.37125 -1407,30,2.7,111.05,1.7,64.370625 -1408,30,2.7,111.05,1.7,64.37 -1409,30,2.7,111.05,1.7,64.369375 -1410,30,2.7,111.05,1.7,64.36875 -1411,30,2.7,111.05,1.7,64.368125 -1412,30,2.7,111.05,1.7,64.3675 -1413,30,2.7,111.05,1.7,64.366875 -1414,30,2.7,111.05,1.7,64.36625 -1415,30,2.7,111.05,1.7,64.365625 -1416,30,2.7,111.05,1.7,64.365 -1417,30,2.7,111.05,1.7,64.364375 -1418,30,2.7,111.05,1.7,64.36375 -1419,30,2.7,111.05,1.7,64.363125 -1420,30,2.7,111.05,1.7,64.3625 -1421,30,2.7,111.05,1.7,64.361875 -1422,30,2.7,111.05,1.7,64.36125 -1423,30,2.7,111.05,1.7,64.360625 -1424,30,2.7,111.05,1.7,64.36 -1425,30,2.7,111.05,1.7,64.359375 -1426,30,2.7,111.05,1.7,64.35875 -1427,30,2.7,111.05,1.7,64.358125 -1428,30,2.7,111.05,1.7,64.3575 -1429,30,2.7,111.05,1.7,64.356875 -1430,30,2.7,111.05,1.7,64.35625 -1431,30,2.7,111.05,1.7,64.355625 -1432,30,2.7,111.05,1.7,64.355 -1433,30,2.7,111.05,1.7,64.354375 -1434,30,2.7,111.05,1.7,64.35375 -1435,30,2.7,111.05,1.7,64.353125 -1436,30,2.7,111.05,1.7,64.3525 -1437,30,2.7,111.05,1.7,64.351875 -1438,30,2.7,111.05,1.7,64.35125 -1439,30,2.7,111.05,1.7,64.350625 -1440,30,2.7,111.05,1.7,64.35 -1441,30,2.7,111.05,1.7,64.349375 -1442,30,2.7,111.05,1.7,64.34875 -1443,30,2.7,111.05,1.7,64.348125 -1444,30,2.7,111.05,1.7,64.3475 -1445,30,2.7,111.05,1.7,64.346875 -1446,30,2.7,111.05,1.7,64.34625 -1447,30,2.7,111.05,1.7,64.345625 -1448,30,2.7,111.05,1.7,64.345 -1449,30,2.7,111.05,1.7,64.344375 -1450,30,2.7,111.05,1.7,64.34375 -1451,30,2.7,111.05,1.7,64.343125 -1452,30,2.7,111.05,1.7,64.3425 -1453,30,2.7,111.05,1.7,64.341875 -1454,30,2.7,111.05,1.7,64.34125 -1455,30,2.7,111.05,1.7,64.340625 -1456,30,2.7,111.05,1.7,64.34 -1457,30,2.7,111.05,1.7,64.339375 -1458,30,2.7,111.05,1.7,64.33875 -1459,30,2.7,111.05,1.7,64.338125 -1460,30,2.7,111.05,1.7,64.3375 -1461,30,2.7,111.05,1.7,64.336875 -1462,30,2.7,111.05,1.7,64.33625 -1463,30,2.7,111.05,1.7,64.335625 -1464,30,2.7,111.05,1.7,64.335 -1465,30,2.7,111.05,1.7,64.334375 -1466,30,2.7,111.05,1.7,64.33375 -1467,30,2.7,111.05,1.7,64.333125 -1468,30,2.7,111.05,1.7,64.3325 -1469,30,2.7,111.05,1.7,64.331875 -1470,30,2.7,111.05,1.7,64.33125 -1471,30,2.7,111.05,1.7,64.330625 -1472,30,2.7,111.05,1.7,64.33 -1473,30,2.7,111.05,1.7,64.329375 -1474,30,2.7,111.05,1.7,64.32875 -1475,30,2.7,111.05,1.7,64.328125 -1476,30,2.7,111.05,1.7,64.3275 -1477,30,2.7,111.05,1.7,64.326875 -1478,30,2.7,111.05,1.7,64.32625 -1479,30,2.7,111.05,1.7,64.325625 -1480,30,2.7,111.05,1.7,64.325 -1481,30,2.7,111.05,1.7,64.324375 -1482,30,2.7,111.05,1.7,64.32375 -1483,30,2.7,111.05,1.7,64.323125 -1484,30,2.7,111.05,1.7,64.3225 -1485,30,2.7,111.05,1.7,64.321875 -1486,30,2.7,111.05,1.7,64.32125 -1487,30,2.7,111.05,1.7,64.320625 -1488,30,2.7,111.05,1.7,64.32 -1489,30,2.7,111.05,1.7,64.319375 -1490,30,2.6,111.05,1.7,64.31875 -1491,30,2.6,111.05,1.7,64.318125 -1492,30,2.6,111.05,1.7,64.3175 -1493,30,2.6,111.05,1.7,64.316875 -1494,30,2.6,111.05,1.7,64.31625 -1495,30,2.6,111.05,1.7,64.315625 -1496,30,2.6,111.05,1.7,64.315 -1497,30,2.6,111.05,1.7,64.314375 -1498,30,2.6,111.05,1.7,64.31375 -1499,30,2.6,111.05,1.7,64.313125 -1500,30,2.6,111.05,1.7,64.3125 -1501,30,2.6,111.05,1.7,64.311875 -1502,30,2.6,111.05,1.7,64.31125 -1503,30,2.6,111.05,1.7,64.310625 -1504,30,2.6,111.05,1.7,64.31 -1505,30,2.6,111.05,1.7,64.309375 -1506,30,2.6,111.05,1.7,64.30875 -1507,30,2.6,111.05,1.7,64.308125 -1508,30,2.6,111.05,1.7,64.3075 -1509,30,2.6,111.05,1.7,64.306875 -1510,30,2.6,111.05,1.7,64.30625 -1511,30,2.6,111.05,1.7,64.305625 -1512,30,2.6,111.05,1.7,64.305 -1513,30,2.6,111.05,1.7,64.304375 -1514,30,2.6,111.05,1.7,64.30375 -1515,30,2.6,111.05,1.7,64.303125 -1516,30,2.6,111.05,1.7,64.3025 -1517,30,2.6,111.05,1.7,64.301875 -1518,30,2.6,111.05,1.7,64.30125 -1519,30,2.6,111.05,1.7,64.300625 -1520,30,2.6,111.05,1.7,64.3 -1521,30,2.6,111.05,1.7,64.299375 -1522,30,2.6,111.05,1.7,64.29875 -1523,30,2.6,111.05,1.7,64.298125 -1524,30,2.6,111.05,1.7,64.2975 -1525,30,2.6,111.05,1.7,64.296875 -1526,30,2.6,111.05,1.7,64.29625 -1527,30,2.6,111.05,1.7,64.295625 -1528,30,2.6,111.05,1.7,64.295 -1529,30,2.6,111.05,1.7,64.294375 -1530,30,2.6,111.05,1.7,64.29375 -1531,30,2.6,111.05,1.7,64.293125 -1532,30,2.6,111.05,1.7,64.2925 -1533,30,2.6,111.05,1.7,64.291875 -1534,30,2.6,111.05,1.7,64.29125 -1535,30,2.6,111.05,1.7,64.290625 -1536,30,2.6,111.05,1.7,64.29 -1537,30,2.6,111.05,1.7,64.289375 -1538,30,2.6,111.05,1.7,64.28875 -1539,30,2.6,111.05,1.7,64.288125 -1540,30,2.6,111.05,1.7,64.2875 -1541,30,2.6,111.05,1.7,64.286875 -1542,30,2.6,111.05,1.7,64.28625 -1543,30,2.6,111.05,1.7,64.285625 -1544,30,2.6,111.05,1.7,64.285 -1545,30,2.6,111.05,1.7,64.284375 -1546,30,2.6,111.05,1.7,64.28375 -1547,30,2.6,111.05,1.7,64.283125 -1548,30,2.6,111.05,1.7,64.2825 -1549,30,2.6,111.05,1.7,64.281875 -1550,30,2.6,111.05,1.7,64.28125 -1551,30,2.6,111.05,1.7,64.280625 -1552,30,2.6,111.05,1.7,64.28 -1553,30,2.6,111.05,1.7,64.279375 -1554,30,2.6,111.05,1.7,64.27875 -1555,30,2.6,111.05,1.7,64.278125 -1556,30,2.6,111.05,1.7,64.2775 -1557,30,2.6,111.05,1.7,64.276875 -1558,30,2.6,111.05,1.7,64.27625 -1559,30,2.6,111.05,1.7,64.275625 -1560,30,2.6,111.05,1.7,64.275 -1561,30,2.6,111.05,1.7,64.274375 -1562,30,2.6,111.05,1.7,64.27375 -1563,30,2.6,111.05,1.7,64.273125 -1564,30,2.6,111.05,1.7,64.2725 -1565,30,2.6,111.05,1.7,64.271875 -1566,30,2.6,111.05,1.7,64.27125 -1567,30,2.6,111.05,1.7,64.270625 -1568,30,2.6,111.05,1.7,64.27 -1569,30,2.6,111.05,1.7,64.269375 -1570,30,2.6,111.05,1.7,64.26875 -1571,30,2.6,111.05,1.7,64.268125 -1572,30,2.6,111.05,1.7,64.2675 -1573,30,2.6,111.05,1.7,64.266875 -1574,30,2.6,111.05,1.7,64.26625 -1575,30,2.6,111.05,1.7,64.265625 -1576,30,2.6,111.05,1.7,64.265 -1577,30,2.6,111.05,1.7,64.264375 -1578,30,2.6,111.05,1.7,64.26375 -1579,30,2.6,111.05,1.7,64.263125 -1580,30,2.6,111.05,1.7,64.2625 -1581,30,2.6,111.05,1.7,64.261875 -1582,30,2.6,111.05,1.7,64.26125 -1583,30,2.6,111.05,1.7,64.260625 -1584,30,2.6,111.05,1.7,64.26 -1585,30,2.6,111.05,1.7,64.259375 -1586,30,2.6,111.05,1.7,64.25875 -1587,30,2.6,111.05,1.7,64.258125 -1588,30,2.6,111.05,1.7,64.2575 -1589,30,2.6,111.05,1.7,64.256875 -1590,30,2.6,111.05,1.7,64.25625 -1591,30,2.6,111.05,1.7,64.255625 -1592,30,2.6,111.05,1.7,64.255 -1593,30,2.6,111.05,1.7,64.254375 -1594,30,2.6,111.05,1.7,64.25375 -1595,30,2.6,111.05,1.7,64.253125 -1596,30,2.6,111.05,1.7,64.2525 -1597,30,2.6,111.05,1.7,64.251875 -1598,30,2.6,111.05,1.7,64.25125 -1599,30,2.6,111.05,1.7,64.250625 -1600,30,2.6,111.05,1.7,64.25 -1601,30,2.6,111.05,1.7,64.249375 -1602,30,2.6,111.05,1.7,64.24875 -1603,30,2.6,111.05,1.7,64.248125 -1604,30,2.6,111.05,1.7,64.2475 -1605,30,2.6,111.05,1.7,64.246875 -1606,30,2.6,111.05,1.7,64.24625 -1607,30,2.6,111.05,1.7,64.245625 -1608,30,2.6,111.05,1.7,64.245 -1609,30,2.6,111.05,1.7,64.244375 -1610,30,2.6,111.05,1.7,64.24375 -1611,30,2.6,111.05,1.7,64.243125 -1612,30,2.6,111.05,1.7,64.2425 -1613,30,2.6,111.05,1.7,64.241875 -1614,30,2.6,111.05,1.7,64.24125 -1615,30,2.6,111.05,1.7,64.240625 -1616,30,2.6,111.05,1.7,64.24 -1617,30,2.6,111.05,1.7,64.239375 -1618,30,2.6,111.05,1.7,64.23875 -1619,30,2.6,111.05,1.7,64.238125 -1620,30,2.6,111.05,1.7,64.2375 -1621,30,2.6,111.05,1.7,64.236875 -1622,30,2.6,111.05,1.7,64.23625 -1623,30,2.6,111.05,1.7,64.235625 -1624,30,2.6,111.05,1.7,64.235 -1625,30,2.6,111.05,1.7,64.234375 -1626,30,2.6,111.05,1.7,64.23375 -1627,30,2.6,111.05,1.7,64.233125 -1628,30,2.6,111.05,1.7,64.2325 -1629,30,2.6,111.05,1.7,64.231875 -1630,30,2.6,111.05,1.7,64.23125 -1631,30,2.6,111.05,1.7,64.230625 -1632,30,2.6,111.05,1.7,64.23 -1633,30,2.6,111.05,1.7,64.229375 -1634,30,2.6,111.05,1.7,64.22875 -1635,30,2.6,111.05,1.7,64.228125 -1636,30,2.6,111.05,1.7,64.2275 -1637,30,2.6,111.05,1.7,64.226875 -1638,30,2.6,111.05,1.7,64.22625 -1639,30,2.6,111.05,1.7,64.225625 -1640,30,2.6,111.05,1.7,64.225 -1641,30,2.6,111.05,1.7,64.224375 -1642,30,2.6,111.05,1.7,64.22375 -1643,30,2.6,111.05,1.7,64.223125 -1644,30,2.6,111.05,1.7,64.2225 -1645,30,2.6,111.05,1.7,64.221875 -1646,30,2.6,111.05,1.7,64.22125 -1647,30,2.6,111.05,1.7,64.220625 -1648,30,2.6,111.05,1.7,64.22 -1649,30,2.6,111.05,1.7,64.219375 -1650,30,2.6,111.05,1.7,64.21875 -1651,30,2.6,111.05,1.7,64.218125 -1652,30,2.6,111.05,1.7,64.2175 -1653,30,2.6,111.05,1.7,64.216875 -1654,30,2.6,111.05,1.7,64.21625 -1655,30,2.6,111.05,1.7,64.215625 -1656,30,2.6,111.05,1.7,64.215 -1657,30,2.6,111.05,1.7,64.214375 -1658,30,2.6,111.05,1.7,64.21375 -1659,30,2.6,111.05,1.7,64.213125 -1660,30,2.6,111.05,1.7,64.2125 -1661,30,2.6,111.05,1.7,64.211875 -1662,30,2.6,111.05,1.7,64.21125 -1663,30,2.6,111.05,1.7,64.210625 -1664,30,2.6,111.05,1.7,64.21 -1665,30,2.6,111.05,1.7,64.209375 -1666,30,2.6,111.05,1.7,64.20875 -1667,30,2.6,111.05,1.7,64.208125 -1668,30,2.6,111.05,1.7,64.2075 -1669,30,2.6,111.05,1.7,64.206875 -1670,30,2.6,111.05,1.7,64.20625 -1671,30,2.6,111.05,1.7,64.205625 -1672,30,2.6,111.05,1.7,64.205 -1673,30,2.6,111.05,1.7,64.204375 -1674,30,2.6,111.05,1.7,64.20375 -1675,30,2.6,111.05,1.7,64.203125 -1676,30,2.6,111.05,1.7,64.2025 -1677,30,2.6,111.05,1.7,64.201875 -1678,30,2.6,111.05,1.7,64.20125 -1679,30,2.6,111.05,1.7,64.200625 -1680,30,2.6,111.05,1.7,64.2 -1681,30,2.6,111.05,1.7,64.199375 -1682,30,2.6,111.05,1.7,64.19875 -1683,30,2.6,111.05,1.7,64.198125 -1684,30,2.6,111.05,1.7,64.1975 -1685,30,2.6,111.05,1.7,64.196875 -1686,30,2.6,111.05,1.7,64.19625 -1687,30,2.6,111.05,1.7,64.195625 -1688,30,2.6,111.05,1.7,64.195 -1689,30,2.6,111.05,1.7,64.194375 -1690,30,2.6,111.05,1.7,64.19375 -1691,30,2.6,111.05,1.7,64.193125 -1692,30,2.6,111.05,1.7,64.1925 -1693,30,2.6,111.05,1.7,64.191875 -1694,30,2.6,111.05,1.7,64.19125 -1695,30,2.6,111.05,1.7,64.190625 -1696,30,2.6,111.05,1.7,64.19 -1697,30,2.6,111.05,1.7,64.189375 -1698,30,2.6,111.05,1.7,64.18875 -1699,30,2.6,111.05,1.7,64.188125 -1700,30,2.6,111.05,1.7,64.1875 -1701,30,2.6,111.05,1.7,64.186875 -1702,30,2.6,111.05,1.7,64.18625 -1703,30,2.6,111.05,1.7,64.185625 -1704,30,2.6,111.05,1.7,64.185 -1705,30,2.6,111.05,1.7,64.184375 -1706,30,2.6,111.05,1.7,64.18375 -1707,30,2.6,111.05,1.7,64.183125 -1708,30,2.6,111.05,1.7,64.1825 -1709,30,2.6,111.05,1.7,64.181875 -1710,30,2.6,111.05,1.7,64.18125 -1711,30,2.6,111.05,1.7,64.180625 -1712,30,2.6,111.05,1.7,64.18 -1713,30,2.6,111.05,1.7,64.179375 -1714,30,2.6,111.05,1.7,64.17875 -1715,30,2.6,111.05,1.7,64.178125 -1716,30,2.6,111.05,1.7,64.1775 -1717,30,2.6,111.05,1.7,64.176875 -1718,30,2.6,111.05,1.7,64.17625 -1719,30,2.6,111.05,1.7,64.175625 -1720,30,2.6,111.05,1.7,64.175 -1721,30,2.6,111.05,1.7,64.174375 -1722,30,2.6,111.05,1.7,64.17375 -1723,30,2.6,111.05,1.7,64.173125 -1724,30,2.6,111.05,1.7,64.1725 -1725,30,2.6,111.05,1.7,64.171875 -1726,30,2.6,111.05,1.7,64.17125 -1727,30,2.6,111.05,1.7,64.170625 -1728,30,2.6,111.05,1.7,64.17 -1729,30,2.6,111.05,1.7,64.169375 -1730,30,2.6,111.05,1.7,64.16875 -1731,30,2.6,111.05,1.7,64.168125 -1732,30,2.6,111.05,1.7,64.1675 -1733,30,2.6,111.05,1.7,64.166875 -1734,30,2.6,111.05,1.7,64.16625 -1735,30,2.6,111.05,1.7,64.165625 -1736,30,2.6,111.05,1.7,64.165 -1737,30,2.6,111.05,1.7,64.164375 -1738,30,2.6,111.05,1.7,64.16375 -1739,30,2.6,111.05,1.7,64.163125 -1740,30,2.6,111.05,1.7,64.1625 -1741,30,2.6,111.05,1.7,64.161875 -1742,30,2.6,111.05,1.7,64.16125 -1743,30,2.6,111.05,1.7,64.160625 -1744,30,2.6,111.05,1.7,64.16 -1745,30,2.6,111.05,1.7,64.159375 -1746,30,2.6,111.05,1.7,64.15875 -1747,30,2.6,111.05,1.7,64.158125 -1748,30,2.6,111.05,1.7,64.1575 -1749,30,2.6,111.05,1.7,64.156875 -1750,30,2.6,111.05,1.7,64.15625 -1751,30,2.6,111.05,1.7,64.155625 -1752,30,2.6,111.05,1.7,64.155 -1753,30,2.6,111.05,1.7,64.154375 -1754,30,2.6,111.05,1.7,64.15375 -1755,30,2.6,111.05,1.7,64.153125 -1756,30,2.6,111.05,1.7,64.1525 -1757,30,2.6,111.05,1.7,64.151875 -1758,30,2.6,111.05,1.7,64.15125 -1759,30,2.6,111.05,1.7,64.150625 -1760,30,2.6,111.05,1.7,64.15 -1761,30,2.6,111.05,1.7,64.149375 -1762,30,2.6,111.05,1.7,64.14875 -1763,30,2.6,111.05,1.7,64.148125 -1764,30,2.6,111.05,1.7,64.1475 -1765,30,2.6,111.05,1.7,64.146875 -1766,30,2.6,111.05,1.7,64.14625 -1767,30,2.6,111.05,1.7,64.145625 -1768,30,2.6,111.05,1.7,64.145 -1769,30,2.6,111.05,1.7,64.144375 -1770,30,2.6,111.05,1.7,64.14375 -1771,30,2.6,111.05,1.7,64.143125 -1772,30,2.6,111.05,1.7,64.1425 -1773,30,2.6,111.05,1.7,64.141875 -1774,30,2.6,111.05,1.7,64.14125 -1775,30,2.6,111.05,1.7,64.140625 -1776,30,2.6,111.05,1.7,64.14 -1777,30,2.6,111.05,1.7,64.139375 -1778,30,2.6,111.05,1.7,64.13875 -1779,30,2.6,111.05,1.7,64.138125 -1780,30,2.6,111.05,1.7,64.1375 -1781,30,2.6,111.05,1.7,64.136875 -1782,30,2.6,111.05,1.7,64.13625 -1783,30,2.6,111.05,1.7,64.135625 -1784,30,2.6,111.05,1.7,64.135 -1785,30,2.6,111.05,1.7,64.134375 -1786,30,2.6,111.05,1.7,64.13375 -1787,30,2.6,111.05,1.7,64.133125 -1788,30,2.6,111.05,1.7,64.1325 -1789,30,2.6,111.05,1.7,64.131875 -1790,30,2.6,111.05,1.7,64.13125 -1791,30,2.6,111.05,1.7,64.130625 -1792,30,2.6,111.05,1.7,64.13 -1793,30,2.6,111.05,1.7,64.129375 -1794,30,2.6,111.05,1.7,64.12875 -1795,30,2.6,111.05,1.7,64.128125 -1796,30,2.6,111.05,1.7,64.1275 -1797,30,2.6,111.05,1.7,64.126875 -1798,30,2.6,111.05,1.7,64.12625 -1799,30,2.6,111.05,1.7,64.125625 -1800,30,2.6,111.05,1.7,64.125 -1801,30,2.6,111.05,1.7,64.124375 -1802,30,2.6,111.05,1.7,64.12375 -1803,30,2.6,111.05,1.7,64.123125 -1804,30,2.6,111.05,1.7,64.1225 -1805,30,2.6,111.05,1.7,64.121875 -1806,30,2.6,111.05,1.7,64.12125 -1807,30,2.6,111.05,1.7,64.120625 -1808,30,2.6,111.05,1.7,64.12 -1809,30,2.6,111.05,1.7,64.119375 -1810,30,2.6,111.05,1.7,64.11875 -1811,30,2.6,111.05,1.7,64.118125 -1812,30,2.6,111.05,1.7,64.1175 -1813,30,2.6,111.05,1.7,64.116875 -1814,30,2.6,111.05,1.7,64.11625 -1815,30,2.6,111.05,1.7,64.115625 -1816,30,2.6,111.05,1.7,64.115 -1817,30,2.6,111.05,1.7,64.114375 -1818,30,2.6,111.05,1.7,64.11375 -1819,30,2.6,111.05,1.7,64.113125 -1820,30,2.6,111.05,1.7,64.1125 -1821,30,2.6,111.05,1.7,64.111875 -1822,30,2.6,111.05,1.7,64.11125 -1823,30,2.6,111.05,1.7,64.110625 -1824,30,2.6,111.05,1.7,64.11 -1825,30,2.6,111.05,1.7,64.109375 -1826,30,2.6,111.05,1.7,64.10875 -1827,30,2.6,111.05,1.7,64.108125 -1828,30,2.6,111.05,1.7,64.1075 -1829,30,2.6,111.05,1.7,64.106875 -1830,30,2.6,111.05,1.7,64.10625 -1831,30,2.6,111.05,1.7,64.105625 -1832,30,2.6,111.05,1.7,64.105 -1833,30,2.6,111.05,1.7,64.104375 -1834,30,2.6,111.05,1.7,64.10375 -1835,30,2.6,111.05,1.7,64.103125 -1836,30,2.6,111.05,1.7,64.1025 -1837,30,2.6,111.05,1.7,64.101875 -1838,30,2.6,111.05,1.7,64.10125 -1839,30,2.6,111.05,1.7,64.100625 -1840,30,2.6,111.05,1.7,64.1 -1841,30,2.6,111.05,1.7,64.099375 -1842,30,2.6,111.05,1.7,64.09875 -1843,30,2.6,111.05,1.7,64.098125 -1844,30,2.6,111.05,1.7,64.0975 -1845,30,2.6,111.05,1.7,64.096875 -1846,30,2.6,111.05,1.7,64.09625 -1847,30,2.6,111.05,1.7,64.095625 -1848,30,2.6,111.05,1.7,64.095 -1849,30,2.6,111.05,1.7,64.094375 -1850,30,2.6,111.05,1.7,64.09375 -1851,30,2.6,111.05,1.7,64.093125 -1852,30,2.6,111.05,1.7,64.0925 -1853,30,2.6,111.05,1.7,64.091875 -1854,30,2.6,111.05,1.7,64.09125 -1855,30,2.6,111.05,1.7,64.090625 -1856,30,2.6,111.05,1.7,64.09 -1857,30,2.6,111.05,1.7,64.089375 -1858,30,2.6,111.05,1.7,64.08875 -1859,30,2.6,111.05,1.7,64.088125 -1860,30,2.6,111.05,1.7,64.0875 -1861,30,2.6,111.05,1.7,64.086875 -1862,30,2.6,111.05,1.7,64.08625 -1863,30,2.6,111.05,1.7,64.085625 -1864,30,2.6,111.05,1.7,64.085 -1865,30,2.6,111.05,1.7,64.084375 -1866,30,2.6,111.05,1.7,64.08375 -1867,30,2.6,111.05,1.7,64.083125 -1868,30,2.6,111.05,1.7,64.0825 -1869,30,2.6,111.05,1.7,64.081875 -1870,30,2.6,111.05,1.7,64.08125 -1871,30,2.6,111.05,1.7,64.080625 -1872,30,2.6,111.05,1.7,64.08 -1873,30,2.6,111.05,1.7,64.079375 -1874,30,2.6,111.05,1.7,64.07875 -1875,30,2.6,111.05,1.7,64.078125 -1876,30,2.6,111.05,1.7,64.0775 -1877,30,2.6,111.05,1.7,64.076875 -1878,30,2.6,111.05,1.7,64.07625 -1879,30,2.6,111.05,1.7,64.075625 -1880,30,2.6,111.05,1.7,64.075 -1881,30,2.6,111.05,1.7,64.074375 -1882,30,2.6,111.05,1.7,64.07375 -1883,30,2.6,111.05,1.7,64.073125 -1884,30,2.6,111.05,1.7,64.0725 -1885,30,2.6,111.05,1.7,64.071875 -1886,30,2.6,111.05,1.7,64.07125 -1887,30,2.6,111.05,1.7,64.070625 -1888,30,2.6,111.05,1.7,64.07 -1889,30,2.6,111.05,1.7,64.069375 -1890,30,2.6,111.05,1.7,64.06875 -1891,30,2.6,111.05,1.7,64.068125 -1892,30,2.6,111.05,1.7,64.0675 -1893,30,2.6,111.05,1.7,64.066875 -1894,30,2.6,111.05,1.7,64.06625 -1895,30,2.6,111.05,1.7,64.065625 -1896,30,2.6,111.05,1.7,64.065 -1897,30,2.6,111.05,1.7,64.064375 -1898,30,2.6,111.05,1.7,64.06375 -1899,30,2.6,111.05,1.7,64.063125 -1900,30,2.6,111.05,1.7,64.0625 -1901,30,2.6,111.05,1.7,64.061875 -1902,30,2.6,111.05,1.7,64.06125 -1903,30,2.6,111.05,1.7,64.060625 -1904,30,2.6,111.05,1.7,64.06 -1905,30,2.6,111.05,1.7,64.059375 -1906,30,2.6,111.05,1.7,64.05875 -1907,30,2.6,111.05,1.7,64.058125 -1908,30,2.6,111.05,1.7,64.0575 -1909,30,2.6,111.05,1.7,64.056875 -1910,30,2.6,111.05,1.7,64.05625 -1911,30,2.6,111.05,1.7,64.055625 -1912,30,2.6,111.05,1.7,64.055 -1913,30,2.6,111.05,1.7,64.054375 -1914,30,2.6,111.05,1.7,64.05375 -1915,30,2.6,111.05,1.7,64.053125 -1916,30,2.6,111.05,1.7,64.0525 -1917,30,2.6,111.05,1.7,64.051875 -1918,30,2.6,111.05,1.7,64.05125 -1919,30,2.6,111.05,1.7,64.050625 -1920,30,2.6,111.05,1.7,64.05 -1921,30,2.6,111.05,1.7,64.049375 -1922,30,2.6,111.05,1.7,64.04875 -1923,30,2.6,111.05,1.7,64.048125 -1924,30,2.6,111.05,1.7,64.0475 -1925,30,2.6,111.05,1.7,64.046875 -1926,30,2.6,111.05,1.7,64.04625 -1927,30,2.6,111.05,1.7,64.045625 -1928,30,2.6,111.05,1.7,64.045 -1929,30,2.6,111.05,1.7,64.044375 -1930,30,2.6,111.05,1.7,64.04375 -1931,30,2.6,111.05,1.7,64.043125 -1932,30,2.6,111.05,1.7,64.0425 -1933,30,2.6,111.05,1.7,64.041875 -1934,30,2.6,111.05,1.7,64.04125 -1935,30,2.6,111.05,1.7,64.040625 -1936,30,2.6,111.05,1.7,64.04 -1937,30,2.6,111.05,1.7,64.039375 -1938,30,2.6,111.05,1.7,64.03875 -1939,30,2.6,111.05,1.7,64.038125 -1940,30,2.6,111.05,1.7,64.0375 -1941,30,2.6,111.05,1.7,64.036875 -1942,30,2.6,111.05,1.7,64.03625 -1943,30,2.6,111.05,1.7,64.035625 -1944,30,2.6,111.05,1.7,64.035 -1945,30,2.6,111.05,1.7,64.034375 -1946,30,2.6,111.05,1.7,64.03375 -1947,30,2.6,111.05,1.7,64.033125 -1948,30,2.6,111.05,1.7,64.0325 -1949,30,2.6,111.05,1.7,64.031875 -1950,30,2.6,111.05,1.7,64.03125 -1951,30,2.6,111.05,1.7,64.030625 -1952,30,2.6,111.05,1.7,64.03 -1953,30,2.6,111.05,1.7,64.029375 -1954,30,2.6,111.05,1.7,64.02875 -1955,30,2.6,111.05,1.7,64.028125 -1956,30,2.6,111.05,1.7,64.0275 -1957,30,2.6,111.05,1.7,64.026875 -1958,30,2.6,111.05,1.7,64.02625 -1959,30,2.6,111.05,1.7,64.025625 -1960,30,2.6,111.05,1.7,64.025 -1961,30,2.6,111.05,1.7,64.024375 -1962,30,2.6,111.05,1.7,64.02375 -1963,30,2.6,111.05,1.7,64.023125 -1964,30,2.6,111.05,1.7,64.0225 -1965,30,2.6,111.05,1.7,64.021875 -1966,30,2.6,111.05,1.7,64.02125 -1967,30,2.6,111.05,1.7,64.020625 -1968,30,2.6,111.05,1.7,64.02 -1969,30,2.6,111.05,1.7,64.019375 -1970,30,2.6,111.05,1.7,64.01875 -1971,30,2.6,111.05,1.7,64.018125 -1972,30,2.6,111.05,1.7,64.0175 -1973,30,2.6,111.05,1.7,64.016875 -1974,30,2.6,111.05,1.7,64.01625 -1975,30,2.6,111.05,1.7,64.015625 -1976,30,2.6,111.05,1.7,64.015 -1977,30,2.6,111.05,1.7,64.014375 -1978,30,2.6,111.05,1.7,64.01375 -1979,30,2.6,111.05,1.7,64.013125 -1980,30,2.6,111.05,1.7,64.0125 -1981,30,2.6,111.05,1.7,64.011875 -1982,30,2.6,111.05,1.7,64.01125 -1983,30,2.6,111.05,1.7,64.010625 -1984,30,2.6,111.05,1.7,64.01 -1985,30,2.6,111.05,1.7,64.009375 -1986,30,2.6,111.05,1.7,64.00875 -1987,30,2.6,111.05,1.7,64.008125 -1988,30,2.6,111.05,1.7,64.0075 -1989,30,2.6,111.05,1.7,64.006875 -1990,30,2.6,111.05,1.7,64.00625 -1991,30,2.6,111.05,1.7,64.005625 -1992,30,2.6,111.05,1.7,64.005 -1993,30,2.6,111.05,1.7,64.004375 -1994,30,2.6,111.05,1.7,64.00375 -1995,30,2.6,111.05,1.7,64.003125 -1996,30,2.6,111.05,1.7,64.0025 -1997,30,2.6,111.05,1.7,64.001875 -1998,30,2.6,111.05,1.7,64.00125 -1999,30,2.6,111.05,1.7,64.000625 -2000,30,2.6,111.05,1.7,64 -2001,30,2.6,111.05,1.7,63.99975 -2002,30,2.6,111.05,1.7,63.9995 -2003,30,2.6,111.05,1.7,63.99925 -2004,30,2.6,111.05,1.7,63.999 -2005,30,2.6,111.05,1.7,63.99875 -2006,30,2.6,111.05,1.7,63.9985 -2007,30,2.6,111.05,1.7,63.99825 -2008,30,2.6,111.05,1.7,63.998 -2009,30,2.6,111.05,1.7,63.99775 -2010,30,2.6,111.05,1.7,63.9975 -2011,30,2.6,111.05,1.7,63.99725 -2012,30,2.6,111.05,1.7,63.997 -2013,30,2.6,111.05,1.7,63.99675 -2014,30,2.6,111.05,1.7,63.9965 -2015,30,2.6,111.05,1.7,63.99625 -2016,30,2.6,111.05,1.7,63.996 -2017,30,2.6,111.05,1.7,63.99575 -2018,30,2.6,111.05,1.7,63.9955 -2019,30,2.6,111.05,1.7,63.99525 -2020,30,2.6,111.05,1.7,63.995 -2021,30,2.6,111.05,1.7,63.99475 -2022,30,2.6,111.05,1.7,63.9945 -2023,30,2.6,111.05,1.7,63.99425 -2024,30,2.6,111.05,1.7,63.994 -2025,30,2.6,111.05,1.7,63.99375 -2026,30,2.6,111.05,1.7,63.9935 -2027,30,2.6,111.05,1.7,63.99325 -2028,30,2.6,111.05,1.7,63.993 -2029,30,2.6,111.05,1.7,63.99275 -2030,30,2.6,111.05,1.7,63.9925 -2031,30,2.6,111.05,1.7,63.99225 -2032,30,2.6,111.05,1.7,63.992 -2033,30,2.6,111.05,1.7,63.99175 -2034,30,2.6,111.05,1.7,63.9915 -2035,30,2.6,111.05,1.7,63.99125 -2036,30,2.6,111.05,1.7,63.991 -2037,30,2.6,111.05,1.7,63.99075 -2038,30,2.6,111.05,1.7,63.9905 -2039,30,2.6,111.05,1.7,63.99025 -2040,30,2.6,111.05,1.7,63.99 -2041,30,2.6,111.05,1.7,63.98975 -2042,30,2.6,111.05,1.7,63.9895 -2043,30,2.6,111.05,1.7,63.98925 -2044,30,2.6,111.05,1.7,63.989 -2045,30,2.6,111.05,1.7,63.98875 -2046,30,2.6,111.05,1.7,63.9885 -2047,30,2.6,111.05,1.7,63.98825 -2048,30,2.6,111.05,1.7,63.988 -2049,30,2.6,111.05,1.7,63.98775 -2050,30,2.6,111.05,1.7,63.9875 -2051,30,2.6,111.05,1.7,63.98725 -2052,30,2.6,111.05,1.7,63.987 -2053,30,2.6,111.05,1.7,63.98675 -2054,30,2.6,111.05,1.7,63.9865 -2055,30,2.6,111.05,1.7,63.98625 -2056,30,2.6,111.05,1.7,63.986 -2057,30,2.6,111.05,1.7,63.98575 -2058,30,2.6,111.05,1.7,63.9855 -2059,30,2.6,111.05,1.7,63.98525 -2060,30,2.6,111.05,1.7,63.985 -2061,30,2.6,111.05,1.7,63.98475 -2062,30,2.6,111.05,1.7,63.9845 -2063,30,2.6,111.05,1.7,63.98425 -2064,30,2.6,111.05,1.7,63.984 -2065,30,2.6,111.05,1.7,63.98375 -2066,30,2.6,111.05,1.7,63.9835 -2067,30,2.6,111.05,1.7,63.98325 -2068,30,2.6,111.05,1.7,63.983 -2069,30,2.6,111.05,1.7,63.98275 -2070,30,2.6,111.05,1.7,63.9825 -2071,30,2.6,111.05,1.7,63.98225 -2072,30,2.6,111.05,1.7,63.982 -2073,30,2.6,111.05,1.7,63.98175 -2074,30,2.6,111.05,1.7,63.9815 -2075,30,2.6,111.05,1.7,63.98125 -2076,30,2.6,111.05,1.7,63.981 -2077,30,2.6,111.05,1.7,63.98075 -2078,30,2.6,111.05,1.7,63.9805 -2079,30,2.6,111.05,1.7,63.98025 -2080,30,2.6,111.05,1.7,63.98 -2081,30,2.6,111.05,1.7,63.97975 -2082,30,2.6,111.05,1.7,63.9795 -2083,30,2.6,111.05,1.7,63.97925 -2084,30,2.6,111.05,1.7,63.979 -2085,30,2.6,111.05,1.7,63.97875 -2086,30,2.6,111.05,1.7,63.9785 -2087,30,2.6,111.05,1.7,63.97825 -2088,30,2.6,111.05,1.7,63.978 -2089,30,2.6,111.05,1.7,63.97775 -2090,30,2.6,111.05,1.7,63.9775 -2091,30,2.6,111.05,1.7,63.97725 -2092,30,2.6,111.05,1.7,63.977 -2093,30,2.6,111.05,1.7,63.97675 -2094,30,2.6,111.05,1.7,63.9765 -2095,30,2.6,111.05,1.7,63.97625 -2096,30,2.6,111.05,1.7,63.976 -2097,30,2.6,111.05,1.7,63.97575 -2098,30,2.6,111.05,1.7,63.9755 -2099,30,2.6,111.05,1.7,63.97525 -2100,30,2.6,111.05,1.7,63.975 -2101,30,2.6,111.05,1.7,63.97475 -2102,30,2.6,111.05,1.7,63.9745 -2103,30,2.6,111.05,1.7,63.97425 -2104,30,2.6,111.05,1.7,63.974 -2105,30,2.6,111.05,1.7,63.97375 -2106,30,2.6,111.05,1.7,63.9735 -2107,30,2.6,111.05,1.7,63.97325 -2108,30,2.6,111.05,1.7,63.973 -2109,30,2.6,111.05,1.7,63.97275 -2110,30,2.6,111.05,1.7,63.9725 -2111,30,2.6,111.05,1.7,63.97225 -2112,30,2.6,111.05,1.7,63.972 -2113,30,2.6,111.05,1.7,63.97175 -2114,30,2.6,111.05,1.7,63.9715 -2115,30,2.6,111.05,1.7,63.97125 -2116,30,2.6,111.05,1.7,63.971 -2117,30,2.6,111.05,1.7,63.97075 -2118,30,2.6,111.05,1.7,63.9705 -2119,30,2.6,111.05,1.7,63.97025 -2120,30,2.6,111.05,1.7,63.97 -2121,30,2.6,111.05,1.7,63.96975 -2122,30,2.6,111.05,1.7,63.9695 -2123,30,2.6,111.05,1.7,63.96925 -2124,30,2.6,111.05,1.7,63.969 -2125,30,2.6,111.05,1.7,63.96875 -2126,30,2.6,111.05,1.7,63.9685 -2127,30,2.6,111.05,1.7,63.96825 -2128,30,2.6,111.05,1.7,63.968 -2129,30,2.6,111.05,1.7,63.96775 -2130,30,2.6,111.05,1.7,63.9675 -2131,30,2.6,111.05,1.7,63.96725 -2132,30,2.6,111.05,1.7,63.967 -2133,30,2.6,111.05,1.7,63.96675 -2134,30,2.6,111.05,1.7,63.9665 -2135,30,2.6,111.05,1.7,63.96625 -2136,30,2.6,111.05,1.7,63.966 -2137,30,2.6,111.05,1.7,63.96575 -2138,30,2.6,111.05,1.7,63.9655 -2139,30,2.6,111.05,1.7,63.96525 -2140,30,2.6,111.05,1.7,63.965 -2141,30,2.6,111.05,1.7,63.96475 -2142,30,2.6,111.05,1.7,63.9645 -2143,30,2.6,111.05,1.7,63.96425 -2144,30,2.6,111.05,1.7,63.964 -2145,30,2.6,111.05,1.7,63.96375 -2146,30,2.6,111.05,1.7,63.9635 -2147,30,2.6,111.05,1.7,63.96325 -2148,30,2.6,111.05,1.7,63.963 -2149,30,2.6,111.05,1.7,63.96275 -2150,30,2.6,111.05,1.7,63.9625 -2151,30,2.6,111.05,1.7,63.96225 -2152,30,2.6,111.05,1.7,63.962 -2153,30,2.6,111.05,1.7,63.96175 -2154,30,2.6,111.05,1.7,63.9615 -2155,30,2.6,111.05,1.7,63.96125 -2156,30,2.6,111.05,1.7,63.961 -2157,30,2.6,111.05,1.7,63.96075 -2158,30,2.6,111.05,1.7,63.9605 -2159,30,2.6,111.05,1.7,63.96025 -2160,30,2.6,111.05,1.7,63.96 -2161,30,2.6,111.05,1.7,63.95975 -2162,30,2.6,111.05,1.7,63.9595 -2163,30,2.6,111.05,1.7,63.95925 -2164,30,2.6,111.05,1.7,63.959 -2165,30,2.6,111.05,1.7,63.95875 -2166,30,2.6,111.05,1.7,63.9585 -2167,30,2.6,111.05,1.7,63.95825 -2168,30,2.6,111.05,1.7,63.958 -2169,30,2.6,111.05,1.7,63.95775 -2170,30,2.6,111.05,1.7,63.9575 -2171,30,2.6,111.05,1.7,63.95725 -2172,30,2.6,111.05,1.7,63.957 -2173,30,2.6,111.05,1.7,63.95675 -2174,30,2.6,111.05,1.7,63.9565 -2175,30,2.6,111.05,1.7,63.95625 -2176,30,2.6,111.05,1.7,63.956 -2177,30,2.6,111.05,1.7,63.95575 -2178,30,2.6,111.05,1.7,63.9555 -2179,30,2.6,111.05,1.7,63.95525 -2180,30,2.6,111.05,1.7,63.955 -2181,30,2.6,111.05,1.7,63.95475 -2182,30,2.6,111.05,1.7,63.9545 -2183,30,2.6,111.05,1.7,63.95425 -2184,30,2.6,111.05,1.7,63.954 -2185,30,2.6,111.05,1.7,63.95375 -2186,30,2.6,111.05,1.7,63.9535 -2187,30,2.6,111.05,1.7,63.95325 -2188,30,2.6,111.05,1.7,63.953 -2189,30,2.6,111.05,1.7,63.95275 -2190,30,2.6,111.05,1.7,63.9525 -2191,30,2.6,111.05,1.7,63.95225 -2192,30,2.6,111.05,1.7,63.952 -2193,30,2.6,111.05,1.7,63.95175 -2194,30,2.6,111.05,1.7,63.9515 -2195,30,2.6,111.05,1.7,63.95125 -2196,30,2.6,111.05,1.7,63.951 -2197,30,2.6,111.05,1.7,63.95075 -2198,30,2.6,111.05,1.7,63.9505 -2199,30,2.6,111.05,1.7,63.95025 -2200,30,2.6,111.05,1.7,63.95 -2201,30,2.6,111.05,1.7,63.94975 -2202,30,2.6,111.05,1.7,63.9495 -2203,30,2.6,111.05,1.7,63.94925 -2204,30,2.6,111.05,1.7,63.949 -2205,30,2.6,111.05,1.7,63.94875 -2206,30,2.6,111.05,1.7,63.9485 -2207,30,2.6,111.05,1.7,63.94825 -2208,30,2.6,111.05,1.7,63.948 -2209,30,2.6,111.05,1.7,63.94775 -2210,30,2.6,111.05,1.7,63.9475 -2211,30,2.6,111.05,1.7,63.94725 -2212,30,2.6,111.05,1.7,63.947 -2213,30,2.6,111.05,1.7,63.94675 -2214,30,2.6,111.05,1.7,63.9465 -2215,30,2.6,111.05,1.7,63.94625 -2216,30,2.6,111.05,1.7,63.946 -2217,30,2.6,111.05,1.7,63.94575 -2218,30,2.6,111.05,1.7,63.9455 -2219,30,2.6,111.05,1.7,63.94525 -2220,30,2.6,111.05,1.7,63.945 -2221,30,2.6,111.05,1.7,63.94475 -2222,30,2.6,111.05,1.7,63.9445 -2223,30,2.6,111.05,1.7,63.94425 -2224,30,2.6,111.05,1.7,63.944 -2225,30,2.6,111.05,1.7,63.94375 -2226,30,2.6,111.05,1.7,63.9435 -2227,30,2.6,111.05,1.7,63.94325 -2228,30,2.6,111.05,1.7,63.943 -2229,30,2.6,111.05,1.7,63.94275 -2230,30,2.6,111.05,1.7,63.9425 -2231,30,2.6,111.05,1.7,63.94225 -2232,30,2.6,111.05,1.7,63.942 -2233,30,2.6,111.05,1.7,63.94175 -2234,30,2.6,111.05,1.7,63.9415 -2235,30,2.6,111.05,1.7,63.94125 -2236,30,2.6,111.05,1.7,63.941 -2237,30,2.6,111.05,1.7,63.94075 -2238,30,2.6,111.05,1.7,63.9405 -2239,30,2.6,111.05,1.7,63.94025 -2240,30,2.6,111.05,1.7,63.94 -2241,30,2.6,111.05,1.7,63.93975 -2242,30,2.6,111.05,1.7,63.9395 -2243,30,2.6,111.05,1.7,63.93925 -2244,30,2.6,111.05,1.7,63.939 -2245,30,2.6,111.05,1.7,63.93875 -2246,30,2.6,111.05,1.7,63.9385 -2247,30,2.6,111.05,1.7,63.93825 -2248,30,2.6,111.05,1.7,63.938 -2249,30,2.6,111.05,1.7,63.93775 -2250,30,2.6,111.05,1.7,63.9375 -2251,30,2.6,111.05,1.7,63.93725 -2252,30,2.6,111.05,1.7,63.937 -2253,30,2.6,111.05,1.7,63.93675 -2254,30,2.6,111.05,1.7,63.9365 -2255,30,2.6,111.05,1.7,63.93625 -2256,30,2.6,111.05,1.7,63.936 -2257,30,2.6,111.05,1.7,63.93575 -2258,30,2.6,111.05,1.7,63.9355 -2259,30,2.6,111.05,1.7,63.93525 -2260,30,2.6,111.05,1.7,63.935 -2261,30,2.6,111.05,1.7,63.93475 -2262,30,2.6,111.05,1.7,63.9345 -2263,30,2.6,111.05,1.7,63.93425 -2264,30,2.6,111.05,1.7,63.934 -2265,30,2.6,111.05,1.7,63.93375 -2266,30,2.6,111.05,1.7,63.9335 -2267,30,2.6,111.05,1.7,63.93325 -2268,30,2.6,111.05,1.7,63.933 -2269,30,2.6,111.05,1.7,63.93275 -2270,30,2.6,111.05,1.7,63.9325 -2271,30,2.6,111.05,1.7,63.93225 -2272,30,2.6,111.05,1.7,63.932 -2273,30,2.6,111.05,1.7,63.93175 -2274,30,2.6,111.05,1.7,63.9315 -2275,30,2.6,111.05,1.7,63.93125 -2276,30,2.6,111.05,1.7,63.931 -2277,30,2.6,111.05,1.7,63.93075 -2278,30,2.6,111.05,1.7,63.9305 -2279,30,2.6,111.05,1.7,63.93025 -2280,30,2.6,111.05,1.7,63.93 -2281,30,2.6,111.05,1.7,63.92975 -2282,30,2.6,111.05,1.7,63.9295 -2283,30,2.6,111.05,1.7,63.92925 -2284,30,2.6,111.05,1.7,63.929 -2285,30,2.6,111.05,1.7,63.92875 -2286,30,2.6,111.05,1.7,63.9285 -2287,30,2.6,111.05,1.7,63.92825 -2288,30,2.6,111.05,1.7,63.928 -2289,30,2.6,111.05,1.7,63.92775 -2290,30,2.6,111.05,1.7,63.9275 -2291,30,2.6,111.05,1.7,63.92725 -2292,30,2.6,111.05,1.7,63.927 -2293,30,2.6,111.05,1.7,63.92675 -2294,30,2.6,111.05,1.7,63.9265 -2295,30,2.6,111.05,1.7,63.92625 -2296,30,2.6,111.05,1.7,63.926 -2297,30,2.6,111.05,1.7,63.92575 -2298,30,2.6,111.05,1.7,63.9255 -2299,30,2.6,111.05,1.7,63.92525 -2300,30,2.6,111.05,1.7,63.925 -2301,30,2.6,111.05,1.7,63.92475 -2302,30,2.6,111.05,1.7,63.9245 -2303,30,2.6,111.05,1.7,63.92425 -2304,30,2.6,111.05,1.7,63.924 -2305,30,2.6,111.05,1.7,63.92375 -2306,30,2.6,111.05,1.7,63.9235 -2307,30,2.6,111.05,1.7,63.92325 -2308,30,2.6,111.05,1.7,63.923 -2309,30,2.6,111.05,1.7,63.92275 -2310,30,2.6,111.05,1.7,63.9225 -2311,30,2.6,111.05,1.7,63.92225 -2312,30,2.6,111.05,1.7,63.922 -2313,30,2.6,111.05,1.7,63.92175 -2314,30,2.6,111.05,1.7,63.9215 -2315,30,2.6,111.05,1.7,63.92125 -2316,30,2.6,111.05,1.7,63.921 -2317,30,2.6,111.05,1.7,63.92075 -2318,30,2.6,111.05,1.7,63.9205 -2319,30,2.6,111.05,1.7,63.92025 -2320,30,2.6,111.05,1.7,63.92 -2321,30,2.6,111.05,1.7,63.91975 -2322,30,2.6,111.05,1.7,63.9195 -2323,30,2.6,111.05,1.7,63.91925 -2324,30,2.6,111.05,1.7,63.919 -2325,30,2.6,111.05,1.7,63.91875 -2326,30,2.6,111.05,1.7,63.9185 -2327,30,2.6,111.05,1.7,63.91825 -2328,30,2.6,111.05,1.7,63.918 -2329,30,2.6,111.05,1.7,63.91775 -2330,30,2.6,111.05,1.7,63.9175 -2331,30,2.6,111.05,1.7,63.91725 -2332,30,2.6,111.05,1.7,63.917 -2333,30,2.6,111.05,1.7,63.91675 -2334,30,2.6,111.05,1.7,63.9165 -2335,30,2.6,111.05,1.7,63.91625 -2336,30,2.6,111.05,1.7,63.916 -2337,30,2.6,111.05,1.7,63.91575 -2338,30,2.6,111.05,1.7,63.9155 -2339,30,2.6,111.05,1.7,63.91525 -2340,30,2.6,111.05,1.7,63.915 -2341,30,2.6,111.05,1.7,63.91475 -2342,30,2.6,111.05,1.7,63.9145 -2343,30,2.6,111.05,1.7,63.91425 -2344,30,2.6,111.05,1.7,63.914 -2345,30,2.6,111.05,1.7,63.91375 -2346,30,2.6,111.05,1.7,63.9135 -2347,30,2.6,111.05,1.7,63.91325 -2348,30,2.6,111.05,1.7,63.913 -2349,30,2.6,111.05,1.7,63.91275 -2350,30,2.6,111.05,1.7,63.9125 -2351,30,2.6,111.05,1.7,63.91225 -2352,30,2.6,111.05,1.7,63.912 -2353,30,2.6,111.05,1.7,63.91175 -2354,30,2.6,111.05,1.7,63.9115 -2355,30,2.6,111.05,1.7,63.91125 -2356,30,2.6,111.05,1.7,63.911 -2357,30,2.6,111.05,1.7,63.91075 -2358,30,2.6,111.05,1.7,63.9105 -2359,30,2.6,111.05,1.7,63.91025 -2360,30,2.6,111.05,1.7,63.91 -2361,30,2.6,111.05,1.7,63.90975 -2362,30,2.6,111.05,1.7,63.9095 -2363,30,2.6,111.05,1.7,63.90925 -2364,30,2.6,111.05,1.7,63.909 -2365,30,2.6,111.05,1.7,63.90875 -2366,30,2.6,111.05,1.7,63.9085 -2367,30,2.6,111.05,1.7,63.90825 -2368,30,2.6,111.05,1.7,63.908 -2369,30,2.6,111.05,1.7,63.90775 -2370,30,2.6,111.05,1.7,63.9075 -2371,30,2.6,111.05,1.7,63.90725 -2372,30,2.6,111.05,1.7,63.907 -2373,30,2.6,111.05,1.7,63.90675 -2374,30,2.6,111.05,1.7,63.9065 -2375,30,2.6,111.05,1.7,63.90625 -2376,30,2.6,111.05,1.7,63.906 -2377,30,2.6,111.05,1.7,63.90575 -2378,30,2.6,111.05,1.7,63.9055 -2379,30,2.6,111.05,1.7,63.90525 -2380,30,2.6,111.05,1.7,63.905 -2381,30,2.6,111.05,1.7,63.90475 -2382,30,2.6,111.05,1.7,63.9045 -2383,30,2.6,111.05,1.7,63.90425 -2384,30,2.6,111.05,1.7,63.904 -2385,30,2.6,111.05,1.7,63.90375 -2386,30,2.6,111.05,1.7,63.9035 -2387,30,2.6,111.05,1.7,63.90325 -2388,30,2.6,111.05,1.7,63.903 -2389,30,2.6,111.05,1.7,63.90275 -2390,30,2.6,111.05,1.7,63.9025 -2391,30,2.6,111.05,1.7,63.90225 -2392,30,2.6,111.05,1.7,63.902 -2393,30,2.6,111.05,1.7,63.90175 -2394,30,2.6,111.05,1.7,63.9015 -2395,30,2.6,111.05,1.7,63.90125 -2396,30,2.6,111.05,1.7,63.901 -2397,30,2.6,111.05,1.7,63.90075 -2398,30,2.6,111.05,1.7,63.9005 -2399,30,2.6,111.05,1.7,63.90025 -2400,30,2.6,111.05,1.7,63.9 -2401,30,2.6,111.05,1.7,63.89975 -2402,30,2.6,111.05,1.7,63.8995 -2403,30,2.6,111.05,1.7,63.89925 -2404,30,2.6,111.05,1.7,63.899 -2405,30,2.6,111.05,1.7,63.89875 -2406,30,2.6,111.05,1.7,63.8985 -2407,30,2.6,111.05,1.7,63.89825 -2408,30,2.6,111.05,1.7,63.898 -2409,30,2.6,111.05,1.7,63.89775 -2410,30,2.6,111.05,1.7,63.8975 -2411,30,2.6,111.05,1.7,63.89725 -2412,30,2.6,111.05,1.7,63.897 -2413,30,2.6,111.05,1.7,63.89675 -2414,30,2.6,111.05,1.7,63.8965 -2415,30,2.6,111.05,1.7,63.89625 -2416,30,2.6,111.05,1.7,63.896 -2417,30,2.6,111.05,1.7,63.89575 -2418,30,2.6,111.05,1.7,63.8955 -2419,30,2.6,111.05,1.7,63.89525 -2420,30,2.6,111.05,1.7,63.895 -2421,30,2.6,111.05,1.7,63.89475 -2422,30,2.6,111.05,1.7,63.8945 -2423,30,2.6,111.05,1.7,63.89425 -2424,30,2.6,111.05,1.7,63.894 -2425,30,2.6,111.05,1.7,63.89375 -2426,30,2.6,111.05,1.7,63.8935 -2427,30,2.6,111.05,1.7,63.89325 -2428,30,2.6,111.05,1.7,63.893 -2429,30,2.6,111.05,1.7,63.89275 -2430,30,2.6,111.05,1.7,63.8925 -2431,30,2.6,111.05,1.7,63.89225 -2432,30,2.6,111.05,1.7,63.892 -2433,30,2.6,111.05,1.7,63.89175 -2434,30,2.6,111.05,1.7,63.8915 -2435,30,2.6,111.05,1.7,63.89125 -2436,30,2.6,111.05,1.7,63.891 -2437,30,2.6,111.05,1.7,63.89075 -2438,30,2.6,111.05,1.7,63.8905 -2439,30,2.6,111.05,1.7,63.89025 -2440,30,2.6,111.05,1.7,63.89 -2441,30,2.6,111.05,1.7,63.88975 -2442,30,2.6,111.05,1.7,63.8895 -2443,30,2.6,111.05,1.7,63.88925 -2444,30,2.6,111.05,1.7,63.889 -2445,30,2.6,111.05,1.7,63.88875 -2446,30,2.6,111.05,1.7,63.8885 -2447,30,2.6,111.05,1.7,63.88825 -2448,30,2.6,111.05,1.7,63.888 -2449,30,2.6,111.05,1.7,63.88775 -2450,30,2.6,111.05,1.7,63.8875 -2451,30,2.6,111.05,1.7,63.88725 -2452,30,2.6,111.05,1.7,63.887 -2453,30,2.6,111.05,1.7,63.88675 -2454,30,2.6,111.05,1.7,63.8865 -2455,30,2.6,111.05,1.7,63.88625 -2456,30,2.6,111.05,1.7,63.886 -2457,30,2.6,111.05,1.7,63.88575 -2458,30,2.6,111.05,1.7,63.8855 -2459,30,2.6,111.05,1.7,63.88525 -2460,30,2.6,111.05,1.7,63.885 -2461,30,2.6,111.05,1.7,63.88475 -2462,30,2.6,111.05,1.7,63.8845 -2463,30,2.6,111.05,1.7,63.88425 -2464,30,2.6,111.05,1.7,63.884 -2465,30,2.6,111.05,1.7,63.88375 -2466,30,2.6,111.05,1.7,63.8835 -2467,30,2.6,111.05,1.7,63.88325 -2468,30,2.6,111.05,1.7,63.883 -2469,30,2.6,111.05,1.7,63.88275 -2470,30,2.6,111.05,1.7,63.8825 -2471,30,2.6,111.05,1.7,63.88225 -2472,30,2.6,111.05,1.7,63.882 -2473,30,2.6,111.05,1.7,63.88175 -2474,30,2.6,111.05,1.7,63.8815 -2475,30,2.6,111.05,1.7,63.88125 -2476,30,2.6,111.05,1.7,63.881 -2477,30,2.6,111.05,1.7,63.88075 -2478,30,2.6,111.05,1.7,63.8805 -2479,30,2.6,111.05,1.7,63.88025 -2480,30,2.6,111.05,1.7,63.88 -2481,30,2.6,111.05,1.7,63.87975 -2482,30,2.6,111.05,1.7,63.8795 -2483,30,2.6,111.05,1.7,63.87925 -2484,30,2.6,111.05,1.7,63.879 -2485,30,2.6,111.05,1.7,63.87875 -2486,30,2.6,111.05,1.7,63.8785 -2487,30,2.6,111.05,1.7,63.87825 -2488,30,2.6,111.05,1.7,63.878 -2489,30,2.6,111.05,1.7,63.87775 -2490,30,2.5,111.05,1.7,63.8775 -2491,30,2.5,111.05,1.7,63.87725 -2492,30,2.5,111.05,1.7,63.877 -2493,30,2.5,111.05,1.7,63.87675 -2494,30,2.5,111.05,1.7,63.8765 -2495,30,2.5,111.05,1.7,63.87625 -2496,30,2.5,111.05,1.7,63.876 -2497,30,2.5,111.05,1.7,63.87575 -2498,30,2.5,111.05,1.7,63.8755 -2499,30,2.5,111.05,1.7,63.87525 -2500,30,2.5,111.05,1.7,63.875 -2501,30,2.5,111.05,1.7,63.87475 -2502,30,2.5,111.05,1.7,63.8745 -2503,30,2.5,111.05,1.7,63.87425 -2504,30,2.5,111.05,1.7,63.874 -2505,30,2.5,111.05,1.7,63.87375 -2506,30,2.5,111.05,1.7,63.8735 -2507,30,2.5,111.05,1.7,63.87325 -2508,30,2.5,111.05,1.7,63.873 -2509,30,2.5,111.05,1.7,63.87275 -2510,30,2.5,111.05,1.7,63.8725 -2511,30,2.5,111.05,1.7,63.87225 -2512,30,2.5,111.05,1.7,63.872 -2513,30,2.5,111.05,1.7,63.87175 -2514,30,2.5,111.05,1.7,63.8715 -2515,30,2.5,111.05,1.7,63.87125 -2516,30,2.5,111.05,1.7,63.871 -2517,30,2.5,111.05,1.7,63.87075 -2518,30,2.5,111.05,1.7,63.8705 -2519,30,2.5,111.05,1.7,63.87025 -2520,30,2.5,111.05,1.7,63.87 -2521,30,2.5,111.05,1.7,63.86975 -2522,30,2.5,111.05,1.7,63.8695 -2523,30,2.5,111.05,1.7,63.86925 -2524,30,2.5,111.05,1.7,63.869 -2525,30,2.5,111.05,1.7,63.86875 -2526,30,2.5,111.05,1.7,63.8685 -2527,30,2.5,111.05,1.7,63.86825 -2528,30,2.5,111.05,1.7,63.868 -2529,30,2.5,111.05,1.7,63.86775 -2530,30,2.5,111.05,1.7,63.8675 -2531,30,2.5,111.05,1.7,63.86725 -2532,30,2.5,111.05,1.7,63.867 -2533,30,2.5,111.05,1.7,63.86675 -2534,30,2.5,111.05,1.7,63.8665 -2535,30,2.5,111.05,1.7,63.86625 -2536,30,2.5,111.05,1.7,63.866 -2537,30,2.5,111.05,1.7,63.86575 -2538,30,2.5,111.05,1.7,63.8655 -2539,30,2.5,111.05,1.7,63.86525 -2540,30,2.5,111.05,1.7,63.865 -2541,30,2.5,111.05,1.7,63.86475 -2542,30,2.5,111.05,1.7,63.8645 -2543,30,2.5,111.05,1.7,63.86425 -2544,30,2.5,111.05,1.7,63.864 -2545,30,2.5,111.05,1.7,63.86375 -2546,30,2.5,111.05,1.7,63.8635 -2547,30,2.5,111.05,1.7,63.86325 -2548,30,2.5,111.05,1.7,63.863 -2549,30,2.5,111.05,1.7,63.86275 -2550,30,2.5,111.05,1.7,63.8625 -2551,30,2.5,111.05,1.7,63.86225 -2552,30,2.5,111.05,1.7,63.862 -2553,30,2.5,111.05,1.7,63.86175 -2554,30,2.5,111.05,1.7,63.8615 -2555,30,2.5,111.05,1.7,63.86125 -2556,30,2.5,111.05,1.7,63.861 -2557,30,2.5,111.05,1.7,63.86075 -2558,30,2.5,111.05,1.7,63.8605 -2559,30,2.5,111.05,1.7,63.86025 -2560,30,2.5,111.05,1.7,63.86 -2561,30,2.5,111.05,1.7,63.85975 -2562,30,2.5,111.05,1.7,63.8595 -2563,30,2.5,111.05,1.7,63.85925 -2564,30,2.5,111.05,1.7,63.859 -2565,30,2.5,111.05,1.7,63.85875 -2566,30,2.5,111.05,1.7,63.8585 -2567,30,2.5,111.05,1.7,63.85825 -2568,30,2.5,111.05,1.7,63.858 -2569,30,2.5,111.05,1.7,63.85775 -2570,30,2.5,111.05,1.7,63.8575 -2571,30,2.5,111.05,1.7,63.85725 -2572,30,2.5,111.05,1.7,63.857 -2573,30,2.5,111.05,1.7,63.85675 -2574,30,2.5,111.05,1.7,63.8565 -2575,30,2.5,111.05,1.7,63.85625 -2576,30,2.5,111.05,1.7,63.856 -2577,30,2.5,111.05,1.7,63.85575 -2578,30,2.5,111.05,1.7,63.8555 -2579,30,2.5,111.05,1.7,63.85525 -2580,30,2.5,111.05,1.7,63.855 -2581,30,2.5,111.05,1.7,63.85475 -2582,30,2.5,111.05,1.7,63.8545 -2583,30,2.5,111.05,1.7,63.85425 -2584,30,2.5,111.05,1.7,63.854 -2585,30,2.5,111.05,1.7,63.85375 -2586,30,2.5,111.05,1.7,63.8535 -2587,30,2.5,111.05,1.7,63.85325 -2588,30,2.5,111.05,1.7,63.853 -2589,30,2.5,111.05,1.7,63.85275 -2590,30,2.5,111.05,1.7,63.8525 -2591,30,2.5,111.05,1.7,63.85225 -2592,30,2.5,111.05,1.7,63.852 -2593,30,2.5,111.05,1.7,63.85175 -2594,30,2.5,111.05,1.7,63.8515 -2595,30,2.5,111.05,1.7,63.85125 -2596,30,2.5,111.05,1.7,63.851 -2597,30,2.5,111.05,1.7,63.85075 -2598,30,2.5,111.05,1.7,63.8505 -2599,30,2.5,111.05,1.7,63.85025 -2600,30,2.5,111.05,1.7,63.85 -2601,30,2.5,111.05,1.7,63.84975 -2602,30,2.5,111.05,1.7,63.8495 -2603,30,2.5,111.05,1.7,63.84925 -2604,30,2.5,111.05,1.7,63.849 -2605,30,2.5,111.05,1.7,63.84875 -2606,30,2.5,111.05,1.7,63.8485 -2607,30,2.5,111.05,1.7,63.84825 -2608,30,2.5,111.05,1.7,63.848 -2609,30,2.5,111.05,1.7,63.84775 -2610,30,2.5,111.05,1.7,63.8475 -2611,30,2.5,111.05,1.7,63.84725 -2612,30,2.5,111.05,1.7,63.847 -2613,30,2.5,111.05,1.7,63.84675 -2614,30,2.5,111.05,1.7,63.8465 -2615,30,2.5,111.05,1.7,63.84625 -2616,30,2.5,111.05,1.7,63.846 -2617,30,2.5,111.05,1.7,63.84575 -2618,30,2.5,111.05,1.7,63.8455 -2619,30,2.5,111.05,1.7,63.84525 -2620,30,2.5,111.05,1.7,63.845 -2621,30,2.5,111.05,1.7,63.84475 -2622,30,2.5,111.05,1.7,63.8445 -2623,30,2.5,111.05,1.7,63.84425 -2624,30,2.5,111.05,1.7,63.844 -2625,30,2.5,111.05,1.7,63.84375 -2626,30,2.5,111.05,1.7,63.8435 -2627,30,2.5,111.05,1.7,63.84325 -2628,30,2.5,111.05,1.7,63.843 -2629,30,2.5,111.05,1.7,63.84275 -2630,30,2.5,111.05,1.7,63.8425 -2631,30,2.5,111.05,1.7,63.84225 -2632,30,2.5,111.05,1.7,63.842 -2633,30,2.5,111.05,1.7,63.84175 -2634,30,2.5,111.05,1.7,63.8415 -2635,30,2.5,111.05,1.7,63.84125 -2636,30,2.5,111.05,1.7,63.841 -2637,30,2.5,111.05,1.7,63.84075 -2638,30,2.5,111.05,1.7,63.8405 -2639,30,2.5,111.05,1.7,63.84025 -2640,30,2.5,111.05,1.7,63.84 -2641,30,2.5,111.05,1.7,63.83975 -2642,30,2.5,111.05,1.7,63.8395 -2643,30,2.5,111.05,1.7,63.83925 -2644,30,2.5,111.05,1.7,63.839 -2645,30,2.5,111.05,1.7,63.83875 -2646,30,2.5,111.05,1.7,63.8385 -2647,30,2.5,111.05,1.7,63.83825 -2648,30,2.5,111.05,1.7,63.838 -2649,30,2.5,111.05,1.7,63.83775 -2650,30,2.5,111.05,1.7,63.8375 -2651,30,2.5,111.05,1.7,63.83725 -2652,30,2.5,111.05,1.7,63.837 -2653,30,2.5,111.05,1.7,63.83675 -2654,30,2.5,111.05,1.7,63.8365 -2655,30,2.5,111.05,1.7,63.83625 -2656,30,2.5,111.05,1.7,63.836 -2657,30,2.5,111.05,1.7,63.83575 -2658,30,2.5,111.05,1.7,63.8355 -2659,30,2.5,111.05,1.7,63.83525 -2660,30,2.5,111.05,1.7,63.835 -2661,30,2.5,111.05,1.7,63.83475 -2662,30,2.5,111.05,1.7,63.8345 -2663,30,2.5,111.05,1.7,63.83425 -2664,30,2.5,111.05,1.7,63.834 -2665,30,2.5,111.05,1.7,63.83375 -2666,30,2.5,111.05,1.7,63.8335 -2667,30,2.5,111.05,1.7,63.83325 -2668,30,2.5,111.05,1.7,63.833 -2669,30,2.5,111.05,1.7,63.83275 -2670,30,2.5,111.05,1.7,63.8325 -2671,30,2.5,111.05,1.7,63.83225 -2672,30,2.5,111.05,1.7,63.832 -2673,30,2.5,111.05,1.7,63.83175 -2674,30,2.5,111.05,1.7,63.8315 -2675,30,2.5,111.05,1.7,63.83125 -2676,30,2.5,111.05,1.7,63.831 -2677,30,2.5,111.05,1.7,63.83075 -2678,30,2.5,111.05,1.7,63.8305 -2679,30,2.5,111.05,1.7,63.83025 -2680,30,2.5,111.05,1.7,63.83 -2681,30,2.5,111.05,1.7,63.82975 -2682,30,2.5,111.05,1.7,63.8295 -2683,30,2.5,111.05,1.7,63.82925 -2684,30,2.5,111.05,1.7,63.829 -2685,30,2.5,111.05,1.7,63.82875 -2686,30,2.5,111.05,1.7,63.8285 -2687,30,2.5,111.05,1.7,63.82825 -2688,30,2.5,111.05,1.7,63.828 -2689,30,2.5,111.05,1.7,63.82775 -2690,30,2.5,111.05,1.7,63.8275 -2691,30,2.5,111.05,1.7,63.82725 -2692,30,2.5,111.05,1.7,63.827 -2693,30,2.5,111.05,1.7,63.82675 -2694,30,2.5,111.05,1.7,63.8265 -2695,30,2.5,111.05,1.7,63.82625 -2696,30,2.5,111.05,1.7,63.826 -2697,30,2.5,111.05,1.7,63.82575 -2698,30,2.5,111.05,1.7,63.8255 -2699,30,2.5,111.05,1.7,63.82525 -2700,30,2.5,111.05,1.7,63.825 -2701,30,2.5,111.05,1.7,63.82475 -2702,30,2.5,111.05,1.7,63.8245 -2703,30,2.5,111.05,1.7,63.82425 -2704,30,2.5,111.05,1.7,63.824 -2705,30,2.5,111.05,1.7,63.82375 -2706,30,2.5,111.05,1.7,63.8235 -2707,30,2.5,111.05,1.7,63.82325 -2708,30,2.5,111.05,1.7,63.823 -2709,30,2.5,111.05,1.7,63.82275 -2710,30,2.5,111.05,1.7,63.8225 -2711,30,2.5,111.05,1.7,63.82225 -2712,30,2.5,111.05,1.7,63.822 -2713,30,2.5,111.05,1.7,63.82175 -2714,30,2.5,111.05,1.7,63.8215 -2715,30,2.5,111.05,1.7,63.82125 -2716,30,2.5,111.05,1.7,63.821 -2717,30,2.5,111.05,1.7,63.82075 -2718,30,2.5,111.05,1.7,63.8205 -2719,30,2.5,111.05,1.7,63.82025 -2720,30,2.5,111.05,1.7,63.82 -2721,30,2.5,111.05,1.7,63.81975 -2722,30,2.5,111.05,1.7,63.8195 -2723,30,2.5,111.05,1.7,63.81925 -2724,30,2.5,111.05,1.7,63.819 -2725,30,2.5,111.05,1.7,63.81875 -2726,30,2.5,111.05,1.7,63.8185 -2727,30,2.5,111.05,1.7,63.81825 -2728,30,2.5,111.05,1.7,63.818 -2729,30,2.5,111.05,1.7,63.81775 -2730,30,2.5,111.05,1.7,63.8175 -2731,30,2.5,111.05,1.7,63.81725 -2732,30,2.5,111.05,1.7,63.817 -2733,30,2.5,111.05,1.7,63.81675 -2734,30,2.5,111.05,1.7,63.8165 -2735,30,2.5,111.05,1.7,63.81625 -2736,30,2.5,111.05,1.7,63.816 -2737,30,2.5,111.05,1.7,63.81575 -2738,30,2.5,111.05,1.7,63.8155 -2739,30,2.5,111.05,1.7,63.81525 -2740,30,2.5,111.05,1.7,63.815 -2741,30,2.5,111.05,1.7,63.81475 -2742,30,2.5,111.05,1.7,63.8145 -2743,30,2.5,111.05,1.7,63.81425 -2744,30,2.5,111.05,1.7,63.814 -2745,30,2.5,111.05,1.7,63.81375 -2746,30,2.5,111.05,1.7,63.8135 -2747,30,2.5,111.05,1.7,63.81325 -2748,30,2.5,111.05,1.7,63.813 -2749,30,2.5,111.05,1.7,63.81275 -2750,30,2.5,111.05,1.7,63.8125 -2751,30,2.5,111.05,1.7,63.81225 -2752,30,2.5,111.05,1.7,63.812 -2753,30,2.5,111.05,1.7,63.81175 -2754,30,2.5,111.05,1.7,63.8115 -2755,30,2.5,111.05,1.7,63.81125 -2756,30,2.5,111.05,1.7,63.811 -2757,30,2.5,111.05,1.7,63.81075 -2758,30,2.5,111.05,1.7,63.8105 -2759,30,2.5,111.05,1.7,63.81025 -2760,30,2.5,111.05,1.7,63.81 -2761,30,2.5,111.05,1.7,63.80975 -2762,30,2.5,111.05,1.7,63.8095 -2763,30,2.5,111.05,1.7,63.80925 -2764,30,2.5,111.05,1.7,63.809 -2765,30,2.5,111.05,1.7,63.80875 -2766,30,2.5,111.05,1.7,63.8085 -2767,30,2.5,111.05,1.7,63.80825 -2768,30,2.5,111.05,1.7,63.808 -2769,30,2.5,111.05,1.7,63.80775 -2770,30,2.5,111.05,1.7,63.8075 -2771,30,2.5,111.05,1.7,63.80725 -2772,30,2.5,111.05,1.7,63.807 -2773,30,2.5,111.05,1.7,63.80675 -2774,30,2.5,111.05,1.7,63.8065 -2775,30,2.5,111.05,1.7,63.80625 -2776,30,2.5,111.05,1.7,63.806 -2777,30,2.5,111.05,1.7,63.80575 -2778,30,2.5,111.05,1.7,63.8055 -2779,30,2.5,111.05,1.7,63.80525 -2780,30,2.5,111.05,1.7,63.805 -2781,30,2.5,111.05,1.7,63.80475 -2782,30,2.5,111.05,1.7,63.8045 -2783,30,2.5,111.05,1.7,63.80425 -2784,30,2.5,111.05,1.7,63.804 -2785,30,2.5,111.05,1.7,63.80375 -2786,30,2.5,111.05,1.7,63.8035 -2787,30,2.5,111.05,1.7,63.80325 -2788,30,2.5,111.05,1.7,63.803 -2789,30,2.5,111.05,1.7,63.80275 -2790,30,2.5,111.05,1.7,63.8025 -2791,30,2.5,111.05,1.7,63.80225 -2792,30,2.5,111.05,1.7,63.802 -2793,30,2.5,111.05,1.7,63.80175 -2794,30,2.5,111.05,1.7,63.8015 -2795,30,2.5,111.05,1.7,63.80125 -2796,30,2.5,111.05,1.7,63.801 -2797,30,2.5,111.05,1.7,63.80075 -2798,30,2.5,111.05,1.7,63.8005 -2799,30,2.5,111.05,1.7,63.80025 -2800,30,2.5,111.05,1.7,63.8 -2801,30,2.5,111.05,1.7,63.79975 -2802,30,2.5,111.05,1.7,63.7995 -2803,30,2.5,111.05,1.7,63.79925 -2804,30,2.5,111.05,1.7,63.799 -2805,30,2.5,111.05,1.7,63.79875 -2806,30,2.5,111.05,1.7,63.7985 -2807,30,2.5,111.05,1.7,63.79825 -2808,30,2.5,111.05,1.7,63.798 -2809,30,2.5,111.05,1.7,63.79775 -2810,30,2.5,111.05,1.7,63.7975 -2811,30,2.5,111.05,1.7,63.79725 -2812,30,2.5,111.05,1.7,63.797 -2813,30,2.5,111.05,1.7,63.79675 -2814,30,2.5,111.05,1.7,63.7965 -2815,30,2.5,111.05,1.7,63.79625 -2816,30,2.5,111.05,1.7,63.796 -2817,30,2.5,111.05,1.7,63.79575 -2818,30,2.5,111.05,1.7,63.7955 -2819,30,2.5,111.05,1.7,63.79525 -2820,30,2.5,111.05,1.7,63.795 -2821,30,2.5,111.05,1.7,63.79475 -2822,30,2.5,111.05,1.7,63.7945 -2823,30,2.5,111.05,1.7,63.79425 -2824,30,2.5,111.05,1.7,63.794 -2825,30,2.5,111.05,1.7,63.79375 -2826,30,2.5,111.05,1.7,63.7935 -2827,30,2.5,111.05,1.7,63.79325 -2828,30,2.5,111.05,1.7,63.793 -2829,30,2.5,111.05,1.7,63.79275 -2830,30,2.5,111.05,1.7,63.7925 -2831,30,2.5,111.05,1.7,63.79225 -2832,30,2.5,111.05,1.7,63.792 -2833,30,2.5,111.05,1.7,63.79175 -2834,30,2.5,111.05,1.7,63.7915 -2835,30,2.5,111.05,1.7,63.79125 -2836,30,2.5,111.05,1.7,63.791 -2837,30,2.5,111.05,1.7,63.79075 -2838,30,2.5,111.05,1.7,63.7905 -2839,30,2.5,111.05,1.7,63.79025 -2840,30,2.5,111.05,1.7,63.79 -2841,30,2.5,111.05,1.7,63.78975 -2842,30,2.5,111.05,1.7,63.7895 -2843,30,2.5,111.05,1.7,63.78925 -2844,30,2.5,111.05,1.7,63.789 -2845,30,2.5,111.05,1.7,63.78875 -2846,30,2.5,111.05,1.7,63.7885 -2847,30,2.5,111.05,1.7,63.78825 -2848,30,2.5,111.05,1.7,63.788 -2849,30,2.5,111.05,1.7,63.78775 -2850,30,2.5,111.05,1.7,63.7875 -2851,30,2.5,111.05,1.7,63.78725 -2852,30,2.5,111.05,1.7,63.787 -2853,30,2.5,111.05,1.7,63.78675 -2854,30,2.5,111.05,1.7,63.7865 -2855,30,2.5,111.05,1.7,63.78625 -2856,30,2.5,111.05,1.7,63.786 -2857,30,2.5,111.05,1.7,63.78575 -2858,30,2.5,111.05,1.7,63.7855 -2859,30,2.5,111.05,1.7,63.78525 -2860,30,2.5,111.05,1.7,63.785 -2861,30,2.5,111.05,1.7,63.78475 -2862,30,2.5,111.05,1.7,63.7845 -2863,30,2.5,111.05,1.7,63.78425 -2864,30,2.5,111.05,1.7,63.784 -2865,30,2.5,111.05,1.7,63.78375 -2866,30,2.5,111.05,1.7,63.7835 -2867,30,2.5,111.05,1.7,63.78325 -2868,30,2.5,111.05,1.7,63.783 -2869,30,2.5,111.05,1.7,63.78275 -2870,30,2.5,111.05,1.7,63.7825 -2871,30,2.5,111.05,1.7,63.78225 -2872,30,2.5,111.05,1.7,63.782 -2873,30,2.5,111.05,1.7,63.78175 -2874,30,2.5,111.05,1.7,63.7815 -2875,30,2.5,111.05,1.7,63.78125 -2876,30,2.5,111.05,1.7,63.781 -2877,30,2.5,111.05,1.7,63.78075 -2878,30,2.5,111.05,1.7,63.7805 -2879,30,2.5,111.05,1.7,63.78025 -2880,30,2.5,111.05,1.7,63.78 -2881,30,2.5,111.05,1.7,63.77975 -2882,30,2.5,111.05,1.7,63.7795 -2883,30,2.5,111.05,1.7,63.77925 -2884,30,2.5,111.05,1.7,63.779 -2885,30,2.5,111.05,1.7,63.77875 -2886,30,2.5,111.05,1.7,63.7785 -2887,30,2.5,111.05,1.7,63.77825 -2888,30,2.5,111.05,1.7,63.778 -2889,30,2.5,111.05,1.7,63.77775 -2890,30,2.5,111.05,1.7,63.7775 -2891,30,2.5,111.05,1.7,63.77725 -2892,30,2.5,111.05,1.7,63.777 -2893,30,2.5,111.05,1.7,63.77675 -2894,30,2.5,111.05,1.7,63.7765 -2895,30,2.5,111.05,1.7,63.77625 -2896,30,2.5,111.05,1.7,63.776 -2897,30,2.5,111.05,1.7,63.77575 -2898,30,2.5,111.05,1.7,63.7755 -2899,30,2.5,111.05,1.7,63.77525 -2900,30,2.5,111.05,1.7,63.775 -2901,30,2.5,111.05,1.7,63.77475 -2902,30,2.5,111.05,1.7,63.7745 -2903,30,2.5,111.05,1.7,63.77425 -2904,30,2.5,111.05,1.7,63.774 -2905,30,2.5,111.05,1.7,63.77375 -2906,30,2.5,111.05,1.7,63.7735 -2907,30,2.5,111.05,1.7,63.77325 -2908,30,2.5,111.05,1.7,63.773 -2909,30,2.5,111.05,1.7,63.77275 -2910,30,2.5,111.05,1.7,63.7725 -2911,30,2.5,111.05,1.7,63.77225 -2912,30,2.5,111.05,1.7,63.772 -2913,30,2.5,111.05,1.7,63.77175 -2914,30,2.5,111.05,1.7,63.7715 -2915,30,2.5,111.05,1.7,63.77125 -2916,30,2.5,111.05,1.7,63.771 -2917,30,2.5,111.05,1.7,63.77075 -2918,30,2.5,111.05,1.7,63.7705 -2919,30,2.5,111.05,1.7,63.77025 -2920,30,2.5,111.05,1.7,63.77 -2921,30,2.5,111.05,1.7,63.76975 -2922,30,2.5,111.05,1.7,63.7695 -2923,30,2.5,111.05,1.7,63.76925 -2924,30,2.5,111.05,1.7,63.769 -2925,30,2.5,111.05,1.7,63.76875 -2926,30,2.5,111.05,1.7,63.7685 -2927,30,2.5,111.05,1.7,63.76825 -2928,30,2.5,111.05,1.7,63.768 -2929,30,2.5,111.05,1.7,63.76775 -2930,30,2.5,111.05,1.7,63.7675 -2931,30,2.5,111.05,1.7,63.76725 -2932,30,2.5,111.05,1.7,63.767 -2933,30,2.5,111.05,1.7,63.76675 -2934,30,2.5,111.05,1.7,63.7665 -2935,30,2.5,111.05,1.7,63.76625 -2936,30,2.5,111.05,1.7,63.766 -2937,30,2.5,111.05,1.7,63.76575 -2938,30,2.5,111.05,1.7,63.7655 -2939,30,2.5,111.05,1.7,63.76525 -2940,30,2.5,111.05,1.7,63.765 -2941,30,2.5,111.05,1.7,63.76475 -2942,30,2.5,111.05,1.7,63.7645 -2943,30,2.5,111.05,1.7,63.76425 -2944,30,2.5,111.05,1.7,63.764 -2945,30,2.5,111.05,1.7,63.76375 -2946,30,2.5,111.05,1.7,63.7635 -2947,30,2.5,111.05,1.7,63.76325 -2948,30,2.5,111.05,1.7,63.763 -2949,30,2.5,111.05,1.7,63.76275 -2950,30,2.5,111.05,1.7,63.7625 -2951,30,2.5,111.05,1.7,63.76225 -2952,30,2.5,111.05,1.7,63.762 -2953,30,2.5,111.05,1.7,63.76175 -2954,30,2.5,111.05,1.7,63.7615 -2955,30,2.5,111.05,1.7,63.76125 -2956,30,2.5,111.05,1.7,63.761 -2957,30,2.5,111.05,1.7,63.76075 -2958,30,2.5,111.05,1.7,63.7605 -2959,30,2.5,111.05,1.7,63.76025 -2960,30,2.5,111.05,1.7,63.76 -2961,30,2.5,111.05,1.7,63.75975 -2962,30,2.5,111.05,1.7,63.7595 -2963,30,2.5,111.05,1.7,63.75925 -2964,30,2.5,111.05,1.7,63.759 -2965,30,2.5,111.05,1.7,63.75875 -2966,30,2.5,111.05,1.7,63.7585 -2967,30,2.5,111.05,1.7,63.75825 -2968,30,2.5,111.05,1.7,63.758 -2969,30,2.5,111.05,1.7,63.75775 -2970,30,2.5,111.05,1.7,63.7575 -2971,30,2.5,111.05,1.7,63.75725 -2972,30,2.5,111.05,1.7,63.757 -2973,30,2.5,111.05,1.7,63.75675 -2974,30,2.5,111.05,1.7,63.7565 -2975,30,2.5,111.05,1.7,63.75625 -2976,30,2.5,111.05,1.7,63.756 -2977,30,2.5,111.05,1.7,63.75575 -2978,30,2.5,111.05,1.7,63.7555 -2979,30,2.5,111.05,1.7,63.75525 -2980,30,2.5,111.05,1.7,63.755 -2981,30,2.5,111.05,1.7,63.75475 -2982,30,2.5,111.05,1.7,63.7545 -2983,30,2.5,111.05,1.7,63.75425 -2984,30,2.5,111.05,1.7,63.754 -2985,30,2.5,111.05,1.7,63.75375 -2986,30,2.5,111.05,1.7,63.7535 -2987,30,2.5,111.05,1.7,63.75325 -2988,30,2.5,111.05,1.7,63.753 -2989,30,2.5,111.05,1.7,63.75275 -2990,30,2.5,111.05,1.7,63.7525 -2991,30,2.5,111.05,1.7,63.75225 -2992,30,2.5,111.05,1.7,63.752 -2993,30,2.5,111.05,1.7,63.75175 -2994,30,2.5,111.05,1.7,63.7515 -2995,30,2.5,111.05,1.7,63.75125 -2996,30,2.5,111.05,1.7,63.751 -2997,30,2.5,111.05,1.7,63.75075 -2998,30,2.5,111.05,1.7,63.7505 -2999,30,2.5,111.05,1.7,63.75025 -3000,30,2.5,111.05,1.7,63.75 -3001,30,2.5,111.05,1.7,63.75 -3002,30,2.5,111.05,1.7,63.75 -3003,30,2.5,111.05,1.7,63.75 -3004,30,2.5,111.05,1.7,63.75 -3005,30,2.5,111.05,1.7,63.75 -3006,30,2.5,111.05,1.7,63.75 -3007,30,2.5,111.05,1.7,63.75 -3008,30,2.5,111.05,1.7,63.75 -3009,30,2.5,111.05,1.7,63.75 -3010,30,2.5,111.05,1.7,63.75 -3011,30,2.5,111.05,1.7,63.75 -3012,30,2.5,111.05,1.7,63.75 -3013,30,2.5,111.05,1.7,63.75 -3014,30,2.5,111.05,1.7,63.75 -3015,30,2.5,111.05,1.7,63.75 -3016,30,2.5,111.05,1.7,63.75 -3017,30,2.5,111.05,1.7,63.75 -3018,30,2.5,111.05,1.7,63.75 -3019,30,2.5,111.05,1.7,63.75 -3020,30,2.5,111.05,1.7,63.75 -3021,30,2.5,111.05,1.7,63.75 -3022,30,2.5,111.05,1.7,63.75 -3023,30,2.5,111.05,1.7,63.75 -3024,30,2.5,111.05,1.7,63.75 -3025,30,2.5,111.05,1.7,63.75 -3026,30,2.5,111.05,1.7,63.75 -3027,30,2.5,111.05,1.7,63.75 -3028,30,2.5,111.05,1.7,63.75 -3029,30,2.5,111.05,1.7,63.75 -3030,30,2.5,111.05,1.7,63.75 -3031,30,2.5,111.05,1.7,63.75 -3032,30,2.5,111.05,1.7,63.75 -3033,30,2.5,111.05,1.7,63.75 -3034,30,2.5,111.05,1.7,63.75 -3035,30,2.5,111.05,1.7,63.75 -3036,30,2.5,111.05,1.7,63.75 -3037,30,2.5,111.05,1.7,63.75 -3038,30,2.5,111.05,1.7,63.75 -3039,30,2.5,111.05,1.7,63.75 -3040,30,2.5,111.05,1.7,63.75 -3041,30,2.5,111.05,1.7,63.75 -3042,30,2.5,111.05,1.7,63.75 -3043,30,2.5,111.05,1.7,63.75 -3044,30,2.5,111.05,1.7,63.75 -3045,30,2.5,111.05,1.7,63.75 -3046,30,2.5,111.05,1.7,63.75 -3047,30,2.5,111.05,1.7,63.75 -3048,30,2.5,111.05,1.7,63.75 -3049,30,2.5,111.05,1.7,63.75 -3050,30,2.5,111.05,1.7,63.75 -3051,30,2.5,111.05,1.7,63.75 -3052,30,2.5,111.05,1.7,63.75 -3053,30,2.5,111.05,1.7,63.75 -3054,30,2.5,111.05,1.7,63.75 -3055,30,2.5,111.05,1.7,63.75 -3056,30,2.5,111.05,1.7,63.75 -3057,30,2.5,111.05,1.7,63.75 -3058,30,2.5,111.05,1.7,63.75 -3059,30,2.5,111.05,1.7,63.75 -3060,30,2.5,111.05,1.7,63.75 -3061,30,2.5,111.05,1.7,63.75 -3062,30,2.5,111.05,1.7,63.75 -3063,30,2.5,111.05,1.7,63.75 -3064,30,2.5,111.05,1.7,63.75 -3065,30,2.5,111.05,1.7,63.75 -3066,30,2.5,111.05,1.7,63.75 -3067,30,2.5,111.05,1.7,63.75 -3068,30,2.5,111.05,1.7,63.75 -3069,30,2.5,111.05,1.7,63.75 -3070,30,2.5,111.05,1.7,63.75 -3071,30,2.5,111.05,1.7,63.75 -3072,30,2.5,111.05,1.7,63.75 -3073,30,2.5,111.05,1.7,63.75 -3074,30,2.5,111.05,1.7,63.75 -3075,30,2.5,111.05,1.7,63.75 -3076,30,2.5,111.05,1.7,63.75 -3077,30,2.5,111.05,1.7,63.75 -3078,30,2.5,111.05,1.7,63.75 -3079,30,2.5,111.05,1.7,63.75 -3080,30,2.5,111.05,1.7,63.75 -3081,30,2.5,111.05,1.7,63.75 -3082,30,2.5,111.05,1.7,63.75 -3083,30,2.5,111.05,1.7,63.75 -3084,30,2.5,111.05,1.7,63.75 -3085,30,2.5,111.05,1.7,63.75 -3086,30,2.5,111.05,1.7,63.75 -3087,30,2.5,111.05,1.7,63.75 -3088,30,2.5,111.05,1.7,63.75 -3089,30,2.5,111.05,1.7,63.75 -3090,30,2.5,111.05,1.7,63.75 -3091,30,2.5,111.05,1.7,63.75 -3092,30,2.5,111.05,1.7,63.75 -3093,30,2.5,111.05,1.7,63.75 -3094,30,2.5,111.05,1.7,63.75 -3095,30,2.5,111.05,1.7,63.75 -3096,30,2.5,111.05,1.7,63.75 -3097,30,2.5,111.05,1.7,63.75 -3098,30,2.5,111.05,1.7,63.75 -3099,30,2.5,111.05,1.7,63.75 -3100,30,2.5,111.05,1.7,63.75 -3101,30,2.5,111.05,1.7,63.75 -3102,30,2.5,111.05,1.7,63.75 -3103,30,2.5,111.05,1.7,63.75 -3104,30,2.5,111.05,1.7,63.75 -3105,30,2.5,111.05,1.7,63.75 -3106,30,2.5,111.05,1.7,63.75 -3107,30,2.5,111.05,1.7,63.75 -3108,30,2.5,111.05,1.7,63.75 -3109,30,2.5,111.05,1.7,63.75 -3110,30,2.5,111.05,1.7,63.75 -3111,30,2.5,111.05,1.7,63.75 -3112,30,2.5,111.05,1.7,63.75 -3113,30,2.5,111.05,1.7,63.75 -3114,30,2.5,111.05,1.7,63.75 -3115,30,2.5,111.05,1.7,63.75 -3116,30,2.5,111.05,1.7,63.75 -3117,30,2.5,111.05,1.7,63.75 -3118,30,2.5,111.05,1.7,63.75 -3119,30,2.5,111.05,1.7,63.75 -3120,30,2.5,111.05,1.7,63.75 -3121,30,2.5,111.05,1.7,63.75 -3122,30,2.5,111.05,1.7,63.75 -3123,30,2.5,111.05,1.7,63.75 -3124,30,2.5,111.05,1.7,63.75 -3125,30,2.5,111.05,1.7,63.75 -3126,30,2.5,111.05,1.7,63.75 -3127,30,2.5,111.05,1.7,63.75 -3128,30,2.5,111.05,1.7,63.75 -3129,30,2.5,111.05,1.7,63.75 -3130,30,2.5,111.05,1.7,63.75 -3131,30,2.5,111.05,1.7,63.75 -3132,30,2.5,111.05,1.7,63.75 -3133,30,2.5,111.05,1.7,63.75 -3134,30,2.5,111.05,1.7,63.75 -3135,30,2.5,111.05,1.7,63.75 -3136,30,2.5,111.05,1.7,63.75 -3137,30,2.5,111.05,1.7,63.75 -3138,30,2.5,111.05,1.7,63.75 -3139,30,2.5,111.05,1.7,63.75 -3140,30,2.5,111.05,1.7,63.75 -3141,30,2.5,111.05,1.7,63.75 -3142,30,2.5,111.05,1.7,63.75 -3143,30,2.5,111.05,1.7,63.75 -3144,30,2.5,111.05,1.7,63.75 -3145,30,2.5,111.05,1.7,63.75 -3146,30,2.5,111.05,1.7,63.75 -3147,30,2.5,111.05,1.7,63.75 -3148,30,2.5,111.05,1.7,63.75 -3149,30,2.5,111.05,1.7,63.75 -3150,30,2.5,111.05,1.7,63.75 -3151,30,2.5,111.05,1.7,63.75 -3152,30,2.5,111.05,1.7,63.75 -3153,30,2.5,111.05,1.7,63.75 -3154,30,2.5,111.05,1.7,63.75 -3155,30,2.5,111.05,1.7,63.75 -3156,30,2.5,111.05,1.7,63.75 -3157,30,2.5,111.05,1.7,63.75 -3158,30,2.5,111.05,1.7,63.75 -3159,30,2.5,111.05,1.7,63.75 -3160,30,2.5,111.05,1.7,63.75 -3161,30,2.5,111.05,1.7,63.75 -3162,30,2.5,111.05,1.7,63.75 -3163,30,2.5,111.05,1.7,63.75 -3164,30,2.5,111.05,1.7,63.75 -3165,30,2.5,111.05,1.7,63.75 -3166,30,2.5,111.05,1.7,63.75 -3167,30,2.5,111.05,1.7,63.75 -3168,30,2.5,111.05,1.7,63.75 -3169,30,2.5,111.05,1.7,63.75 -3170,30,2.5,111.05,1.7,63.75 -3171,30,2.5,111.05,1.7,63.75 -3172,30,2.5,111.05,1.7,63.75 -3173,30,2.5,111.05,1.7,63.75 -3174,30,2.5,111.05,1.7,63.75 -3175,30,2.5,111.05,1.7,63.75 -3176,30,2.5,111.05,1.7,63.75 -3177,30,2.5,111.05,1.7,63.75 -3178,30,2.5,111.05,1.7,63.75 -3179,30,2.5,111.05,1.7,63.75 -3180,30,2.5,111.05,1.7,63.75 -3181,30,2.5,111.05,1.7,63.75 -3182,30,2.5,111.05,1.7,63.75 -3183,30,2.5,111.05,1.7,63.75 -3184,30,2.5,111.05,1.7,63.75 -3185,30,2.5,111.05,1.7,63.75 -3186,30,2.5,111.05,1.7,63.75 -3187,30,2.5,111.05,1.7,63.75 -3188,30,2.5,111.05,1.7,63.75 -3189,30,2.5,111.05,1.7,63.75 -3190,30,2.5,111.05,1.7,63.75 -3191,30,2.5,111.05,1.7,63.75 -3192,30,2.5,111.05,1.7,63.75 -3193,30,2.5,111.05,1.7,63.75 -3194,30,2.5,111.05,1.7,63.75 -3195,30,2.5,111.05,1.7,63.75 -3196,30,2.5,111.05,1.7,63.75 -3197,30,2.5,111.05,1.7,63.75 -3198,30,2.5,111.05,1.7,63.75 -3199,30,2.5,111.05,1.7,63.75 -3200,30,2.5,111.05,1.7,63.75 -3201,30,2.5,111.05,1.7,63.75 -3202,30,2.5,111.05,1.7,63.75 -3203,30,2.5,111.05,1.7,63.75 -3204,30,2.5,111.05,1.7,63.75 -3205,30,2.5,111.05,1.7,63.75 -3206,30,2.5,111.05,1.7,63.75 -3207,30,2.5,111.05,1.7,63.75 -3208,30,2.5,111.05,1.7,63.75 -3209,30,2.5,111.05,1.7,63.75 -3210,30,2.5,111.05,1.7,63.75 -3211,30,2.5,111.05,1.7,63.75 -3212,30,2.5,111.05,1.7,63.75 -3213,30,2.5,111.05,1.7,63.75 -3214,30,2.5,111.05,1.7,63.75 -3215,30,2.5,111.05,1.7,63.75 -3216,30,2.5,111.05,1.7,63.75 -3217,30,2.5,111.05,1.7,63.75 -3218,30,2.5,111.05,1.7,63.75 -3219,30,2.5,111.05,1.7,63.75 -3220,30,2.5,111.05,1.7,63.75 -3221,30,2.5,111.05,1.7,63.75 -3222,30,2.5,111.05,1.7,63.75 -3223,30,2.5,111.05,1.7,63.75 -3224,30,2.5,111.05,1.7,63.75 -3225,30,2.5,111.05,1.7,63.75 -3226,30,2.5,111.05,1.7,63.75 -3227,30,2.5,111.05,1.7,63.75 -3228,30,2.5,111.05,1.7,63.75 -3229,30,2.5,111.05,1.7,63.75 -3230,30,2.5,111.05,1.7,63.75 -3231,30,2.5,111.05,1.7,63.75 -3232,30,2.5,111.05,1.7,63.75 -3233,30,2.5,111.05,1.7,63.75 -3234,30,2.5,111.05,1.7,63.75 -3235,30,2.5,111.05,1.7,63.75 -3236,30,2.5,111.05,1.7,63.75 -3237,30,2.5,111.05,1.7,63.75 -3238,30,2.5,111.05,1.7,63.75 -3239,30,2.5,111.05,1.7,63.75 -3240,30,2.5,111.05,1.7,63.75 -3241,30,2.5,111.05,1.7,63.75 -3242,30,2.5,111.05,1.7,63.75 -3243,30,2.5,111.05,1.7,63.75 -3244,30,2.5,111.05,1.7,63.75 -3245,30,2.5,111.05,1.7,63.75 -3246,30,2.5,111.05,1.7,63.75 -3247,30,2.5,111.05,1.7,63.75 -3248,30,2.5,111.05,1.7,63.75 -3249,30,2.5,111.05,1.7,63.75 -3250,30,2.5,111.05,1.7,63.75 -3251,30,2.5,111.05,1.7,63.75 -3252,30,2.5,111.05,1.7,63.75 -3253,30,2.5,111.05,1.7,63.75 -3254,30,2.5,111.05,1.7,63.75 -3255,30,2.5,111.05,1.7,63.75 -3256,30,2.5,111.05,1.7,63.75 -3257,30,2.5,111.05,1.7,63.75 -3258,30,2.5,111.05,1.7,63.75 -3259,30,2.5,111.05,1.7,63.75 -3260,30,2.5,111.05,1.7,63.75 -3261,30,2.5,111.05,1.7,63.75 -3262,30,2.5,111.05,1.7,63.75 -3263,30,2.5,111.05,1.7,63.75 -3264,30,2.5,111.05,1.7,63.75 -3265,30,2.5,111.05,1.7,63.75 -3266,30,2.5,111.05,1.7,63.75 -3267,30,2.5,111.05,1.7,63.75 -3268,30,2.5,111.05,1.7,63.75 -3269,30,2.5,111.05,1.7,63.75 -3270,30,2.5,111.05,1.7,63.75 -3271,30,2.5,111.05,1.7,63.75 -3272,30,2.5,111.05,1.7,63.75 -3273,30,2.5,111.05,1.7,63.75 -3274,30,2.5,111.05,1.7,63.75 -3275,30,2.5,111.05,1.7,63.75 -3276,30,2.5,111.05,1.7,63.75 -3277,30,2.5,111.05,1.7,63.75 -3278,30,2.5,111.05,1.7,63.75 -3279,30,2.5,111.05,1.7,63.75 -3280,30,2.5,111.05,1.7,63.75 -3281,30,2.5,111.05,1.7,63.75 -3282,30,2.5,111.05,1.7,63.75 -3283,30,2.5,111.05,1.7,63.75 -3284,30,2.5,111.05,1.7,63.75 -3285,30,2.5,111.05,1.7,63.75 -3286,30,2.5,111.05,1.7,63.75 -3287,30,2.5,111.05,1.7,63.75 -3288,30,2.5,111.05,1.7,63.75 -3289,30,2.5,111.05,1.7,63.75 -3290,30,2.5,111.05,1.7,63.75 -3291,30,2.5,111.05,1.7,63.75 -3292,30,2.5,111.05,1.7,63.75 -3293,30,2.5,111.05,1.7,63.75 -3294,30,2.5,111.05,1.7,63.75 -3295,30,2.5,111.05,1.7,63.75 -3296,30,2.5,111.05,1.7,63.75 -3297,30,2.5,111.05,1.7,63.75 -3298,30,2.5,111.05,1.7,63.75 -3299,30,2.5,111.05,1.7,63.75 -3300,30,2.5,111.05,1.7,63.75 -3301,30,2.5,111.05,1.7,63.75 -3302,30,2.5,111.05,1.7,63.75 -3303,30,2.5,111.05,1.7,63.75 -3304,30,2.5,111.05,1.7,63.75 -3305,30,2.5,111.05,1.7,63.75 -3306,30,2.5,111.05,1.7,63.75 -3307,30,2.5,111.05,1.7,63.75 -3308,30,2.5,111.05,1.7,63.75 -3309,30,2.5,111.05,1.7,63.75 -3310,30,2.5,111.05,1.7,63.75 -3311,30,2.5,111.05,1.7,63.75 -3312,30,2.5,111.05,1.7,63.75 -3313,30,2.5,111.05,1.7,63.75 -3314,30,2.5,111.05,1.7,63.75 -3315,30,2.5,111.05,1.7,63.75 -3316,30,2.5,111.05,1.7,63.75 -3317,30,2.5,111.05,1.7,63.75 -3318,30,2.5,111.05,1.7,63.75 -3319,30,2.5,111.05,1.7,63.75 -3320,30,2.5,111.05,1.7,63.75 -3321,30,2.5,111.05,1.7,63.75 -3322,30,2.5,111.05,1.7,63.75 -3323,30,2.5,111.05,1.7,63.75 -3324,30,2.5,111.05,1.7,63.75 -3325,30,2.5,111.05,1.7,63.75 -3326,30,2.5,111.05,1.7,63.75 -3327,30,2.5,111.05,1.7,63.75 -3328,30,2.5,111.05,1.7,63.75 -3329,30,2.5,111.05,1.7,63.75 -3330,30,2.5,111.05,1.7,63.75 -3331,30,2.5,111.05,1.7,63.75 -3332,30,2.5,111.05,1.7,63.75 -3333,30,2.5,111.05,1.7,63.75 -3334,30,2.5,111.05,1.7,63.75 -3335,30,2.5,111.05,1.7,63.75 -3336,30,2.5,111.05,1.7,63.75 -3337,30,2.5,111.05,1.7,63.75 -3338,30,2.5,111.05,1.7,63.75 -3339,30,2.5,111.05,1.7,63.75 -3340,30,2.5,111.05,1.7,63.75 -3341,30,2.5,111.05,1.7,63.75 -3342,30,2.5,111.05,1.7,63.75 -3343,30,2.5,111.05,1.7,63.75 -3344,30,2.5,111.05,1.7,63.75 -3345,30,2.5,111.05,1.7,63.75 -3346,30,2.5,111.05,1.7,63.75 -3347,30,2.5,111.05,1.7,63.75 -3348,30,2.5,111.05,1.7,63.75 -3349,30,2.5,111.05,1.7,63.75 -3350,30,2.5,111.05,1.7,63.75 -3351,30,2.5,111.05,1.7,63.75 -3352,30,2.5,111.05,1.7,63.75 -3353,30,2.5,111.05,1.7,63.75 -3354,30,2.5,111.05,1.7,63.75 -3355,30,2.5,111.05,1.7,63.75 -3356,30,2.5,111.05,1.7,63.75 -3357,30,2.5,111.05,1.7,63.75 -3358,30,2.5,111.05,1.7,63.75 -3359,30,2.5,111.05,1.7,63.75 -3360,30,2.5,111.05,1.7,63.75 -3361,30,2.5,111.05,1.7,63.75 -3362,30,2.5,111.05,1.7,63.75 -3363,30,2.5,111.05,1.7,63.75 -3364,30,2.5,111.05,1.7,63.75 -3365,30,2.5,111.05,1.7,63.75 -3366,30,2.5,111.05,1.7,63.75 -3367,30,2.5,111.05,1.7,63.75 -3368,30,2.5,111.05,1.7,63.75 -3369,30,2.5,111.05,1.7,63.75 -3370,30,2.5,111.05,1.7,63.75 -3371,30,2.5,111.05,1.7,63.75 -3372,30,2.5,111.05,1.7,63.75 -3373,30,2.5,111.05,1.7,63.75 -3374,30,2.5,111.05,1.7,63.75 -3375,30,2.5,111.05,1.7,63.75 -3376,30,2.5,111.05,1.7,63.75 -3377,30,2.5,111.05,1.7,63.75 -3378,30,2.5,111.05,1.7,63.75 -3379,30,2.5,111.05,1.7,63.75 -3380,30,2.5,111.05,1.7,63.75 -3381,30,2.5,111.05,1.7,63.75 -3382,30,2.5,111.05,1.7,63.75 -3383,30,2.5,111.05,1.7,63.75 -3384,30,2.5,111.05,1.7,63.75 -3385,30,2.5,111.05,1.7,63.75 -3386,30,2.5,111.05,1.7,63.75 -3387,30,2.5,111.05,1.7,63.75 -3388,30,2.5,111.05,1.7,63.75 -3389,30,2.5,111.05,1.7,63.75 -3390,30,2.5,111.05,1.7,63.75 -3391,30,2.5,111.05,1.7,63.75 -3392,30,2.5,111.05,1.7,63.75 -3393,30,2.5,111.05,1.7,63.75 -3394,30,2.5,111.05,1.7,63.75 -3395,30,2.5,111.05,1.7,63.75 -3396,30,2.5,111.05,1.7,63.75 -3397,30,2.5,111.05,1.7,63.75 -3398,30,2.5,111.05,1.7,63.75 -3399,30,2.5,111.05,1.7,63.75 -3400,30,2.5,111.05,1.7,63.75 -3401,30,2.5,111.05,1.7,63.75 -3402,30,2.5,111.05,1.7,63.75 -3403,30,2.5,111.05,1.7,63.75 -3404,30,2.5,111.05,1.7,63.75 -3405,30,2.5,111.05,1.7,63.75 -3406,30,2.5,111.05,1.7,63.75 -3407,30,2.5,111.05,1.7,63.75 -3408,30,2.5,111.05,1.7,63.75 -3409,30,2.5,111.05,1.7,63.75 -3410,30,2.5,111.05,1.7,63.75 -3411,30,2.5,111.05,1.7,63.75 -3412,30,2.5,111.05,1.7,63.75 -3413,30,2.5,111.05,1.7,63.75 -3414,30,2.5,111.05,1.7,63.75 -3415,30,2.5,111.05,1.7,63.75 -3416,30,2.5,111.05,1.7,63.75 -3417,30,2.5,111.05,1.7,63.75 -3418,30,2.5,111.05,1.7,63.75 -3419,30,2.5,111.05,1.7,63.75 -3420,30,2.5,111.05,1.7,63.75 -3421,30,2.5,111.05,1.7,63.75 -3422,30,2.5,111.05,1.7,63.75 -3423,30,2.5,111.05,1.7,63.75 -3424,30,2.5,111.05,1.7,63.75 -3425,30,2.5,111.05,1.7,63.75 -3426,30,2.5,111.05,1.7,63.75 -3427,30,2.5,111.05,1.7,63.75 -3428,30,2.5,111.05,1.7,63.75 -3429,30,2.5,111.05,1.7,63.75 -3430,30,2.5,111.05,1.7,63.75 -3431,30,2.5,111.05,1.7,63.75 -3432,30,2.5,111.05,1.7,63.75 -3433,30,2.5,111.05,1.7,63.75 -3434,30,2.5,111.05,1.7,63.75 -3435,30,2.5,111.05,1.7,63.75 -3436,30,2.5,111.05,1.7,63.75 -3437,30,2.5,111.05,1.7,63.75 -3438,30,2.5,111.05,1.7,63.75 -3439,30,2.5,111.05,1.7,63.75 -3440,30,2.5,111.05,1.7,63.75 -3441,30,2.5,111.05,1.7,63.75 -3442,30,2.5,111.05,1.7,63.75 -3443,30,2.5,111.05,1.7,63.75 -3444,30,2.5,111.05,1.7,63.75 -3445,30,2.5,111.05,1.7,63.75 -3446,30,2.5,111.05,1.7,63.75 -3447,30,2.5,111.05,1.7,63.75 -3448,30,2.5,111.05,1.7,63.75 -3449,30,2.5,111.05,1.7,63.75 -3450,30,2.5,111.05,1.7,63.75 -3451,30,2.5,111.05,1.7,63.75 -3452,30,2.5,111.05,1.7,63.75 -3453,30,2.5,111.05,1.7,63.75 -3454,30,2.5,111.05,1.7,63.75 -3455,30,2.5,111.05,1.7,63.75 -3456,30,2.5,111.05,1.7,63.75 -3457,30,2.5,111.05,1.7,63.75 -3458,30,2.5,111.05,1.7,63.75 -3459,30,2.5,111.05,1.7,63.75 -3460,30,2.5,111.05,1.7,63.75 -3461,30,2.5,111.05,1.7,63.75 -3462,30,2.5,111.05,1.7,63.75 -3463,30,2.5,111.05,1.7,63.75 -3464,30,2.5,111.05,1.7,63.75 -3465,30,2.5,111.05,1.7,63.75 -3466,30,2.5,111.05,1.7,63.75 -3467,30,2.5,111.05,1.7,63.75 -3468,30,2.5,111.05,1.7,63.75 -3469,30,2.5,111.05,1.7,63.75 -3470,30,2.5,111.05,1.7,63.75 -3471,30,2.5,111.05,1.7,63.75 -3472,30,2.5,111.05,1.7,63.75 -3473,30,2.5,111.05,1.7,63.75 -3474,30,2.5,111.05,1.7,63.75 -3475,30,2.5,111.05,1.7,63.75 -3476,30,2.5,111.05,1.7,63.75 -3477,30,2.5,111.05,1.7,63.75 -3478,30,2.5,111.05,1.7,63.75 -3479,30,2.5,111.05,1.7,63.75 -3480,30,2.5,111.05,1.7,63.75 -3481,30,2.5,111.05,1.7,63.75 -3482,30,2.5,111.05,1.7,63.75 -3483,30,2.5,111.05,1.7,63.75 -3484,30,2.5,111.05,1.7,63.75 -3485,30,2.5,111.05,1.7,63.75 -3486,30,2.5,111.05,1.7,63.75 -3487,30,2.5,111.05,1.7,63.75 -3488,30,2.5,111.05,1.7,63.75 -3489,30,2.5,111.05,1.7,63.75 -3490,30,2.5,111.05,1.7,63.75 -3491,30,2.5,111.05,1.7,63.75 -3492,30,2.5,111.05,1.7,63.75 -3493,30,2.5,111.05,1.7,63.75 -3494,30,2.5,111.05,1.7,63.75 -3495,30,2.5,111.05,1.7,63.75 -3496,30,2.5,111.05,1.7,63.75 -3497,30,2.5,111.05,1.7,63.75 -3498,30,2.5,111.05,1.7,63.75 -3499,30,2.5,111.05,1.7,63.75 -3500,30,2.5,111.05,1.7,63.75 -3501,30,2.5,111.05,1.7,63.75 -3502,30,2.5,111.05,1.7,63.75 -3503,30,2.5,111.05,1.7,63.75 -3504,30,2.5,111.05,1.7,63.75 -3505,30,2.5,111.05,1.7,63.75 -3506,30,2.5,111.05,1.7,63.75 -3507,30,2.5,111.05,1.7,63.75 -3508,30,2.5,111.05,1.7,63.75 -3509,30,2.5,111.05,1.7,63.75 -3510,30,2.5,111.05,1.7,63.75 -3511,30,2.5,111.05,1.7,63.75 -3512,30,2.5,111.05,1.7,63.75 -3513,30,2.5,111.05,1.7,63.75 -3514,30,2.5,111.05,1.7,63.75 -3515,30,2.5,111.05,1.7,63.75 -3516,30,2.5,111.05,1.7,63.75 -3517,30,2.5,111.05,1.7,63.75 -3518,30,2.5,111.05,1.7,63.75 -3519,30,2.5,111.05,1.7,63.75 -3520,30,2.5,111.05,1.7,63.75 -3521,30,2.5,111.05,1.7,63.75 -3522,30,2.5,111.05,1.7,63.75 -3523,30,2.5,111.05,1.7,63.75 -3524,30,2.5,111.05,1.7,63.75 -3525,30,2.5,111.05,1.7,63.75 -3526,30,2.5,111.05,1.7,63.75 -3527,30,2.5,111.05,1.7,63.75 -3528,30,2.5,111.05,1.7,63.75 -3529,30,2.5,111.05,1.7,63.75 -3530,30,2.5,111.05,1.7,63.75 -3531,30,2.5,111.05,1.7,63.75 -3532,30,2.5,111.05,1.7,63.75 -3533,30,2.5,111.05,1.7,63.75 -3534,30,2.5,111.05,1.7,63.75 -3535,30,2.5,111.05,1.7,63.75 -3536,30,2.5,111.05,1.7,63.75 -3537,30,2.5,111.05,1.7,63.75 -3538,30,2.5,111.05,1.7,63.75 -3539,30,2.5,111.05,1.7,63.75 -3540,30,2.5,111.05,1.7,63.75 -3541,30,2.5,111.05,1.7,63.75 -3542,30,2.5,111.05,1.7,63.75 -3543,30,2.5,111.05,1.7,63.75 -3544,30,2.5,111.05,1.7,63.75 -3545,30,2.5,111.05,1.7,63.75 -3546,30,2.5,111.05,1.7,63.75 -3547,30,2.5,111.05,1.7,63.75 -3548,30,2.5,111.05,1.7,63.75 -3549,30,2.5,111.05,1.7,63.75 -3550,30,2.5,111.05,1.7,63.75 -3551,30,2.5,111.05,1.7,63.75 -3552,30,2.5,111.05,1.7,63.75 -3553,30,2.5,111.05,1.7,63.75 -3554,30,2.5,111.05,1.7,63.75 -3555,30,2.5,111.05,1.7,63.75 -3556,30,2.5,111.05,1.7,63.75 -3557,30,2.5,111.05,1.7,63.75 -3558,30,2.5,111.05,1.7,63.75 -3559,30,2.5,111.05,1.7,63.75 -3560,30,2.5,111.05,1.7,63.75 -3561,30,2.5,111.05,1.7,63.75 -3562,30,2.5,111.05,1.7,63.75 -3563,30,2.5,111.05,1.7,63.75 -3564,30,2.5,111.05,1.7,63.75 -3565,30,2.5,111.05,1.7,63.75 -3566,30,2.5,111.05,1.7,63.75 -3567,30,2.5,111.05,1.7,63.75 -3568,30,2.5,111.05,1.7,63.75 -3569,30,2.5,111.05,1.7,63.75 -3570,30,2.5,111.05,1.7,63.75 -3571,30,2.5,111.05,1.7,63.75 -3572,30,2.5,111.05,1.7,63.75 -3573,30,2.5,111.05,1.7,63.75 -3574,30,2.5,111.05,1.7,63.75 -3575,30,2.5,111.05,1.7,63.75 -3576,30,2.5,111.05,1.7,63.75 -3577,30,2.5,111.05,1.7,63.75 -3578,30,2.5,111.05,1.7,63.75 -3579,30,2.5,111.05,1.7,63.75 -3580,30,2.5,111.05,1.7,63.75 -3581,30,2.5,111.05,1.7,63.75 -3582,30,2.5,111.05,1.7,63.75 -3583,30,2.5,111.05,1.7,63.75 -3584,30,2.5,111.05,1.7,63.75 -3585,30,2.5,111.05,1.7,63.75 -3586,30,2.5,111.05,1.7,63.75 -3587,30,2.5,111.05,1.7,63.75 -3588,30,2.5,111.05,1.7,63.75 -3589,30,2.5,111.05,1.7,63.75 -3590,30,2.5,111.05,1.7,63.75 -3591,30,2.5,111.05,1.7,63.75 -3592,30,2.5,111.05,1.7,63.75 -3593,30,2.5,111.05,1.7,63.75 -3594,30,2.5,111.05,1.7,63.75 -3595,30,2.5,111.05,1.7,63.75 -3596,30,2.5,111.05,1.7,63.75 -3597,30,2.5,111.05,1.7,63.75 -3598,30,2.5,111.05,1.7,63.75 -3599,30,2.5,111.05,1.7,63.75 -3600,30,2.5,111.05,1.7,63.75 -3601,30,2.5,111.05,1.7,63.75 -3602,30,2.5,111.05,1.7,63.75 -3603,30,2.5,111.05,1.7,63.75 -3604,30,2.5,111.05,1.7,63.75 -3605,30,2.5,111.05,1.7,63.75 -3606,30,2.5,111.05,1.7,63.75 -3607,30,2.5,111.05,1.7,63.75 -3608,30,2.5,111.05,1.7,63.75 -3609,30,2.5,111.05,1.7,63.75 -3610,30,2.5,111.05,1.7,63.75 -3611,30,2.5,111.05,1.7,63.75 -3612,30,2.5,111.05,1.7,63.75 -3613,30,2.5,111.05,1.7,63.75 -3614,30,2.5,111.05,1.7,63.75 -3615,30,2.5,111.05,1.7,63.75 -3616,30,2.5,111.05,1.7,63.75 -3617,30,2.5,111.05,1.7,63.75 -3618,30,2.5,111.05,1.7,63.75 -3619,30,2.5,111.05,1.7,63.75 -3620,30,2.5,111.05,1.7,63.75 -3621,30,2.5,111.05,1.7,63.75 -3622,30,2.5,111.05,1.7,63.75 -3623,30,2.5,111.05,1.7,63.75 -3624,30,2.5,111.05,1.7,63.75 -3625,30,2.5,111.05,1.7,63.75 -3626,30,2.5,111.05,1.7,63.75 -3627,30,2.5,111.05,1.7,63.75 -3628,30,2.5,111.05,1.7,63.75 -3629,30,2.5,111.05,1.7,63.75 -3630,30,2.5,111.05,1.7,63.75 -3631,30,2.5,111.05,1.7,63.75 -3632,30,2.5,111.05,1.7,63.75 -3633,30,2.5,111.05,1.7,63.75 -3634,30,2.5,111.05,1.7,63.75 -3635,30,2.5,111.05,1.7,63.75 -3636,30,2.5,111.05,1.7,63.75 -3637,30,2.5,111.05,1.7,63.75 -3638,30,2.5,111.05,1.7,63.75 -3639,30,2.5,111.05,1.7,63.75 -3640,30,2.5,111.05,1.7,63.75 -3641,30,2.5,111.05,1.7,63.75 -3642,30,2.5,111.05,1.7,63.75 -3643,30,2.5,111.05,1.7,63.75 -3644,30,2.5,111.05,1.7,63.75 -3645,30,2.5,111.05,1.7,63.75 -3646,30,2.5,111.05,1.7,63.75 -3647,30,2.5,111.05,1.7,63.75 -3648,30,2.5,111.05,1.7,63.75 -3649,30,2.5,111.05,1.7,63.75 -3650,30,2.5,111.05,1.7,63.75 -3651,30,2.5,111.05,1.7,63.75 -3652,30,2.5,111.05,1.7,63.75 -3653,30,2.5,111.05,1.7,63.75 -3654,30,2.5,111.05,1.7,63.75 -3655,30,2.5,111.05,1.7,63.75 -3656,30,2.5,111.05,1.7,63.75 -3657,30,2.5,111.05,1.7,63.75 -3658,30,2.5,111.05,1.7,63.75 -3659,30,2.5,111.05,1.7,63.75 -3660,30,2.5,111.05,1.7,63.75 -3661,30,2.5,111.05,1.7,63.75 -3662,30,2.5,111.05,1.7,63.75 -3663,30,2.5,111.05,1.7,63.75 -3664,30,2.5,111.05,1.7,63.75 -3665,30,2.5,111.05,1.7,63.75 -3666,30,2.5,111.05,1.7,63.75 -3667,30,2.5,111.05,1.7,63.75 -3668,30,2.5,111.05,1.7,63.75 -3669,30,2.5,111.05,1.7,63.75 -3670,30,2.5,111.05,1.7,63.75 -3671,30,2.5,111.05,1.7,63.75 -3672,30,2.5,111.05,1.7,63.75 -3673,30,2.5,111.05,1.7,63.75 -3674,30,2.5,111.05,1.7,63.75 -3675,30,2.5,111.05,1.7,63.75 -3676,30,2.5,111.05,1.7,63.75 -3677,30,2.5,111.05,1.7,63.75 -3678,30,2.5,111.05,1.7,63.75 -3679,30,2.5,111.05,1.7,63.75 -3680,30,2.5,111.05,1.7,63.75 -3681,30,2.5,111.05,1.7,63.75 -3682,30,2.5,111.05,1.7,63.75 -3683,30,2.5,111.05,1.7,63.75 -3684,30,2.5,111.05,1.7,63.75 -3685,30,2.5,111.05,1.7,63.75 -3686,30,2.5,111.05,1.7,63.75 -3687,30,2.5,111.05,1.7,63.75 -3688,30,2.5,111.05,1.7,63.75 -3689,30,2.5,111.05,1.7,63.75 -3690,30,2.5,111.05,1.7,63.75 -3691,30,2.5,111.05,1.7,63.75 -3692,30,2.5,111.05,1.7,63.75 -3693,30,2.5,111.05,1.7,63.75 -3694,30,2.5,111.05,1.7,63.75 -3695,30,2.5,111.05,1.7,63.75 -3696,30,2.5,111.05,1.7,63.75 -3697,30,2.5,111.05,1.7,63.75 -3698,30,2.5,111.05,1.7,63.75 -3699,30,2.5,111.05,1.7,63.75 -3700,30,2.5,111.05,1.7,63.75 -3701,30,2.5,111.05,1.7,63.75 -3702,30,2.5,111.05,1.7,63.75 -3703,30,2.5,111.05,1.7,63.75 -3704,30,2.5,111.05,1.7,63.75 -3705,30,2.5,111.05,1.7,63.75 -3706,30,2.5,111.05,1.7,63.75 -3707,30,2.5,111.05,1.7,63.75 -3708,30,2.5,111.05,1.7,63.75 -3709,30,2.5,111.05,1.7,63.75 -3710,30,2.5,111.05,1.7,63.75 -3711,30,2.5,111.05,1.7,63.75 -3712,30,2.5,111.05,1.7,63.75 -3713,30,2.5,111.05,1.7,63.75 -3714,30,2.5,111.05,1.7,63.75 -3715,30,2.5,111.05,1.7,63.75 -3716,30,2.5,111.05,1.7,63.75 -3717,30,2.5,111.05,1.7,63.75 -3718,30,2.5,111.05,1.7,63.75 -3719,30,2.5,111.05,1.7,63.75 -3720,30,2.5,111.05,1.7,63.75 -3721,30,2.5,111.05,1.7,63.75 -3722,30,2.5,111.05,1.7,63.75 -3723,30,2.5,111.05,1.7,63.75 -3724,30,2.5,111.05,1.7,63.75 -3725,30,2.5,111.05,1.7,63.75 -3726,30,2.5,111.05,1.7,63.75 -3727,30,2.5,111.05,1.7,63.75 -3728,30,2.5,111.05,1.7,63.75 -3729,30,2.5,111.05,1.7,63.75 -3730,30,2.5,111.05,1.7,63.75 -3731,30,2.5,111.05,1.7,63.75 -3732,30,2.5,111.05,1.7,63.75 -3733,30,2.5,111.05,1.7,63.75 -3734,30,2.5,111.05,1.7,63.75 -3735,30,2.5,111.05,1.7,63.75 -3736,30,2.5,111.05,1.7,63.75 -3737,30,2.5,111.05,1.7,63.75 -3738,30,2.5,111.05,1.7,63.75 -3739,30,2.5,111.05,1.7,63.75 -3740,30,2.5,111.05,1.7,63.75 -3741,30,2.5,111.05,1.7,63.75 -3742,30,2.5,111.05,1.7,63.75 -3743,30,2.5,111.05,1.7,63.75 -3744,30,2.5,111.05,1.7,63.75 -3745,30,2.5,111.05,1.7,63.75 -3746,30,2.5,111.05,1.7,63.75 -3747,30,2.5,111.05,1.7,63.75 -3748,30,2.5,111.05,1.7,63.75 -3749,30,2.5,111.05,1.7,63.75 -3750,30,2.5,111.05,1.7,63.75 -3751,30,2.5,111.05,1.7,63.75 -3752,30,2.5,111.05,1.7,63.75 -3753,30,2.5,111.05,1.7,63.75 -3754,30,2.5,111.05,1.7,63.75 -3755,30,2.5,111.05,1.7,63.75 -3756,30,2.5,111.05,1.7,63.75 -3757,30,2.5,111.05,1.7,63.75 -3758,30,2.5,111.05,1.7,63.75 -3759,30,2.5,111.05,1.7,63.75 -3760,30,2.5,111.05,1.7,63.75 -3761,30,2.5,111.05,1.7,63.75 -3762,30,2.5,111.05,1.7,63.75 -3763,30,2.5,111.05,1.7,63.75 -3764,30,2.5,111.05,1.7,63.75 -3765,30,2.5,111.05,1.7,63.75 -3766,30,2.5,111.05,1.7,63.75 -3767,30,2.5,111.05,1.7,63.75 -3768,30,2.5,111.05,1.7,63.75 -3769,30,2.5,111.05,1.7,63.75 -3770,30,2.5,111.05,1.7,63.75 -3771,30,2.5,111.05,1.7,63.75 -3772,30,2.5,111.05,1.7,63.75 -3773,30,2.5,111.05,1.7,63.75 -3774,30,2.5,111.05,1.7,63.75 -3775,30,2.5,111.05,1.7,63.75 -3776,30,2.5,111.05,1.7,63.75 -3777,30,2.5,111.05,1.7,63.75 -3778,30,2.5,111.05,1.7,63.75 -3779,30,2.5,111.05,1.7,63.75 -3780,30,2.5,111.05,1.7,63.75 -3781,30,2.5,111.05,1.7,63.75 -3782,30,2.5,111.05,1.7,63.75 -3783,30,2.5,111.05,1.7,63.75 -3784,30,2.5,111.05,1.7,63.75 -3785,30,2.5,111.05,1.7,63.75 -3786,30,2.5,111.05,1.7,63.75 -3787,30,2.5,111.05,1.7,63.75 -3788,30,2.5,111.05,1.7,63.75 -3789,30,2.5,111.05,1.7,63.75 -3790,30,2.5,111.05,1.7,63.75 -3791,30,2.5,111.05,1.7,63.75 -3792,30,2.5,111.05,1.7,63.75 -3793,30,2.5,111.05,1.7,63.75 -3794,30,2.5,111.05,1.7,63.75 -3795,30,2.5,111.05,1.7,63.75 -3796,30,2.5,111.05,1.7,63.75 -3797,30,2.5,111.05,1.7,63.75 -3798,30,2.5,111.05,1.7,63.75 -3799,30,2.5,111.05,1.7,63.75 -3800,30,2.5,111.05,1.7,63.75 -3801,30,2.5,111.05,1.7,63.75 -3802,30,2.5,111.05,1.7,63.75 -3803,30,2.5,111.05,1.7,63.75 -3804,30,2.5,111.05,1.7,63.75 -3805,30,2.5,111.05,1.7,63.75 -3806,30,2.5,111.05,1.7,63.75 -3807,30,2.5,111.05,1.7,63.75 -3808,30,2.5,111.05,1.7,63.75 -3809,30,2.5,111.05,1.7,63.75 -3810,30,2.5,111.05,1.7,63.75 -3811,30,2.5,111.05,1.7,63.75 -3812,30,2.5,111.05,1.7,63.75 -3813,30,2.5,111.05,1.7,63.75 -3814,30,2.5,111.05,1.7,63.75 -3815,30,2.5,111.05,1.7,63.75 -3816,30,2.5,111.05,1.7,63.75 -3817,30,2.5,111.05,1.7,63.75 -3818,30,2.5,111.05,1.7,63.75 -3819,30,2.5,111.05,1.7,63.75 -3820,30,2.5,111.05,1.7,63.75 -3821,30,2.5,111.05,1.7,63.75 -3822,30,2.5,111.05,1.7,63.75 -3823,30,2.5,111.05,1.7,63.75 -3824,30,2.5,111.05,1.7,63.75 -3825,30,2.5,111.05,1.7,63.75 -3826,30,2.5,111.05,1.7,63.75 -3827,30,2.5,111.05,1.7,63.75 -3828,30,2.5,111.05,1.7,63.75 -3829,30,2.5,111.05,1.7,63.75 -3830,30,2.5,111.05,1.7,63.75 -3831,30,2.5,111.05,1.7,63.75 -3832,30,2.5,111.05,1.7,63.75 -3833,30,2.5,111.05,1.7,63.75 -3834,30,2.5,111.05,1.7,63.75 -3835,30,2.5,111.05,1.7,63.75 -3836,30,2.5,111.05,1.7,63.75 -3837,30,2.5,111.05,1.7,63.75 -3838,30,2.5,111.05,1.7,63.75 -3839,30,2.5,111.05,1.7,63.75 -3840,30,2.5,111.05,1.7,63.75 -3841,30,2.5,111.05,1.7,63.75 -3842,30,2.5,111.05,1.7,63.75 -3843,30,2.5,111.05,1.7,63.75 -3844,30,2.5,111.05,1.7,63.75 -3845,30,2.5,111.05,1.7,63.75 -3846,30,2.5,111.05,1.7,63.75 -3847,30,2.5,111.05,1.7,63.75 -3848,30,2.5,111.05,1.7,63.75 -3849,30,2.5,111.05,1.7,63.75 -3850,30,2.5,111.05,1.7,63.75 -3851,30,2.5,111.05,1.7,63.75 -3852,30,2.5,111.05,1.7,63.75 -3853,30,2.5,111.05,1.7,63.75 -3854,30,2.5,111.05,1.7,63.75 -3855,30,2.5,111.05,1.7,63.75 -3856,30,2.5,111.05,1.7,63.75 -3857,30,2.5,111.05,1.7,63.75 -3858,30,2.5,111.05,1.7,63.75 -3859,30,2.5,111.05,1.7,63.75 -3860,30,2.5,111.05,1.7,63.75 -3861,30,2.5,111.05,1.7,63.75 -3862,30,2.5,111.05,1.7,63.75 -3863,30,2.5,111.05,1.7,63.75 -3864,30,2.5,111.05,1.7,63.75 -3865,30,2.5,111.05,1.7,63.75 -3866,30,2.5,111.05,1.7,63.75 -3867,30,2.5,111.05,1.7,63.75 -3868,30,2.5,111.05,1.7,63.75 -3869,30,2.5,111.05,1.7,63.75 -3870,30,2.5,111.05,1.7,63.75 -3871,30,2.5,111.05,1.7,63.75 -3872,30,2.5,111.05,1.7,63.75 -3873,30,2.5,111.05,1.7,63.75 -3874,30,2.5,111.05,1.7,63.75 -3875,30,2.5,111.05,1.7,63.75 -3876,30,2.5,111.05,1.7,63.75 -3877,30,2.5,111.05,1.7,63.75 -3878,30,2.5,111.05,1.7,63.75 -3879,30,2.5,111.05,1.7,63.75 -3880,30,2.5,111.05,1.7,63.75 -3881,30,2.5,111.05,1.7,63.75 -3882,30,2.5,111.05,1.7,63.75 -3883,30,2.5,111.05,1.7,63.75 -3884,30,2.5,111.05,1.7,63.75 -3885,30,2.5,111.05,1.7,63.75 -3886,30,2.5,111.05,1.7,63.75 -3887,30,2.5,111.05,1.7,63.75 -3888,30,2.5,111.05,1.7,63.75 -3889,30,2.5,111.05,1.7,63.75 -3890,30,2.5,111.05,1.7,63.75 -3891,30,2.5,111.05,1.7,63.75 -3892,30,2.5,111.05,1.7,63.75 -3893,30,2.5,111.05,1.7,63.75 -3894,30,2.5,111.05,1.7,63.75 -3895,30,2.5,111.05,1.7,63.75 -3896,30,2.5,111.05,1.7,63.75 -3897,30,2.5,111.05,1.7,63.75 -3898,30,2.5,111.05,1.7,63.75 -3899,30,2.5,111.05,1.7,63.75 -3900,30,2.5,111.05,1.7,63.75 -3901,30,2.5,111.05,1.7,63.75 -3902,30,2.5,111.05,1.7,63.75 -3903,30,2.5,111.05,1.7,63.75 -3904,30,2.5,111.05,1.7,63.75 -3905,30,2.5,111.05,1.7,63.75 -3906,30,2.5,111.05,1.7,63.75 -3907,30,2.5,111.05,1.7,63.75 -3908,30,2.5,111.05,1.7,63.75 -3909,30,2.5,111.05,1.7,63.75 -3910,30,2.5,111.05,1.7,63.75 -3911,30,2.5,111.05,1.7,63.75 -3912,30,2.5,111.05,1.7,63.75 -3913,30,2.5,111.05,1.7,63.75 -3914,30,2.5,111.05,1.7,63.75 -3915,30,2.5,111.05,1.7,63.75 -3916,30,2.5,111.05,1.7,63.75 -3917,30,2.5,111.05,1.7,63.75 -3918,30,2.5,111.05,1.7,63.75 -3919,30,2.5,111.05,1.7,63.75 -3920,30,2.5,111.05,1.7,63.75 -3921,30,2.5,111.05,1.7,63.75 -3922,30,2.5,111.05,1.7,63.75 -3923,30,2.5,111.05,1.7,63.75 -3924,30,2.5,111.05,1.7,63.75 -3925,30,2.5,111.05,1.7,63.75 -3926,30,2.5,111.05,1.7,63.75 -3927,30,2.5,111.05,1.7,63.75 -3928,30,2.5,111.05,1.7,63.75 -3929,30,2.5,111.05,1.7,63.75 -3930,30,2.5,111.05,1.7,63.75 -3931,30,2.5,111.05,1.7,63.75 -3932,30,2.5,111.05,1.7,63.75 -3933,30,2.5,111.05,1.7,63.75 -3934,30,2.5,111.05,1.7,63.75 -3935,30,2.5,111.05,1.7,63.75 -3936,30,2.5,111.05,1.7,63.75 -3937,30,2.5,111.05,1.7,63.75 -3938,30,2.5,111.05,1.7,63.75 -3939,30,2.5,111.05,1.7,63.75 -3940,30,2.5,111.05,1.7,63.75 -3941,30,2.5,111.05,1.7,63.75 -3942,30,2.5,111.05,1.7,63.75 -3943,30,2.5,111.05,1.7,63.75 -3944,30,2.5,111.05,1.7,63.75 -3945,30,2.5,111.05,1.7,63.75 -3946,30,2.5,111.05,1.7,63.75 -3947,30,2.5,111.05,1.7,63.75 -3948,30,2.5,111.05,1.7,63.75 -3949,30,2.5,111.05,1.7,63.75 -3950,30,2.5,111.05,1.7,63.75 -3951,30,2.5,111.05,1.7,63.75 -3952,30,2.5,111.05,1.7,63.75 -3953,30,2.5,111.05,1.7,63.75 -3954,30,2.5,111.05,1.7,63.75 -3955,30,2.5,111.05,1.7,63.75 -3956,30,2.5,111.05,1.7,63.75 -3957,30,2.5,111.05,1.7,63.75 -3958,30,2.5,111.05,1.7,63.75 -3959,30,2.5,111.05,1.7,63.75 -3960,30,2.5,111.05,1.7,63.75 -3961,30,2.5,111.05,1.7,63.75 -3962,30,2.5,111.05,1.7,63.75 -3963,30,2.5,111.05,1.7,63.75 -3964,30,2.5,111.05,1.7,63.75 -3965,30,2.5,111.05,1.7,63.75 -3966,30,2.5,111.05,1.7,63.75 -3967,30,2.5,111.05,1.7,63.75 -3968,30,2.5,111.05,1.7,63.75 -3969,30,2.5,111.05,1.7,63.75 -3970,30,2.5,111.05,1.7,63.75 -3971,30,2.5,111.05,1.7,63.75 -3972,30,2.5,111.05,1.7,63.75 -3973,30,2.5,111.05,1.7,63.75 -3974,30,2.5,111.05,1.7,63.75 -3975,30,2.5,111.05,1.7,63.75 -3976,30,2.5,111.05,1.7,63.75 -3977,30,2.5,111.05,1.7,63.75 -3978,30,2.5,111.05,1.7,63.75 -3979,30,2.5,111.05,1.7,63.75 -3980,30,2.5,111.05,1.7,63.75 -3981,30,2.5,111.05,1.7,63.75 -3982,30,2.5,111.05,1.7,63.75 -3983,30,2.5,111.05,1.7,63.75 -3984,30,2.5,111.05,1.7,63.75 -3985,30,2.5,111.05,1.7,63.75 -3986,30,2.5,111.05,1.7,63.75 -3987,30,2.5,111.05,1.7,63.75 -3988,30,2.5,111.05,1.7,63.75 -3989,30,2.5,111.05,1.7,63.75 -3990,30,2.5,111.05,1.7,63.75 -3991,30,2.5,111.05,1.7,63.75 -3992,30,2.5,111.05,1.7,63.75 -3993,30,2.5,111.05,1.7,63.75 -3994,30,2.5,111.05,1.7,63.75 -3995,30,2.5,111.05,1.7,63.75 -3996,30,2.5,111.05,1.7,63.75 -3997,30,2.5,111.05,1.7,63.75 -3998,30,2.5,111.05,1.7,63.75 -3999,30,2.5,111.05,1.7,63.75 -4000,30,2.5,111.05,1.7,63.75 -4001,30,2.5,111.05,1.7,63.75 -4002,30,2.5,111.05,1.7,63.75 -4003,30,2.5,111.05,1.7,63.75 -4004,30,2.5,111.05,1.7,63.75 -4005,30,2.5,111.05,1.7,63.75 -4006,30,2.5,111.05,1.7,63.75 -4007,30,2.5,111.05,1.7,63.75 -4008,30,2.5,111.05,1.7,63.75 -4009,30,2.5,111.05,1.7,63.75 -4010,30,2.5,111.05,1.7,63.75 -4011,30,2.5,111.05,1.7,63.75 -4012,30,2.5,111.05,1.7,63.75 -4013,30,2.5,111.05,1.7,63.75 -4014,30,2.5,111.05,1.7,63.75 -4015,30,2.5,111.05,1.7,63.75 -4016,30,2.5,111.05,1.7,63.75 -4017,30,2.5,111.05,1.7,63.75 -4018,30,2.5,111.05,1.7,63.75 -4019,30,2.5,111.05,1.7,63.75 -4020,30,2.5,111.05,1.7,63.75 -4021,30,2.5,111.05,1.7,63.75 -4022,30,2.5,111.05,1.7,63.75 -4023,30,2.5,111.05,1.7,63.75 -4024,30,2.5,111.05,1.7,63.75 -4025,30,2.5,111.05,1.7,63.75 -4026,30,2.5,111.05,1.7,63.75 -4027,30,2.5,111.05,1.7,63.75 -4028,30,2.5,111.05,1.7,63.75 -4029,30,2.5,111.05,1.7,63.75 -4030,30,2.5,111.05,1.7,63.75 -4031,30,2.5,111.05,1.7,63.75 -4032,30,2.5,111.05,1.7,63.75 -4033,30,2.5,111.05,1.7,63.75 -4034,30,2.5,111.05,1.7,63.75 -4035,30,2.5,111.05,1.7,63.75 -4036,30,2.5,111.05,1.7,63.75 -4037,30,2.5,111.05,1.7,63.75 -4038,30,2.5,111.05,1.7,63.75 -4039,30,2.5,111.05,1.7,63.75 -4040,30,2.5,111.05,1.7,63.75 -4041,30,2.5,111.05,1.7,63.75 -4042,30,2.5,111.05,1.7,63.75 -4043,30,2.5,111.05,1.7,63.75 -4044,30,2.5,111.05,1.7,63.75 -4045,30,2.5,111.05,1.7,63.75 -4046,30,2.5,111.05,1.7,63.75 -4047,30,2.5,111.05,1.7,63.75 -4048,30,2.5,111.05,1.7,63.75 -4049,30,2.5,111.05,1.7,63.75 -4050,30,2.5,111.05,1.7,63.75 -4051,30,2.5,111.05,1.7,63.75 -4052,30,2.5,111.05,1.7,63.75 -4053,30,2.5,111.05,1.7,63.75 -4054,30,2.5,111.05,1.7,63.75 -4055,30,2.5,111.05,1.7,63.75 -4056,30,2.5,111.05,1.7,63.75 -4057,30,2.5,111.05,1.7,63.75 -4058,30,2.5,111.05,1.7,63.75 -4059,30,2.5,111.05,1.7,63.75 -4060,30,2.5,111.05,1.7,63.75 -4061,30,2.5,111.05,1.7,63.75 -4062,30,2.5,111.05,1.7,63.75 -4063,30,2.5,111.05,1.7,63.75 -4064,30,2.5,111.05,1.7,63.75 -4065,30,2.5,111.05,1.7,63.75 -4066,30,2.5,111.05,1.7,63.75 -4067,30,2.5,111.05,1.7,63.75 -4068,30,2.5,111.05,1.7,63.75 -4069,30,2.5,111.05,1.7,63.75 -4070,30,2.5,111.05,1.7,63.75 -4071,30,2.5,111.05,1.7,63.75 -4072,30,2.5,111.05,1.7,63.75 -4073,30,2.5,111.05,1.7,63.75 -4074,30,2.5,111.05,1.7,63.75 -4075,30,2.5,111.05,1.7,63.75 -4076,30,2.5,111.05,1.7,63.75 -4077,30,2.5,111.05,1.7,63.75 -4078,30,2.5,111.05,1.7,63.75 -4079,30,2.5,111.05,1.7,63.75 -4080,30,2.5,111.05,1.7,63.75 -4081,30,2.5,111.05,1.7,63.75 -4082,30,2.5,111.05,1.7,63.75 -4083,30,2.5,111.05,1.7,63.75 -4084,30,2.5,111.05,1.7,63.75 -4085,30,2.5,111.05,1.7,63.75 -4086,30,2.5,111.05,1.7,63.75 -4087,30,2.5,111.05,1.7,63.75 -4088,30,2.5,111.05,1.7,63.75 -4089,30,2.5,111.05,1.7,63.75 -4090,30,2.5,111.05,1.7,63.75 -4091,30,2.5,111.05,1.7,63.75 -4092,30,2.5,111.05,1.7,63.75 -4093,30,2.5,111.05,1.7,63.75 -4094,30,2.5,111.05,1.7,63.75 -4095,30,2.5,111.05,1.7,63.75 -4096,30,2.5,111.05,1.7,63.75 -4097,30,2.5,111.05,1.7,63.75 -4098,30,2.5,111.05,1.7,63.75 -4099,30,2.5,111.05,1.7,63.75 -4100,30,2.5,111.05,1.7,63.75 -4101,30,2.5,111.05,1.7,63.75 -4102,30,2.5,111.05,1.7,63.75 -4103,30,2.5,111.05,1.7,63.75 -4104,30,2.5,111.05,1.7,63.75 -4105,30,2.5,111.05,1.7,63.75 -4106,30,2.5,111.05,1.7,63.75 -4107,30,2.5,111.05,1.7,63.75 -4108,30,2.5,111.05,1.7,63.75 -4109,30,2.5,111.05,1.7,63.75 -4110,30,2.5,111.05,1.7,63.75 -4111,30,2.5,111.05,1.7,63.75 -4112,30,2.5,111.05,1.7,63.75 -4113,30,2.5,111.05,1.7,63.75 -4114,30,2.5,111.05,1.7,63.75 -4115,30,2.5,111.05,1.7,63.75 -4116,30,2.5,111.05,1.7,63.75 -4117,30,2.5,111.05,1.7,63.75 -4118,30,2.5,111.05,1.7,63.75 -4119,30,2.5,111.05,1.7,63.75 -4120,30,2.5,111.05,1.7,63.75 -4121,30,2.5,111.05,1.7,63.75 -4122,30,2.5,111.05,1.7,63.75 -4123,30,2.5,111.05,1.7,63.75 -4124,30,2.5,111.05,1.7,63.75 -4125,30,2.5,111.05,1.7,63.75 -4126,30,2.5,111.05,1.7,63.75 -4127,30,2.5,111.05,1.7,63.75 -4128,30,2.5,111.05,1.7,63.75 -4129,30,2.5,111.05,1.7,63.75 -4130,30,2.5,111.05,1.7,63.75 -4131,30,2.5,111.05,1.7,63.75 -4132,30,2.5,111.05,1.7,63.75 -4133,30,2.5,111.05,1.7,63.75 -4134,30,2.5,111.05,1.7,63.75 -4135,30,2.5,111.05,1.7,63.75 -4136,30,2.5,111.05,1.7,63.75 -4137,30,2.5,111.05,1.7,63.75 -4138,30,2.5,111.05,1.7,63.75 -4139,30,2.5,111.05,1.7,63.75 -4140,30,2.5,111.05,1.7,63.75 -4141,30,2.5,111.05,1.7,63.75 -4142,30,2.5,111.05,1.7,63.75 -4143,30,2.5,111.05,1.7,63.75 -4144,30,2.5,111.05,1.7,63.75 -4145,30,2.5,111.05,1.7,63.75 -4146,30,2.5,111.05,1.7,63.75 -4147,30,2.5,111.05,1.7,63.75 -4148,30,2.5,111.05,1.7,63.75 -4149,30,2.5,111.05,1.7,63.75 -4150,30,2.5,111.05,1.7,63.75 -4151,30,2.5,111.05,1.7,63.75 -4152,30,2.5,111.05,1.7,63.75 -4153,30,2.5,111.05,1.7,63.75 -4154,30,2.5,111.05,1.7,63.75 -4155,30,2.5,111.05,1.7,63.75 -4156,30,2.5,111.05,1.7,63.75 -4157,30,2.5,111.05,1.7,63.75 -4158,30,2.5,111.05,1.7,63.75 -4159,30,2.5,111.05,1.7,63.75 -4160,30,2.5,111.05,1.7,63.75 -4161,30,2.5,111.05,1.7,63.75 -4162,30,2.5,111.05,1.7,63.75 -4163,30,2.5,111.05,1.7,63.75 -4164,30,2.5,111.05,1.7,63.75 -4165,30,2.5,111.05,1.7,63.75 -4166,30,2.5,111.05,1.7,63.75 -4167,30,2.5,111.05,1.7,63.75 -4168,30,2.5,111.05,1.7,63.75 -4169,30,2.5,111.05,1.7,63.75 -4170,30,2.5,111.05,1.7,63.75 -4171,30,2.5,111.05,1.7,63.75 -4172,30,2.5,111.05,1.7,63.75 -4173,30,2.5,111.05,1.7,63.75 -4174,30,2.5,111.05,1.7,63.75 -4175,30,2.5,111.05,1.7,63.75 -4176,30,2.5,111.05,1.7,63.75 -4177,30,2.5,111.05,1.7,63.75 -4178,30,2.5,111.05,1.7,63.75 -4179,30,2.5,111.05,1.7,63.75 -4180,30,2.5,111.05,1.7,63.75 -4181,30,2.5,111.05,1.7,63.75 -4182,30,2.5,111.05,1.7,63.75 -4183,30,2.5,111.05,1.7,63.75 -4184,30,2.5,111.05,1.7,63.75 -4185,30,2.5,111.05,1.7,63.75 -4186,30,2.5,111.05,1.7,63.75 -4187,30,2.5,111.05,1.7,63.75 -4188,30,2.5,111.05,1.7,63.75 -4189,30,2.5,111.05,1.7,63.75 -4190,30,2.5,111.05,1.7,63.75 -4191,30,2.5,111.05,1.7,63.75 -4192,30,2.5,111.05,1.7,63.75 -4193,30,2.5,111.05,1.7,63.75 -4194,30,2.5,111.05,1.7,63.75 -4195,30,2.5,111.05,1.7,63.75 -4196,30,2.5,111.05,1.7,63.75 -4197,30,2.5,111.05,1.7,63.75 -4198,30,2.5,111.05,1.7,63.75 -4199,30,2.5,111.05,1.7,63.75 -4200,30,2.5,111.05,1.7,63.75 -4201,30,2.5,111.05,1.7,63.75 -4202,30,2.5,111.05,1.7,63.75 -4203,30,2.5,111.05,1.7,63.75 -4204,30,2.5,111.05,1.7,63.75 -4205,30,2.5,111.05,1.7,63.75 -4206,30,2.5,111.05,1.7,63.75 -4207,30,2.5,111.05,1.7,63.75 -4208,30,2.5,111.05,1.7,63.75 -4209,30,2.5,111.05,1.7,63.75 -4210,30,2.5,111.05,1.7,63.75 -4211,30,2.5,111.05,1.7,63.75 -4212,30,2.5,111.05,1.7,63.75 -4213,30,2.5,111.05,1.7,63.75 -4214,30,2.5,111.05,1.7,63.75 -4215,30,2.5,111.05,1.7,63.75 -4216,30,2.5,111.05,1.7,63.75 -4217,30,2.5,111.05,1.7,63.75 -4218,30,2.5,111.05,1.7,63.75 -4219,30,2.5,111.05,1.7,63.75 -4220,30,2.5,111.05,1.7,63.75 -4221,30,2.5,111.05,1.7,63.75 -4222,30,2.5,111.05,1.7,63.75 -4223,30,2.5,111.05,1.7,63.75 -4224,30,2.5,111.05,1.7,63.75 -4225,30,2.5,111.05,1.7,63.75 -4226,30,2.5,111.05,1.7,63.75 -4227,30,2.5,111.05,1.7,63.75 -4228,30,2.5,111.05,1.7,63.75 -4229,30,2.5,111.05,1.7,63.75 -4230,30,2.5,111.05,1.7,63.75 -4231,30,2.5,111.05,1.7,63.75 -4232,30,2.5,111.05,1.7,63.75 -4233,30,2.5,111.05,1.7,63.75 -4234,30,2.5,111.05,1.7,63.75 -4235,30,2.5,111.05,1.7,63.75 -4236,30,2.5,111.05,1.7,63.75 -4237,30,2.5,111.05,1.7,63.75 -4238,30,2.5,111.05,1.7,63.75 -4239,30,2.5,111.05,1.7,63.75 -4240,30,2.5,111.05,1.7,63.75 -4241,30,2.5,111.05,1.7,63.75 -4242,30,2.5,111.05,1.7,63.75 -4243,30,2.5,111.05,1.7,63.75 -4244,30,2.5,111.05,1.7,63.75 -4245,30,2.5,111.05,1.7,63.75 -4246,30,2.5,111.05,1.7,63.75 -4247,30,2.5,111.05,1.7,63.75 -4248,30,2.5,111.05,1.7,63.75 -4249,30,2.5,111.05,1.7,63.75 -4250,30,2.5,111.05,1.7,63.75 -4251,30,2.5,111.05,1.7,63.75 -4252,30,2.5,111.05,1.7,63.75 -4253,30,2.5,111.05,1.7,63.75 -4254,30,2.5,111.05,1.7,63.75 -4255,30,2.5,111.05,1.7,63.75 -4256,30,2.5,111.05,1.7,63.75 -4257,30,2.5,111.05,1.7,63.75 -4258,30,2.5,111.05,1.7,63.75 -4259,30,2.5,111.05,1.7,63.75 -4260,30,2.5,111.05,1.7,63.75 -4261,30,2.5,111.05,1.7,63.75 -4262,30,2.5,111.05,1.7,63.75 -4263,30,2.5,111.05,1.7,63.75 -4264,30,2.5,111.05,1.7,63.75 -4265,30,2.5,111.05,1.7,63.75 -4266,30,2.5,111.05,1.7,63.75 -4267,30,2.5,111.05,1.7,63.75 -4268,30,2.5,111.05,1.7,63.75 -4269,30,2.5,111.05,1.7,63.75 -4270,30,2.5,111.05,1.7,63.75 -4271,30,2.5,111.05,1.7,63.75 -4272,30,2.5,111.05,1.7,63.75 -4273,30,2.5,111.05,1.7,63.75 -4274,30,2.5,111.05,1.7,63.75 -4275,30,2.5,111.05,1.7,63.75 -4276,30,2.5,111.05,1.7,63.75 -4277,30,2.5,111.05,1.7,63.75 -4278,30,2.5,111.05,1.7,63.75 -4279,30,2.5,111.05,1.7,63.75 -4280,30,2.5,111.05,1.7,63.75 -4281,30,2.5,111.05,1.7,63.75 -4282,30,2.5,111.05,1.7,63.75 -4283,30,2.5,111.05,1.7,63.75 -4284,30,2.5,111.05,1.7,63.75 -4285,30,2.5,111.05,1.7,63.75 -4286,30,2.5,111.05,1.7,63.75 -4287,30,2.5,111.05,1.7,63.75 -4288,30,2.5,111.05,1.7,63.75 -4289,30,2.5,111.05,1.7,63.75 -4290,30,2.5,111.05,1.7,63.75 -4291,30,2.5,111.05,1.7,63.75 -4292,30,2.5,111.05,1.7,63.75 -4293,30,2.5,111.05,1.7,63.75 -4294,30,2.5,111.05,1.7,63.75 -4295,30,2.5,111.05,1.7,63.75 -4296,30,2.5,111.05,1.7,63.75 -4297,30,2.5,111.05,1.7,63.75 -4298,30,2.5,111.05,1.7,63.75 -4299,30,2.5,111.05,1.7,63.75 -4300,30,2.5,111.05,1.7,63.75 -4301,30,2.5,111.05,1.7,63.75 -4302,30,2.5,111.05,1.7,63.75 -4303,30,2.5,111.05,1.7,63.75 -4304,30,2.5,111.05,1.7,63.75 -4305,30,2.5,111.05,1.7,63.75 -4306,30,2.5,111.05,1.7,63.75 -4307,30,2.5,111.05,1.7,63.75 -4308,30,2.5,111.05,1.7,63.75 -4309,30,2.5,111.05,1.7,63.75 -4310,30,2.5,111.05,1.7,63.75 -4311,30,2.5,111.05,1.7,63.75 -4312,30,2.5,111.05,1.7,63.75 -4313,30,2.5,111.05,1.7,63.75 -4314,30,2.5,111.05,1.7,63.75 -4315,30,2.5,111.05,1.7,63.75 -4316,30,2.5,111.05,1.7,63.75 -4317,30,2.5,111.05,1.7,63.75 -4318,30,2.5,111.05,1.7,63.75 -4319,30,2.5,111.05,1.7,63.75 -4320,30,2.5,111.05,1.7,63.75 -4321,30,2.5,111.05,1.7,63.75 -4322,30,2.5,111.05,1.7,63.75 -4323,30,2.5,111.05,1.7,63.75 -4324,30,2.5,111.05,1.7,63.75 -4325,30,2.5,111.05,1.7,63.75 -4326,30,2.5,111.05,1.7,63.75 -4327,30,2.5,111.05,1.7,63.75 -4328,30,2.5,111.05,1.7,63.75 -4329,30,2.5,111.05,1.7,63.75 -4330,30,2.5,111.05,1.7,63.75 -4331,30,2.5,111.05,1.7,63.75 -4332,30,2.5,111.05,1.7,63.75 -4333,30,2.5,111.05,1.7,63.75 -4334,30,2.5,111.05,1.7,63.75 -4335,30,2.5,111.05,1.7,63.75 -4336,30,2.5,111.05,1.7,63.75 -4337,30,2.5,111.05,1.7,63.75 -4338,30,2.5,111.05,1.7,63.75 -4339,30,2.5,111.05,1.7,63.75 -4340,30,2.5,111.05,1.7,63.75 -4341,30,2.5,111.05,1.7,63.75 -4342,30,2.5,111.05,1.7,63.75 -4343,30,2.5,111.05,1.7,63.75 -4344,30,2.5,111.05,1.7,63.75 -4345,30,2.5,111.05,1.7,63.75 -4346,30,2.5,111.05,1.7,63.75 -4347,30,2.5,111.05,1.7,63.75 -4348,30,2.5,111.05,1.7,63.75 -4349,30,2.5,111.05,1.7,63.75 -4350,30,2.5,111.05,1.7,63.75 -4351,30,2.5,111.05,1.7,63.75 -4352,30,2.5,111.05,1.7,63.75 -4353,30,2.5,111.05,1.7,63.75 -4354,30,2.5,111.05,1.7,63.75 -4355,30,2.5,111.05,1.7,63.75 -4356,30,2.5,111.05,1.7,63.75 -4357,30,2.5,111.05,1.7,63.75 -4358,30,2.5,111.05,1.7,63.75 -4359,30,2.5,111.05,1.7,63.75 -4360,30,2.5,111.05,1.7,63.75 -4361,30,2.5,111.05,1.7,63.75 -4362,30,2.5,111.05,1.7,63.75 -4363,30,2.5,111.05,1.7,63.75 -4364,30,2.5,111.05,1.7,63.75 -4365,30,2.5,111.05,1.7,63.75 -4366,30,2.5,111.05,1.7,63.75 -4367,30,2.5,111.05,1.7,63.75 -4368,30,2.5,111.05,1.7,63.75 -4369,30,2.5,111.05,1.7,63.75 -4370,30,2.5,111.05,1.7,63.75 -4371,30,2.5,111.05,1.7,63.75 -4372,30,2.5,111.05,1.7,63.75 -4373,30,2.5,111.05,1.7,63.75 -4374,30,2.5,111.05,1.7,63.75 -4375,30,2.5,111.05,1.7,63.75 -4376,30,2.5,111.05,1.7,63.75 -4377,30,2.5,111.05,1.7,63.75 -4378,30,2.5,111.05,1.7,63.75 -4379,30,2.5,111.05,1.7,63.75 -4380,30,2.5,111.05,1.7,63.75 -4381,30,2.5,111.05,1.7,63.75 -4382,30,2.5,111.05,1.7,63.75 -4383,30,2.5,111.05,1.7,63.75 -4384,30,2.5,111.05,1.7,63.75 -4385,30,2.5,111.05,1.7,63.75 -4386,30,2.5,111.05,1.7,63.75 -4387,30,2.5,111.05,1.7,63.75 -4388,30,2.5,111.05,1.7,63.75 -4389,30,2.5,111.05,1.7,63.75 -4390,30,2.5,111.05,1.7,63.75 -4391,30,2.5,111.05,1.7,63.75 -4392,30,2.5,111.05,1.7,63.75 -4393,30,2.5,111.05,1.7,63.75 -4394,30,2.5,111.05,1.7,63.75 -4395,30,2.5,111.05,1.7,63.75 -4396,30,2.5,111.05,1.7,63.75 -4397,30,2.5,111.05,1.7,63.75 -4398,30,2.5,111.05,1.7,63.75 -4399,30,2.5,111.05,1.7,63.75 -4400,30,2.5,111.05,1.7,63.75 -4401,30,2.5,111.05,1.7,63.75 -4402,30,2.5,111.05,1.7,63.75 -4403,30,2.5,111.05,1.7,63.75 -4404,30,2.5,111.05,1.7,63.75 -4405,30,2.5,111.05,1.7,63.75 -4406,30,2.5,111.05,1.7,63.75 -4407,30,2.5,111.05,1.7,63.75 -4408,30,2.5,111.05,1.7,63.75 -4409,30,2.5,111.05,1.7,63.75 -4410,30,2.5,111.05,1.7,63.75 -4411,30,2.5,111.05,1.7,63.75 -4412,30,2.5,111.05,1.7,63.75 -4413,30,2.5,111.05,1.7,63.75 -4414,30,2.5,111.05,1.7,63.75 -4415,30,2.5,111.05,1.7,63.75 -4416,30,2.5,111.05,1.7,63.75 -4417,30,2.5,111.05,1.7,63.75 -4418,30,2.5,111.05,1.7,63.75 -4419,30,2.5,111.05,1.7,63.75 -4420,30,2.5,111.05,1.7,63.75 -4421,30,2.5,111.05,1.7,63.75 -4422,30,2.5,111.05,1.7,63.75 -4423,30,2.5,111.05,1.7,63.75 -4424,30,2.5,111.05,1.7,63.75 -4425,30,2.5,111.05,1.7,63.75 -4426,30,2.5,111.05,1.7,63.75 -4427,30,2.5,111.05,1.7,63.75 -4428,30,2.5,111.05,1.7,63.75 -4429,30,2.5,111.05,1.7,63.75 -4430,30,2.5,111.05,1.7,63.75 -4431,30,2.5,111.05,1.7,63.75 -4432,30,2.5,111.05,1.7,63.75 -4433,30,2.5,111.05,1.7,63.75 -4434,30,2.5,111.05,1.7,63.75 -4435,30,2.5,111.05,1.7,63.75 -4436,30,2.5,111.05,1.7,63.75 -4437,30,2.5,111.05,1.7,63.75 -4438,30,2.5,111.05,1.7,63.75 -4439,30,2.5,111.05,1.7,63.75 -4440,30,2.5,111.05,1.7,63.75 -4441,30,2.5,111.05,1.7,63.75 -4442,30,2.5,111.05,1.7,63.75 -4443,30,2.5,111.05,1.7,63.75 -4444,30,2.5,111.05,1.7,63.75 -4445,30,2.5,111.05,1.7,63.75 -4446,30,2.5,111.05,1.7,63.75 -4447,30,2.5,111.05,1.7,63.75 -4448,30,2.5,111.05,1.7,63.75 -4449,30,2.5,111.05,1.7,63.75 -4450,30,2.5,111.05,1.7,63.75 -4451,30,2.5,111.05,1.7,63.75 -4452,30,2.5,111.05,1.7,63.75 -4453,30,2.5,111.05,1.7,63.75 -4454,30,2.5,111.05,1.7,63.75 -4455,30,2.5,111.05,1.7,63.75 -4456,30,2.5,111.05,1.7,63.75 -4457,30,2.5,111.05,1.7,63.75 -4458,30,2.5,111.05,1.7,63.75 -4459,30,2.5,111.05,1.7,63.75 -4460,30,2.5,111.05,1.7,63.75 -4461,30,2.5,111.05,1.7,63.75 -4462,30,2.5,111.05,1.7,63.75 -4463,30,2.5,111.05,1.7,63.75 -4464,30,2.5,111.05,1.7,63.75 -4465,30,2.5,111.05,1.7,63.75 -4466,30,2.5,111.05,1.7,63.75 -4467,30,2.5,111.05,1.7,63.75 -4468,30,2.5,111.05,1.7,63.75 -4469,30,2.5,111.05,1.7,63.75 -4470,30,2.5,111.05,1.7,63.75 -4471,30,2.5,111.05,1.7,63.75 -4472,30,2.5,111.05,1.7,63.75 -4473,30,2.5,111.05,1.7,63.75 -4474,30,2.5,111.05,1.7,63.75 -4475,30,2.5,111.05,1.7,63.75 -4476,30,2.5,111.05,1.7,63.75 -4477,30,2.5,111.05,1.7,63.75 -4478,30,2.5,111.05,1.7,63.75 -4479,30,2.5,111.05,1.7,63.75 -4480,30,2.5,111.05,1.7,63.75 -4481,30,2.5,111.05,1.7,63.75 -4482,30,2.5,111.05,1.7,63.75 -4483,30,2.5,111.05,1.7,63.75 -4484,30,2.5,111.05,1.7,63.75 -4485,30,2.5,111.05,1.7,63.75 -4486,30,2.5,111.05,1.7,63.75 -4487,30,2.5,111.05,1.7,63.75 -4488,30,2.5,111.05,1.7,63.75 -4489,30,2.5,111.05,1.7,63.75 -4490,30,2.5,111.05,1.7,63.75 -4491,30,2.5,111.05,1.7,63.75 -4492,30,2.5,111.05,1.7,63.75 -4493,30,2.5,111.05,1.7,63.75 -4494,30,2.5,111.05,1.7,63.75 -4495,30,2.5,111.05,1.7,63.75 -4496,30,2.5,111.05,1.7,63.75 -4497,30,2.5,111.05,1.7,63.75 -4498,30,2.5,111.05,1.7,63.75 -4499,30,2.5,111.05,1.7,63.75 -4500,30,2.5,111.05,1.7,63.75 -4501,30,2.5,111.05,1.7,63.75 -4502,30,2.5,111.05,1.7,63.75 -4503,30,2.5,111.05,1.7,63.75 -4504,30,2.5,111.05,1.7,63.75 -4505,30,2.5,111.05,1.7,63.75 -4506,30,2.5,111.05,1.7,63.75 -4507,30,2.5,111.05,1.7,63.75 -4508,30,2.5,111.05,1.7,63.75 -4509,30,2.5,111.05,1.7,63.75 -4510,30,2.5,111.05,1.7,63.75 -4511,30,2.5,111.05,1.7,63.75 -4512,30,2.5,111.05,1.7,63.75 -4513,30,2.5,111.05,1.7,63.75 -4514,30,2.5,111.05,1.7,63.75 -4515,30,2.5,111.05,1.7,63.75 -4516,30,2.5,111.05,1.7,63.75 -4517,30,2.5,111.05,1.7,63.75 -4518,30,2.5,111.05,1.7,63.75 -4519,30,2.5,111.05,1.7,63.75 -4520,30,2.5,111.05,1.7,63.75 -4521,30,2.5,111.05,1.7,63.75 -4522,30,2.5,111.05,1.7,63.75 -4523,30,2.5,111.05,1.7,63.75 -4524,30,2.5,111.05,1.7,63.75 -4525,30,2.5,111.05,1.7,63.75 -4526,30,2.5,111.05,1.7,63.75 -4527,30,2.5,111.05,1.7,63.75 -4528,30,2.5,111.05,1.7,63.75 -4529,30,2.5,111.05,1.7,63.75 -4530,30,2.5,111.05,1.7,63.75 -4531,30,2.5,111.05,1.7,63.75 -4532,30,2.5,111.05,1.7,63.75 -4533,30,2.5,111.05,1.7,63.75 -4534,30,2.5,111.05,1.7,63.75 -4535,30,2.5,111.05,1.7,63.75 -4536,30,2.5,111.05,1.7,63.75 -4537,30,2.5,111.05,1.7,63.75 -4538,30,2.5,111.05,1.7,63.75 -4539,30,2.5,111.05,1.7,63.75 -4540,30,2.5,111.05,1.7,63.75 -4541,30,2.5,111.05,1.7,63.75 -4542,30,2.5,111.05,1.7,63.75 -4543,30,2.5,111.05,1.7,63.75 -4544,30,2.5,111.05,1.7,63.75 -4545,30,2.5,111.05,1.7,63.75 -4546,30,2.5,111.05,1.7,63.75 -4547,30,2.5,111.05,1.7,63.75 -4548,30,2.5,111.05,1.7,63.75 -4549,30,2.5,111.05,1.7,63.75 -4550,30,2.5,111.05,1.7,63.75 -4551,30,2.5,111.05,1.7,63.75 -4552,30,2.5,111.05,1.7,63.75 -4553,30,2.5,111.05,1.7,63.75 -4554,30,2.5,111.05,1.7,63.75 -4555,30,2.5,111.05,1.7,63.75 -4556,30,2.5,111.05,1.7,63.75 -4557,30,2.5,111.05,1.7,63.75 -4558,30,2.5,111.05,1.7,63.75 -4559,30,2.5,111.05,1.7,63.75 -4560,30,2.5,111.05,1.7,63.75 -4561,30,2.5,111.05,1.7,63.75 -4562,30,2.5,111.05,1.7,63.75 -4563,30,2.5,111.05,1.7,63.75 -4564,30,2.5,111.05,1.7,63.75 -4565,30,2.5,111.05,1.7,63.75 -4566,30,2.5,111.05,1.7,63.75 -4567,30,2.5,111.05,1.7,63.75 -4568,30,2.5,111.05,1.7,63.75 -4569,30,2.5,111.05,1.7,63.75 -4570,30,2.5,111.05,1.7,63.75 -4571,30,2.5,111.05,1.7,63.75 -4572,30,2.5,111.05,1.7,63.75 -4573,30,2.5,111.05,1.7,63.75 -4574,30,2.5,111.05,1.7,63.75 -4575,30,2.5,111.05,1.7,63.75 -4576,30,2.5,111.05,1.7,63.75 -4577,30,2.5,111.05,1.7,63.75 -4578,30,2.5,111.05,1.7,63.75 -4579,30,2.5,111.05,1.7,63.75 -4580,30,2.5,111.05,1.7,63.75 -4581,30,2.5,111.05,1.7,63.75 -4582,30,2.5,111.05,1.7,63.75 -4583,30,2.5,111.05,1.7,63.75 -4584,30,2.5,111.05,1.7,63.75 -4585,30,2.5,111.05,1.7,63.75 -4586,30,2.5,111.05,1.7,63.75 -4587,30,2.5,111.05,1.7,63.75 -4588,30,2.5,111.05,1.7,63.75 -4589,30,2.5,111.05,1.7,63.75 -4590,30,2.5,111.05,1.7,63.75 -4591,30,2.5,111.05,1.7,63.75 -4592,30,2.5,111.05,1.7,63.75 -4593,30,2.5,111.05,1.7,63.75 -4594,30,2.5,111.05,1.7,63.75 -4595,30,2.5,111.05,1.7,63.75 -4596,30,2.5,111.05,1.7,63.75 -4597,30,2.5,111.05,1.7,63.75 -4598,30,2.5,111.05,1.7,63.75 -4599,30,2.5,111.05,1.7,63.75 -4600,30,2.5,111.05,1.7,63.75 -4601,30,2.5,111.05,1.7,63.75 -4602,30,2.5,111.05,1.7,63.75 -4603,30,2.5,111.05,1.7,63.75 -4604,30,2.5,111.05,1.7,63.75 -4605,30,2.5,111.05,1.7,63.75 -4606,30,2.5,111.05,1.7,63.75 -4607,30,2.5,111.05,1.7,63.75 -4608,30,2.5,111.05,1.7,63.75 -4609,30,2.5,111.05,1.7,63.75 -4610,30,2.5,111.05,1.7,63.75 -4611,30,2.5,111.05,1.7,63.75 -4612,30,2.5,111.05,1.7,63.75 -4613,30,2.5,111.05,1.7,63.75 -4614,30,2.5,111.05,1.7,63.75 -4615,30,2.5,111.05,1.7,63.75 -4616,30,2.5,111.05,1.7,63.75 -4617,30,2.5,111.05,1.7,63.75 -4618,30,2.5,111.05,1.7,63.75 -4619,30,2.5,111.05,1.7,63.75 -4620,30,2.5,111.05,1.7,63.75 -4621,30,2.5,111.05,1.7,63.75 -4622,30,2.5,111.05,1.7,63.75 -4623,30,2.5,111.05,1.7,63.75 -4624,30,2.5,111.05,1.7,63.75 -4625,30,2.5,111.05,1.7,63.75 -4626,30,2.5,111.05,1.7,63.75 -4627,30,2.5,111.05,1.7,63.75 -4628,30,2.5,111.05,1.7,63.75 -4629,30,2.5,111.05,1.7,63.75 -4630,30,2.5,111.05,1.7,63.75 -4631,30,2.5,111.05,1.7,63.75 -4632,30,2.5,111.05,1.7,63.75 -4633,30,2.5,111.05,1.7,63.75 -4634,30,2.5,111.05,1.7,63.75 -4635,30,2.5,111.05,1.7,63.75 -4636,30,2.5,111.05,1.7,63.75 -4637,30,2.5,111.05,1.7,63.75 -4638,30,2.5,111.05,1.7,63.75 -4639,30,2.5,111.05,1.7,63.75 -4640,30,2.5,111.05,1.7,63.75 -4641,30,2.5,111.05,1.7,63.75 -4642,30,2.5,111.05,1.7,63.75 -4643,30,2.5,111.05,1.7,63.75 -4644,30,2.5,111.05,1.7,63.75 -4645,30,2.5,111.05,1.7,63.75 -4646,30,2.5,111.05,1.7,63.75 -4647,30,2.5,111.05,1.7,63.75 -4648,30,2.5,111.05,1.7,63.75 -4649,30,2.5,111.05,1.7,63.75 -4650,30,2.5,111.05,1.7,63.75 -4651,30,2.5,111.05,1.7,63.75 -4652,30,2.5,111.05,1.7,63.75 -4653,30,2.5,111.05,1.7,63.75 -4654,30,2.5,111.05,1.7,63.75 -4655,30,2.5,111.05,1.7,63.75 -4656,30,2.5,111.05,1.7,63.75 -4657,30,2.5,111.05,1.7,63.75 -4658,30,2.5,111.05,1.7,63.75 -4659,30,2.5,111.05,1.7,63.75 -4660,30,2.5,111.05,1.7,63.75 -4661,30,2.5,111.05,1.7,63.75 -4662,30,2.5,111.05,1.7,63.75 -4663,30,2.5,111.05,1.7,63.75 -4664,30,2.5,111.05,1.7,63.75 -4665,30,2.5,111.05,1.7,63.75 -4666,30,2.5,111.05,1.7,63.75 -4667,30,2.5,111.05,1.7,63.75 -4668,30,2.5,111.05,1.7,63.75 -4669,30,2.5,111.05,1.7,63.75 -4670,30,2.5,111.05,1.7,63.75 -4671,30,2.5,111.05,1.7,63.75 -4672,30,2.5,111.05,1.7,63.75 -4673,30,2.5,111.05,1.7,63.75 -4674,30,2.5,111.05,1.7,63.75 -4675,30,2.5,111.05,1.7,63.75 -4676,30,2.5,111.05,1.7,63.75 -4677,30,2.5,111.05,1.7,63.75 -4678,30,2.5,111.05,1.7,63.75 -4679,30,2.5,111.05,1.7,63.75 -4680,30,2.5,111.05,1.7,63.75 -4681,30,2.5,111.05,1.7,63.75 -4682,30,2.5,111.05,1.7,63.75 -4683,30,2.5,111.05,1.7,63.75 -4684,30,2.5,111.05,1.7,63.75 -4685,30,2.5,111.05,1.7,63.75 -4686,30,2.5,111.05,1.7,63.75 -4687,30,2.5,111.05,1.7,63.75 -4688,30,2.5,111.05,1.7,63.75 -4689,30,2.5,111.05,1.7,63.75 -4690,30,2.5,111.05,1.7,63.75 -4691,30,2.5,111.05,1.7,63.75 -4692,30,2.5,111.05,1.7,63.75 -4693,30,2.5,111.05,1.7,63.75 -4694,30,2.5,111.05,1.7,63.75 -4695,30,2.5,111.05,1.7,63.75 -4696,30,2.5,111.05,1.7,63.75 -4697,30,2.5,111.05,1.7,63.75 -4698,30,2.5,111.05,1.7,63.75 -4699,30,2.5,111.05,1.7,63.75 -4700,30,2.5,111.05,1.7,63.75 -4701,30,2.5,111.05,1.7,63.75 -4702,30,2.5,111.05,1.7,63.75 -4703,30,2.5,111.05,1.7,63.75 -4704,30,2.5,111.05,1.7,63.75 -4705,30,2.5,111.05,1.7,63.75 -4706,30,2.5,111.05,1.7,63.75 -4707,30,2.5,111.05,1.7,63.75 -4708,30,2.5,111.05,1.7,63.75 -4709,30,2.5,111.05,1.7,63.75 -4710,30,2.5,111.05,1.7,63.75 -4711,30,2.5,111.05,1.7,63.75 -4712,30,2.5,111.05,1.7,63.75 -4713,30,2.5,111.05,1.7,63.75 -4714,30,2.5,111.05,1.7,63.75 -4715,30,2.5,111.05,1.7,63.75 -4716,30,2.5,111.05,1.7,63.75 -4717,30,2.5,111.05,1.7,63.75 -4718,30,2.5,111.05,1.7,63.75 -4719,30,2.5,111.05,1.7,63.75 -4720,30,2.5,111.05,1.7,63.75 -4721,30,2.5,111.05,1.7,63.75 -4722,30,2.5,111.05,1.7,63.75 -4723,30,2.5,111.05,1.7,63.75 -4724,30,2.5,111.05,1.7,63.75 -4725,30,2.5,111.05,1.7,63.75 -4726,30,2.5,111.05,1.7,63.75 -4727,30,2.5,111.05,1.7,63.75 -4728,30,2.5,111.05,1.7,63.75 -4729,30,2.5,111.05,1.7,63.75 -4730,30,2.5,111.05,1.7,63.75 -4731,30,2.5,111.05,1.7,63.75 -4732,30,2.5,111.05,1.7,63.75 -4733,30,2.5,111.05,1.7,63.75 -4734,30,2.5,111.05,1.7,63.75 -4735,30,2.5,111.05,1.7,63.75 -4736,30,2.5,111.05,1.7,63.75 -4737,30,2.5,111.05,1.7,63.75 -4738,30,2.5,111.05,1.7,63.75 -4739,30,2.5,111.05,1.7,63.75 -4740,30,2.5,111.05,1.7,63.75 -4741,30,2.5,111.05,1.7,63.75 -4742,30,2.5,111.05,1.7,63.75 -4743,30,2.5,111.05,1.7,63.75 -4744,30,2.5,111.05,1.7,63.75 -4745,30,2.5,111.05,1.7,63.75 -4746,30,2.5,111.05,1.7,63.75 -4747,30,2.5,111.05,1.7,63.75 -4748,30,2.5,111.05,1.7,63.75 -4749,30,2.5,111.05,1.7,63.75 -4750,30,2.5,111.05,1.7,63.75 -4751,30,2.5,111.05,1.7,63.75 -4752,30,2.5,111.05,1.7,63.75 -4753,30,2.5,111.05,1.7,63.75 -4754,30,2.5,111.05,1.7,63.75 -4755,30,2.5,111.05,1.7,63.75 -4756,30,2.5,111.05,1.7,63.75 -4757,30,2.5,111.05,1.7,63.75 -4758,30,2.5,111.05,1.7,63.75 -4759,30,2.5,111.05,1.7,63.75 -4760,30,2.5,111.05,1.7,63.75 -4761,30,2.5,111.05,1.7,63.75 -4762,30,2.5,111.05,1.7,63.75 -4763,30,2.5,111.05,1.7,63.75 -4764,30,2.5,111.05,1.7,63.75 -4765,30,2.5,111.05,1.7,63.75 -4766,30,2.5,111.05,1.7,63.75 -4767,30,2.5,111.05,1.7,63.75 -4768,30,2.5,111.05,1.7,63.75 -4769,30,2.5,111.05,1.7,63.75 -4770,30,2.5,111.05,1.7,63.75 -4771,30,2.5,111.05,1.7,63.75 -4772,30,2.5,111.05,1.7,63.75 -4773,30,2.5,111.05,1.7,63.75 -4774,30,2.5,111.05,1.7,63.75 -4775,30,2.5,111.05,1.7,63.75 -4776,30,2.5,111.05,1.7,63.75 -4777,30,2.5,111.05,1.7,63.75 -4778,30,2.5,111.05,1.7,63.75 -4779,30,2.5,111.05,1.7,63.75 -4780,30,2.5,111.05,1.7,63.75 -4781,30,2.5,111.05,1.7,63.75 -4782,30,2.5,111.05,1.7,63.75 -4783,30,2.5,111.05,1.7,63.75 -4784,30,2.5,111.05,1.7,63.75 -4785,30,2.5,111.05,1.7,63.75 -4786,30,2.5,111.05,1.7,63.75 -4787,30,2.5,111.05,1.7,63.75 -4788,30,2.5,111.05,1.7,63.75 -4789,30,2.5,111.05,1.7,63.75 -4790,30,2.5,111.05,1.7,63.75 -4791,30,2.5,111.05,1.7,63.75 -4792,30,2.5,111.05,1.7,63.75 -4793,30,2.5,111.05,1.7,63.75 -4794,30,2.5,111.05,1.7,63.75 -4795,30,2.5,111.05,1.7,63.75 -4796,30,2.5,111.05,1.7,63.75 -4797,30,2.5,111.05,1.7,63.75 -4798,30,2.5,111.05,1.7,63.75 -4799,30,2.5,111.05,1.7,63.75 -4800,30,2.5,111.05,1.7,63.75 -4801,30,2.5,111.05,1.7,63.75 -4802,30,2.5,111.05,1.7,63.75 -4803,30,2.5,111.05,1.7,63.75 -4804,30,2.5,111.05,1.7,63.75 -4805,30,2.5,111.05,1.7,63.75 -4806,30,2.5,111.05,1.7,63.75 -4807,30,2.5,111.05,1.7,63.75 -4808,30,2.5,111.05,1.7,63.75 -4809,30,2.5,111.05,1.7,63.75 -4810,30,2.5,111.05,1.7,63.75 -4811,30,2.5,111.05,1.7,63.75 -4812,30,2.5,111.05,1.7,63.75 -4813,30,2.5,111.05,1.7,63.75 -4814,30,2.5,111.05,1.7,63.75 -4815,30,2.5,111.05,1.7,63.75 -4816,30,2.5,111.05,1.7,63.75 -4817,30,2.5,111.05,1.7,63.75 -4818,30,2.5,111.05,1.7,63.75 -4819,30,2.5,111.05,1.7,63.75 -4820,30,2.5,111.05,1.7,63.75 -4821,30,2.5,111.05,1.7,63.75 -4822,30,2.5,111.05,1.7,63.75 -4823,30,2.5,111.05,1.7,63.75 -4824,30,2.5,111.05,1.7,63.75 -4825,30,2.5,111.05,1.7,63.75 -4826,30,2.5,111.05,1.7,63.75 -4827,30,2.5,111.05,1.7,63.75 -4828,30,2.5,111.05,1.7,63.75 -4829,30,2.5,111.05,1.7,63.75 -4830,30,2.5,111.05,1.7,63.75 -4831,30,2.5,111.05,1.7,63.75 -4832,30,2.5,111.05,1.7,63.75 -4833,30,2.5,111.05,1.7,63.75 -4834,30,2.5,111.05,1.7,63.75 -4835,30,2.5,111.05,1.7,63.75 -4836,30,2.5,111.05,1.7,63.75 -4837,30,2.5,111.05,1.7,63.75 -4838,30,2.5,111.05,1.7,63.75 -4839,30,2.5,111.05,1.7,63.75 -4840,30,2.5,111.05,1.7,63.75 -4841,30,2.5,111.05,1.7,63.75 -4842,30,2.5,111.05,1.7,63.75 -4843,30,2.5,111.05,1.7,63.75 -4844,30,2.5,111.05,1.7,63.75 -4845,30,2.5,111.05,1.7,63.75 -4846,30,2.5,111.05,1.7,63.75 -4847,30,2.5,111.05,1.7,63.75 -4848,30,2.5,111.05,1.7,63.75 -4849,30,2.5,111.05,1.7,63.75 -4850,30,2.5,111.05,1.7,63.75 -4851,30,2.5,111.05,1.7,63.75 -4852,30,2.5,111.05,1.7,63.75 -4853,30,2.5,111.05,1.7,63.75 -4854,30,2.5,111.05,1.7,63.75 -4855,30,2.5,111.05,1.7,63.75 -4856,30,2.5,111.05,1.7,63.75 -4857,30,2.5,111.05,1.7,63.75 -4858,30,2.5,111.05,1.7,63.75 -4859,30,2.5,111.05,1.7,63.75 -4860,30,2.5,111.05,1.7,63.75 -4861,30,2.5,111.05,1.7,63.75 -4862,30,2.5,111.05,1.7,63.75 -4863,30,2.5,111.05,1.7,63.75 -4864,30,2.5,111.05,1.7,63.75 -4865,30,2.5,111.05,1.7,63.75 -4866,30,2.5,111.05,1.7,63.75 -4867,30,2.5,111.05,1.7,63.75 -4868,30,2.5,111.05,1.7,63.75 -4869,30,2.5,111.05,1.7,63.75 -4870,30,2.5,111.05,1.7,63.75 -4871,30,2.5,111.05,1.7,63.75 -4872,30,2.5,111.05,1.7,63.75 -4873,30,2.5,111.05,1.7,63.75 -4874,30,2.5,111.05,1.7,63.75 -4875,30,2.5,111.05,1.7,63.75 -4876,30,2.5,111.05,1.7,63.75 -4877,30,2.5,111.05,1.7,63.75 -4878,30,2.5,111.05,1.7,63.75 -4879,30,2.5,111.05,1.7,63.75 -4880,30,2.5,111.05,1.7,63.75 -4881,30,2.5,111.05,1.7,63.75 -4882,30,2.5,111.05,1.7,63.75 -4883,30,2.5,111.05,1.7,63.75 -4884,30,2.5,111.05,1.7,63.75 -4885,30,2.5,111.05,1.7,63.75 -4886,30,2.5,111.05,1.7,63.75 -4887,30,2.5,111.05,1.7,63.75 -4888,30,2.5,111.05,1.7,63.75 -4889,30,2.5,111.05,1.7,63.75 -4890,30,2.5,111.05,1.7,63.75 -4891,30,2.5,111.05,1.7,63.75 -4892,30,2.5,111.05,1.7,63.75 -4893,30,2.5,111.05,1.7,63.75 -4894,30,2.5,111.05,1.7,63.75 -4895,30,2.5,111.05,1.7,63.75 -4896,30,2.5,111.05,1.7,63.75 -4897,30,2.5,111.05,1.7,63.75 -4898,30,2.5,111.05,1.7,63.75 -4899,30,2.5,111.05,1.7,63.75 -4900,30,2.5,111.05,1.7,63.75 -4901,30,2.5,111.05,1.7,63.75 -4902,30,2.5,111.05,1.7,63.75 -4903,30,2.5,111.05,1.7,63.75 -4904,30,2.5,111.05,1.7,63.75 -4905,30,2.5,111.05,1.7,63.75 -4906,30,2.5,111.05,1.7,63.75 -4907,30,2.5,111.05,1.7,63.75 -4908,30,2.5,111.05,1.7,63.75 -4909,30,2.5,111.05,1.7,63.75 -4910,30,2.5,111.05,1.7,63.75 -4911,30,2.5,111.05,1.7,63.75 -4912,30,2.5,111.05,1.7,63.75 -4913,30,2.5,111.05,1.7,63.75 -4914,30,2.5,111.05,1.7,63.75 -4915,30,2.5,111.05,1.7,63.75 -4916,30,2.5,111.05,1.7,63.75 -4917,30,2.5,111.05,1.7,63.75 -4918,30,2.5,111.05,1.7,63.75 -4919,30,2.5,111.05,1.7,63.75 -4920,30,2.5,111.05,1.7,63.75 -4921,30,2.5,111.05,1.7,63.75 -4922,30,2.5,111.05,1.7,63.75 -4923,30,2.5,111.05,1.7,63.75 -4924,30,2.5,111.05,1.7,63.75 -4925,30,2.5,111.05,1.7,63.75 -4926,30,2.5,111.05,1.7,63.75 -4927,30,2.5,111.05,1.7,63.75 -4928,30,2.5,111.05,1.7,63.75 -4929,30,2.5,111.05,1.7,63.75 -4930,30,2.5,111.05,1.7,63.75 -4931,30,2.5,111.05,1.7,63.75 -4932,30,2.5,111.05,1.7,63.75 -4933,30,2.5,111.05,1.7,63.75 -4934,30,2.5,111.05,1.7,63.75 -4935,30,2.5,111.05,1.7,63.75 -4936,30,2.5,111.05,1.7,63.75 -4937,30,2.5,111.05,1.7,63.75 -4938,30,2.5,111.05,1.7,63.75 -4939,30,2.5,111.05,1.7,63.75 -4940,30,2.5,111.05,1.7,63.75 -4941,30,2.5,111.05,1.7,63.75 -4942,30,2.5,111.05,1.7,63.75 -4943,30,2.5,111.05,1.7,63.75 -4944,30,2.5,111.05,1.7,63.75 -4945,30,2.5,111.05,1.7,63.75 -4946,30,2.5,111.05,1.7,63.75 -4947,30,2.5,111.05,1.7,63.75 -4948,30,2.5,111.05,1.7,63.75 -4949,30,2.5,111.05,1.7,63.75 -4950,30,2.5,111.05,1.7,63.75 -4951,30,2.5,111.05,1.7,63.75 -4952,30,2.5,111.05,1.7,63.75 -4953,30,2.5,111.05,1.7,63.75 -4954,30,2.5,111.05,1.7,63.75 -4955,30,2.5,111.05,1.7,63.75 -4956,30,2.5,111.05,1.7,63.75 -4957,30,2.5,111.05,1.7,63.75 -4958,30,2.5,111.05,1.7,63.75 -4959,30,2.5,111.05,1.7,63.75 -4960,30,2.5,111.05,1.7,63.75 -4961,30,2.5,111.05,1.7,63.75 -4962,30,2.5,111.05,1.7,63.75 -4963,30,2.5,111.05,1.7,63.75 -4964,30,2.5,111.05,1.7,63.75 -4965,30,2.5,111.05,1.7,63.75 -4966,30,2.5,111.05,1.7,63.75 -4967,30,2.5,111.05,1.7,63.75 -4968,30,2.5,111.05,1.7,63.75 -4969,30,2.5,111.05,1.7,63.75 -4970,30,2.5,111.05,1.7,63.75 -4971,30,2.5,111.05,1.7,63.75 -4972,30,2.5,111.05,1.7,63.75 -4973,30,2.5,111.05,1.7,63.75 -4974,30,2.5,111.05,1.7,63.75 -4975,30,2.5,111.05,1.7,63.75 -4976,30,2.5,111.05,1.7,63.75 -4977,30,2.5,111.05,1.7,63.75 -4978,30,2.5,111.05,1.7,63.75 -4979,30,2.5,111.05,1.7,63.75 -4980,30,2.5,111.05,1.7,63.75 -4981,30,2.5,111.05,1.7,63.75 -4982,30,2.5,111.05,1.7,63.75 -4983,30,2.5,111.05,1.7,63.75 -4984,30,2.5,111.05,1.7,63.75 -4985,30,2.5,111.05,1.7,63.75 -4986,30,2.5,111.05,1.7,63.75 -4987,30,2.5,111.05,1.7,63.75 -4988,30,2.5,111.05,1.7,63.75 -4989,30,2.5,111.05,1.7,63.75 -4990,30,2.5,111.05,1.7,63.75 -4991,30,2.5,111.05,1.7,63.75 -4992,30,2.5,111.05,1.7,63.75 -4993,30,2.5,111.05,1.7,63.75 -4994,30,2.5,111.05,1.7,63.75 -4995,30,2.5,111.05,1.7,63.75 -4996,30,2.5,111.05,1.7,63.75 -4997,30,2.5,111.05,1.7,63.75 -4998,30,2.5,111.05,1.7,63.75 -4999,30,2.5,111.05,1.7,63.75 -5000,30,2.5,111.05,1.7,63.75 -5001,30,2.5,111.05,1.7,63.75 -5002,30,2.5,111.05,1.7,63.75 -5003,30,2.5,111.05,1.7,63.75 -5004,30,2.5,111.05,1.7,63.75 -5005,30,2.5,111.05,1.7,63.75 -5006,30,2.5,111.05,1.7,63.75 -5007,30,2.5,111.05,1.7,63.75 -5008,30,2.5,111.05,1.7,63.75 -5009,30,2.5,111.05,1.7,63.75 -5010,30,2.5,111.05,1.7,63.75 -5011,30,2.5,111.05,1.7,63.75 -5012,30,2.5,111.05,1.7,63.75 -5013,30,2.5,111.05,1.7,63.75 -5014,30,2.5,111.05,1.7,63.75 -5015,30,2.5,111.05,1.7,63.75 -5016,30,2.5,111.05,1.7,63.75 -5017,30,2.5,111.05,1.7,63.75 -5018,30,2.5,111.05,1.7,63.75 -5019,30,2.5,111.05,1.7,63.75 -5020,30,2.5,111.05,1.7,63.75 -5021,30,2.5,111.05,1.7,63.75 -5022,30,2.5,111.05,1.7,63.75 -5023,30,2.5,111.05,1.7,63.75 -5024,30,2.5,111.05,1.7,63.75 -5025,30,2.5,111.05,1.7,63.75 -5026,30,2.5,111.05,1.7,63.75 -5027,30,2.5,111.05,1.7,63.75 -5028,30,2.5,111.05,1.7,63.75 -5029,30,2.5,111.05,1.7,63.75 -5030,30,2.5,111.05,1.7,63.75 -5031,30,2.5,111.05,1.7,63.75 -5032,30,2.5,111.05,1.7,63.75 -5033,30,2.5,111.05,1.7,63.75 -5034,30,2.5,111.05,1.7,63.75 -5035,30,2.5,111.05,1.7,63.75 -5036,30,2.5,111.05,1.7,63.75 -5037,30,2.5,111.05,1.7,63.75 -5038,30,2.5,111.05,1.7,63.75 -5039,30,2.5,111.05,1.7,63.75 -5040,30,2.5,111.05,1.7,63.75 -5041,30,2.5,111.05,1.7,63.75 -5042,30,2.5,111.05,1.7,63.75 -5043,30,2.5,111.05,1.7,63.75 -5044,30,2.5,111.05,1.7,63.75 -5045,30,2.5,111.05,1.7,63.75 -5046,30,2.5,111.05,1.7,63.75 -5047,30,2.5,111.05,1.7,63.75 -5048,30,2.5,111.05,1.7,63.75 -5049,30,2.5,111.05,1.7,63.75 -5050,30,2.5,111.05,1.7,63.75 -5051,30,2.5,111.05,1.7,63.75 -5052,30,2.5,111.05,1.7,63.75 -5053,30,2.5,111.05,1.7,63.75 -5054,30,2.5,111.05,1.7,63.75 -5055,30,2.5,111.05,1.7,63.75 -5056,30,2.5,111.05,1.7,63.75 -5057,30,2.5,111.05,1.7,63.75 -5058,30,2.5,111.05,1.7,63.75 -5059,30,2.5,111.05,1.7,63.75 -5060,30,2.5,111.05,1.7,63.75 -5061,30,2.5,111.05,1.7,63.75 -5062,30,2.5,111.05,1.7,63.75 -5063,30,2.5,111.05,1.7,63.75 -5064,30,2.5,111.05,1.7,63.75 -5065,30,2.5,111.05,1.7,63.75 -5066,30,2.5,111.05,1.7,63.75 -5067,30,2.5,111.05,1.7,63.75 -5068,30,2.5,111.05,1.7,63.75 -5069,30,2.5,111.05,1.7,63.75 -5070,30,2.5,111.05,1.7,63.75 -5071,30,2.5,111.05,1.7,63.75 -5072,30,2.5,111.05,1.7,63.75 -5073,30,2.5,111.05,1.7,63.75 -5074,30,2.5,111.05,1.7,63.75 -5075,30,2.5,111.05,1.7,63.75 -5076,30,2.5,111.05,1.7,63.75 -5077,30,2.5,111.05,1.7,63.75 -5078,30,2.5,111.05,1.7,63.75 -5079,30,2.5,111.05,1.7,63.75 -5080,30,2.5,111.05,1.7,63.75 -5081,30,2.5,111.05,1.7,63.75 -5082,30,2.5,111.05,1.7,63.75 -5083,30,2.5,111.05,1.7,63.75 -5084,30,2.5,111.05,1.7,63.75 -5085,30,2.5,111.05,1.7,63.75 -5086,30,2.5,111.05,1.7,63.75 -5087,30,2.5,111.05,1.7,63.75 -5088,30,2.5,111.05,1.7,63.75 -5089,30,2.5,111.05,1.7,63.75 -5090,30,2.5,111.05,1.7,63.75 -5091,30,2.5,111.05,1.7,63.75 -5092,30,2.5,111.05,1.7,63.75 -5093,30,2.5,111.05,1.7,63.75 -5094,30,2.5,111.05,1.7,63.75 -5095,30,2.5,111.05,1.7,63.75 -5096,30,2.5,111.05,1.7,63.75 -5097,30,2.5,111.05,1.7,63.75 -5098,30,2.5,111.05,1.7,63.75 -5099,30,2.5,111.05,1.7,63.75 -5100,30,2.5,111.05,1.7,63.75 -5101,30,2.5,111.05,1.7,63.75 -5102,30,2.5,111.05,1.7,63.75 -5103,30,2.5,111.05,1.7,63.75 -5104,30,2.5,111.05,1.7,63.75 -5105,30,2.5,111.05,1.7,63.75 -5106,30,2.5,111.05,1.7,63.75 -5107,30,2.5,111.05,1.7,63.75 -5108,30,2.5,111.05,1.7,63.75 -5109,30,2.5,111.05,1.7,63.75 -5110,30,2.5,111.05,1.7,63.75 -5111,30,2.5,111.05,1.7,63.75 -5112,30,2.5,111.05,1.7,63.75 -5113,30,2.5,111.05,1.7,63.75 -5114,30,2.5,111.05,1.7,63.75 -5115,30,2.5,111.05,1.7,63.75 -5116,30,2.5,111.05,1.7,63.75 -5117,30,2.5,111.05,1.7,63.75 -5118,30,2.5,111.05,1.7,63.75 -5119,30,2.5,111.05,1.7,63.75 -5120,30,2.5,111.05,1.7,63.75 -5121,30,2.5,111.05,1.7,63.75 -5122,30,2.5,111.05,1.7,63.75 -5123,30,2.5,111.05,1.7,63.75 -5124,30,2.5,111.05,1.7,63.75 -5125,30,2.5,111.05,1.7,63.75 -5126,30,2.5,111.05,1.7,63.75 -5127,30,2.5,111.05,1.7,63.75 -5128,30,2.5,111.05,1.7,63.75 -5129,30,2.5,111.05,1.7,63.75 -5130,30,2.5,111.05,1.7,63.75 -5131,30,2.5,111.05,1.7,63.75 -5132,30,2.5,111.05,1.7,63.75 -5133,30,2.5,111.05,1.7,63.75 -5134,30,2.5,111.05,1.7,63.75 -5135,30,2.5,111.05,1.7,63.75 -5136,30,2.5,111.05,1.7,63.75 -5137,30,2.5,111.05,1.7,63.75 -5138,30,2.5,111.05,1.7,63.75 -5139,30,2.5,111.05,1.7,63.75 -5140,30,2.5,111.05,1.7,63.75 -5141,30,2.5,111.05,1.7,63.75 -5142,30,2.5,111.05,1.7,63.75 -5143,30,2.5,111.05,1.7,63.75 -5144,30,2.5,111.05,1.7,63.75 -5145,30,2.5,111.05,1.7,63.75 -5146,30,2.5,111.05,1.7,63.75 -5147,30,2.5,111.05,1.7,63.75 -5148,30,2.5,111.05,1.7,63.75 -5149,30,2.5,111.05,1.7,63.75 -5150,30,2.5,111.05,1.7,63.75 -5151,30,2.5,111.05,1.7,63.75 -5152,30,2.5,111.05,1.7,63.75 -5153,30,2.5,111.05,1.7,63.75 -5154,30,2.5,111.05,1.7,63.75 -5155,30,2.5,111.05,1.7,63.75 -5156,30,2.5,111.05,1.7,63.75 -5157,30,2.5,111.05,1.7,63.75 -5158,30,2.5,111.05,1.7,63.75 -5159,30,2.5,111.05,1.7,63.75 -5160,30,2.5,111.05,1.7,63.75 -5161,30,2.5,111.05,1.7,63.75 -5162,30,2.5,111.05,1.7,63.75 -5163,30,2.5,111.05,1.7,63.75 -5164,30,2.5,111.05,1.7,63.75 -5165,30,2.5,111.05,1.7,63.75 -5166,30,2.5,111.05,1.7,63.75 -5167,30,2.5,111.05,1.7,63.75 -5168,30,2.5,111.05,1.7,63.75 -5169,30,2.5,111.05,1.7,63.75 -5170,30,2.5,111.05,1.7,63.75 -5171,30,2.5,111.05,1.7,63.75 -5172,30,2.5,111.05,1.7,63.75 -5173,30,2.5,111.05,1.7,63.75 -5174,30,2.5,111.05,1.7,63.75 -5175,30,2.5,111.05,1.7,63.75 -5176,30,2.5,111.05,1.7,63.75 -5177,30,2.5,111.05,1.7,63.75 -5178,30,2.5,111.05,1.7,63.75 -5179,30,2.5,111.05,1.7,63.75 -5180,30,2.5,111.05,1.7,63.75 -5181,30,2.5,111.05,1.7,63.75 -5182,30,2.5,111.05,1.7,63.75 -5183,30,2.5,111.05,1.7,63.75 -5184,30,2.5,111.05,1.7,63.75 -5185,30,2.5,111.05,1.7,63.75 -5186,30,2.5,111.05,1.7,63.75 -5187,30,2.5,111.05,1.7,63.75 -5188,30,2.5,111.05,1.7,63.75 -5189,30,2.5,111.05,1.7,63.75 -5190,30,2.5,111.05,1.7,63.75 -5191,30,2.5,111.05,1.7,63.75 -5192,30,2.5,111.05,1.7,63.75 -5193,30,2.5,111.05,1.7,63.75 -5194,30,2.5,111.05,1.7,63.75 -5195,30,2.5,111.05,1.7,63.75 -5196,30,2.5,111.05,1.7,63.75 -5197,30,2.5,111.05,1.7,63.75 -5198,30,2.5,111.05,1.7,63.75 -5199,30,2.5,111.05,1.7,63.75 -5200,30,2.5,111.05,1.7,63.75 -5201,30,2.5,111.05,1.7,63.75 -5202,30,2.5,111.05,1.7,63.75 -5203,30,2.5,111.05,1.7,63.75 -5204,30,2.5,111.05,1.7,63.75 -5205,30,2.5,111.05,1.7,63.75 -5206,30,2.5,111.05,1.7,63.75 -5207,30,2.5,111.05,1.7,63.75 -5208,30,2.5,111.05,1.7,63.75 -5209,30,2.5,111.05,1.7,63.75 -5210,30,2.5,111.05,1.7,63.75 -5211,30,2.5,111.05,1.7,63.75 -5212,30,2.5,111.05,1.7,63.75 -5213,30,2.5,111.05,1.7,63.75 -5214,30,2.5,111.05,1.7,63.75 -5215,30,2.5,111.05,1.7,63.75 -5216,30,2.5,111.05,1.7,63.75 -5217,30,2.5,111.05,1.7,63.75 -5218,30,2.5,111.05,1.7,63.75 -5219,30,2.5,111.05,1.7,63.75 -5220,30,2.5,111.05,1.7,63.75 -5221,30,2.5,111.05,1.7,63.75 -5222,30,2.5,111.05,1.7,63.75 -5223,30,2.5,111.05,1.7,63.75 -5224,30,2.5,111.05,1.7,63.75 -5225,30,2.5,111.05,1.7,63.75 -5226,30,2.5,111.05,1.7,63.75 -5227,30,2.5,111.05,1.7,63.75 -5228,30,2.5,111.05,1.7,63.75 -5229,30,2.5,111.05,1.7,63.75 -5230,30,2.5,111.05,1.7,63.75 -5231,30,2.5,111.05,1.7,63.75 -5232,30,2.5,111.05,1.7,63.75 -5233,30,2.5,111.05,1.7,63.75 -5234,30,2.5,111.05,1.7,63.75 -5235,30,2.5,111.05,1.7,63.75 -5236,30,2.5,111.05,1.7,63.75 -5237,30,2.5,111.05,1.7,63.75 -5238,30,2.5,111.05,1.7,63.75 -5239,30,2.5,111.05,1.7,63.75 -5240,30,2.5,111.05,1.7,63.75 -5241,30,2.5,111.05,1.7,63.75 -5242,30,2.5,111.05,1.7,63.75 -5243,30,2.5,111.05,1.7,63.75 -5244,30,2.5,111.05,1.7,63.75 -5245,30,2.5,111.05,1.7,63.75 -5246,30,2.5,111.05,1.7,63.75 -5247,30,2.5,111.05,1.7,63.75 -5248,30,2.5,111.05,1.7,63.75 -5249,30,2.5,111.05,1.7,63.75 -5250,30,2.5,111.05,1.7,63.75 -5251,30,2.5,111.05,1.7,63.75 -5252,30,2.5,111.05,1.7,63.75 -5253,30,2.5,111.05,1.7,63.75 -5254,30,2.5,111.05,1.7,63.75 -5255,30,2.5,111.05,1.7,63.75 -5256,30,2.5,111.05,1.7,63.75 -5257,30,2.5,111.05,1.7,63.75 -5258,30,2.5,111.05,1.7,63.75 -5259,30,2.5,111.05,1.7,63.75 -5260,30,2.5,111.05,1.7,63.75 -5261,30,2.5,111.05,1.7,63.75 -5262,30,2.5,111.05,1.7,63.75 -5263,30,2.5,111.05,1.7,63.75 -5264,30,2.5,111.05,1.7,63.75 -5265,30,2.5,111.05,1.7,63.75 -5266,30,2.5,111.05,1.7,63.75 -5267,30,2.5,111.05,1.7,63.75 -5268,30,2.5,111.05,1.7,63.75 -5269,30,2.5,111.05,1.7,63.75 -5270,30,2.5,111.05,1.7,63.75 -5271,30,2.5,111.05,1.7,63.75 -5272,30,2.5,111.05,1.7,63.75 -5273,30,2.5,111.05,1.7,63.75 -5274,30,2.5,111.05,1.7,63.75 -5275,30,2.5,111.05,1.7,63.75 -5276,30,2.5,111.05,1.7,63.75 -5277,30,2.5,111.05,1.7,63.75 -5278,30,2.5,111.05,1.7,63.75 -5279,30,2.5,111.05,1.7,63.75 -5280,30,2.5,111.05,1.7,63.75 -5281,30,2.5,111.05,1.7,63.75 -5282,30,2.5,111.05,1.7,63.75 -5283,30,2.5,111.05,1.7,63.75 -5284,30,2.5,111.05,1.7,63.75 -5285,30,2.5,111.05,1.7,63.75 -5286,30,2.5,111.05,1.7,63.75 -5287,30,2.5,111.05,1.7,63.75 -5288,30,2.5,111.05,1.7,63.75 -5289,30,2.5,111.05,1.7,63.75 -5290,30,2.5,111.05,1.7,63.75 -5291,30,2.5,111.05,1.7,63.75 -5292,30,2.5,111.05,1.7,63.75 -5293,30,2.5,111.05,1.7,63.75 -5294,30,2.5,111.05,1.7,63.75 -5295,30,2.5,111.05,1.7,63.75 -5296,30,2.5,111.05,1.7,63.75 -5297,30,2.5,111.05,1.7,63.75 -5298,30,2.5,111.05,1.7,63.75 -5299,30,2.5,111.05,1.7,63.75 -5300,30,2.5,111.05,1.7,63.75 -5301,30,2.5,111.05,1.7,63.75 -5302,30,2.5,111.05,1.7,63.75 -5303,30,2.5,111.05,1.7,63.75 -5304,30,2.5,111.05,1.7,63.75 -5305,30,2.5,111.05,1.7,63.75 -5306,30,2.5,111.05,1.7,63.75 -5307,30,2.5,111.05,1.7,63.75 -5308,30,2.5,111.05,1.7,63.75 -5309,30,2.5,111.05,1.7,63.75 -5310,30,2.5,111.05,1.7,63.75 -5311,30,2.5,111.05,1.7,63.75 -5312,30,2.5,111.05,1.7,63.75 -5313,30,2.5,111.05,1.7,63.75 -5314,30,2.5,111.05,1.7,63.75 -5315,30,2.5,111.05,1.7,63.75 -5316,30,2.5,111.05,1.7,63.75 -5317,30,2.5,111.05,1.7,63.75 -5318,30,2.5,111.05,1.7,63.75 -5319,30,2.5,111.05,1.7,63.75 -5320,30,2.5,111.05,1.7,63.75 -5321,30,2.5,111.05,1.7,63.75 -5322,30,2.5,111.05,1.7,63.75 -5323,30,2.5,111.05,1.7,63.75 -5324,30,2.5,111.05,1.7,63.75 -5325,30,2.5,111.05,1.7,63.75 -5326,30,2.5,111.05,1.7,63.75 -5327,30,2.5,111.05,1.7,63.75 -5328,30,2.5,111.05,1.7,63.75 -5329,30,2.5,111.05,1.7,63.75 -5330,30,2.5,111.05,1.7,63.75 -5331,30,2.5,111.05,1.7,63.75 -5332,30,2.5,111.05,1.7,63.75 -5333,30,2.5,111.05,1.7,63.75 -5334,30,2.5,111.05,1.7,63.75 -5335,30,2.5,111.05,1.7,63.75 -5336,30,2.5,111.05,1.7,63.75 -5337,30,2.5,111.05,1.7,63.75 -5338,30,2.5,111.05,1.7,63.75 -5339,30,2.5,111.05,1.7,63.75 -5340,30,2.5,111.05,1.7,63.75 -5341,30,2.5,111.05,1.7,63.75 -5342,30,2.5,111.05,1.7,63.75 -5343,30,2.5,111.05,1.7,63.75 -5344,30,2.5,111.05,1.7,63.75 -5345,30,2.5,111.05,1.7,63.75 -5346,30,2.5,111.05,1.7,63.75 -5347,30,2.5,111.05,1.7,63.75 -5348,30,2.5,111.05,1.7,63.75 -5349,30,2.5,111.05,1.7,63.75 -5350,30,2.5,111.05,1.7,63.75 -5351,30,2.5,111.05,1.7,63.75 -5352,30,2.5,111.05,1.7,63.75 -5353,30,2.5,111.05,1.7,63.75 -5354,30,2.5,111.05,1.7,63.75 -5355,30,2.5,111.05,1.7,63.75 -5356,30,2.5,111.05,1.7,63.75 -5357,30,2.5,111.05,1.7,63.75 -5358,30,2.5,111.05,1.7,63.75 -5359,30,2.5,111.05,1.7,63.75 -5360,30,2.5,111.05,1.7,63.75 -5361,30,2.5,111.05,1.7,63.75 -5362,30,2.5,111.05,1.7,63.75 -5363,30,2.5,111.05,1.7,63.75 -5364,30,2.5,111.05,1.7,63.75 -5365,30,2.5,111.05,1.7,63.75 -5366,30,2.5,111.05,1.7,63.75 -5367,30,2.5,111.05,1.7,63.75 -5368,30,2.5,111.05,1.7,63.75 -5369,30,2.5,111.05,1.7,63.75 -5370,30,2.5,111.05,1.7,63.75 -5371,30,2.5,111.05,1.7,63.75 -5372,30,2.5,111.05,1.7,63.75 -5373,30,2.5,111.05,1.7,63.75 -5374,30,2.5,111.05,1.7,63.75 -5375,30,2.5,111.05,1.7,63.75 -5376,30,2.5,111.05,1.7,63.75 -5377,30,2.5,111.05,1.7,63.75 -5378,30,2.5,111.05,1.7,63.75 -5379,30,2.5,111.05,1.7,63.75 -5380,30,2.5,111.05,1.7,63.75 -5381,30,2.5,111.05,1.7,63.75 -5382,30,2.5,111.05,1.7,63.75 -5383,30,2.5,111.05,1.7,63.75 -5384,30,2.5,111.05,1.7,63.75 -5385,30,2.5,111.05,1.7,63.75 -5386,30,2.5,111.05,1.7,63.75 -5387,30,2.5,111.05,1.7,63.75 -5388,30,2.5,111.05,1.7,63.75 -5389,30,2.5,111.05,1.7,63.75 -5390,30,2.5,111.05,1.7,63.75 -5391,30,2.5,111.05,1.7,63.75 -5392,30,2.5,111.05,1.7,63.75 -5393,30,2.5,111.05,1.7,63.75 -5394,30,2.5,111.05,1.7,63.75 -5395,30,2.5,111.05,1.7,63.75 -5396,30,2.5,111.05,1.7,63.75 -5397,30,2.5,111.05,1.7,63.75 -5398,30,2.5,111.05,1.7,63.75 -5399,30,2.5,111.05,1.7,63.75 -5400,30,2.5,111.05,1.7,63.75 -5401,30,2.5,111.05,1.7,63.75 -5402,30,2.5,111.05,1.7,63.75 -5403,30,2.5,111.05,1.7,63.75 -5404,30,2.5,111.05,1.7,63.75 -5405,30,2.5,111.05,1.7,63.75 -5406,30,2.5,111.05,1.7,63.75 -5407,30,2.5,111.05,1.7,63.75 -5408,30,2.5,111.05,1.7,63.75 -5409,30,2.5,111.05,1.7,63.75 -5410,30,2.5,111.05,1.7,63.75 -5411,30,2.5,111.05,1.7,63.75 -5412,30,2.5,111.05,1.7,63.75 -5413,30,2.5,111.05,1.7,63.75 -5414,30,2.5,111.05,1.7,63.75 -5415,30,2.5,111.05,1.7,63.75 -5416,30,2.5,111.05,1.7,63.75 -5417,30,2.5,111.05,1.7,63.75 -5418,30,2.5,111.05,1.7,63.75 -5419,30,2.5,111.05,1.7,63.75 -5420,30,2.5,111.05,1.7,63.75 -5421,30,2.5,111.05,1.7,63.75 -5422,30,2.5,111.05,1.7,63.75 -5423,30,2.5,111.05,1.7,63.75 -5424,30,2.5,111.05,1.7,63.75 -5425,30,2.5,111.05,1.7,63.75 -5426,30,2.5,111.05,1.7,63.75 -5427,30,2.5,111.05,1.7,63.75 -5428,30,2.5,111.05,1.7,63.75 -5429,30,2.5,111.05,1.7,63.75 -5430,30,2.5,111.05,1.7,63.75 -5431,30,2.5,111.05,1.7,63.75 -5432,30,2.5,111.05,1.7,63.75 -5433,30,2.5,111.05,1.7,63.75 -5434,30,2.5,111.05,1.7,63.75 -5435,30,2.5,111.05,1.7,63.75 -5436,30,2.5,111.05,1.7,63.75 -5437,30,2.5,111.05,1.7,63.75 -5438,30,2.5,111.05,1.7,63.75 -5439,30,2.5,111.05,1.7,63.75 -5440,30,2.5,111.05,1.7,63.75 -5441,30,2.5,111.05,1.7,63.75 -5442,30,2.5,111.05,1.7,63.75 -5443,30,2.5,111.05,1.7,63.75 -5444,30,2.5,111.05,1.7,63.75 -5445,30,2.5,111.05,1.7,63.75 -5446,30,2.5,111.05,1.7,63.75 -5447,30,2.5,111.05,1.7,63.75 -5448,30,2.5,111.05,1.7,63.75 -5449,30,2.5,111.05,1.7,63.75 -5450,30,2.5,111.05,1.7,63.75 -5451,30,2.5,111.05,1.7,63.75 -5452,30,2.5,111.05,1.7,63.75 -5453,30,2.5,111.05,1.7,63.75 -5454,30,2.5,111.05,1.7,63.75 -5455,30,2.5,111.05,1.7,63.75 -5456,30,2.5,111.05,1.7,63.75 -5457,30,2.5,111.05,1.7,63.75 -5458,30,2.5,111.05,1.7,63.75 -5459,30,2.5,111.05,1.7,63.75 -5460,30,2.5,111.05,1.7,63.75 -5461,30,2.5,111.05,1.7,63.75 -5462,30,2.5,111.05,1.7,63.75 -5463,30,2.5,111.05,1.7,63.75 -5464,30,2.5,111.05,1.7,63.75 -5465,30,2.5,111.05,1.7,63.75 -5466,30,2.5,111.05,1.7,63.75 -5467,30,2.5,111.05,1.7,63.75 -5468,30,2.5,111.05,1.7,63.75 -5469,30,2.5,111.05,1.7,63.75 -5470,30,2.5,111.05,1.7,63.75 -5471,30,2.5,111.05,1.7,63.75 -5472,30,2.5,111.05,1.7,63.75 -5473,30,2.5,111.05,1.7,63.75 -5474,30,2.5,111.05,1.7,63.75 -5475,30,2.5,111.05,1.7,63.75 -5476,30,2.5,111.05,1.7,63.75 -5477,30,2.5,111.05,1.7,63.75 -5478,30,2.5,111.05,1.7,63.75 -5479,30,2.5,111.05,1.7,63.75 -5480,30,2.5,111.05,1.7,63.75 -5481,30,2.5,111.05,1.7,63.75 -5482,30,2.5,111.05,1.7,63.75 -5483,30,2.5,111.05,1.7,63.75 -5484,30,2.5,111.05,1.7,63.75 -5485,30,2.5,111.05,1.7,63.75 -5486,30,2.5,111.05,1.7,63.75 -5487,30,2.5,111.05,1.7,63.75 -5488,30,2.5,111.05,1.7,63.75 -5489,30,2.5,111.05,1.7,63.75 -5490,30,2.5,111.05,1.7,63.75 -5491,30,2.5,111.05,1.7,63.75 -5492,30,2.5,111.05,1.7,63.75 -5493,30,2.5,111.05,1.7,63.75 -5494,30,2.5,111.05,1.7,63.75 -5495,30,2.5,111.05,1.7,63.75 -5496,30,2.5,111.05,1.7,63.75 -5497,30,2.5,111.05,1.7,63.75 -5498,30,2.5,111.05,1.7,63.75 -5499,30,2.5,111.05,1.7,63.75 -5500,30,2.5,111.05,1.7,63.75 -5501,30,2.5,111.05,1.7,63.75 -5502,30,2.5,111.05,1.7,63.75 -5503,30,2.5,111.05,1.7,63.75 -5504,30,2.5,111.05,1.7,63.75 -5505,30,2.5,111.05,1.7,63.75 -5506,30,2.5,111.05,1.7,63.75 -5507,30,2.5,111.05,1.7,63.75 -5508,30,2.5,111.05,1.7,63.75 -5509,30,2.5,111.05,1.7,63.75 -5510,30,2.5,111.05,1.7,63.75 -5511,30,2.5,111.05,1.7,63.75 -5512,30,2.5,111.05,1.7,63.75 -5513,30,2.5,111.05,1.7,63.75 -5514,30,2.5,111.05,1.7,63.75 -5515,30,2.5,111.05,1.7,63.75 -5516,30,2.5,111.05,1.7,63.75 -5517,30,2.5,111.05,1.7,63.75 -5518,30,2.5,111.05,1.7,63.75 -5519,30,2.5,111.05,1.7,63.75 -5520,30,2.5,111.05,1.7,63.75 -5521,30,2.5,111.05,1.7,63.75 -5522,30,2.5,111.05,1.7,63.75 -5523,30,2.5,111.05,1.7,63.75 -5524,30,2.5,111.05,1.7,63.75 -5525,30,2.5,111.05,1.7,63.75 -5526,30,2.5,111.05,1.7,63.75 -5527,30,2.5,111.05,1.7,63.75 -5528,30,2.5,111.05,1.7,63.75 -5529,30,2.5,111.05,1.7,63.75 -5530,30,2.5,111.05,1.7,63.75 -5531,30,2.5,111.05,1.7,63.75 -5532,30,2.5,111.05,1.7,63.75 -5533,30,2.5,111.05,1.7,63.75 -5534,30,2.5,111.05,1.7,63.75 -5535,30,2.5,111.05,1.7,63.75 -5536,30,2.5,111.05,1.7,63.75 -5537,30,2.5,111.05,1.7,63.75 -5538,30,2.5,111.05,1.7,63.75 -5539,30,2.5,111.05,1.7,63.75 -5540,30,2.5,111.05,1.7,63.75 -5541,30,2.5,111.05,1.7,63.75 -5542,30,2.5,111.05,1.7,63.75 -5543,30,2.5,111.05,1.7,63.75 -5544,30,2.5,111.05,1.7,63.75 -5545,30,2.5,111.05,1.7,63.75 -5546,30,2.5,111.05,1.7,63.75 -5547,30,2.5,111.05,1.7,63.75 -5548,30,2.5,111.05,1.7,63.75 -5549,30,2.5,111.05,1.7,63.75 -5550,30,2.5,111.05,1.7,63.75 -5551,30,2.5,111.05,1.7,63.75 -5552,30,2.5,111.05,1.7,63.75 -5553,30,2.5,111.05,1.7,63.75 -5554,30,2.5,111.05,1.7,63.75 -5555,30,2.5,111.05,1.7,63.75 -5556,30,2.5,111.05,1.7,63.75 -5557,30,2.5,111.05,1.7,63.75 -5558,30,2.5,111.05,1.7,63.75 -5559,30,2.5,111.05,1.7,63.75 -5560,30,2.5,111.05,1.7,63.75 -5561,30,2.5,111.05,1.7,63.75 -5562,30,2.5,111.05,1.7,63.75 -5563,30,2.5,111.05,1.7,63.75 -5564,30,2.5,111.05,1.7,63.75 -5565,30,2.5,111.05,1.7,63.75 -5566,30,2.5,111.05,1.7,63.75 -5567,30,2.5,111.05,1.7,63.75 -5568,30,2.5,111.05,1.7,63.75 -5569,30,2.5,111.05,1.7,63.75 -5570,30,2.5,111.05,1.7,63.75 -5571,30,2.5,111.05,1.7,63.75 -5572,30,2.5,111.05,1.7,63.75 -5573,30,2.5,111.05,1.7,63.75 -5574,30,2.5,111.05,1.7,63.75 -5575,30,2.5,111.05,1.7,63.75 -5576,30,2.5,111.05,1.7,63.75 -5577,30,2.5,111.05,1.7,63.75 -5578,30,2.5,111.05,1.7,63.75 -5579,30,2.5,111.05,1.7,63.75 -5580,30,2.5,111.05,1.7,63.75 -5581,30,2.5,111.05,1.7,63.75 -5582,30,2.5,111.05,1.7,63.75 -5583,30,2.5,111.05,1.7,63.75 -5584,30,2.5,111.05,1.7,63.75 -5585,30,2.5,111.05,1.7,63.75 -5586,30,2.5,111.05,1.7,63.75 -5587,30,2.5,111.05,1.7,63.75 -5588,30,2.5,111.05,1.7,63.75 -5589,30,2.5,111.05,1.7,63.75 -5590,30,2.5,111.05,1.7,63.75 -5591,30,2.5,111.05,1.7,63.75 -5592,30,2.5,111.05,1.7,63.75 -5593,30,2.5,111.05,1.7,63.75 -5594,30,2.5,111.05,1.7,63.75 -5595,30,2.5,111.05,1.7,63.75 -5596,30,2.5,111.05,1.7,63.75 -5597,30,2.5,111.05,1.7,63.75 -5598,30,2.5,111.05,1.7,63.75 -5599,30,2.5,111.05,1.7,63.75 -5600,30,2.5,111.05,1.7,63.75 -5601,30,2.5,111.05,1.7,63.75 -5602,30,2.5,111.05,1.7,63.75 -5603,30,2.5,111.05,1.7,63.75 -5604,30,2.5,111.05,1.7,63.75 -5605,30,2.5,111.05,1.7,63.75 -5606,30,2.5,111.05,1.7,63.75 -5607,30,2.5,111.05,1.7,63.75 -5608,30,2.5,111.05,1.7,63.75 -5609,30,2.5,111.05,1.7,63.75 -5610,30,2.5,111.05,1.7,63.75 -5611,30,2.5,111.05,1.7,63.75 -5612,30,2.5,111.05,1.7,63.75 -5613,30,2.5,111.05,1.7,63.75 -5614,30,2.5,111.05,1.7,63.75 -5615,30,2.5,111.05,1.7,63.75 -5616,30,2.5,111.05,1.7,63.75 -5617,30,2.5,111.05,1.7,63.75 -5618,30,2.5,111.05,1.7,63.75 -5619,30,2.5,111.05,1.7,63.75 -5620,30,2.5,111.05,1.7,63.75 -5621,30,2.5,111.05,1.7,63.75 -5622,30,2.5,111.05,1.7,63.75 -5623,30,2.5,111.05,1.7,63.75 -5624,30,2.5,111.05,1.7,63.75 -5625,30,2.5,111.05,1.7,63.75 -5626,30,2.5,111.05,1.7,63.75 -5627,30,2.5,111.05,1.7,63.75 -5628,30,2.5,111.05,1.7,63.75 -5629,30,2.5,111.05,1.7,63.75 -5630,30,2.5,111.05,1.7,63.75 -5631,30,2.5,111.05,1.7,63.75 -5632,30,2.5,111.05,1.7,63.75 -5633,30,2.5,111.05,1.7,63.75 -5634,30,2.5,111.05,1.7,63.75 -5635,30,2.5,111.05,1.7,63.75 -5636,30,2.5,111.05,1.7,63.75 -5637,30,2.5,111.05,1.7,63.75 -5638,30,2.5,111.05,1.7,63.75 -5639,30,2.5,111.05,1.7,63.75 -5640,30,2.5,111.05,1.7,63.75 -5641,30,2.5,111.05,1.7,63.75 -5642,30,2.5,111.05,1.7,63.75 -5643,30,2.5,111.05,1.7,63.75 -5644,30,2.5,111.05,1.7,63.75 -5645,30,2.5,111.05,1.7,63.75 -5646,30,2.5,111.05,1.7,63.75 -5647,30,2.5,111.05,1.7,63.75 -5648,30,2.5,111.05,1.7,63.75 -5649,30,2.5,111.05,1.7,63.75 -5650,30,2.5,111.05,1.7,63.75 -5651,30,2.5,111.05,1.7,63.75 -5652,30,2.5,111.05,1.7,63.75 -5653,30,2.5,111.05,1.7,63.75 -5654,30,2.5,111.05,1.7,63.75 -5655,30,2.5,111.05,1.7,63.75 -5656,30,2.5,111.05,1.7,63.75 -5657,30,2.5,111.05,1.7,63.75 -5658,30,2.5,111.05,1.7,63.75 -5659,30,2.5,111.05,1.7,63.75 -5660,30,2.5,111.05,1.7,63.75 -5661,30,2.5,111.05,1.7,63.75 -5662,30,2.5,111.05,1.7,63.75 -5663,30,2.5,111.05,1.7,63.75 -5664,30,2.5,111.05,1.7,63.75 -5665,30,2.5,111.05,1.7,63.75 -5666,30,2.5,111.05,1.7,63.75 -5667,30,2.5,111.05,1.7,63.75 -5668,30,2.5,111.05,1.7,63.75 -5669,30,2.5,111.05,1.7,63.75 -5670,30,2.5,111.05,1.7,63.75 -5671,30,2.5,111.05,1.7,63.75 -5672,30,2.5,111.05,1.7,63.75 -5673,30,2.5,111.05,1.7,63.75 -5674,30,2.5,111.05,1.7,63.75 -5675,30,2.5,111.05,1.7,63.75 -5676,30,2.5,111.05,1.7,63.75 -5677,30,2.5,111.05,1.7,63.75 -5678,30,2.5,111.05,1.7,63.75 -5679,30,2.5,111.05,1.7,63.75 -5680,30,2.5,111.05,1.7,63.75 -5681,30,2.5,111.05,1.7,63.75 -5682,30,2.5,111.05,1.7,63.75 -5683,30,2.5,111.05,1.7,63.75 -5684,30,2.5,111.05,1.7,63.75 -5685,30,2.5,111.05,1.7,63.75 -5686,30,2.5,111.05,1.7,63.75 -5687,30,2.5,111.05,1.7,63.75 -5688,30,2.5,111.05,1.7,63.75 -5689,30,2.5,111.05,1.7,63.75 -5690,30,2.5,111.05,1.7,63.75 -5691,30,2.5,111.05,1.7,63.75 -5692,30,2.5,111.05,1.7,63.75 -5693,30,2.5,111.05,1.7,63.75 -5694,30,2.5,111.05,1.7,63.75 -5695,30,2.5,111.05,1.7,63.75 -5696,30,2.5,111.05,1.7,63.75 -5697,30,2.5,111.05,1.7,63.75 -5698,30,2.5,111.05,1.7,63.75 -5699,30,2.5,111.05,1.7,63.75 -5700,30,2.5,111.05,1.7,63.75 -5701,30,2.5,111.05,1.7,63.75 -5702,30,2.5,111.05,1.7,63.75 -5703,30,2.5,111.05,1.7,63.75 -5704,30,2.5,111.05,1.7,63.75 -5705,30,2.5,111.05,1.7,63.75 -5706,30,2.5,111.05,1.7,63.75 -5707,30,2.5,111.05,1.7,63.75 -5708,30,2.5,111.05,1.7,63.75 -5709,30,2.5,111.05,1.7,63.75 -5710,30,2.5,111.05,1.7,63.75 -5711,30,2.5,111.05,1.7,63.75 -5712,30,2.5,111.05,1.7,63.75 -5713,30,2.5,111.05,1.7,63.75 -5714,30,2.5,111.05,1.7,63.75 -5715,30,2.5,111.05,1.7,63.75 -5716,30,2.5,111.05,1.7,63.75 -5717,30,2.5,111.05,1.7,63.75 -5718,30,2.5,111.05,1.7,63.75 -5719,30,2.5,111.05,1.7,63.75 -5720,30,2.5,111.05,1.7,63.75 -5721,30,2.5,111.05,1.7,63.75 -5722,30,2.5,111.05,1.7,63.75 -5723,30,2.5,111.05,1.7,63.75 -5724,30,2.5,111.05,1.7,63.75 -5725,30,2.5,111.05,1.7,63.75 -5726,30,2.5,111.05,1.7,63.75 -5727,30,2.5,111.05,1.7,63.75 -5728,30,2.5,111.05,1.7,63.75 -5729,30,2.5,111.05,1.7,63.75 -5730,30,2.5,111.05,1.7,63.75 -5731,30,2.5,111.05,1.7,63.75 -5732,30,2.5,111.05,1.7,63.75 -5733,30,2.5,111.05,1.7,63.75 -5734,30,2.5,111.05,1.7,63.75 -5735,30,2.5,111.05,1.7,63.75 -5736,30,2.5,111.05,1.7,63.75 -5737,30,2.5,111.05,1.7,63.75 -5738,30,2.5,111.05,1.7,63.75 -5739,30,2.5,111.05,1.7,63.75 -5740,30,2.5,111.05,1.7,63.75 -5741,30,2.5,111.05,1.7,63.75 -5742,30,2.5,111.05,1.7,63.75 -5743,30,2.5,111.05,1.7,63.75 -5744,30,2.5,111.05,1.7,63.75 -5745,30,2.5,111.05,1.7,63.75 -5746,30,2.5,111.05,1.7,63.75 -5747,30,2.5,111.05,1.7,63.75 -5748,30,2.5,111.05,1.7,63.75 -5749,30,2.5,111.05,1.7,63.75 -5750,30,2.5,111.05,1.7,63.75 -5751,30,2.5,111.05,1.7,63.75 -5752,30,2.5,111.05,1.7,63.75 -5753,30,2.5,111.05,1.7,63.75 -5754,30,2.5,111.05,1.7,63.75 -5755,30,2.5,111.05,1.7,63.75 -5756,30,2.5,111.05,1.7,63.75 -5757,30,2.5,111.05,1.7,63.75 -5758,30,2.5,111.05,1.7,63.75 -5759,30,2.5,111.05,1.7,63.75 -5760,30,2.5,111.05,1.7,63.75 -5761,30,2.5,111.05,1.7,63.75 -5762,30,2.5,111.05,1.7,63.75 -5763,30,2.5,111.05,1.7,63.75 -5764,30,2.5,111.05,1.7,63.75 -5765,30,2.5,111.05,1.7,63.75 -5766,30,2.5,111.05,1.7,63.75 -5767,30,2.5,111.05,1.7,63.75 -5768,30,2.5,111.05,1.7,63.75 -5769,30,2.5,111.05,1.7,63.75 -5770,30,2.5,111.05,1.7,63.75 -5771,30,2.5,111.05,1.7,63.75 -5772,30,2.5,111.05,1.7,63.75 -5773,30,2.5,111.05,1.7,63.75 -5774,30,2.5,111.05,1.7,63.75 -5775,30,2.5,111.05,1.7,63.75 -5776,30,2.5,111.05,1.7,63.75 -5777,30,2.5,111.05,1.7,63.75 -5778,30,2.5,111.05,1.7,63.75 -5779,30,2.5,111.05,1.7,63.75 -5780,30,2.5,111.05,1.7,63.75 -5781,30,2.5,111.05,1.7,63.75 -5782,30,2.5,111.05,1.7,63.75 -5783,30,2.5,111.05,1.7,63.75 -5784,30,2.5,111.05,1.7,63.75 -5785,30,2.5,111.05,1.7,63.75 -5786,30,2.5,111.05,1.7,63.75 -5787,30,2.5,111.05,1.7,63.75 -5788,30,2.5,111.05,1.7,63.75 -5789,30,2.5,111.05,1.7,63.75 -5790,30,2.5,111.05,1.7,63.75 -5791,30,2.5,111.05,1.7,63.75 -5792,30,2.5,111.05,1.7,63.75 -5793,30,2.5,111.05,1.7,63.75 -5794,30,2.5,111.05,1.7,63.75 -5795,30,2.5,111.05,1.7,63.75 -5796,30,2.5,111.05,1.7,63.75 -5797,30,2.5,111.05,1.7,63.75 -5798,30,2.5,111.05,1.7,63.75 -5799,30,2.5,111.05,1.7,63.75 -5800,30,2.5,111.05,1.7,63.75 -5801,30,2.5,111.05,1.7,63.75 -5802,30,2.5,111.05,1.7,63.75 -5803,30,2.5,111.05,1.7,63.75 -5804,30,2.5,111.05,1.7,63.75 -5805,30,2.5,111.05,1.7,63.75 -5806,30,2.5,111.05,1.7,63.75 -5807,30,2.5,111.05,1.7,63.75 -5808,30,2.5,111.05,1.7,63.75 -5809,30,2.5,111.05,1.7,63.75 -5810,30,2.5,111.05,1.7,63.75 -5811,30,2.5,111.05,1.7,63.75 -5812,30,2.5,111.05,1.7,63.75 -5813,30,2.5,111.05,1.7,63.75 -5814,30,2.5,111.05,1.7,63.75 -5815,30,2.5,111.05,1.7,63.75 -5816,30,2.5,111.05,1.7,63.75 -5817,30,2.5,111.05,1.7,63.75 -5818,30,2.5,111.05,1.7,63.75 -5819,30,2.5,111.05,1.7,63.75 -5820,30,2.5,111.05,1.7,63.75 -5821,30,2.5,111.05,1.7,63.75 -5822,30,2.5,111.05,1.7,63.75 -5823,30,2.5,111.05,1.7,63.75 -5824,30,2.5,111.05,1.7,63.75 -5825,30,2.5,111.05,1.7,63.75 -5826,30,2.5,111.05,1.7,63.75 -5827,30,2.5,111.05,1.7,63.75 -5828,30,2.5,111.05,1.7,63.75 -5829,30,2.5,111.05,1.7,63.75 -5830,30,2.5,111.05,1.7,63.75 -5831,30,2.5,111.05,1.7,63.75 -5832,30,2.5,111.05,1.7,63.75 -5833,30,2.5,111.05,1.7,63.75 -5834,30,2.5,111.05,1.7,63.75 -5835,30,2.5,111.05,1.7,63.75 -5836,30,2.5,111.05,1.7,63.75 -5837,30,2.5,111.05,1.7,63.75 -5838,30,2.5,111.05,1.7,63.75 -5839,30,2.5,111.05,1.7,63.75 -5840,30,2.5,111.05,1.7,63.75 -5841,30,2.5,111.05,1.7,63.75 -5842,30,2.5,111.05,1.7,63.75 -5843,30,2.5,111.05,1.7,63.75 -5844,30,2.5,111.05,1.7,63.75 -5845,30,2.5,111.05,1.7,63.75 -5846,30,2.5,111.05,1.7,63.75 -5847,30,2.5,111.05,1.7,63.75 -5848,30,2.5,111.05,1.7,63.75 -5849,30,2.5,111.05,1.7,63.75 -5850,30,2.5,111.05,1.7,63.75 -5851,30,2.5,111.05,1.7,63.75 -5852,30,2.5,111.05,1.7,63.75 -5853,30,2.5,111.05,1.7,63.75 -5854,30,2.5,111.05,1.7,63.75 -5855,30,2.5,111.05,1.7,63.75 -5856,30,2.5,111.05,1.7,63.75 -5857,30,2.5,111.05,1.7,63.75 -5858,30,2.5,111.05,1.7,63.75 -5859,30,2.5,111.05,1.7,63.75 -5860,30,2.5,111.05,1.7,63.75 -5861,30,2.5,111.05,1.7,63.75 -5862,30,2.5,111.05,1.7,63.75 -5863,30,2.5,111.05,1.7,63.75 -5864,30,2.5,111.05,1.7,63.75 -5865,30,2.5,111.05,1.7,63.75 -5866,30,2.5,111.05,1.7,63.75 -5867,30,2.5,111.05,1.7,63.75 -5868,30,2.5,111.05,1.7,63.75 -5869,30,2.5,111.05,1.7,63.75 -5870,30,2.5,111.05,1.7,63.75 -5871,30,2.5,111.05,1.7,63.75 -5872,30,2.5,111.05,1.7,63.75 -5873,30,2.5,111.05,1.7,63.75 -5874,30,2.5,111.05,1.7,63.75 -5875,30,2.5,111.05,1.7,63.75 -5876,30,2.5,111.05,1.7,63.75 -5877,30,2.5,111.05,1.7,63.75 -5878,30,2.5,111.05,1.7,63.75 -5879,30,2.5,111.05,1.7,63.75 -5880,30,2.5,111.05,1.7,63.75 -5881,30,2.5,111.05,1.7,63.75 -5882,30,2.5,111.05,1.7,63.75 -5883,30,2.5,111.05,1.7,63.75 -5884,30,2.5,111.05,1.7,63.75 -5885,30,2.5,111.05,1.7,63.75 -5886,30,2.5,111.05,1.7,63.75 -5887,30,2.5,111.05,1.7,63.75 -5888,30,2.5,111.05,1.7,63.75 -5889,30,2.5,111.05,1.7,63.75 -5890,30,2.5,111.05,1.7,63.75 -5891,30,2.5,111.05,1.7,63.75 -5892,30,2.5,111.05,1.7,63.75 -5893,30,2.5,111.05,1.7,63.75 -5894,30,2.5,111.05,1.7,63.75 -5895,30,2.5,111.05,1.7,63.75 -5896,30,2.5,111.05,1.7,63.75 -5897,30,2.5,111.05,1.7,63.75 -5898,30,2.5,111.05,1.7,63.75 -5899,30,2.5,111.05,1.7,63.75 -5900,30,2.5,111.05,1.7,63.75 -5901,30,2.5,111.05,1.7,63.75 -5902,30,2.5,111.05,1.7,63.75 -5903,30,2.5,111.05,1.7,63.75 -5904,30,2.5,111.05,1.7,63.75 -5905,30,2.5,111.05,1.7,63.75 -5906,30,2.5,111.05,1.7,63.75 -5907,30,2.5,111.05,1.7,63.75 -5908,30,2.5,111.05,1.7,63.75 -5909,30,2.5,111.05,1.7,63.75 -5910,30,2.5,111.05,1.7,63.75 -5911,30,2.5,111.05,1.7,63.75 -5912,30,2.5,111.05,1.7,63.75 -5913,30,2.5,111.05,1.7,63.75 -5914,30,2.5,111.05,1.7,63.75 -5915,30,2.5,111.05,1.7,63.75 -5916,30,2.5,111.05,1.7,63.75 -5917,30,2.5,111.05,1.7,63.75 -5918,30,2.5,111.05,1.7,63.75 -5919,30,2.5,111.05,1.7,63.75 -5920,30,2.5,111.05,1.7,63.75 -5921,30,2.5,111.05,1.7,63.75 -5922,30,2.5,111.05,1.7,63.75 -5923,30,2.5,111.05,1.7,63.75 -5924,30,2.5,111.05,1.7,63.75 -5925,30,2.5,111.05,1.7,63.75 -5926,30,2.5,111.05,1.7,63.75 -5927,30,2.5,111.05,1.7,63.75 -5928,30,2.5,111.05,1.7,63.75 -5929,30,2.5,111.05,1.7,63.75 -5930,30,2.5,111.05,1.7,63.75 -5931,30,2.5,111.05,1.7,63.75 -5932,30,2.5,111.05,1.7,63.75 -5933,30,2.5,111.05,1.7,63.75 -5934,30,2.5,111.05,1.7,63.75 -5935,30,2.5,111.05,1.7,63.75 -5936,30,2.5,111.05,1.7,63.75 -5937,30,2.5,111.05,1.7,63.75 -5938,30,2.5,111.05,1.7,63.75 -5939,30,2.5,111.05,1.7,63.75 -5940,30,2.5,111.05,1.7,63.75 -5941,30,2.5,111.05,1.7,63.75 -5942,30,2.5,111.05,1.7,63.75 -5943,30,2.5,111.05,1.7,63.75 -5944,30,2.5,111.05,1.7,63.75 -5945,30,2.5,111.05,1.7,63.75 -5946,30,2.5,111.05,1.7,63.75 -5947,30,2.5,111.05,1.7,63.75 -5948,30,2.5,111.05,1.7,63.75 -5949,30,2.5,111.05,1.7,63.75 -5950,30,2.5,111.05,1.7,63.75 -5951,30,2.5,111.05,1.7,63.75 -5952,30,2.5,111.05,1.7,63.75 -5953,30,2.5,111.05,1.7,63.75 -5954,30,2.5,111.05,1.7,63.75 -5955,30,2.5,111.05,1.7,63.75 -5956,30,2.5,111.05,1.7,63.75 -5957,30,2.5,111.05,1.7,63.75 -5958,30,2.5,111.05,1.7,63.75 -5959,30,2.5,111.05,1.7,63.75 -5960,30,2.5,111.05,1.7,63.75 -5961,30,2.5,111.05,1.7,63.75 -5962,30,2.5,111.05,1.7,63.75 -5963,30,2.5,111.05,1.7,63.75 -5964,30,2.5,111.05,1.7,63.75 -5965,30,2.5,111.05,1.7,63.75 -5966,30,2.5,111.05,1.7,63.75 -5967,30,2.5,111.05,1.7,63.75 -5968,30,2.5,111.05,1.7,63.75 -5969,30,2.5,111.05,1.7,63.75 -5970,30,2.5,111.05,1.7,63.75 -5971,30,2.5,111.05,1.7,63.75 -5972,30,2.5,111.05,1.7,63.75 -5973,30,2.5,111.05,1.7,63.75 -5974,30,2.5,111.05,1.7,63.75 -5975,30,2.5,111.05,1.7,63.75 -5976,30,2.5,111.05,1.7,63.75 -5977,30,2.5,111.05,1.7,63.75 -5978,30,2.5,111.05,1.7,63.75 -5979,30,2.5,111.05,1.7,63.75 -5980,30,2.5,111.05,1.7,63.75 -5981,30,2.5,111.05,1.7,63.75 -5982,30,2.5,111.05,1.7,63.75 -5983,30,2.5,111.05,1.7,63.75 -5984,30,2.5,111.05,1.7,63.75 -5985,30,2.5,111.05,1.7,63.75 -5986,30,2.5,111.05,1.7,63.75 -5987,30,2.5,111.05,1.7,63.75 -5988,30,2.5,111.05,1.7,63.75 -5989,30,2.5,111.05,1.7,63.75 -5990,30,2.5,111.05,1.7,63.75 -5991,30,2.5,111.05,1.7,63.75 -5992,30,2.5,111.05,1.7,63.75 -5993,30,2.5,111.05,1.7,63.75 -5994,30,2.5,111.05,1.7,63.75 -5995,30,2.5,111.05,1.7,63.75 -5996,30,2.5,111.05,1.7,63.75 -5997,30,2.5,111.05,1.7,63.75 -5998,30,2.5,111.05,1.7,63.75 -5999,30,2.5,111.05,1.7,63.75 -6000,30,2.5,111.05,1.7,63.75 diff --git a/EC-GN-JA-PCF/.svn/pristine/a5/a5cfe2b070cb3723929ae807df3990f4c43f0018.svn-base b/EC-GN-JA-PCF/.svn/pristine/a5/a5cfe2b070cb3723929ae807df3990f4c43f0018.svn-base deleted file mode 100644 index e764f01..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a5/a5cfe2b070cb3723929ae807df3990f4c43f0018.svn-base +++ /dev/null @@ -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=JABitReverseGAM.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)/JABitReverseGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitReverseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/a5/a5ebf1a1b4b35a849f57294b275cdd97720d5eb4.svn-base b/EC-GN-JA-PCF/.svn/pristine/a5/a5ebf1a1b4b35a849f57294b275cdd97720d5eb4.svn-base deleted file mode 100644 index 7074477..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a5/a5ebf1a1b4b35a849f57294b275cdd97720d5eb4.svn-base +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file NI6528.h - * @brief Header file for class NI6528 - * @date 07/06/2018 - * @author Andre Neto - * - * @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 NI6528 - * 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 RANDOM_DATASOURCE_H_ -#define RANDOM_DATASOURCE_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief NI6528 simplified data source implementation. - * - * The configuration syntax is (names and signal quantities are only given as an example): - * +NI6528 = { - * Class = NI6528 - * DeviceName = "/dev/pxi6528.0" //Mandatory - * Port = 0 //The port where to write - * Signals = { - * currentValue = {Type = uint8} - * bitmask = {Type = uint8} - * Value = {Type = uint8} - * } - * } - */ -class NI6528: public MARTe::DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Constructor. NOOP. - */ -NI6528 (); - - /** - * @brief Destructor. NOOP. - */ - virtual ~NI6528(); - - /** - * @brief The configuration data detailed in the class description - * @return true if all the compulsory parameters are set. - */ - virtual bool Initialise(MARTe::StructuredDataI & data); - - /** - * @brief Verifies that at most one signal has been set with the correct type (i.e. any integer). - * @return true if the above conditions are met. - */ - virtual bool SetConfiguredDatabase(MARTe::StructuredDataI & data); - - /** - * @brief @see DataSourceI::Synchronise - */ - virtual bool Synchronise(); - - /** - * @brief @see DataSourceI::AllocateMemory - */ - virtual bool AllocateMemory(); - - /** - * @brief @see DataSourceI::GetSignalMemoryBuffer - */ - virtual bool GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress); - - /** - * @return "MemoryMapSynchronisedInputBroker" - */ - virtual const MARTe::char8 *GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction); - - /** - * @brief NOOP - */ - virtual bool PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName); - -private: - /** - * The previous value to write. - */ - MARTe::uint8 previousValue; - - /** - * The bitmask to write value. (new value) = (current value) || (bitmask) && (write value) - */ - MARTe::uint8 bitmask; - - /** - * The value to write. - */ - MARTe::uint8 value; - - /** - * The port number - */ - MARTe::uint32 port; - - /** - * The board file descriptor - */ - pxi6528_device_t boardFileDescriptor; - - /** - * The device name - */ - MARTe::StreamString deviceName; -}; - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* RANDOM_DATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/.svn/pristine/a6/a64751839ba1d5bbffb568065acdfca7d49d612a.svn-base b/EC-GN-JA-PCF/.svn/pristine/a6/a64751839ba1d5bbffb568065acdfca7d49d612a.svn-base deleted file mode 100644 index ed94286..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a6/a64751839ba1d5bbffb568065acdfca7d49d612a.svn-base +++ /dev/null @@ -1,23557 +0,0 @@ - - - - - -52 - - - -EC-GN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10.136.136.101 - - -52RF01-PSH-4410 - - - - -52RF01-PCF-4210.codac.iter.org - - -52RF01-PCF-4210.codac.iter.org-R1 - - -52RF01-PCF-4210.codac.iter.org-R1 - - - - - -10.136.136.13-T1 - - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEAALL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-RESET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-TAIUTC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMN - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DEVNAME - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DRIVER - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEMAX - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTENUM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-HBDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-LVL_ERRS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SERIAL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNCLOST - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:DIO4900-YON - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-MST-TRIG - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-MODE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-ERR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-NAME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-ELAPSED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-ID - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV1 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV2 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV3 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV5 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV6 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV7 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV8 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OV - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YSTA-GAOP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:DIO4900-YON - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-MST-TRIG - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-MODE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-ERR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -string -configuration - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-NAME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-ELAPSED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-ID - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV1 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV2 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV3 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV5 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV6 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV7 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV8 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YSTA-GBOP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-CTRP - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PSU0000-YSTA-MOD - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-CONF-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-RECONF - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SW-TRIG - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RST-FLT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD1-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD2-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD3-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD4-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RDY-TOUT - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY1PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY2PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YSTA-MPSS - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTRP - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD4 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST1R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST2R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST3R - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-HV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-SW - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CTRP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YFLT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YSTA - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-MANM - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-MSP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-P - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-HVON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-SWON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-PREP-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-HV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-SW - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CTRP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YFLT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YSTA - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-MANM - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-MSP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-P - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-HVON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-SWON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-PREP-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-HV - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-SW - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CTRP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YFLT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YSTA - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-MANM - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF-MSP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-HVON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-SWON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-PREP-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-HV - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-SW - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CTRP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YFLT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YSTA - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-MANM - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF-MSP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-HVON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-SWON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-PREP-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-COFF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-MOD - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-SW - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-TYSTA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-YFLT - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-MANM - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF-MSP - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-DT-HVON - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-EREF-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-HVON-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-PREP-WF - - - - - - - - - - -iocEC-GN-PSH0PCF -PCFCORE IOC -epicsioc -IOC - - - -52RF01-PCF-4210 - -iocEC-GN-PCF0SYSM -PCFSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0SYSM -PSHSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0CUB -PSHCUB IOC -epicsioc -IOC - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/a6/a66a87d9d4843e8580baddd3cd2472838701740e.svn-base b/EC-GN-JA-PCF/.svn/pristine/a6/a66a87d9d4843e8580baddd3cd2472838701740e.svn-base deleted file mode 100644 index e968f39..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a6/a66a87d9d4843e8580baddd3cd2472838701740e.svn-base +++ /dev/null @@ -1,262 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/a6/a66d04843ca0edcd2e4ad68cbbdba2a0c4de095d.svn-base b/EC-GN-JA-PCF/.svn/pristine/a6/a66d04843ca0edcd2e4ad68cbbdba2a0c4de095d.svn-base deleted file mode 100644 index c78bf18..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a6/a66d04843ca0edcd2e4ad68cbbdba2a0c4de095d.svn-base +++ /dev/null @@ -1,59 +0,0 @@ -TOP=../.. - -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE -#======================================== - -#======================================== -# Build the IOC application - -PROD_IOC = PLC -# PLC.dbd will be created and installed -DBD += PLC.dbd - -# PLC.dbd will be made up from these files: --include $(EPICS_ROOT)/mk/codac-common.mk - - -# Add all the support libraries needed by this IOC --include $(EPICS_ROOT)/mk/asyn.mk --include $(EPICS_ROOT)/mk/s7PLCAsyn.mk - -PLC_DBD += $(CODAC_DBD) -PLC_LIBS += $(CODAC_LIBS) - -# # SNCSEQ -# _SNCFLAGS += +r -c +d -# PLC_DBD += .dbd -# PLC_SRCS += .stt -# PLC_LIBS += seq pv - - -# PLC_registerRecordDeviceDriver.cpp derives from PLC.dbd -PLC_SRCS += PLC_registerRecordDeviceDriver.cpp - -# Build the main IOC entry point on workstation OSs. -PLC_SRCS_DEFAULT += PLCMain.cpp -PLC_SRCS_vxWorks += -nil- - -# Add support from base/src/vxWorks if needed -#PLC_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary - -#============================= -# Include SNL program makefile snippets - --include ../*.snlprog - -#============================= - - -# Finally link to the EPICS Base libraries -PLC_LIBS += $(EPICS_BASE_IOC_LIBS) - -#=========================== - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE -#---------------------------------------- diff --git a/EC-GN-JA-PCF/.svn/pristine/a7/a70329ca2d1cdc224df268b12185f139e877d639.svn-base b/EC-GN-JA-PCF/.svn/pristine/a7/a70329ca2d1cdc224df268b12185f139e877d639.svn-base deleted file mode 100644 index 91b4199..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a7/a70329ca2d1cdc224df268b12185f139e877d639.svn-base +++ /dev/null @@ -1,250 +0,0 @@ -/** - * @file JARTStateMachineGAM.h - * @brief Header file for class JASDNRTStateMachineGAM - * @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_JASDNRTSTATEMACHINEGAM_H_ -#define GAMS_JASDNRTSTATEMACHINEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM provides real-time state machine that communicate with SDN packet. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +GAMSDNRealTimeStateMachine = {
- *           Class = JASDNRTStateMachineGAM
- *           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
- *               }
- *               Command = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint16
- *               }
- *           }
- *           OutputSignals = {
- *               Value = {
- *                   //DataSource = NI6259
- *                   DataSource = Display
- *                   Type = uint32
- *                   Trigger = 1
- *               }
- *               BeamON = {
- *                   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
- *               }
- *           }
- *       }
- * 
- * - */ - -class JASDNRTStateMachineGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASDNRTStateMachineGAM(); - - virtual ~JASDNRTStateMachineGAM(); - - 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_HVON = 1, - WaitSDNTrigger = 2, - SwitchingHVPS_SWON = 3, - RFON = 4, - HVTerminate = 5 - }; - - //The current rtState - JARealTimeState currentState; - - ///////////////////////////////////////////////// - // Static parameter given by cfg File - ///////////////////////////////////////////////// - //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; - - ///////////////////////////////////////////////// - // Input signals - ///////////////////////////////////////////////// - //The trigger signal (PLC_ON) - MARTe::uint32 *triggerSignal; - //Time signal (Time from TimerGAM) - 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 SDN commands. - MARTe::uint16 *sdnCommand; - - ///////////////////////////////////////////////////////////// - // 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; - - ////////////////////////////// - //Internal Parameters - ////////////////////////////// - //PLC_ON time holder - MARTe::uint32 plcOnTime; - //APS_SWON time holder - MARTe::uint32 apsSwonTime; - MARTe::uint32 apsSwoffTime; - - //PS turn off delay - MARTe::uint32 turn_off_delay; - - //SDN trigger command arrival time. - MARTe::uint32 sdnTriggerTime; - //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; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASDNRTSTATEMACHINEGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/a8/a8272b0c0938b20be3b9d5c2ab0a12fd429a5957.svn-base b/EC-GN-JA-PCF/.svn/pristine/a8/a8272b0c0938b20be3b9d5c2ab0a12fd429a5957.svn-base deleted file mode 100644 index 73f755b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a8/a8272b0c0938b20be3b9d5c2ab0a12fd429a5957.svn-base +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef SDD_DATA_H -#define SDD_DATA_H - -#include "sdd-pon-if.h" -#include "sdd-iomodule.h" - -static SDD_PONVar pvlist []={ - - }; - -static SDD_IOModule iomlist []={ - }; - -#endif /* SDD_DATA_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/a8/a8bb09e1da20a5b6b3f248fd27dfe7c1f134db23.svn-base b/EC-GN-JA-PCF/.svn/pristine/a8/a8bb09e1da20a5b6b3f248fd27dfe7c1f134db23.svn-base deleted file mode 100644 index 4de6bdb..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/a8/a8bb09e1da20a5b6b3f248fd27dfe7c1f134db23.svn-base +++ /dev/null @@ -1,707 +0,0 @@ - - - - Display - - true - P0 - 52RF01-PLC-4110 - EC-GN-SYSM - 52RF - 01 - 4110 - PLC - EC - GN - SYSM - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - - false - - - - false - -1 - -1 - - - - - - - true - Grouping Container - - true - - true - 6 - - true - - 2 - - false - false - false - - groupHeading - - - - true - false - - 0 - - - - - - - 0 - - 1243 - 50 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Configuration Control: - - - false - false - false - - - false - Configuration Control: - - true - 1 - true - Label - 40 - true - - 6 - 90 - - - - - false - true - - - - 0 - false - - - - 0 - 2 - Are you sure you want to do this? - 0 - true - true - - IO Label - - false - - - - 38 - false - boolButton$(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGWRCNTR - - - - Check Configuration - - - - Configuration OK - - 0 - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGWRCNTR - - 0 - - - false - false - false - - - true - 1 - true - true - true - $(pv_name) $(pv_value) - true - Boolean Button - 210 - - 250 - 90 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLC Variable Communication: - - - false - false - false - - - false - PLC Variable Communication: - - true - 1 - true - Label - 40 - true - - 6 - 240 - - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-PLC_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) - $(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 400 - 230 - - - - - true - - - - - - - - - - - 1 - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGBC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGSTAT - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-ALIVE - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-MASTER - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-RUN - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-VALID - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-ALIVE - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-MASTER - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-RUN - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-VALID - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FERROR - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FLENGTH - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FLOST - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FVERS - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SIM-NOPLC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TIME - - - - 300 - GeneralTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 2000 - 6 - - - Name - 250 - no - - - Value - 280 - no - - - Status - 200 - no - - - Severity - 140 - no - - - false - - 2 - - - - 4 - - 290 - - 6 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLC Command Communication: - - - false - false - false - - - false - PLC Command Communication: - - true - 1 - true - Label - 40 - true - - 6 - 640 - - - - - - - true - - - - - - - - - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CMDBC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CMDSTAT - - - - 300 - GeneralTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 2000 - 6 - - - Name - 250 - no - - - Value - 280 - no - - - Status - 200 - no - - - Severity - 140 - no - - - false - - 2 - - - - 4 - - 690 - - 6 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLC Event Communication: - - - false - false - false - - - false - PLC Event Communication: - - true - 1 - true - Label - 40 - true - - 6 - 1040 - - - - - - - true - - - - - - - - - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EFLOST - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EVTBC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EVTSTAT - - - - 300 - GeneralTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 2000 - 6 - - - Name - 250 - no - - - Value - 280 - no - - - Status - 200 - no - - - Severity - 140 - no - - - false - - 2 - - - - 4 - - 1090 - - 6 - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 6 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 1 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 1 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/aa/aa43469fcb91225938c3771e34a83e21c77074dd.svn-base b/EC-GN-JA-PCF/.svn/pristine/aa/aa43469fcb91225938c3771e34a83e21c77074dd.svn-base deleted file mode 100644 index 2ac80fa..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/aa/aa43469fcb91225938c3771e34a83e21c77074dd.svn-base +++ /dev/null @@ -1,191 +0,0 @@ -+LoggerService = { - Class = LoggerService - CPUs = 0x1 - StackSize = 32768 - NumberOfLogPages = 128 - +ConLogger = { - Class = ConsoleLogger - Format = "EtOoFmC" - PrintKeys = 1 - } -} -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 1 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - +GAMEPICSCA = { - Class = IOGAM - InputSignals = { - doValue = { - DataSource = EPICSCAInput - Type = uint8 - } - } - OutputSignals = { - Value = { - DataSource = DDB1 - Type = uint8 - } - } - } - +GAMDebug = { - Class = IOGAM - InputSignals = { - Value = { - DataSource = DDB1 - Type = uint8 - } - - } - OutputSignals = { - Value = { - DataSource = NI6528 - Type = uint8 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +NI6528 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 3 - Value = { - Counter = { - Type = uint8 - } - } - } - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "1" - StackSize = "10000000" - Signals = { - doValue = { - PVName = "test:doValue" - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer GAMEPICSCA GAMDebug} - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/aa/aad892fd0db0322af5975ea3a79ee406a924ac2e.svn-base b/EC-GN-JA-PCF/.svn/pristine/aa/aad892fd0db0322af5975ea3a79ee406a924ac2e.svn-base deleted file mode 100644 index 9fe5dd3..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/aa/aad892fd0db0322af5975ea3a79ee406a924ac2e.svn-base +++ /dev/null @@ -1,349 +0,0 @@ -record (bo,"EC-GN-P01-GPF:PCF4210-CTRP") -{ - field(DESC, "Fast Controller Fault") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA1") -{ - field(DESC, "GY1 HV Armed") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA2") -{ - field(DESC, "GY1 HV Injection") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA3") -{ - field(DESC, "GY1 in RFON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB1") -{ - field(DESC, "GY2 HV Armed") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB2") -{ - field(DESC, "GY2 HV Injection") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB3") -{ - field(DESC, "GY2 RFON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPF:PSU0000-YSTA-MOD") -{ - field(DESC, "MHVPS modulation en/disable from ECPC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 8) bitread") - field(ONAM, "ENABLE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "DISABLE") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-CONF-STAT") -{ - field(DESC, "DAQ config state") - field(ONAM, "Ready") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Not ready") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-RECONF") -{ - field(DESC, "Reset and configure DAQ") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-SW-TRIG") -{ - field(DESC, "software trigger for DAQ start") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:STAT-RST-FLT") -{ - field(DESC, "Reset Fault command") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-LEN") -{ - field(DESC, "DAQ sampling time length") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1000.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-LEN-RB") -{ - field(DESC, "DAQ sampling time length readback") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1000.0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-MODE") -{ - field(DESC, "DAQ mode") - field(FRST, "Reference") - field(FRVL, "4") - field(ONST, "Finite") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Continuous") - field(THVL, "3") - field(TWST, "Retriggerable") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Software_triggered") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-MODE-RB") -{ - field(DESC, "DAQ mode readback") - field(FRST, "Reference") - field(FRVL, "4") - field(ONST, "Finite") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Continuous") - field(THVL, "3") - field(TWST, "Retriggerable") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Software_triggered") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-PUB-DLY") -{ - field(DESC, "DAN publish delay") - field(DRVH, "1000") - field(DRVL, "0.1") - field(EGU, "ms") - field(HOPR, "1000") - field(LOPR, "0.1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "10.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB") -{ - field(DESC, "DAN publish delay") - field(DRVH, "1000") - field(DRVL, "0.1") - field(EGU, "ms") - field(HOPR, "1000") - field(LOPR, "0.1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "10.0") -} - -record (longout,"EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE") -{ - field(DESC, "sampling rate") - field(DRVH, "1000000000") - field(DRVL, "1") - field(HOPR, "100000000") - field(LOPR, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1000") -} - -record (longout,"EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB") -{ - field(DESC, "sampling rate readback") - field(DRVH, "1000000000") - field(DRVL, "1") - field(HOPR, "100000000") - field(LOPR, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1000") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY") -{ - field(DESC, "DAQ start delay") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB") -{ - field(DESC, "DAQ start delay readback") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1.0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-STAT") -{ - field(DESC, "DAQ operation state") - field(FRSV, "NO_ALARM") - field(ONST, "Waiting trigger") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Aquiring") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Not ready") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD1-LIM") -{ - field(DESC, "MD1 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "10000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD2-LIM") -{ - field(DESC, "MD2 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "100000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD3-LIM") -{ - field(DESC, "MD3 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "30000000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD4-LIM") -{ - field(DESC, "MD4 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "300000000") -} - -record (ai,"EC-GN-P01-GPF:STAT-RDY-TOUT") -{ - field(DESC, "Gyrotron operation ready timeout") - field(EGU, "s") - field(HOPR, "600") - field(LOPR, "1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "30.0") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/ab/abab6377f3e6038fdc2a20372de412544715a018.svn-base b/EC-GN-JA-PCF/.svn/pristine/ab/abab6377f3e6038fdc2a20372de412544715a018.svn-base deleted file mode 100644 index 5141753..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ab/abab6377f3e6038fdc2a20372de412544715a018.svn-base +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright (c) : 2010-2019 ITER Organization, -CS 90 046 -13067 St. Paul-lez-Durance Cedex -France - -This product is part of ITER CODAC software. -For the terms and conditions of redistribution or use of this software -refer to the file ITER-LICENSE.TXT located in the top level directory -of the distribution package. -*/ - - -importPackage(Packages.org.csstudio.opibuilder.scriptUtil); - -var t = new Date(PVUtil.getTimeInMilliseconds(pvs[0])).toTimeString(); -var st = t.split(" "); - -widget.setPropertyValue("on_label", st[0]); -widget.setPropertyValue("off_label", st[0]); diff --git a/EC-GN-JA-PCF/.svn/pristine/ac/ac41b7cd0b9f506f1433a0174614fcb72d68ffc7.svn-base b/EC-GN-JA-PCF/.svn/pristine/ac/ac41b7cd0b9f506f1433a0174614fcb72d68ffc7.svn-base deleted file mode 100644 index 9088cc2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ac/ac41b7cd0b9f506f1433a0174614fcb72d68ffc7.svn-base +++ /dev/null @@ -1,68 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/configure_sdn.cpp.vm $ -// $Id: configure_sdn.cpp.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron02DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#include - -#include -#include "includetopics.h" - -using namespace std; - -/* Create variables for the topics on which application is publishing */ -//+P===================================================================== -//-P===================================================================== - -/* Create variables for topics on which application is subscribing */ -//+S===================================================================== -//-S===================================================================== - -int configureSDN() -{ - - SR_RET sr_ret = SR_OK; - - //+P===================================================================== - //-P===================================================================== - - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} - -int cleanupSDN() -{ - - SR_RET sr_ret = SR_OK; - - /* Unregister publisher */ - //+P===================================================================== - //-P===================================================================== - - /* Unregister subscriber */ - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/ac/ac8122b593bd4ad2bc0745276fed1416dc1e44b1.svn-base b/EC-GN-JA-PCF/.svn/pristine/ac/ac8122b593bd4ad2bc0745276fed1416dc1e44b1.svn-base deleted file mode 100644 index aed4fec..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ac/ac8122b593bd4ad2bc0745276fed1416dc1e44b1.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/ac/acbe2a47fac2075780d10b34cdd9dc036718cdba.svn-base b/EC-GN-JA-PCF/.svn/pristine/ac/acbe2a47fac2075780d10b34cdd9dc036718cdba.svn-base deleted file mode 100644 index 501ad2c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ac/acbe2a47fac2075780d10b34cdd9dc036718cdba.svn-base +++ /dev/null @@ -1,56 +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=JARTStateMachineGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/ad/ad2d5ded68a2af05d20d38bfd9ab122c0335821b.svn-base b/EC-GN-JA-PCF/.svn/pristine/ad/ad2d5ded68a2af05d20d38bfd9ab122c0335821b.svn-base deleted file mode 100644 index a526c7e..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ad/ad2d5ded68a2af05d20d38bfd9ab122c0335821b.svn-base +++ /dev/null @@ -1,44 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) into /db -# databases, templates, substitutions like this -DB += PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db - - -# Automagically install .proto files -DB += $(notdir $(wildcard ../*.proto)) - -#---------------------------------------------------- -# If .db template is not named *.template add -# _template = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE diff --git a/EC-GN-JA-PCF/.svn/pristine/ad/adb829b8f40d9a90fd571b77d153a87022fa2c87.svn-base b/EC-GN-JA-PCF/.svn/pristine/ad/adb829b8f40d9a90fd571b77d153a87022fa2c87.svn-base deleted file mode 100644 index 0833f11..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ad/adb829b8f40d9a90fd571b77d153a87022fa2c87.svn-base +++ /dev/null @@ -1,53 +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=RandomDataSource.x - -PACKAGE=DataSources - -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)/RandomDataSource$(LIBEXT) \ - $(BUILD_DIR)/RandomDataSource$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/ae/ae338b0976bb0b0fa102a36a6538ec14b98d5f0b.svn-base b/EC-GN-JA-PCF/.svn/pristine/ae/ae338b0976bb0b0fa102a36a6538ec14b98d5f0b.svn-base deleted file mode 100644 index 6504a77..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ae/ae338b0976bb0b0fa102a36a6538ec14b98d5f0b.svn-base +++ /dev/null @@ -1,29 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericApp/Makefile $ -# $Id: Makefile 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : Makefile -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== -TOP = .. -include $(TOP)/configure/CONFIG -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) -include $(TOP)/configure/RULES_DIRS - diff --git a/EC-GN-JA-PCF/.svn/pristine/af/af34be3bf1ef151878fdf9e79fbe61df6800a0fc.svn-base b/EC-GN-JA-PCF/.svn/pristine/af/af34be3bf1ef151878fdf9e79fbe61df6800a0fc.svn-base deleted file mode 100644 index 1be9058..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/af/af34be3bf1ef151878fdf9e79fbe61df6800a0fc.svn-base +++ /dev/null @@ -1,23557 +0,0 @@ - - - - - -52 - - - -EC-GN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10.136.136.101 - - -52RF01-PSH-4410 - - - - -52RF01-PCF-4210.codac.iter.org - - -52RF01-PCF-4210.codac.iter.org-R1 - - -52RF01-PCF-4210.codac.iter.org-R1 - - - - - -10.136.136.13-T1 - - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEAALL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-RESET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-TAIUTC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMN - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DEVNAME - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DRIVER - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEMAX - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTENUM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-HBDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-LVL_ERRS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SERIAL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNCLOST - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:DIO4900-YON - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-MST-TRIG - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-MODE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-ERR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-NAME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-ELAPSED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-ID - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV1 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV2 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV3 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV5 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV6 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV7 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV8 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OV - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YSTA-GAOP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:DIO4900-YON - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-MST-TRIG - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-MODE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-ERR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -string -configuration - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-NAME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-ELAPSED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-ID - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV1 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV2 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV3 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV5 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV6 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV7 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV8 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YSTA-GBOP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-CTRP - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PSU0000-YSTA-MOD - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-CONF-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-RECONF - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SW-TRIG - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RST-FLT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD1-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD2-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD3-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD4-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RDY-TOUT - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY1PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY2PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YSTA-MPSS - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTRP - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD4 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST1R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST2R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST3R - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-HV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-SW - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CTRP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YFLT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YSTA - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-MANM - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-MSP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-P - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-HVON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-SWON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-PREP-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-HV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-SW - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CTRP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YFLT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YSTA - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-MANM - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-MSP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-P - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-HVON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-SWON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-PREP-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-HV - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-SW - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CTRP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YFLT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YSTA - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-MANM - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF-MSP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-HVON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-SWON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-PREP-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-HV - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-SW - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CTRP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YFLT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YSTA - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-MANM - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF-MSP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-HVON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-SWON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-PREP-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-COFF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-MOD - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-SW - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-TYSTA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-YFLT - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-MANM - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF-MSP - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-DT-HVON - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-EREF-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-HVON-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-PREP-WF - - - - - - - - - - -iocEC-GN-PSH0PCF -PCFCORE IOC -epicsioc -IOC - - - -52RF01-PCF-4210 - -iocEC-GN-PCF0SYSM -PCFSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0SYSM -PSHSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0CUB -PSHCUB IOC -epicsioc -IOC - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/b0/b01fe26e4854e520bbfd22f5525aef323c450779.svn-base b/EC-GN-JA-PCF/.svn/pristine/b0/b01fe26e4854e520bbfd22f5525aef323c450779.svn-base deleted file mode 100644 index b4a5c3f..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b0/b01fe26e4854e520bbfd22f5525aef323c450779.svn-base +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("SystemDetailsTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-SYS_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/.svn/pristine/b0/b0db51d656a890dcfeb61ca4e7b8d12f601ceb3b.svn-base b/EC-GN-JA-PCF/.svn/pristine/b0/b0db51d656a890dcfeb61ca4e7b8d12f601ceb3b.svn-base deleted file mode 100644 index 09162c9..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b0/b0db51d656a890dcfeb61ca4e7b8d12f601ceb3b.svn-base +++ /dev/null @@ -1,58 +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=JAEPICSCAOutput.x JAEPICSCAInput.x - -PACKAGE=DataSources - -ROOT_DIR=../../../obj -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -INCLUDES += -I. -INCLUDES += -I$(EPICS_BASE)/include/ -INCLUDES += -I$(EPICS_BASE)/include/os/Linux/ -INCLUDES += -I$(EPICS_BASE)/include/compiler/gcc/ -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/Scheduler/L5GAMs - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAEPICSCA$(LIBEXT) \ - $(BUILD_DIR)/JAEPICSCA$(DLLEXT) - echo $(OBJS) - -include depends.$(TARGET) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/b0/b0edf9bc3e4788141fc4e258e6f16fbddfc00f41.svn-base b/EC-GN-JA-PCF/.svn/pristine/b0/b0edf9bc3e4788141fc4e258e6f16fbddfc00f41.svn-base deleted file mode 100644 index c0544f2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b0/b0edf9bc3e4788141fc4e258e6f16fbddfc00f41.svn-base +++ /dev/null @@ -1 +0,0 @@ -Last SDD Generation: Tue May 13 15:43:02 UTC 2025 diff --git a/EC-GN-JA-PCF/.svn/pristine/b0/b0f5a3439016bf6392a5685fb6fcdca50ba48b1d.svn-base b/EC-GN-JA-PCF/.svn/pristine/b0/b0f5a3439016bf6392a5685fb6fcdca50ba48b1d.svn-base deleted file mode 100644 index d164e89..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b0/b0f5a3439016bf6392a5685fb6fcdca50ba48b1d.svn-base +++ /dev/null @@ -1,361 +0,0 @@ -/** - * @file JASDNRTStateMachineGAM.cpp - * @brief Source file for class JASDNRTStateMachineGAM - * @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 JASDNRTStateMachineGAM (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 "JASDNRTStateMachineGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASDNRTStateMachineGAM::JASDNRTStateMachineGAM() { - currentState = WaitTrigger; // Set Entry state. - plcOnTime = 0; // Triggered time holder. - sdnTriggerTime = 0; - //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 *); - 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 *); - sdnCommand = NULL_PTR(MARTe::uint16 *); - - // 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; -} - -JASDNRTStateMachineGAM::~JASDNRTStateMachineGAM() { -} - -bool JASDNRTStateMachineGAM::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 JASDNRTStateMachineGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - - return true; -} - -bool JASDNRTStateMachineGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 11u); - if (ok) { - ok = (numberOfOutputSignals == 8u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Seven output signals shall be defined"); - } - } - 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 || inputType == UnsignedInteger16Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint16", 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) { - currentTime = reinterpret_cast(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - sdnCommand = reinterpret_cast(GetInputSignalMemory(10)); - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - *shotCounter = 0; - } - return ok; -} - -bool JASDNRTStateMachineGAM::Execute() { - using namespace MARTe; - if (currentState == WaitTrigger) { - - //State Transition condition - if ((*triggerSignal == conditionTrigger)) { - REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence in SDN mode."); - plcOnTime = *currentTime; //Save pulse start time. - *outputBeamON = 0; - //State transition. - currentState = SwitchingHVPS_HVON; - } - } - else if (currentState == SwitchingHVPS_HVON) { - - //Actions in this state. - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *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; - 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; - REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal."); - } - - *outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time. - if (bps_hvon_is_on && aps_hvon_is_on){ - *outputHVArmed = 0; - currentState = WaitSDNTrigger; - } - - } - else if (currentState == WaitSDNTrigger) { - - // Action in this state - *outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time. - - // State change conditions - if (*sdnCommand == 1){ - sdnTriggerTime = *currentTime; - currentState = SwitchingHVPS_SWON; - } - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *outputSignal = 0; - currentState = HVTerminate; - } - } - else if (currentState == SwitchingHVPS_SWON) { - - //Actions in this state. - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *outputSignal = 0; - currentState = HVTerminate; - } - - if (*currentTime >= (sdnTriggerTime + *triggerDelay_bps_swon) && bps_swon_is_on==false){ - //Do action - *outputSignal += bps_swon; - 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; - 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; - apsSwonTime = *currentTime; - 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 = 0; - } - - //State transition condition - if (aps_swon_is_on){ - currentState = RFON; - *outputRFON = 0; - *shotCounter += 1; - REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON"); - } - } - else if (currentState == RFON) { - - //SDN command processing. - if (*sdnCommand == 4 && aps_swon_is_on) { - *outputSignal -= aps_swon; - aps_swon_is_on = false; - REPORT_ERROR(ErrorManagement::Debug, "sdn command was 4"); - } - if (*sdnCommand == 3 && !aps_swon_is_on) { - *outputSignal += aps_swon; - 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"); - } else if (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen)){ - 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; - bps_hvon_is_on = false; - bps_swon_is_on = false; - REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime); - } - *outputRFON = 0; - *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::Information, "state was changed to HVTerminate"); - } - } - else if (currentState == HVTerminate) { - - //Action in this state. - *outputBeamON = 1; - *outputHVArmed = 1; - *outputHVInjection = 1; - *outputRFON = 1; - - // State transition condition. - if (*currentTime - apsSwoffTime >= turn_off_delay){ - *outputSignal = 0; - } - if (*triggerSignal == false){ - //Check PLC_ON is reset - currentState = WaitTrigger; - *outputSignal = 0; - REPORT_ERROR(ErrorManagement::Debug, "state was changed to WaitTrigger"); - } - } - - return true; -} - -CLASS_REGISTER(JASDNRTStateMachineGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/b1/b13b2154693fc8ac91a2e29a0c8f12c80d68ffcb.svn-base b/EC-GN-JA-PCF/.svn/pristine/b1/b13b2154693fc8ac91a2e29a0c8f12c80d68ffcb.svn-base deleted file mode 100644 index 1fa4757..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b1/b13b2154693fc8ac91a2e29a0c8f12c80d68ffcb.svn-base +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,7,9,9,9 -20,50,35,4,8,8,8 -30,45,30,1,7,7,7 -40,40,25,-2,6,6,6 -50,35,20,-5,5,5,5 -60,30,15,-8,4,4,4 -70,25,10,-11,3,3,3 -80,20,5,-14,2,2,2 -90,15,0,-17,1,1,1 -100,10,-5,-20,0,0,0 -110,5,0,-23,1,1,1 -120,0,5,-20,2,2,2 -130,-5,10,-17,3,3,3 -140,0,15,-14,4,4,4 -150,5,20,-11,5,5,5 -160,10,25,-8,6,6,6 -170,15,30,-5,7,7,7 -180,20,35,-2,8,8,8 -190,25,40,1,9,9,9 -200,30,45,4,10,10,10 -210,35,40,7,9,9,9 -220,40,35,10,8,8,8 -230,45,30,13,7,7,7 -240,50,25,10,6,6,6 -250,55,20,7,5,5,5 -260,60,15,4,4,4,4 -270,55,10,1,3,3,3 -280,50,5,-2,2,2,2 -290,45,0,-5,1,1,1 -300,40,-5,-8,0,0,0 -310,35,0,-11,1,1,1 -320,30,5,-14,2,2,2 -330,25,10,-17,3,3,3 -340,20,15,-20,4,4,4 -350,15,20,-23,5,5,5 -360,10,25,-20,6,6,6 -370,5,30,-17,7,7,7 -380,0,35,-14,8,8,8 -390,-5,40,-11,9,9,9 -400,0,45,-8,10,10,10 -410,5,40,-5,9,9,9 -420,10,35,-2,8,8,8 -430,15,30,1,7,7,7 -440,20,25,4,6,6,6 -450,25,20,7,5,5,5 -460,30,15,10,4,4,4 -470,35,10,13,3,3,3 -480,40,5,10,2,2,2 -490,45,0,7,1,1,1 -500,50,-5,4,0,0,0 -510,55,0,1,1,1,1 -520,60,5,-2,2,2,2 -530,55,10,-5,3,3,3 -540,50,15,-8,4,4,4 -550,45,20,-11,5,5,5 -560,40,25,-14,6,6,6 -570,35,30,-17,7,7,7 -580,30,35,-20,8,8,8 -590,25,40,-23,9,9,9 -600,20,45,-20,10,10,10 -610,15,40,-17,9,9,9 -620,10,35,-14,8,8,8 -630,5,30,-11,7,7,7 -640,0,25,-8,6,6,6 -650,-5,20,-5,5,5,5 -660,0,15,-2,4,4,4 -670,5,10,1,3,3,3 -680,10,5,4,2,2,2 -690,15,0,7,1,1,1 -700,20,-5,10,0,0,0 -710,25,0,13,1,1,1 -720,30,5,10,2,2,2 -730,35,10,7,3,3,3 -740,40,15,4,4,4,4 -750,45,20,1,5,5,5 -760,50,25,-2,6,6,6 -770,55,30,-5,7,7,7 -780,60,35,-8,8,8,8 -790,55,40,-11,9,9,9 -800,50,45,-14,10,10,10 -810,45,40,-17,9,9,9 -820,40,35,-20,8,8,8 -830,35,30,-23,7,7,7 -840,30,25,-20,6,6,6 -850,25,20,-17,5,5,5 -860,20,15,-14,4,4,4 -870,15,10,-11,3,3,3 -880,10,5,-8,2,2,2 -890,5,0,-5,1,1,1 -900,0,-5,-2,0,0,0 -910,-5,0,1,1,1,1 -920,0,5,4,2,2,2 -930,5,10,7,3,3,3 -940,10,15,10,4,4,4 -950,15,20,13,5,5,5 -960,20,25,10,6,6,6 -970,25,30,7,7,7,7 -980,30,35,4,8,8,8 -990,35,40,1,9,9,9 -1000,40,45,-2,10,10,10 diff --git a/EC-GN-JA-PCF/.svn/pristine/b2/b25738fa03468d13c4af01226df634946f6090b8.svn-base b/EC-GN-JA-PCF/.svn/pristine/b2/b25738fa03468d13c4af01226df634946f6090b8.svn-base deleted file mode 100644 index 2340b6e..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b2/b25738fa03468d13c4af01226df634946f6090b8.svn-base +++ /dev/null @@ -1,2 +0,0 @@ - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/b5/b56093c38b973391a51b4fa9e0f9d86169e59b3b.svn-base b/EC-GN-JA-PCF/.svn/pristine/b5/b56093c38b973391a51b4fa9e0f9d86169e59b3b.svn-base deleted file mode 100644 index 0645fab..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b5/b56093c38b973391a51b4fa9e0f9d86169e59b3b.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/b5/b562fc468f0123c32d2db9a815f8d2ef9077ec0c.svn-base b/EC-GN-JA-PCF/.svn/pristine/b5/b562fc468f0123c32d2db9a815f8d2ef9077ec0c.svn-base deleted file mode 100644 index 495d6ae..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b5/b562fc468f0123c32d2db9a815f8d2ef9077ec0c.svn-base +++ /dev/null @@ -1,56 +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=JATriangleWaveGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JATriangleWaveGAM$(LIBEXT) \ - $(BUILD_DIR)/JATriangleWaveGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/b7/b783d699d0ada739184e69969f7ebd3fdd3ad805.svn-base b/EC-GN-JA-PCF/.svn/pristine/b7/b783d699d0ada739184e69969f7ebd3fdd3ad805.svn-base deleted file mode 100644 index 2654a66..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b7/b783d699d0ada739184e69969f7ebd3fdd3ad805.svn-base +++ /dev/null @@ -1,52 +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=JAModeControlGAM.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)/JAModeControlGAM$(LIBEXT) \ - $(BUILD_DIR)/JAModeControlGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/b7/b7aeec8df74ca0850e77f0a341d6983baa91bd59.svn-base b/EC-GN-JA-PCF/.svn/pristine/b7/b7aeec8df74ca0850e77f0a341d6983baa91bd59.svn-base deleted file mode 100644 index ec4fc1c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b7/b7aeec8df74ca0850e77f0a341d6983baa91bd59.svn-base +++ /dev/null @@ -1,273 +0,0 @@ -record (bo,"EC-GN-P01-GBF-GCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 GCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-GCPS:STAT-SIMM") -{ - field(DESC, "GY2 GCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") -{ - field(DESC, "GY2 GCPS read act") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity GC2") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP") -{ - field(DESC, "GY2 GCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity GC2") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI") -{ - field(DESC, "GY2 GCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO") -{ - field(DESC, "GY2 GCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON") -{ - field(DESC, "GY2 GCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent GC2") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GBF-GCPS:PSU2130-ERR") -{ - field(DESC, "GY2 GCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat GC2") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM") -{ - field(DESC, "GY2 GCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim GC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB") -{ - field(DESC, "GY2 GCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep GC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB") -{ - field(DESC, "GY2 GCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent GC2") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET") -{ - field(DESC, "GY2 GCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent GC2") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI") -{ - field(DESC, "GY2 GCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO") -{ - field(DESC, "GY2 GCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET") -{ - field(DESC, "GY2 GCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep GC2") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON") -{ - field(DESC, "GY2 GCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage GC2") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#2 state set by Marte") - field(INPA, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GBF-GCPS:STAT-PREP-WF") -{ - field(DESC, "GY2 GCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#2 current set by Mate") - field(INPA, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/b8/b861dac560043f1c137671a33f763d8fc20ef310.svn-base b/EC-GN-JA-PCF/.svn/pristine/b8/b861dac560043f1c137671a33f763d8fc20ef310.svn-base deleted file mode 100644 index d05acb7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b8/b861dac560043f1c137671a33f763d8fc20ef310.svn-base +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,10,10,10,10,10,10 -10,9,9,9,9,9,9 -20,8,8,8,8,8,8 -30,7,7,7,7,7,7 -40,6,6,6,6,6,6 -50,5,5,5,5,5,5 -60,4,4,4,4,4,4 -70,3,3,3,3,3,3 -80,2,2,2,2,2,2 -90,1,1,1,1,1,1 -100,0,0,0,0,0,0 -110,1,1,1,1,1,1 -120,2,2,2,2,2,2 -130,3,3,3,3,3,3 -140,4,4,4,4,4,4 -150,5,5,5,5,5,5 -160,6,6,6,6,6,6 -170,7,7,7,7,7,7 -180,8,8,8,8,8,8 -190,9,9,9,9,9,9 -200,10,10,10,10,10,10 -210,9,9,9,9,9,9 -220,8,8,8,8,8,8 -230,7,7,7,7,7,7 -240,6,6,6,6,6,6 -250,5,5,5,5,5,5 -260,4,4,4,4,4,4 -270,3,3,3,3,3,3 -280,2,2,2,2,2,2 -290,1,1,1,1,1,1 -300,0,0,0,0,0,0 -310,1,1,1,1,1,1 -320,2,2,2,2,2,2 -330,3,3,3,3,3,3 -340,4,4,4,4,4,4 -350,5,5,5,5,5,5 -360,6,6,6,6,6,6 -370,7,7,7,7,7,7 -380,8,8,8,8,8,8 -390,9,9,9,9,9,9 -400,10,10,10,10,10,10 -410,9,9,9,9,9,9 -420,8,8,8,8,8,8 -430,7,7,7,7,7,7 -440,6,6,6,6,6,6 -450,5,5,5,5,5,5 -460,4,4,4,4,4,4 -470,3,3,3,3,3,3 -480,2,2,2,2,2,2 -490,1,1,1,1,1,1 -500,0,0,0,0,0,0 -510,1,1,1,1,1,1 -520,2,2,2,2,2,2 -530,3,3,3,3,3,3 -540,4,4,4,4,4,4 -550,5,5,5,5,5,5 -560,6,6,6,6,6,6 -570,7,7,7,7,7,7 -580,8,8,8,8,8,8 -590,9,9,9,9,9,9 -600,10,10,10,10,10,10 -610,9,9,9,9,9,9 -620,8,8,8,8,8,8 -630,7,7,7,7,7,7 -640,6,6,6,6,6,6 -650,5,5,5,5,5,5 -660,4,4,4,4,4,4 -670,3,3,3,3,3,3 -680,2,2,2,2,2,2 -690,1,1,1,1,1,1 -700,0,0,0,0,0,0 -710,1,1,1,1,1,1 -720,2,2,2,2,2,2 -730,3,3,3,3,3,3 -740,4,4,4,4,4,4 -750,5,5,5,5,5,5 -760,6,6,6,6,6,6 -770,7,7,7,7,7,7 -780,8,8,8,8,8,8 -790,9,9,9,9,9,9 -800,10,10,10,10,10,10 -810,9,9,9,9,9,9 -820,8,8,8,8,8,8 -830,7,7,7,7,7,7 -840,6,6,6,6,6,6 -850,5,5,5,5,5,5 -860,4,4,4,4,4,4 -870,3,3,3,3,3,3 -880,2,2,2,2,2,2 -890,1,1,1,1,1,1 -900,0,0,0,0,0,0 -910,1,1,1,1,1,1 -920,2,2,2,2,2,2 -930,3,3,3,3,3,3 -940,4,4,4,4,4,4 -950,5,5,5,5,5,5 -960,6,6,6,6,6,6 -970,7,7,7,7,7,7 -980,8,8,8,8,8,8 -990,9,9,9,9,9,9 -1000,10,10,10,10,10,10 diff --git a/EC-GN-JA-PCF/.svn/pristine/b8/b89bc977d64f5802c6f619d46638867975102f98.svn-base b/EC-GN-JA-PCF/.svn/pristine/b8/b89bc977d64f5802c6f619d46638867975102f98.svn-base deleted file mode 100644 index 234a3d6..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/b8/b89bc977d64f5802c6f619d46638867975102f98.svn-base +++ /dev/null @@ -1,56 +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=JARTStateMachineGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/ba/ba7f381da19b7a751c3d85acc850f6db8f931b0f.svn-base b/EC-GN-JA-PCF/.svn/pristine/ba/ba7f381da19b7a751c3d85acc850f6db8f931b0f.svn-base deleted file mode 100644 index 61a2101..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ba/ba7f381da19b7a751c3d85acc850f6db8f931b0f.svn-base +++ /dev/null @@ -1,28 +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 $ -# -############################################################# -export TARGET=x86-linux - -include Makefile.gcc diff --git a/EC-GN-JA-PCF/.svn/pristine/bc/bceb9cabc263569cc5f7c8a167793e4e3a170203.svn-base b/EC-GN-JA-PCF/.svn/pristine/bc/bceb9cabc263569cc5f7c8a167793e4e3a170203.svn-base deleted file mode 100644 index 6d3bf93..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/bc/bceb9cabc263569cc5f7c8a167793e4e3a170203.svn-base +++ /dev/null @@ -1,23557 +0,0 @@ - - - - - -52 - - - -EC-GN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10.136.136.101 - - -52RF01-PSH-4410 - - - - -52RF01-PCF-4210.codac.iter.org - - -52RF01-PCF-4210.codac.iter.org-R1 - - -52RF01-PCF-4210.codac.iter.org-R1 - - - - - -10.136.136.13-T1 - - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEAALL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-RESET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-TAIUTC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMN - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DEVNAME - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DRIVER - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEMAX - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTENUM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-HBDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-LVL_ERRS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SERIAL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNCLOST - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:DIO4900-YON - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-MST-TRIG - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-MODE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-ERR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-NAME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-ELAPSED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-ID - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV1 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV2 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV3 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV5 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV6 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV7 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV8 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OV - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YSTA-GAOP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:DIO4900-YON - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-MST-TRIG - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-MODE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-ERR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -string -configuration - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-NAME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-ELAPSED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-ID - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV1 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV2 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV3 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV5 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV6 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV7 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV8 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YSTA-GBOP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-CTRP - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PSU0000-YSTA-MOD - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-CONF-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-RECONF - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SW-TRIG - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RST-FLT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD1-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD2-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD3-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD4-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RDY-TOUT - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY1PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY2PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YSTA-MPSS - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTRP - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD4 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST1R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST2R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST3R - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-HV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-SW - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CTRP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YFLT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YSTA - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-MANM - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-MSP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-P - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-HVON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-SWON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-PREP-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-HV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-SW - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CTRP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YFLT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YSTA - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-MANM - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-MSP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-P - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-HVON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-SWON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-PREP-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-HV - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-SW - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CTRP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YFLT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YSTA - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-MANM - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF-MSP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-HVON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-SWON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-PREP-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-HV - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-SW - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CTRP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YFLT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YSTA - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-MANM - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF-MSP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-HVON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-SWON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-PREP-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-COFF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-MOD - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-SW - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-TYSTA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-YFLT - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-MANM - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF-MSP - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-DT-HVON - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-EREF-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-HVON-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-PREP-WF - - - - - - - - - - -iocEC-GN-PSH0PCF -PCFCORE IOC -epicsioc -IOC - - - -52RF01-PCF-4210 - -iocEC-GN-PCF0SYSM -PCFSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0SYSM -PSHSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0CUB -PSHCUB IOC -epicsioc -IOC - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/bf/bf9e48c011cb795633e6f2916d27758ffea3bb0f.svn-base b/EC-GN-JA-PCF/.svn/pristine/bf/bf9e48c011cb795633e6f2916d27758ffea3bb0f.svn-base deleted file mode 100644 index 9d1b3a8..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/bf/bf9e48c011cb795633e6f2916d27758ffea3bb0f.svn-base +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SDD_DAN_H -#define SDD_DAN_H -#include "dan.h" - -static const char ICProgName[] = "Gyrotron01DAN"; -static const char GYADanSource[] = "GYADanSource"; - -#endif /* SDD_DAN_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/c1/c104719b6713251909929c68882bb38165d935e4.svn-base b/EC-GN-JA-PCF/.svn/pristine/c1/c104719b6713251909929c68882bb38165d935e4.svn-base deleted file mode 100644 index 7136451..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/c1/c104719b6713251909929c68882bb38165d935e4.svn-base +++ /dev/null @@ -1,57 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var nbColPVs=2; -// find index of the trigger PV -var i=0; -while (i< pvs.length) { -if(pvs[i].isConnected()==true){ - - -var s = PVUtil.getSeverity(pvs[i]); -}else{ - -var s =3; -} - -var color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} -else if( s == 4) { - color = ColorFontUtil.GREEN; -} - - -if (pvs[i].getName().indexOf("-CUBHLTS") != -1) { - if(pvs[i].isConnected()==true){ - table.setCellText(i/nbColPVs, 3, PVUtil.getString(pvs[i])); - }else{ - table.setCellText(i/nbColPVs, 3, "disconnected"); - } - table.setCellBackground(i/nbColPVs, 3, color); -} -if (pvs[i].getName().indexOf("-PLCHLTS") != -1) { -if(pvs[i].isConnected()==true){ - table.setCellText(i/nbColPVs, 4, PVUtil.getString(pvs[i])); - }else{ - table.setCellText(i/nbColPVs, 4, "disconnected"); - } - table.setCellBackground(i/nbColPVs, 4, color); -} -i=i+1; -} diff --git a/EC-GN-JA-PCF/.svn/pristine/c2/c273d2aff295fabd70fd071026672887a7ad44c2.svn-base b/EC-GN-JA-PCF/.svn/pristine/c2/c273d2aff295fabd70fd071026672887a7ad44c2.svn-base deleted file mode 100644 index 2f10a54..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/c2/c273d2aff295fabd70fd071026672887a7ad44c2.svn-base +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef CCS_HEADERS_H -#define CCS_HEADERS_H - -/****************************************************************************** -* $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/include/ccs-headers.h $ -* $Id: ccs-headers.h 83715 2018-01-30 16:31:40Z abadiel $ -* -* Project : CODAC Core System -* -* Description : CODAC Core System - Commonly used program headers -* -* Author : Bertrand Bauvir -* -* Copyright (c) : 2010-2018 ITER Organization, -* CS 90 046 -* 13067 St. Paul-lez-Durance Cedex -* France -* -* This file is part of ITER CODAC software. -* For the terms and conditions of redistribution or use of this software -* refer to the file ITER-LICENSE.TXT located in the top level directory -* of the distribution package. -******************************************************************************/ - -/* log.h -- Part of CCS. It includes the declaration of the logging library API. */ -#include /* This file is mandatory to compile this program against the logging library and API. */ - -/* sdn.h -- Part of CCS. It includes the declaration of the SDN library API. */ -#include /* This file is mandatory to compile this program against the SDN core library and API. */ - -/* tcn.h -- Part of CCS. It includes the declaration of the TCN library API. */ -#include /* This file is optional and can be removed if the program does not need to handle ITER time or operate on it. */ - -/* dan.h -- part of CCS. It includes the declaration of the DAN library API. */ -#include /* This file is optional and can be removed if the program does not need to handle ITER time or operate on it. */ -#endif /* CCS_HEADERS_H */ diff --git a/EC-GN-JA-PCF/.svn/pristine/c4/c42c6af959d2ee9284a237cc5096caa1b43daf39.svn-base b/EC-GN-JA-PCF/.svn/pristine/c4/c42c6af959d2ee9284a237cc5096caa1b43daf39.svn-base deleted file mode 100644 index 4d784c4..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/c4/c42c6af959d2ee9284a237cc5096caa1b43daf39.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=ÀYØ4¾, IDX=0, IOCTYPE=CUB, PP=, PPPP=, NNNN=, TTT=") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/c4/c4ae97c141476887e31583a185b9bb971cd7dff9.svn-base b/EC-GN-JA-PCF/.svn/pristine/c4/c4ae97c141476887e31583a185b9bb971cd7dff9.svn-base deleted file mode 100644 index 3f14868..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/c4/c4ae97c141476887e31583a185b9bb971cd7dff9.svn-base +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -def test_setup(): - """ - Setup EPICS PVs for testing. - Turn simulation mode ON for unavailable device - """ - print '---------- Start setup for the test ----------' - - print '1. set PVs to simulation mode' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-AI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:STAT-SIMM YES', shell=True) #turn off for GCPS test. - #res = subprocess.call('caput EC-GN-P01-GBF-GCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT 0', shell=True) - time.sleep(1) - print '2. Change SCAN mode from I/O Inter to Passive to write sumulated values.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SCAN Passive', shell=True) #STANDBY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SCAN Passive', shell=True) #READY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SCAN Passive', shell=True) #ON - res = subprocess.call('caput EC-GN-P01-PMF:PSU0000-TYSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SCAN Passive', shell = True) #SYNC/ASYNC - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SCAN Passive', shell=True) #CCPS ON REQUEST - time.sleep(1) - print '3. Set pulse length limit mode value and state.' - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD1-LIM 10000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD2-LIM 100000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD3-LIM 1000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD4-LIM 10000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4 0', shell = True) #Pulse lenght mode - print '4. Set other operation modes' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) #Pre-pro mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0',shell = True) #Short pulse mode - time.sleep(1) - print '5. Set a beam-on schedule(10ms diff + 100ms pulse)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - time.sleep(1) - print '6. Reset PLC INTERLOCK' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP 0', shell=True) #CCPS_IS_OPERATION - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-RST-FLT 1', shell=True) - print '7. Simulate SELECT signal. State should go to WatiStandby from Disabled.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2 1', shell=True) - time.sleep(1) - print '8. Simulate STANDBY signal. MCPS, GCPS, FHPS rampup must be started.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R 1', shell=True) - print '---------- END setup for the test ----------' diff --git a/EC-GN-JA-PCF/.svn/pristine/c7/c7436143922a00bce89d661c4b722102e758dff3.svn-base b/EC-GN-JA-PCF/.svn/pristine/c7/c7436143922a00bce89d661c4b722102e758dff3.svn-base deleted file mode 100644 index 00318e3..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/c7/c7436143922a00bce89d661c4b722102e758dff3.svn-base +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef SYS_HEADERS_H -#define SYS_HEADERS_H - -/****************************************************************************** -* $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/include/sys-headers.h $ -* $Id: sys-headers.h 83098 2018-01-08 13:23:38Z cesnikt $ -* -* Project : CODAC Core System -* -* Description : CODAC Core System - Commonly used program headers -* -* Author : Bertrand Bauvir -* -* Copyright (c) : 2010-2018 ITER Organization, -* CS 90 046 -* 13067 St. Paul-lez-Durance Cedex -* France -* -* This file is part of ITER CODAC software. -* For the terms and conditions of redistribution or use of this software -* refer to the file ITER-LICENSE.TXT located in the top level directory -* of the distribution package. -******************************************************************************/ - -#include -#include /* sscanf, printf, etc. */ -//#include -#include /* strncpy, etc. */ -#include /* va_start, etc. */ -#include /* sigset, etc. */ - -#endif /* SYS_HEADERS_H */ diff --git a/EC-GN-JA-PCF/.svn/pristine/ca/ca30d17a17178bbf2edc49b4a3024e1e2e99889b.svn-base b/EC-GN-JA-PCF/.svn/pristine/ca/ca30d17a17178bbf2edc49b4a3024e1e2e99889b.svn-base deleted file mode 100644 index 0cdb315..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ca/ca30d17a17178bbf2edc49b4a3024e1e2e99889b.svn-base +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @file JAMessageGAM.h - * @brief Header file for class JAMessageGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAMessageGAM - * 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_JAMESSAGEGAM_H_ -#define GAMS_JAMESSAGEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that sends a message when input signals have expected values. Message will not be sent multiple - * times without first changing the application state. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- * +MessageGAM = {
- *      Class = JAMessageGAM
- *      Operation = AND // Accepted values are: AND, OR, XOR, NOR. Default value is AND.
- *      ExpectedIntValues = {1 10} // Expected values for input signals of integral type.
- *      ExpectedFloatValues = {3.5} // Expected values for float signals of floting point type.
- *      Comparators = {EQUALS GREATER NOT} // Accepted values are: EQUALS, NOT, GREATER, EQUALS_OR_GREATER, LESS, EQUALS_OR_LESS
- *                                         // Comparators element is optional. Default comparator is EQUALS.
- *      InputSignals = {
- *          Sig1 = {
- *              DataSource = EPICSCAInput
- *              Type = uint32
- *          }
- *          Sig2 = {
- *              DataSource = EPICSCAInput
- *              Type = float32
- *          }
- *          Sig3 = {
- *              DataSource = EPICSCAInput
- *              Type = uint32
- *          }
- *      }
- *      +Event = { // Message to be sent when condition is true.
- *          Class = Message
- *          Destination = StateMachine
- *          Function = GoDisabled
- *      }
- *  }
- * 
- * This example will send Event message when Sig1 == 1 && Sig2 > 3.5 && Sig3 != 10 - */ -class JAMessageGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAMessageGAM(); - - virtual ~JAMessageGAM(); - - 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); - - enum ComparisonMode { - Equals, Not, Greater, EqualsOrGreater, Less, EqualsOrLess - }; - -private: - /** - * @brief Does the input signal at provided index have the expected value. - * @param[in] index of the signal. - * @param[out] floatValueIndex lookup index for expected float values array. - * @param[out] intValueIndex lookup index for expected integer values array. - * @return true if the signal has expected value. - */ - bool Compare(MARTe::uint32 index, MARTe::uint32 &floatValueIndex, MARTe::uint32 &intValueIndex); - - enum OperationMode { - And, Or, Xor, Nor - }; - - // Input signals - void **inputSignals; - - MARTe::TypeDescriptor *inputSignalTypes; - - // Condition operation. - OperationMode operation; - - // Message to be sent when conditions are met. - MARTe::ReferenceT eventMsg; - - // Was the message already sent and we are waiting for a state change before next message can be sent. - bool needsReset; - - // Array of expected integer values of input signals. - MARTe::uint64* expectedValuesInt; - - // Array of expected float values for input signals. - MARTe::float64* expectedValuesFloat; - - // Expected integer values count (must be equal to numberOfInputSignals - floatValuesCount) - MARTe::uint32 intValuesCount; - - // Expected integer values count (must be equal to numberOfInputSignals - floatValuesCount) - MARTe::uint32 floatValuesCount; - - // Array of comparators - ComparisonMode* comparators; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAMESSAGEGAM_H_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/ca/ca5dc532dbe795f4eb83484ec8aef850a7cf4e67.svn-base b/EC-GN-JA-PCF/.svn/pristine/ca/ca5dc532dbe795f4eb83484ec8aef850a7cf4e67.svn-base deleted file mode 100644 index 9dc4a82..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ca/ca5dc532dbe795f4eb83484ec8aef850a7cf4e67.svn-base +++ /dev/null @@ -1,59 +0,0 @@ -TOP=../.. - -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE -#======================================== - -#======================================== -# Build the IOC application - -PROD_IOC = CUB -# CUB.dbd will be created and installed -DBD += CUB.dbd - -# CUB.dbd will be made up from these files: --include $(EPICS_ROOT)/mk/codac-common.mk - - -# Add all the support libraries needed by this IOC --include $(EPICS_ROOT)/mk/asyn.mk --include $(EPICS_ROOT)/mk/s7PLCAsyn.mk - -CUB_DBD += $(CODAC_DBD) -CUB_LIBS += $(CODAC_LIBS) - -# # SNCSEQ -# _SNCFLAGS += +r -c +d -# CUB_DBD += .dbd -# CUB_SRCS += .stt -# CUB_LIBS += seq pv - - -# CUB_registerRecordDeviceDriver.cpp derives from CUB.dbd -CUB_SRCS += CUB_registerRecordDeviceDriver.cpp - -# Build the main IOC entry point on workstation OSs. -CUB_SRCS_DEFAULT += CUBMain.cpp -CUB_SRCS_vxWorks += -nil- - -# Add support from base/src/vxWorks if needed -#CUB_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary - -#============================= -# Include SNL program makefile snippets - --include ../*.snlprog - -#============================= - - -# Finally link to the EPICS Base libraries -CUB_LIBS += $(EPICS_BASE_IOC_LIBS) - -#=========================== - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE -#---------------------------------------- diff --git a/EC-GN-JA-PCF/.svn/pristine/ca/cad518d744dc85470d5eea99f31be471f2356cf9.svn-base b/EC-GN-JA-PCF/.svn/pristine/ca/cad518d744dc85470d5eea99f31be471f2356cf9.svn-base deleted file mode 100644 index 01ec4d2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ca/cad518d744dc85470d5eea99f31be471f2356cf9.svn-base +++ /dev/null @@ -1,29 +0,0 @@ -ECPCSubscriber.cfg is a configuration for testing ECPC simulator (JAECPCSimulator.cfg). - -Setup: -1) Run softIoc. In qst-gyrotron-fast-controller/Configurations execute command: - softIoc -d ECPC_IOC.db - -2) Run ECPC simulator. In qst-gyrotron-fast-controller/Startup execute command: - ./Main.sh -f ../Configurations/JAECPCSimulator.cfg -l RealTimeLoader -m StateMachine:Start - -3) Run ECPC subscriber. In qst-gyrotron-fast-controller/Startup execute command: - ./Main.sh -f ../Configurations/tests/ECPCSubscriber.cfg -l RealTimeLoader -m StateMachine:Start - -The ECPC simulator should automatically start sending waveforms, which will be printed by the ECPC subscriber every 10 milliseconds. -The ECPC simulator will also be sending command, which is printed by the ECPC subscriber every millisecond. - -To change command that is being sent, you have to caput 1 to one of following PVs: -MHVPS_ON (command 1) -GYA_BPS_SWON (command 2) -GYA_APS_SWON (command 3) -GYB_BPS_SWON (command 4) -GYB_APS_SWON (command 5) -GYA_BPS_SWOFF (command 6) -GYA_APS_SWOFF (command 7) -GYB_BPS_SWOFF (command 8) -GYB_APS_SWOFF (command 9) -RF_OFF (command 10) - -To stop sending that command, caput 0 to that PV. - diff --git a/EC-GN-JA-PCF/.svn/pristine/cb/cb1f791eb00445bace8999bd50e16522cbc87f99.svn-base b/EC-GN-JA-PCF/.svn/pristine/cb/cb1f791eb00445bace8999bd50e16522cbc87f99.svn-base deleted file mode 100644 index 78526fd..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/cb/cb1f791eb00445bace8999bd50e16522cbc87f99.svn-base +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -def test_ready(): - """In the WaitReady state, simulate READY signal from PLC.""" - print '---------- WatiReady test ----------' - print '1. Simulate READY signal. State should go to WaitPermit state.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '2. Set CCPS trianguler waveform parameters(1V, 1Hz)' - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-AMP 3', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-FREQ 1', shell=True) #Hz - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-AMP 4', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-FREQ 1', shell=True) #Hz - print 'Enter to continue test' - inpval = raw_input() - time.sleep(1) - print '3. load csv file.' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-NAME test.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-LOAD 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-NAME test2.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-LOAD 1', shell=True) - time.sleep(1) - print '4. Simulate CCPS_ON_REQUEST signal' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '5. Confirm CCPS_ON flag and triangular waveform generation.' - print '6. Simulate CCPS status PVs.' - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:PSU2320-TR 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:PSU2320-TR 0', shell=True) - print '7. Confirm PCF state changes to WaitPermit state.' - diff --git a/EC-GN-JA-PCF/.svn/pristine/cb/cbb7bc0c0bb2d5d0d5233f52170f3335b40afe8d.svn-base b/EC-GN-JA-PCF/.svn/pristine/cb/cbb7bc0c0bb2d5d0d5233f52170f3335b40afe8d.svn-base deleted file mode 100644 index 01faa30..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/cb/cbb7bc0c0bb2d5d0d5233f52170f3335b40afe8d.svn-base +++ /dev/null @@ -1,101 +0,0 @@ - - - - - 1.0.0 - - - - danInt16 - - 100000 - - - DATA_D0 - - DM_BLOCK2D_VAR - - CHECK_AND_OVERWRITE - - 1000 - - 1 - - UTC - - - - GYADanSource - - v1.3 - - 0 - - N1134342 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ALL - - - - - - IF_FAIL_NEXT - - ${DAN_ARCHIVE_MASTER} - - ${DAN_ARCHIVE_SLAVE} - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/cc/cc1c88c23613945661b5e1bc7edee04d371610ce.svn-base b/EC-GN-JA-PCF/.svn/pristine/cc/cc1c88c23613945661b5e1bc7edee04d371610ce.svn-base deleted file mode 100644 index b716b6d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/cc/cc1c88c23613945661b5e1bc7edee04d371610ce.svn-base +++ /dev/null @@ -1,56 +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=JAWFRecordGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAWFRecordGAM$(LIBEXT) \ - $(BUILD_DIR)/JAWFRecordGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/cc/cca5db322c57f63aab6017e57baf90fed76c6952.svn-base b/EC-GN-JA-PCF/.svn/pristine/cc/cca5db322c57f63aab6017e57baf90fed76c6952.svn-base deleted file mode 100644 index 0a725f5..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/cc/cca5db322c57f63aab6017e57baf90fed76c6952.svn-base +++ /dev/null @@ -1,31 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/Makefile $ -# $Id: Makefile 83098 2018-01-08 13:23:38Z cesnikt $ -# -# Project : CODAC Core System -# -# Description : C++ Makefile -# -# Author : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2018 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -SUBDIRS=$(dir $(wildcard */Makefile)) - -BOLD=\e[1m -NC=\e[0m - -all: - -%: - @$(foreach dir, $(SUBDIRS), echo -e "$(BOLD)Building $(dir:/=)...$(NC)" && $(MAKE) -C $(dir) $@ &&) : diff --git a/EC-GN-JA-PCF/.svn/pristine/cc/cccbe1ccf2685647b1af06ba7330a9c55ab3fa15.svn-base b/EC-GN-JA-PCF/.svn/pristine/cc/cccbe1ccf2685647b1af06ba7330a9c55ab3fa15.svn-base deleted file mode 100644 index 884f5e7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/cc/cccbe1ccf2685647b1af06ba7330a9c55ab3fa15.svn-base +++ /dev/null @@ -1,57 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); - -var table = widget.getTable(); - -//Fill PV Name only once -if (widget.getVar("firstTime") == null) { - widget.setVar("firstTime", true); - // Fill table only with non EGU pv's - for (var i=0;pv=pvs[i];i++) { - // earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().trim()); - if (!pv.isConnected()) { - table.setCellText(i/2, 1, "Disconnected"); - } - } - // Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if (widget.getPropertyValue("name") == 'PLCIOCDetailsTable') { - if (display.getMacroValue("SHOW_PLC_IOC") == "true") { - widget.setPropertyValue("visible", "true"); - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true"); - } - } -} -//find index of the trigger PV -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -var pvValue = PVUtil.getString(triggerPV).trim(); -var eugValue = table.getCellText(i, 4); -if (eugValue != "") { - pvValue = pvValue+" "+eugValue; -} -table.setCellText(i, 1, pvValue); -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).trim()); -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).trim()); - -var s = PVUtil.getSeverity(triggerPV); - -color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} - - -table.setCellBackground(i, 3, color); diff --git a/EC-GN-JA-PCF/.svn/pristine/ce/ce837356346d9ef0e93d5a1cb7987482d60baacc.svn-base b/EC-GN-JA-PCF/.svn/pristine/ce/ce837356346d9ef0e93d5a1cb7987482d60baacc.svn-base deleted file mode 100644 index 7004a1f..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ce/ce837356346d9ef0e93d5a1cb7987482d60baacc.svn-base +++ /dev/null @@ -1,178 +0,0 @@ -/** - * @file JATriangleWaveGAM.cpp - * @brief Source file for class JATriangleWaveGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JATriangleWaveGAM (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 "AdvancedErrorManagement.h" -#include "JATriangleWaveGAM.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -MARTe::float32 absFloat(MARTe::float32 x) { - if (x < 0.0f) { - return -x; - } - return x; -} - -JATriangleWaveGAM::JATriangleWaveGAM() { - frequency = NULL_PTR(MARTe::float32 *); - amplitude = NULL_PTR(MARTe::float32 *); - offset = NULL_PTR(MARTe::float32 *); - plcStandby = NULL_PTR(MARTe::uint32 *); - waveOutput = NULL_PTR(MARTe::float32 *); - time = 0.0f; -} - -JATriangleWaveGAM::~JATriangleWaveGAM() { -} - -bool JATriangleWaveGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JATriangleWaveGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 4u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "One output signal shall be defined."); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Four input signals shall be defined."); - } - uint32 freqIndex; - uint32 ampIndex; - uint32 offsetIndex; - uint32 plcStandbyIndex; - if (ok) { - StreamString signalName = "Frequency"; - ok = GetSignalIndex(InputSignals, freqIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Frequency input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, freqIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Frequency shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Amplitude"; - ok = GetSignalIndex(InputSignals, ampIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Amplitude input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, ampIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Amplitude shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Offset"; - ok = GetSignalIndex(InputSignals, offsetIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Offset input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, offsetIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Offset shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "PLCSTANDBY"; - ok = GetSignalIndex(InputSignals, plcStandbyIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLCSTANDBY input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, plcStandbyIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLCSTANDBY shall be defined as uint32."); - } - } - } - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 0); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Amplitude shall be defined as float32."); - } - } - if (ok) { - frequency = reinterpret_cast(GetInputSignalMemory(freqIndex)); - amplitude = reinterpret_cast(GetInputSignalMemory(ampIndex)); - offset = reinterpret_cast(GetInputSignalMemory(offsetIndex)); - plcStandby = reinterpret_cast(GetInputSignalMemory(plcStandbyIndex)); - waveOutput = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JATriangleWaveGAM::Execute() { - using namespace MARTe; - // If frequency is not set, output 0. - if (*frequency <= 0.0f || *plcStandby == 0u) { - *waveOutput = 0.0f; - return true; - } - // Increase the current time. - ++time; - // Calculate the period in milliseconds - float32 periodMs = 1000.0 / *frequency; - // Make sure the time is on [0, periodMs] interval. - while (time > periodMs) { - time -= periodMs; - } - // Formula: - // f(x) = |x - 0.5| * 2 * amplitude - // where x is between 0 and 1 - *waveOutput = absFloat((time / periodMs) - 0.5f) * 2.0f * (*amplitude) + *offset; - return true; -} - -CLASS_REGISTER(JATriangleWaveGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/cf/cf009a9240ccf0821dd62abad31f96fbb776f34c.svn-base b/EC-GN-JA-PCF/.svn/pristine/cf/cf009a9240ccf0821dd62abad31f96fbb776f34c.svn-base deleted file mode 100644 index 71c7669..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/cf/cf009a9240ccf0821dd62abad31f96fbb776f34c.svn-base +++ /dev/null @@ -1,402 +0,0 @@ -/** - * @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(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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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") diff --git a/EC-GN-JA-PCF/.svn/pristine/cf/cf9306a7be95871b2911c3082f94fc90551de48f.svn-base b/EC-GN-JA-PCF/.svn/pristine/cf/cf9306a7be95871b2911c3082f94fc90551de48f.svn-base deleted file mode 100644 index 11cade5..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/cf/cf9306a7be95871b2911c3082f94fc90551de48f.svn-base +++ /dev/null @@ -1,137 +0,0 @@ -/** - * @file RandomDataSource.h - * @brief Header file for class RandomDataSource - * @date 07/06/2018 - * @author Andre Neto - * - * @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 RandomDataSource - * 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 RANDOM_DATASOURCE_H_ -#define RANDOM_DATASOURCE_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief DataDource which generates random numbers against a given seed. - * - * The configuration syntax is (names and signal quantities are only given as an example): - * +RandomDataSource = { - * Class = RandomDataSource - * Seed = 8 //Seed against which the the seed will be generated. Note that each signal - * Signals = { - * Random1 = { //Maximum one signal - * Type = uint64 //All the integer types are supported - * } - * } - * } - */ -class RandomDataSource: public MARTe::DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Constructor. NOOP. - */ -RandomDataSource (); - - /** - * @brief Destructor. NOOP. - */ - virtual ~RandomDataSource(); - - /** - * @brief The configuration data detailed in the class description - * @return true if all the compulsory parameters are set. - */ - virtual bool Initialise(MARTe::StructuredDataI & data); - - /** - * @brief Verifies that at most one signal has been set with the correct type (i.e. any integer). - * @return true if the above conditions are met. - */ - virtual bool SetConfiguredDatabase(MARTe::StructuredDataI & data); - - /** - * @brief @see DataSourceI::Synchronise - */ - virtual bool Synchronise(); - - /** - * @brief @see DataSourceI::AllocateMemory - */ - virtual bool AllocateMemory(); - - /** - * @brief @see DataSourceI::GetSignalMemoryBuffer - */ - virtual bool GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress); - - /** - * @return "MemoryMapSynchronisedInputBroker" - */ - virtual const MARTe::char8 *GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction); - - /** - * @brief NOOP - */ - virtual bool PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName); - -private: - /** - * The seed to compute the signals. - */ - MARTe::uint32 seed; - - /** - * The signal pointer - */ - MARTe::char8 *signalPtr; - - /** - * The signal type descriptor. - */ - MARTe::TypeDescriptor signalTypeDescriptor; - - /** - * Compute the random value - */ - template - void GetValue(); - -}; - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ -template -void RandomDataSource::GetValue() { - *(reinterpret_cast(&signalPtr[0u])) = static_cast(rand_r(&seed)); -} - -#endif /* RANDOM_DATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/.svn/pristine/cf/cfa4fdc02470be38b6a8b3e6bd16b7d368fdc035.svn-base b/EC-GN-JA-PCF/.svn/pristine/cf/cfa4fdc02470be38b6a8b3e6bd16b7d368fdc035.svn-base deleted file mode 100644 index 76c1402..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/cf/cfa4fdc02470be38b6a8b3e6bd16b7d368fdc035.svn-base +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("CubicleDetailsTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-CUB_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/.svn/pristine/d1/d1780ac853ec028db7e87977050d69672efeffa3.svn-base b/EC-GN-JA-PCF/.svn/pristine/d1/d1780ac853ec028db7e87977050d69672efeffa3.svn-base deleted file mode 100644 index 9dfc5c1..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/d1/d1780ac853ec028db7e87977050d69672efeffa3.svn-base +++ /dev/null @@ -1,45 +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 $ -# -############################################################# - -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 - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=.. -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif diff --git a/EC-GN-JA-PCF/.svn/pristine/d1/d1aa005c240f820b888eb6b57a0ab2208705e074.svn-base b/EC-GN-JA-PCF/.svn/pristine/d1/d1aa005c240f820b888eb6b57a0ab2208705e074.svn-base deleted file mode 100644 index dfaf406..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/d1/d1aa005c240f820b888eb6b57a0ab2208705e074.svn-base +++ /dev/null @@ -1,1023 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,7,9,9,9 -20,50,35,4,8,8,8 -30,45,30,1,7,7,7 -40,40,25,-2,6,6,6 -50,35,20,-5,5,5,5 -60,30,15,-8,4,4,4 -70,25,10,-11,3,3,3 -80,20,5,-14,2,2,2 -90,15,0,-17,1,1,1 -100,10,-5,-20,0,0,0 -110,5,0,-23,1,1,1 -120,0,5,-20,2,2,2 -130,-5,10,-17,3,3,3 -140,0,15,-14,4,4,4 -150,5,20,-11,5,5,5 -160,10,25,-8,6,6,6 -170,15,30,-5,7,7,7 -180,20,35,-2,8,8,8 -190,25,40,1,9,9,9 -200,30,45,4,10,10,10 -210,35,40,7,9,9,9 -220,40,35,10,8,8,8 -230,45,30,13,7,7,7 -240,50,25,10,6,6,6 -250,55,20,7,5,5,5 -260,60,15,4,4,4,4 -270,55,10,1,3,3,3 -280,50,5,-2,2,2,2 -290,45,0,-5,1,1,1 -300,40,-5,-8,0,0,0 -310,35,0,-11,1,1,1 -320,30,5,-14,2,2,2 -330,25,10,-17,3,3,3 -340,20,15,-20,4,4,4 -350,15,20,-23,5,5,5 -360,10,25,-20,6,6,6 -370,5,30,-17,7,7,7 -380,0,35,-14,8,8,8 -390,-5,40,-11,9,9,9 -400,0,45,-8,10,10,10 -410,5,40,-5,9,9,9 -420,10,35,-2,8,8,8 -430,15,30,1,7,7,7 -440,20,25,4,6,6,6 -450,25,20,7,5,5,5 -460,30,15,10,4,4,4 -470,35,10,13,3,3,3 -480,40,5,10,2,2,2 -490,45,0,7,1,1,1 -500,50,-5,4,0,0,0 -510,55,0,1,1,1,1 -520,60,5,-2,2,2,2 -530,55,10,-5,3,3,3 -540,50,15,-8,4,4,4 -550,45,20,-11,5,5,5 -560,40,25,-14,6,6,6 -570,35,30,-17,7,7,7 -580,30,35,-20,8,8,8 -590,25,40,-23,9,9,9 -600,20,45,-20,10,10,10 -610,15,40,-17,9,9,9 -620,10,35,-14,8,8,8 -630,5,30,-11,7,7,7 -640,0,25,-8,6,6,6 -650,-5,20,-5,5,5,5 -660,0,15,-2,4,4,4 -670,5,10,1,3,3,3 -680,10,5,4,2,2,2 -690,15,0,7,1,1,1 -700,20,-5,10,0,0,0 -710,25,0,13,1,1,1 -720,30,5,10,2,2,2 -730,35,10,7,3,3,3 -740,40,15,4,4,4,4 -750,45,20,1,5,5,5 -760,50,25,-2,6,6,6 -770,55,30,-5,7,7,7 -780,60,35,-8,8,8,8 -790,55,40,-11,9,9,9 -800,50,45,-14,10,10,10 -810,45,40,-17,9,9,9 -820,40,35,-20,8,8,8 -830,35,30,-23,7,7,7 -840,30,25,-20,6,6,6 -850,25,20,-17,5,5,5 -860,20,15,-14,4,4,4 -870,15,10,-11,3,3,3 -880,10,5,-8,2,2,2 -890,5,0,-5,1,1,1 -900,0,-5,-2,0,0,0 -910,-5,0,1,1,1,1 -920,0,5,4,2,2,2 -930,5,10,7,3,3,3 -940,10,15,10,4,4,4 -950,15,20,13,5,5,5 -960,20,25,10,6,6,6 -970,25,30,7,7,7,7 -980,30,35,4,8,8,8 -990,35,40,1,9,9,9 -1000,40,45,-2,10,10,10 -1010,10,20,30,40,50,60 -1020,10,20,30,40,50,60 -1030,10,20,30,40,50,60 -1040,10,20,30,40,50,60 -1050,10,20,30,40,50,60 -1060,10,20,30,40,50,60 -1070,10,20,30,40,50,60 -1080,10,20,30,40,50,60 -1090,10,20,30,40,50,60 -1100,10,20,30,40,50,60 -1110,10,20,30,40,50,60 -1120,10,20,30,40,50,60 -1130,10,20,30,40,50,60 -1140,10,20,30,40,50,60 -1150,10,20,30,40,50,60 -1160,10,20,30,40,50,60 -1170,10,20,30,40,50,60 -1180,10,20,30,40,50,60 -1190,10,20,30,40,50,60 -1200,10,20,30,40,50,60 -1210,10,20,30,40,50,60 -1220,10,20,30,40,50,60 -1230,10,20,30,40,50,60 -1240,10,20,30,40,50,60 -1250,10,20,30,40,50,60 -1260,10,20,30,40,50,60 -1270,10,20,30,40,50,60 -1280,10,20,30,40,50,60 -1290,10,20,30,40,50,60 -1300,10,20,30,40,50,60 -1310,10,20,30,40,50,60 -1320,10,20,30,40,50,60 -1330,10,20,30,40,50,60 -1340,10,20,30,40,50,60 -1350,10,20,30,40,50,60 -1360,10,20,30,40,50,60 -1370,10,20,30,40,50,60 -1380,10,20,30,40,50,60 -1390,10,20,30,40,50,60 -1400,10,20,30,40,50,60 -1410,10,20,30,40,50,60 -1420,10,20,30,40,50,60 -1430,10,20,30,40,50,60 -1440,10,20,30,40,50,60 -1450,10,20,30,40,50,60 -1460,10,20,30,40,50,60 -1470,10,20,30,40,50,60 -1480,10,20,30,40,50,60 -1490,10,20,30,40,50,60 -1500,10,20,30,40,50,60 -1510,10,20,30,40,50,60 -1520,10,20,30,40,50,60 -1530,10,20,30,40,50,60 -1540,10,20,30,40,50,60 -1550,10,20,30,40,50,60 -1560,10,20,30,40,50,60 -1570,10,20,30,40,50,60 -1580,10,20,30,40,50,60 -1590,10,20,30,40,50,60 -1600,10,20,30,40,50,60 -1610,10,20,30,40,50,60 -1620,10,20,30,40,50,60 -1630,10,20,30,40,50,60 -1640,10,20,30,40,50,60 -1650,10,20,30,40,50,60 -1660,10,20,30,40,50,60 -1670,10,20,30,40,50,60 -1680,10,20,30,40,50,60 -1690,10,20,30,40,50,60 -1700,10,20,30,40,50,60 -1710,10,20,30,40,50,60 -1720,10,20,30,40,50,60 -1730,10,20,30,40,50,60 -1740,10,20,30,40,50,60 -1750,10,20,30,40,50,60 -1760,10,20,30,40,50,60 -1770,10,20,30,40,50,60 -1780,10,20,30,40,50,60 -1790,10,20,30,40,50,60 -1800,10,20,30,40,50,60 -1810,10,20,30,40,50,60 -1820,10,20,30,40,50,60 -1830,10,20,30,40,50,60 -1840,10,20,30,40,50,60 -1850,10,20,30,40,50,60 -1860,10,20,30,40,50,60 -1870,10,20,30,40,50,60 -1880,10,20,30,40,50,60 -1890,10,20,30,40,50,60 -1900,10,20,30,40,50,60 -1910,10,20,30,40,50,60 -1920,10,20,30,40,50,60 -1930,10,20,30,40,50,60 -1940,10,20,30,40,50,60 -1950,10,20,30,40,50,60 -1960,10,20,30,40,50,60 -1970,10,20,30,40,50,60 -1980,10,20,30,40,50,60 -1990,10,20,30,40,50,60 -2000,10,20,30,40,50,60 -2010,10,20,30,40,50,60 -2020,10,20,30,40,50,60 -2030,10,20,30,40,50,60 -2040,10,20,30,40,50,60 -2050,10,20,30,40,50,60 -2060,10,20,30,40,50,60 -2070,10,20,30,40,50,60 -2080,10,20,30,40,50,60 -2090,10,20,30,40,50,60 -2100,10,20,30,40,50,60 -2110,10,20,30,40,50,60 -2120,10,20,30,40,50,60 -2130,10,20,30,40,50,60 -2140,10,20,30,40,50,60 -2150,10,20,30,40,50,60 -2160,10,20,30,40,50,60 -2170,10,20,30,40,50,60 -2180,10,20,30,40,50,60 -2190,10,20,30,40,50,60 -2200,10,20,30,40,50,60 -2210,10,20,30,40,50,60 -2220,10,20,30,40,50,60 -2230,10,20,30,40,50,60 -2240,10,20,30,40,50,60 -2250,10,20,30,40,50,60 -2260,10,20,30,40,50,60 -2270,10,20,30,40,50,60 -2280,10,20,30,40,50,60 -2290,10,20,30,40,50,60 -2300,10,20,30,40,50,60 -2310,10,20,30,40,50,60 -2320,10,20,30,40,50,60 -2330,10,20,30,40,50,60 -2340,10,20,30,40,50,60 -2350,10,20,30,40,50,60 -2360,10,20,30,40,50,60 -2370,10,20,30,40,50,60 -2380,10,20,30,40,50,60 -2390,10,20,30,40,50,60 -2400,10,20,30,40,50,60 -2410,10,20,30,40,50,60 -2420,10,20,30,40,50,60 -2430,10,20,30,40,50,60 -2440,10,20,30,40,50,60 -2450,10,20,30,40,50,60 -2460,10,20,30,40,50,60 -2470,10,20,30,40,50,60 -2480,10,20,30,40,50,60 -2490,10,20,30,40,50,60 -2500,10,20,30,40,50,60 -2510,10,20,30,40,50,60 -2520,10,20,30,40,50,60 -2530,10,20,30,40,50,60 -2540,10,20,30,40,50,60 -2550,10,20,30,40,50,60 -2560,10,20,30,40,50,60 -2570,10,20,30,40,50,60 -2580,10,20,30,40,50,60 -2590,10,20,30,40,50,60 -2600,10,20,30,40,50,60 -2610,10,20,30,40,50,60 -2620,10,20,30,40,50,60 -2630,10,20,30,40,50,60 -2640,10,20,30,40,50,60 -2650,10,20,30,40,50,60 -2660,10,20,30,40,50,60 -2670,10,20,30,40,50,60 -2680,10,20,30,40,50,60 -2690,10,20,30,40,50,60 -2700,10,20,30,40,50,60 -2710,10,20,30,40,50,60 -2720,10,20,30,40,50,60 -2730,10,20,30,40,50,60 -2740,10,20,30,40,50,60 -2750,10,20,30,40,50,60 -2760,10,20,30,40,50,60 -2770,10,20,30,40,50,60 -2780,10,20,30,40,50,60 -2790,10,20,30,40,50,60 -2800,10,20,30,40,50,60 -2810,10,20,30,40,50,60 -2820,10,20,30,40,50,60 -2830,10,20,30,40,50,60 -2840,10,20,30,40,50,60 -2850,10,20,30,40,50,60 -2860,10,20,30,40,50,60 -2870,10,20,30,40,50,60 -2880,10,20,30,40,50,60 -2890,10,20,30,40,50,60 -2900,10,20,30,40,50,60 -2910,10,20,30,40,50,60 -2920,10,20,30,40,50,60 -2930,10,20,30,40,50,60 -2940,10,20,30,40,50,60 -2950,10,20,30,40,50,60 -2960,10,20,30,40,50,60 -2970,10,20,30,40,50,60 -2980,10,20,30,40,50,60 -2990,10,20,30,40,50,60 -3000,10,20,30,40,50,60 -3010,10,20,30,40,50,60 -3020,10,20,30,40,50,60 -3030,10,20,30,40,50,60 -3040,10,20,30,40,50,60 -3050,10,20,30,40,50,60 -3060,10,20,30,40,50,60 -3070,10,20,30,40,50,60 -3080,10,20,30,40,50,60 -3090,10,20,30,40,50,60 -3100,10,20,30,40,50,60 -3110,10,20,30,40,50,60 -3120,10,20,30,40,50,60 -3130,10,20,30,40,50,60 -3140,10,20,30,40,50,60 -3150,10,20,30,40,50,60 -3160,10,20,30,40,50,60 -3170,10,20,30,40,50,60 -3180,10,20,30,40,50,60 -3190,10,20,30,40,50,60 -3200,10,20,30,40,50,60 -3210,10,20,30,40,50,60 -3220,10,20,30,40,50,60 -3230,10,20,30,40,50,60 -3240,10,20,30,40,50,60 -3250,10,20,30,40,50,60 -3260,10,20,30,40,50,60 -3270,10,20,30,40,50,60 -3280,10,20,30,40,50,60 -3290,10,20,30,40,50,60 -3300,10,20,30,40,50,60 -3310,10,20,30,40,50,60 -3320,10,20,30,40,50,60 -3330,10,20,30,40,50,60 -3340,10,20,30,40,50,60 -3350,10,20,30,40,50,60 -3360,10,20,30,40,50,60 -3370,10,20,30,40,50,60 -3380,10,20,30,40,50,60 -3390,10,20,30,40,50,60 -3400,10,20,30,40,50,60 -3410,10,20,30,40,50,60 -3420,10,20,30,40,50,60 -3430,10,20,30,40,50,60 -3440,10,20,30,40,50,60 -3450,10,20,30,40,50,60 -3460,10,20,30,40,50,60 -3470,10,20,30,40,50,60 -3480,10,20,30,40,50,60 -3490,10,20,30,40,50,60 -3500,10,20,30,40,50,60 -3510,10,20,30,40,50,60 -3520,10,20,30,40,50,60 -3530,10,20,30,40,50,60 -3540,10,20,30,40,50,60 -3550,10,20,30,40,50,60 -3560,10,20,30,40,50,60 -3570,10,20,30,40,50,60 -3580,10,20,30,40,50,60 -3590,10,20,30,40,50,60 -3600,10,20,30,40,50,60 -3610,10,20,30,40,50,60 -3620,10,20,30,40,50,60 -3630,10,20,30,40,50,60 -3640,10,20,30,40,50,60 -3650,10,20,30,40,50,60 -3660,10,20,30,40,50,60 -3670,10,20,30,40,50,60 -3680,10,20,30,40,50,60 -3690,10,20,30,40,50,60 -3700,10,20,30,40,50,60 -3710,10,20,30,40,50,60 -3720,10,20,30,40,50,60 -3730,10,20,30,40,50,60 -3740,10,20,30,40,50,60 -3750,10,20,30,40,50,60 -3760,10,20,30,40,50,60 -3770,10,20,30,40,50,60 -3780,10,20,30,40,50,60 -3790,10,20,30,40,50,60 -3800,10,20,30,40,50,60 -3810,10,20,30,40,50,60 -3820,10,20,30,40,50,60 -3830,10,20,30,40,50,60 -3840,10,20,30,40,50,60 -3850,10,20,30,40,50,60 -3860,10,20,30,40,50,60 -3870,10,20,30,40,50,60 -3880,10,20,30,40,50,60 -3890,10,20,30,40,50,60 -3900,10,20,30,40,50,60 -3910,10,20,30,40,50,60 -3920,10,20,30,40,50,60 -3930,10,20,30,40,50,60 -3940,10,20,30,40,50,60 -3950,10,20,30,40,50,60 -3960,10,20,30,40,50,60 -3970,10,20,30,40,50,60 -3980,10,20,30,40,50,60 -3990,10,20,30,40,50,60 -4000,10,20,30,40,50,60 -4010,10,20,30,40,50,60 -4020,10,20,30,40,50,60 -4030,10,20,30,40,50,60 -4040,10,20,30,40,50,60 -4050,10,20,30,40,50,60 -4060,10,20,30,40,50,60 -4070,10,20,30,40,50,60 -4080,10,20,30,40,50,60 -4090,10,20,30,40,50,60 -4100,10,20,30,40,50,60 -4110,10,20,30,40,50,60 -4120,10,20,30,40,50,60 -4130,10,20,30,40,50,60 -4140,10,20,30,40,50,60 -4150,10,20,30,40,50,60 -4160,10,20,30,40,50,60 -4170,10,20,30,40,50,60 -4180,10,20,30,40,50,60 -4190,10,20,30,40,50,60 -4200,10,20,30,40,50,60 -4210,10,20,30,40,50,60 -4220,10,20,30,40,50,60 -4230,10,20,30,40,50,60 -4240,10,20,30,40,50,60 -4250,10,20,30,40,50,60 -4260,10,20,30,40,50,60 -4270,10,20,30,40,50,60 -4280,10,20,30,40,50,60 -4290,10,20,30,40,50,60 -4300,10,20,30,40,50,60 -4310,10,20,30,40,50,60 -4320,10,20,30,40,50,60 -4330,10,20,30,40,50,60 -4340,10,20,30,40,50,60 -4350,10,20,30,40,50,60 -4360,10,20,30,40,50,60 -4370,10,20,30,40,50,60 -4380,10,20,30,40,50,60 -4390,10,20,30,40,50,60 -4400,10,20,30,40,50,60 -4410,10,20,30,40,50,60 -4420,10,20,30,40,50,60 -4430,10,20,30,40,50,60 -4440,10,20,30,40,50,60 -4450,10,20,30,40,50,60 -4460,10,20,30,40,50,60 -4470,10,20,30,40,50,60 -4480,10,20,30,40,50,60 -4490,10,20,30,40,50,60 -4500,10,20,30,40,50,60 -4510,10,20,30,40,50,60 -4520,10,20,30,40,50,60 -4530,10,20,30,40,50,60 -4540,10,20,30,40,50,60 -4550,10,20,30,40,50,60 -4560,10,20,30,40,50,60 -4570,10,20,30,40,50,60 -4580,10,20,30,40,50,60 -4590,10,20,30,40,50,60 -4600,10,20,30,40,50,60 -4610,10,20,30,40,50,60 -4620,10,20,30,40,50,60 -4630,10,20,30,40,50,60 -4640,10,20,30,40,50,60 -4650,10,20,30,40,50,60 -4660,10,20,30,40,50,60 -4670,10,20,30,40,50,60 -4680,10,20,30,40,50,60 -4690,10,20,30,40,50,60 -4700,10,20,30,40,50,60 -4710,10,20,30,40,50,60 -4720,10,20,30,40,50,60 -4730,10,20,30,40,50,60 -4740,10,20,30,40,50,60 -4750,10,20,30,40,50,60 -4760,10,20,30,40,50,60 -4770,10,20,30,40,50,60 -4780,10,20,30,40,50,60 -4790,10,20,30,40,50,60 -4800,10,20,30,40,50,60 -4810,10,20,30,40,50,60 -4820,10,20,30,40,50,60 -4830,10,20,30,40,50,60 -4840,10,20,30,40,50,60 -4850,10,20,30,40,50,60 -4860,10,20,30,40,50,60 -4870,10,20,30,40,50,60 -4880,10,20,30,40,50,60 -4890,10,20,30,40,50,60 -4900,10,20,30,40,50,60 -4910,10,20,30,40,50,60 -4920,10,20,30,40,50,60 -4930,10,20,30,40,50,60 -4940,10,20,30,40,50,60 -4950,10,20,30,40,50,60 -4960,10,20,30,40,50,60 -4970,10,20,30,40,50,60 -4980,10,20,30,40,50,60 -4990,10,20,30,40,50,60 -5000,10,20,30,40,50,60 -5010,10,20,30,40,50,60 -5020,10,20,30,40,50,60 -5030,10,20,30,40,50,60 -5040,10,20,30,40,50,60 -5050,10,20,30,40,50,60 -5060,10,20,30,40,50,60 -5070,10,20,30,40,50,60 -5080,10,20,30,40,50,60 -5090,10,20,30,40,50,60 -5100,10,20,30,40,50,60 -5110,10,20,30,40,50,60 -5120,10,20,30,40,50,60 -5130,10,20,30,40,50,60 -5140,10,20,30,40,50,60 -5150,10,20,30,40,50,60 -5160,10,20,30,40,50,60 -5170,10,20,30,40,50,60 -5180,10,20,30,40,50,60 -5190,10,20,30,40,50,60 -5200,10,20,30,40,50,60 -5210,10,20,30,40,50,60 -5220,10,20,30,40,50,60 -5230,10,20,30,40,50,60 -5240,10,20,30,40,50,60 -5250,10,20,30,40,50,60 -5260,10,20,30,40,50,60 -5270,10,20,30,40,50,60 -5280,10,20,30,40,50,60 -5290,10,20,30,40,50,60 -5300,10,20,30,40,50,60 -5310,10,20,30,40,50,60 -5320,10,20,30,40,50,60 -5330,10,20,30,40,50,60 -5340,10,20,30,40,50,60 -5350,10,20,30,40,50,60 -5360,10,20,30,40,50,60 -5370,10,20,30,40,50,60 -5380,10,20,30,40,50,60 -5390,10,20,30,40,50,60 -5400,10,20,30,40,50,60 -5410,10,20,30,40,50,60 -5420,10,20,30,40,50,60 -5430,10,20,30,40,50,60 -5440,10,20,30,40,50,60 -5450,10,20,30,40,50,60 -5460,10,20,30,40,50,60 -5470,10,20,30,40,50,60 -5480,10,20,30,40,50,60 -5490,10,20,30,40,50,60 -5500,10,20,30,40,50,60 -5510,10,20,30,40,50,60 -5520,10,20,30,40,50,60 -5530,10,20,30,40,50,60 -5540,10,20,30,40,50,60 -5550,10,20,30,40,50,60 -5560,10,20,30,40,50,60 -5570,10,20,30,40,50,60 -5580,10,20,30,40,50,60 -5590,10,20,30,40,50,60 -5600,10,20,30,40,50,60 -5610,10,20,30,40,50,60 -5620,10,20,30,40,50,60 -5630,10,20,30,40,50,60 -5640,10,20,30,40,50,60 -5650,10,20,30,40,50,60 -5660,10,20,30,40,50,60 -5670,10,20,30,40,50,60 -5680,10,20,30,40,50,60 -5690,10,20,30,40,50,60 -5700,10,20,30,40,50,60 -5710,10,20,30,40,50,60 -5720,10,20,30,40,50,60 -5730,10,20,30,40,50,60 -5740,10,20,30,40,50,60 -5750,10,20,30,40,50,60 -5760,10,20,30,40,50,60 -5770,10,20,30,40,50,60 -5780,10,20,30,40,50,60 -5790,10,20,30,40,50,60 -5800,10,20,30,40,50,60 -5810,10,20,30,40,50,60 -5820,10,20,30,40,50,60 -5830,10,20,30,40,50,60 -5840,10,20,30,40,50,60 -5850,10,20,30,40,50,60 -5860,10,20,30,40,50,60 -5870,10,20,30,40,50,60 -5880,10,20,30,40,50,60 -5890,10,20,30,40,50,60 -5900,10,20,30,40,50,60 -5910,10,20,30,40,50,60 -5920,10,20,30,40,50,60 -5930,10,20,30,40,50,60 -5940,10,20,30,40,50,60 -5950,10,20,30,40,50,60 -5960,10,20,30,40,50,60 -5970,10,20,30,40,50,60 -5980,10,20,30,40,50,60 -5990,10,20,30,40,50,60 -6000,10,20,30,40,50,60 -6010,10,20,30,40,50,60 -6020,10,20,30,40,50,60 -6030,10,20,30,40,50,60 -6040,10,20,30,40,50,60 -6050,10,20,30,40,50,60 -6060,10,20,30,40,50,60 -6070,10,20,30,40,50,60 -6080,10,20,30,40,50,60 -6090,10,20,30,40,50,60 -6100,10,20,30,40,50,60 -6110,10,20,30,40,50,60 -6120,10,20,30,40,50,60 -6130,10,20,30,40,50,60 -6140,10,20,30,40,50,60 -6150,10,20,30,40,50,60 -6160,10,20,30,40,50,60 -6170,10,20,30,40,50,60 -6180,10,20,30,40,50,60 -6190,10,20,30,40,50,60 -6200,10,20,30,40,50,60 -6210,10,20,30,40,50,60 -6220,10,20,30,40,50,60 -6230,10,20,30,40,50,60 -6240,10,20,30,40,50,60 -6250,10,20,30,40,50,60 -6260,10,20,30,40,50,60 -6270,10,20,30,40,50,60 -6280,10,20,30,40,50,60 -6290,10,20,30,40,50,60 -6300,10,20,30,40,50,60 -6310,10,20,30,40,50,60 -6320,10,20,30,40,50,60 -6330,10,20,30,40,50,60 -6340,10,20,30,40,50,60 -6350,10,20,30,40,50,60 -6360,10,20,30,40,50,60 -6370,10,20,30,40,50,60 -6380,10,20,30,40,50,60 -6390,10,20,30,40,50,60 -6400,10,20,30,40,50,60 -6410,10,20,30,40,50,60 -6420,10,20,30,40,50,60 -6430,10,20,30,40,50,60 -6440,10,20,30,40,50,60 -6450,10,20,30,40,50,60 -6460,10,20,30,40,50,60 -6470,10,20,30,40,50,60 -6480,10,20,30,40,50,60 -6490,10,20,30,40,50,60 -6500,10,20,30,40,50,60 -6510,10,20,30,40,50,60 -6520,10,20,30,40,50,60 -6530,10,20,30,40,50,60 -6540,10,20,30,40,50,60 -6550,10,20,30,40,50,60 -6560,10,20,30,40,50,60 -6570,10,20,30,40,50,60 -6580,10,20,30,40,50,60 -6590,10,20,30,40,50,60 -6600,10,20,30,40,50,60 -6610,10,20,30,40,50,60 -6620,10,20,30,40,50,60 -6630,10,20,30,40,50,60 -6640,10,20,30,40,50,60 -6650,10,20,30,40,50,60 -6660,10,20,30,40,50,60 -6670,10,20,30,40,50,60 -6680,10,20,30,40,50,60 -6690,10,20,30,40,50,60 -6700,10,20,30,40,50,60 -6710,10,20,30,40,50,60 -6720,10,20,30,40,50,60 -6730,10,20,30,40,50,60 -6740,10,20,30,40,50,60 -6750,10,20,30,40,50,60 -6760,10,20,30,40,50,60 -6770,10,20,30,40,50,60 -6780,10,20,30,40,50,60 -6790,10,20,30,40,50,60 -6800,10,20,30,40,50,60 -6810,10,20,30,40,50,60 -6820,10,20,30,40,50,60 -6830,10,20,30,40,50,60 -6840,10,20,30,40,50,60 -6850,10,20,30,40,50,60 -6860,10,20,30,40,50,60 -6870,10,20,30,40,50,60 -6880,10,20,30,40,50,60 -6890,10,20,30,40,50,60 -6900,10,20,30,40,50,60 -6910,10,20,30,40,50,60 -6920,10,20,30,40,50,60 -6930,10,20,30,40,50,60 -6940,10,20,30,40,50,60 -6950,10,20,30,40,50,60 -6960,10,20,30,40,50,60 -6970,10,20,30,40,50,60 -6980,10,20,30,40,50,60 -6990,10,20,30,40,50,60 -7000,10,20,30,40,50,60 -7010,10,20,30,40,50,60 -7020,10,20,30,40,50,60 -7030,10,20,30,40,50,60 -7040,10,20,30,40,50,60 -7050,10,20,30,40,50,60 -7060,10,20,30,40,50,60 -7070,10,20,30,40,50,60 -7080,10,20,30,40,50,60 -7090,10,20,30,40,50,60 -7100,10,20,30,40,50,60 -7110,10,20,30,40,50,60 -7120,10,20,30,40,50,60 -7130,10,20,30,40,50,60 -7140,10,20,30,40,50,60 -7150,10,20,30,40,50,60 -7160,10,20,30,40,50,60 -7170,10,20,30,40,50,60 -7180,10,20,30,40,50,60 -7190,10,20,30,40,50,60 -7200,10,20,30,40,50,60 -7210,10,20,30,40,50,60 -7220,10,20,30,40,50,60 -7230,10,20,30,40,50,60 -7240,10,20,30,40,50,60 -7250,10,20,30,40,50,60 -7260,10,20,30,40,50,60 -7270,10,20,30,40,50,60 -7280,10,20,30,40,50,60 -7290,10,20,30,40,50,60 -7300,10,20,30,40,50,60 -7310,10,20,30,40,50,60 -7320,10,20,30,40,50,60 -7330,10,20,30,40,50,60 -7340,10,20,30,40,50,60 -7350,10,20,30,40,50,60 -7360,10,20,30,40,50,60 -7370,10,20,30,40,50,60 -7380,10,20,30,40,50,60 -7390,10,20,30,40,50,60 -7400,10,20,30,40,50,60 -7410,10,20,30,40,50,60 -7420,10,20,30,40,50,60 -7430,10,20,30,40,50,60 -7440,10,20,30,40,50,60 -7450,10,20,30,40,50,60 -7460,10,20,30,40,50,60 -7470,10,20,30,40,50,60 -7480,10,20,30,40,50,60 -7490,10,20,30,40,50,60 -7500,10,20,30,40,50,60 -7510,10,20,30,40,50,60 -7520,10,20,30,40,50,60 -7530,10,20,30,40,50,60 -7540,10,20,30,40,50,60 -7550,10,20,30,40,50,60 -7560,10,20,30,40,50,60 -7570,10,20,30,40,50,60 -7580,10,20,30,40,50,60 -7590,10,20,30,40,50,60 -7600,10,20,30,40,50,60 -7610,10,20,30,40,50,60 -7620,10,20,30,40,50,60 -7630,10,20,30,40,50,60 -7640,10,20,30,40,50,60 -7650,10,20,30,40,50,60 -7660,10,20,30,40,50,60 -7670,10,20,30,40,50,60 -7680,10,20,30,40,50,60 -7690,10,20,30,40,50,60 -7700,10,20,30,40,50,60 -7710,10,20,30,40,50,60 -7720,10,20,30,40,50,60 -7730,10,20,30,40,50,60 -7740,10,20,30,40,50,60 -7750,10,20,30,40,50,60 -7760,10,20,30,40,50,60 -7770,10,20,30,40,50,60 -7780,10,20,30,40,50,60 -7790,10,20,30,40,50,60 -7800,10,20,30,40,50,60 -7810,10,20,30,40,50,60 -7820,10,20,30,40,50,60 -7830,10,20,30,40,50,60 -7840,10,20,30,40,50,60 -7850,10,20,30,40,50,60 -7860,10,20,30,40,50,60 -7870,10,20,30,40,50,60 -7880,10,20,30,40,50,60 -7890,10,20,30,40,50,60 -7900,10,20,30,40,50,60 -7910,10,20,30,40,50,60 -7920,10,20,30,40,50,60 -7930,10,20,30,40,50,60 -7940,10,20,30,40,50,60 -7950,10,20,30,40,50,60 -7960,10,20,30,40,50,60 -7970,10,20,30,40,50,60 -7980,10,20,30,40,50,60 -7990,10,20,30,40,50,60 -8000,10,20,30,40,50,60 -8010,10,20,30,40,50,60 -8020,10,20,30,40,50,60 -8030,10,20,30,40,50,60 -8040,10,20,30,40,50,60 -8050,10,20,30,40,50,60 -8060,10,20,30,40,50,60 -8070,10,20,30,40,50,60 -8080,10,20,30,40,50,60 -8090,10,20,30,40,50,60 -8100,10,20,30,40,50,60 -8110,10,20,30,40,50,60 -8120,10,20,30,40,50,60 -8130,10,20,30,40,50,60 -8140,10,20,30,40,50,60 -8150,10,20,30,40,50,60 -8160,10,20,30,40,50,60 -8170,10,20,30,40,50,60 -8180,10,20,30,40,50,60 -8190,10,20,30,40,50,60 -8200,10,20,30,40,50,60 -8210,10,20,30,40,50,60 -8220,10,20,30,40,50,60 -8230,10,20,30,40,50,60 -8240,10,20,30,40,50,60 -8250,10,20,30,40,50,60 -8260,10,20,30,40,50,60 -8270,10,20,30,40,50,60 -8280,10,20,30,40,50,60 -8290,10,20,30,40,50,60 -8300,10,20,30,40,50,60 -8310,10,20,30,40,50,60 -8320,10,20,30,40,50,60 -8330,10,20,30,40,50,60 -8340,10,20,30,40,50,60 -8350,10,20,30,40,50,60 -8360,10,20,30,40,50,60 -8370,10,20,30,40,50,60 -8380,10,20,30,40,50,60 -8390,10,20,30,40,50,60 -8400,10,20,30,40,50,60 -8410,10,20,30,40,50,60 -8420,10,20,30,40,50,60 -8430,10,20,30,40,50,60 -8440,10,20,30,40,50,60 -8450,10,20,30,40,50,60 -8460,10,20,30,40,50,60 -8470,10,20,30,40,50,60 -8480,10,20,30,40,50,60 -8490,10,20,30,40,50,60 -8500,10,20,30,40,50,60 -8510,10,20,30,40,50,60 -8520,10,20,30,40,50,60 -8530,10,20,30,40,50,60 -8540,10,20,30,40,50,60 -8550,10,20,30,40,50,60 -8560,10,20,30,40,50,60 -8570,10,20,30,40,50,60 -8580,10,20,30,40,50,60 -8590,10,20,30,40,50,60 -8600,10,20,30,40,50,60 -8610,10,20,30,40,50,60 -8620,10,20,30,40,50,60 -8630,10,20,30,40,50,60 -8640,10,20,30,40,50,60 -8650,10,20,30,40,50,60 -8660,10,20,30,40,50,60 -8670,10,20,30,40,50,60 -8680,10,20,30,40,50,60 -8690,10,20,30,40,50,60 -8700,10,20,30,40,50,60 -8710,10,20,30,40,50,60 -8720,10,20,30,40,50,60 -8730,10,20,30,40,50,60 -8740,10,20,30,40,50,60 -8750,10,20,30,40,50,60 -8760,10,20,30,40,50,60 -8770,10,20,30,40,50,60 -8780,10,20,30,40,50,60 -8790,10,20,30,40,50,60 -8800,10,20,30,40,50,60 -8810,10,20,30,40,50,60 -8820,10,20,30,40,50,60 -8830,10,20,30,40,50,60 -8840,10,20,30,40,50,60 -8850,10,20,30,40,50,60 -8860,10,20,30,40,50,60 -8870,10,20,30,40,50,60 -8880,10,20,30,40,50,60 -8890,10,20,30,40,50,60 -8900,10,20,30,40,50,60 -8910,10,20,30,40,50,60 -8920,10,20,30,40,50,60 -8930,10,20,30,40,50,60 -8940,10,20,30,40,50,60 -8950,10,20,30,40,50,60 -8960,10,20,30,40,50,60 -8970,10,20,30,40,50,60 -8980,10,20,30,40,50,60 -8990,10,20,30,40,50,60 -9000,10,20,30,40,50,60 -9010,10,20,30,40,50,60 -9020,10,20,30,40,50,60 -9030,10,20,30,40,50,60 -9040,10,20,30,40,50,60 -9050,10,20,30,40,50,60 -9060,10,20,30,40,50,60 -9070,10,20,30,40,50,60 -9080,10,20,30,40,50,60 -9090,10,20,30,40,50,60 -9100,10,20,30,40,50,60 -9110,10,20,30,40,50,60 -9120,10,20,30,40,50,60 -9130,10,20,30,40,50,60 -9140,10,20,30,40,50,60 -9150,10,20,30,40,50,60 -9160,10,20,30,40,50,60 -9170,10,20,30,40,50,60 -9180,10,20,30,40,50,60 -9190,10,20,30,40,50,60 -9200,10,20,30,40,50,60 -9210,10,20,30,40,50,60 -9220,10,20,30,40,50,60 -9230,10,20,30,40,50,60 -9240,10,20,30,40,50,60 -9250,10,20,30,40,50,60 -9260,10,20,30,40,50,60 -9270,10,20,30,40,50,60 -9280,10,20,30,40,50,60 -9290,10,20,30,40,50,60 -9300,10,20,30,40,50,60 -9310,10,20,30,40,50,60 -9320,10,20,30,40,50,60 -9330,10,20,30,40,50,60 -9340,10,20,30,40,50,60 -9350,10,20,30,40,50,60 -9360,10,20,30,40,50,60 -9370,10,20,30,40,50,60 -9380,10,20,30,40,50,60 -9390,10,20,30,40,50,60 -9400,10,20,30,40,50,60 -9410,10,20,30,40,50,60 -9420,10,20,30,40,50,60 -9430,10,20,30,40,50,60 -9440,10,20,30,40,50,60 -9450,10,20,30,40,50,60 -9460,10,20,30,40,50,60 -9470,10,20,30,40,50,60 -9480,10,20,30,40,50,60 -9490,10,20,30,40,50,60 -9500,10,20,30,40,50,60 -9510,10,20,30,40,50,60 -9520,10,20,30,40,50,60 -9530,10,20,30,40,50,60 -9540,10,20,30,40,50,60 -9550,10,20,30,40,50,60 -9560,10,20,30,40,50,60 -9570,10,20,30,40,50,60 -9580,10,20,30,40,50,60 -9590,10,20,30,40,50,60 -9600,10,20,30,40,50,60 -9610,10,20,30,40,50,60 -9620,10,20,30,40,50,60 -9630,10,20,30,40,50,60 -9640,10,20,30,40,50,60 -9650,10,20,30,40,50,60 -9660,10,20,30,40,50,60 -9670,10,20,30,40,50,60 -9680,10,20,30,40,50,60 -9690,10,20,30,40,50,60 -9700,10,20,30,40,50,60 -9710,10,20,30,40,50,60 -9720,10,20,30,40,50,60 -9730,10,20,30,40,50,60 -9740,10,20,30,40,50,60 -9750,10,20,30,40,50,60 -9760,10,20,30,40,50,60 -9770,10,20,30,40,50,60 -9780,10,20,30,40,50,60 -9790,10,20,30,40,50,60 -9800,10,20,30,40,50,60 -9810,10,20,30,40,50,60 -9820,10,20,30,40,50,60 -9830,10,20,30,40,50,60 -9840,10,20,30,40,50,60 -9850,10,20,30,40,50,60 -9860,10,20,30,40,50,60 -9870,10,20,30,40,50,60 -9880,10,20,30,40,50,60 -9890,10,20,30,40,50,60 -9900,10,20,30,40,50,60 -9910,10,20,30,40,50,60 -9920,10,20,30,40,50,60 -9930,10,20,30,40,50,60 -9940,10,20,30,40,50,60 -9950,10,20,30,40,50,60 -9960,10,20,30,40,50,60 -9970,10,20,30,40,50,60 -9980,10,20,30,40,50,60 -9981,11,21,31,41,51,61 -9982,12,22,32,42,52,62 -9983,13,23,33,43,53,63 -9984,14,24,34,44,54,64 -9985,15,25,35,45,55,65 -9986,16,26,36,46,56,66 -9987,17,27,37,47,57,67 -9988,18,28,38,48,58,68 -9989,19,29,39,49,59,69 -9990,20,30,40,50,60,70 -9991,21,31,41,51,61,71 -9992,22,32,42,52,62,72 -9993,23,33,43,53,63,73 -9994,24,34,44,54,64,74 -9995,25,35,45,55,65,75 -9996,26,36,46,56,66,76 -9997,27,37,47,57,67,77 -9998,28,38,48,58,68,78 -9999,29,39,49,59,69,79 -10000,30,40,50,60,70,80 -10001,31,41,51,61,71,81 -10002,32,42,52,62,72,82 diff --git a/EC-GN-JA-PCF/.svn/pristine/d3/d319b38075ac787db211d8b37636f916cd37864b.svn-base b/EC-GN-JA-PCF/.svn/pristine/d3/d319b38075ac787db211d8b37636f916cd37864b.svn-base deleted file mode 100644 index 3bcbb4d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/d3/d319b38075ac787db211d8b37636f916cd37864b.svn-base +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef CA_IF_H -#define CA_IF_H - -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-log-lib/trunk/src/main/c++/include/tools/any-type.h $ - * $Id: any-type.h 50547 2014-10-09 12:09:51Z bauvirb $ - * - * Project : CODAC Core System - * - * Description : Channel Access Interface - * - * Author : Bertrand Bauvir - * - * Copyright (c) : 2010-2014 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* Global header files */ -#include -#include /* Channel Access API definition, etc. */ -//#include /* CCS logging library */ - -/* Local header files */ - -/* Constants */ - -#ifndef log_trace -#define log_trace(arg_msg...) {} -#endif - -#ifndef log_error -#define log_error(arg_msg...){} -#endif - -/* Type definition */ - -/* Global variables */ - -/* Public function declaration */ - -static inline bool CAInterface_Initialize(void) { - bool status = false; - ca_context_create (ca_disable_preemptive_callback); //Default - //ca_context_create(ca_enable_preemptive_callback); - status = true; - - return status; -}; - -static inline bool CAInterface_Finalize(void) { - bool status = false; - ca_context_destroy(); - status = true; - - return status; -}; - -static inline bool CAInterface_ConnectVariable(char* name, chid& id) { - bool status = false; - /* Connect to channels */ - if (ca_create_channel(name, NULL, NULL, 10, &id) != ECA_NORMAL) { - return status; - } - - /* Wait for connections */ - if (ca_pend_io(1) != ECA_NORMAL) { - log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - /* Verify channel */ - if (ca_state(id) != cs_conn) { - //log_warning("Connection to channel '%s' has not been successful", name); - } else { - //log_info("Connection to channel '%s' has been successfully verified", name); - } - - status = true; - - return status; -}; - -static inline bool CAInterface_ReadVariable(chid channel, chtype type, - void* p_value) { - bool status = false; - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost"); - return status; - } - - if (ca_get(type, channel, p_value) != ECA_NORMAL) { - //log_error("%s - ca_get failed", __FUNCTION__); - return status; - } - - /* Flush the requests */ - if (ca_pend_io(1) != ECA_NORMAL) { - //log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - status = true; - - return status; -}; - -static inline bool CAInterface_WriteVariable(chid channel, chtype type, - void* p_value) { - bool status = false; - - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost", __FUNCTION__); - return status; - } - - if (ca_put(type, channel, p_value) != ECA_NORMAL) { - //log_warning("%s - ca_put failed", __FUNCTION__); - } - - /* Flush the requests */ - if (ca_pend_io(1) != ECA_NORMAL) { - //log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - status = true; - - return status; -}; - -typedef void (*pCallBack)(struct event_handler_args); - -static inline bool CAInterface_SubscribeVariable(chid channel, chtype type, - pCallBack cb_func, void* p_value) { - bool status = false; - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost", __FUNCTION__); - return status; - } - - if (ca_create_subscription(type, 0, channel, DBE_VALUE, cb_func, NULL, NULL) - != ECA_NORMAL) { - //log_error("%s - ca_create_subscription failed", __FUNCTION__); - return status; - - } - /* - if(ca_pend_event(0.0) != ECA_NORMAL){ - //log_error("%s - ca_pend_event failed", __FUNCTION__); - return status; - } - */ - status = true; - - return status; -}; - -#endif /* CA_IF_H */ diff --git a/EC-GN-JA-PCF/.svn/pristine/d5/d5b600e8557a0ab7f71c73eb227710b912f26fdd.svn-base b/EC-GN-JA-PCF/.svn/pristine/d5/d5b600e8557a0ab7f71c73eb227710b912f26fdd.svn-base deleted file mode 100644 index ae4a27b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/d5/d5b600e8557a0ab7f71c73eb227710b912f26fdd.svn-base +++ /dev/null @@ -1,249 +0,0 @@ -// +LoggerService = { -// Class = LoggerService -// CPUs = 0x1 -// StackSize = 32768 -// NumberOfLogPages = 128 -// +ConLogger = { -// Class = ConsoleLogger -// Format = "EtOoFmC" -// PrintKeys = 1 -// } -// } -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 1 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PV2DDB1 = { - Class = IOGAM - InputSignals = { - AiValue = { - DataSource = EPICSCAInput - Type = float32 - } - LongInValue = { - DataSource = EPICSCAInput - Type = uint32 - } - StringInValue = { - DataSource = EPICSCAInput - Type = char8 - NumberOfElements = 40 - } - } - OutputSignals = { - AValue = { - DataSource = DDB1 - Type = float32 - } - LValue = { - DataSource = DDB1 - Type = uint32 - } - SValue = { - DataSource = DDB1 - Type = char8 - NumberOfElements = 40 - } - } - } - +DDB12PV = { - Class = IOGAM - InputSignals = { - AValue = { - DataSource = DDB1 - Type = float32 - } - LValue = { - DataSource = DDB1 - Type = uint32 - } - SValue = { - DataSource = DDB1 - Type = char8 - NumberOfElements = 40 - } - } - OutputSignals = { - AoValue = { - DataSource = EPICSCAOutput - Type = float32 - } - LongOutValue = { - DataSource = EPICSCAOutput - Type = uint32 - } - StringOutValue = { - DataSource = EPICSCAOutput - Type = char8 - NumberOfElements = 40 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +EPICSCAInput = { - //Class = "EPICSCA::EPICSCAInput" - Class = "JAEPICSCA::JAEPICSCAInput" - CPUMask = "1" - StackSize = "10000000" - Signals = { - AiValue = { - PVName = "ai" - Type = float32 - } - LongInValue = { - PVName = "longin" - Type = uint32 - } - StringInValue = { - PVName = "stringin" - Type = char8 - NumberOfElements = 40 - } - } - } - +EPICSCAOutput = { - //Class = "EPICSCA::EPICSCAOutput" - Class = "JAEPICSCA::JAEPICSCAOutput" - CPUMask = "1" - StackSize = "10000000" - NumberOfBuffers = 2 - Signals = { - AoValue = { - PVName = "ao" - Type = float32 - } - LongOutValue = { - PVName = "longout" - Type = uint32 - } - StringOutValue = { - PVName = "stringout" - Type = char8 - NumberOfElements = 40 - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer PV2DDB1 DDB12PV} - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/d8/d820ae71e21c99c88d92ed2da5cf4f1352cde446.svn-base b/EC-GN-JA-PCF/.svn/pristine/d8/d820ae71e21c99c88d92ed2da5cf4f1352cde446.svn-base deleted file mode 100644 index 6b73f87..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/d8/d820ae71e21c99c88d92ed2da5cf4f1352cde446.svn-base +++ /dev/null @@ -1,57 +0,0 @@ -TOP=../.. - -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE -#======================================== - -#======================================== -# Build the IOC application - -PROD_IOC = EC-GN -# EC-GN.dbd will be created and installed -DBD += EC-GN.dbd - -# EC-GN.dbd will be made up from these files: --include $(EPICS_ROOT)/mk/codac-common.mk - - -# Add all the support libraries needed by this IOC - -EC-GN_DBD += $(CODAC_DBD) -EC-GN_LIBS += $(CODAC_LIBS) - -# # SNCSEQ -# _SNCFLAGS += +r -c +d -# EC-GN_DBD += .dbd -# EC-GN_SRCS += .stt -# EC-GN_LIBS += seq pv - - -# EC-GN_registerRecordDeviceDriver.cpp derives from EC-GN.dbd -EC-GN_SRCS += EC-GN_registerRecordDeviceDriver.cpp - -# Build the main IOC entry point on workstation OSs. -EC-GN_SRCS_DEFAULT += EC-GNMain.cpp -EC-GN_SRCS_vxWorks += -nil- - -# Add support from base/src/vxWorks if needed -#EC-GN_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary - -#============================= -# Include SNL program makefile snippets - --include ../*.snlprog - -#============================= - - -# Finally link to the EPICS Base libraries -EC-GN_LIBS += $(EPICS_BASE_IOC_LIBS) - -#=========================== - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE -#---------------------------------------- \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base b/EC-GN-JA-PCF/.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base deleted file mode 100644 index e69de29..0000000 diff --git a/EC-GN-JA-PCF/.svn/pristine/da/da6d368651b29b5505ee066bedb3f09c5a80e12a.svn-base b/EC-GN-JA-PCF/.svn/pristine/da/da6d368651b29b5505ee066bedb3f09c5a80e12a.svn-base deleted file mode 100644 index 901987c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/da/da6d368651b29b5505ee066bedb3f09c5a80e12a.svn-base +++ /dev/null @@ -1,2 +0,0 @@ -#RULES.ioc -include $(CONFIG)/RULES.ioc diff --git a/EC-GN-JA-PCF/.svn/pristine/dc/dc260e4036a2aa463ca538dbb90838aa3928a1bf.svn-base b/EC-GN-JA-PCF/.svn/pristine/dc/dc260e4036a2aa463ca538dbb90838aa3928a1bf.svn-base deleted file mode 100644 index 2f1534c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/dc/dc260e4036a2aa463ca538dbb90838aa3928a1bf.svn-base +++ /dev/null @@ -1,53 +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=RandomDataSource.x - -PACKAGE=DataSources - -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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/RandomDataSource$(LIBEXT) \ - $(BUILD_DIR)/RandomDataSource$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/dc/dc944d9311fea0f8b3d549f15c1f59fe0787a2e8.svn-base b/EC-GN-JA-PCF/.svn/pristine/dc/dc944d9311fea0f8b3d549f15c1f59fe0787a2e8.svn-base deleted file mode 100644 index 98003a2..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/dc/dc944d9311fea0f8b3d549f15c1f59fe0787a2e8.svn-base +++ /dev/null @@ -1,295 +0,0 @@ -/** - * @file JARampupGAM.cpp - * @brief Source file for class JARampupGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JARampupGAM (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 "AdvancedErrorManagement.h" -#include "JARampupGAM.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JARampupGAM::JARampupGAM() : GAM() { - current_setpoint = NULL_PTR(MARTe::float32 *); - target_value = NULL_PTR(MARTe::float32 *); - rampup_time = NULL_PTR(MARTe::float32 *); - start = NULL_PTR(MARTe::uint32 *); - standby = NULL_PTR(MARTe::uint32 *); - isAuto = NULL_PTR(MARTe::uint32 *); - FHPS_PrePro = NULL_PTR(MARTe::float32 *); - - output = NULL_PTR(MARTe::float32 *); - state = NULL_PTR(MARTe::uint32 *); - - rampup_rate = 0.0f; - inRampup = false; - resetFlag = true; - inWaitHVON = false; - inWaitStandby = false; -} - -JARampupGAM::~JARampupGAM() { -} - -bool JARampupGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JARampupGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 7u); - if (ok) { - ok = (numberOfOutputSignals == 2u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Two output signals shall be defined."); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Six input signals shall be defined."); - } - uint32 currentspvIndex; - uint32 targetvIndex; - uint32 timeIndex; - uint32 startIndex; - uint32 standbyIndex; - uint32 isAutoIndex; - uint32 fhpsPreProIndex; - - if (ok) { - StreamString signalName = "Currspv"; - ok = GetSignalIndex(InputSignals, currentspvIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Currspv input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, currentspvIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Currspv shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Targetv"; - ok = GetSignalIndex(InputSignals, targetvIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Targetv input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, targetvIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Targetv shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Time"; - ok = GetSignalIndex(InputSignals, timeIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Time input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, timeIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Time shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Start"; - ok = GetSignalIndex(InputSignals, startIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Start input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, startIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Start shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "PLC_STANDBY"; - ok = GetSignalIndex(InputSignals, standbyIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLC_STANDBY input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, standbyIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLC_STANDBY shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "MANUAL_AUTO"; - ok = GetSignalIndex(InputSignals, isAutoIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "MANUAL_AUTO input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, isAutoIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "MANUAL_AUTO shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "FHPS_PrePro"; - ok = GetSignalIndex(InputSignals, fhpsPreProIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "FHPS_PrePro input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, fhpsPreProIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal FHPS_PrePro shall be defined as float32."); - } - } - } - - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 0); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Output shall be defined as float32."); - } - } - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 1); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal state shall be defined as float32."); - } - } - - if (ok) { - current_setpoint = reinterpret_cast(GetInputSignalMemory(currentspvIndex)); - target_value = reinterpret_cast(GetInputSignalMemory(targetvIndex)); - rampup_time = reinterpret_cast(GetInputSignalMemory(timeIndex)); - start = reinterpret_cast(GetInputSignalMemory(startIndex)); - standby = reinterpret_cast(GetInputSignalMemory(standbyIndex)); - isAuto = reinterpret_cast(GetInputSignalMemory(isAutoIndex)); - FHPS_PrePro = reinterpret_cast(GetInputSignalMemory(fhpsPreProIndex)); - - output = reinterpret_cast(GetOutputSignalMemory(0)); - state = reinterpret_cast(GetOutputSignalMemory(1)); - } - return ok; -} - -bool JARampupGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName){ - if(strcmp(nextStateName, "WaitHVON_PREP")==0 || strcmp(nextStateName, "WaitHVON_SDN_PREP")==0 || - strcmp(nextStateName, "WaitHVON")==0 || strcmp(nextStateName, "WaitHVON_SDN")==0){ - inWaitHVON = true; - inWaitStandby = false; - } else{ - inWaitHVON = false; - if(strcmp(nextStateName,"WaitStandby")==0 ){ - inWaitStandby = true; - } else { - inWaitStandby = false; - } - } - return true; -} - -bool JARampupGAM::Execute() { - using namespace MARTe; - if(!inWaitHVON){ - if (*target_value <= 0.0f || *standby == 0u) { - *output = 0.0f; - rampup_rate = 0.0f; - if(*target_value <= 0.0f){ - *state = 3u; - } else { - *state = 0u; - } - return true; - } - - if(*start == 1u && *isAuto==0u){ //isAuto = 1.Manual, 0.auto-rampup. - inRampup = true; - resetFlag = true; - *output = 0.0f; //Enable if it should start always zero. - } - - // Calcrate new rampup rate. - if(*rampup_time != 0 && resetFlag == true){ - rampup_rate = (*target_value - *current_setpoint) / *rampup_time/1000.0f; // Volt/msec - resetFlag = false; - } - - // Update Parameter - if(*standby == 1u ){ - if(*isAuto == 1u){ - if (inWaitStandby){ - *output = *target_value; - } else{ - *output = *FHPS_PrePro; - } - //*output = *target_value; - *state = 0u; - return true; - } - else if (inRampup){ - if (*output + rampup_rate < *target_value && *rampup_time != 0){ - *output = *output + rampup_rate; - *state = 1u; - } else { - *output = *target_value; - *state = 2u; - inRampup = false; - } - } - } - return true; - } else { - if(*isAuto == 0){ - *output = *FHPS_PrePro; - } else{ - *output = *target_value; - } - return true; - } -} - -CLASS_REGISTER(JARampupGAM, "1.0") diff --git a/EC-GN-JA-PCF/.svn/pristine/dd/dd3df36f741de9cc146fa5d8218d1af0fb4908b5.svn-base b/EC-GN-JA-PCF/.svn/pristine/dd/dd3df36f741de9cc146fa5d8218d1af0fb4908b5.svn-base deleted file mode 100644 index e59f3fa..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/dd/dd3df36f741de9cc146fa5d8218d1af0fb4908b5.svn-base +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/dd/dda01edf690c7a29a6b5fa244fbb3da7d22be4cb.svn-base b/EC-GN-JA-PCF/.svn/pristine/dd/dda01edf690c7a29a6b5fa244fbb3da7d22be4cb.svn-base deleted file mode 100644 index 66c756d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/dd/dda01edf690c7a29a6b5fa244fbb3da7d22be4cb.svn-base +++ /dev/null @@ -1,180 +0,0 @@ -record (bo,"EC-GN-P01-PB1F:PSU1000-CON-HV") -{ - field(DESC, "GY1 BPS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB1F:PSU1000-CON-SW") -{ - field(DESC, "GY1 BPS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB1F:PSU1000-CTRP") -{ - field(DESC, "GY1 BPS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PB1F:PSU1000-YFLT") -{ - field(DESC, "GY1 BPS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 3) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PB1F:PSU1000-YSTA") -{ - field(DESC, "GY1 BPS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 2) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PB1F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 BPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PB1F:PSU1000-EREF") -{ - field(ASLO, "4") - field(DESC, "GY1 BPS voltage setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PB1F:PSU1000-EREF-MSP") -{ - field(DESC, "GY1 BPS voltage manual setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PB1F:PSU1000-ET") -{ - field(DESC, "GY1 BPS Measured Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB1F:PSU1000-ET-WF") -{ - field(DESC, "GY1 BPS Measured Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB1F:PSU1000-IT") -{ - field(DESC, "GY1 BPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB1F:PSU1000-IT-WF") -{ - field(DESC, "GY1 BPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB1F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY1 BPS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PB1F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY1 BPS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "550000") -} - -record (waveform,"EC-GN-P01-PB1F:STAT-PREP-WF") -{ - field(DESC, "GY1 BPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/dd/ddad8773ee392ef8c0f08d479ac3fc9777e60f01.svn-base b/EC-GN-JA-PCF/.svn/pristine/dd/ddad8773ee392ef8c0f08d479ac3fc9777e60f01.svn-base deleted file mode 100644 index e012c40..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/dd/ddad8773ee392ef8c0f08d479ac3fc9777e60f01.svn-base +++ /dev/null @@ -1,17 +0,0 @@ - -#====================================================================== -# SYS Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("picmg-sensors.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") -#dbLoadRecords("sysmon.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, IOCTYPE=SYSM, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/de/de09da43274ec7bd28a10842d3068f8391320552.svn-base b/EC-GN-JA-PCF/.svn/pristine/de/de09da43274ec7bd28a10842d3068f8391320552.svn-base deleted file mode 100644 index b38d99d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/de/de09da43274ec7bd28a10842d3068f8391320552.svn-base +++ /dev/null @@ -1,29 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/sddconfApp/Makefile $ -# $Id: Makefile 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : Makefile -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== -TOP = .. -include $(TOP)/configure/CONFIG -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) -include $(TOP)/configure/RULES_DIRS - diff --git a/EC-GN-JA-PCF/.svn/pristine/de/deb81eb2eaafc1b450d2c4e9891f8d64ab85a068.svn-base b/EC-GN-JA-PCF/.svn/pristine/de/deb81eb2eaafc1b450d2c4e9891f8d64ab85a068.svn-base deleted file mode 100644 index b958fd0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/de/deb81eb2eaafc1b450d2c4e9891f8d64ab85a068.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/e0/e074104f0bb084fa70d278cebd9165b958cb09f4.svn-base b/EC-GN-JA-PCF/.svn/pristine/e0/e074104f0bb084fa70d278cebd9165b958cb09f4.svn-base deleted file mode 100644 index 443faa9..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/e0/e074104f0bb084fa70d278cebd9165b958cb09f4.svn-base +++ /dev/null @@ -1,67 +0,0 @@ -#!../../bin/linux-x86_64/EC-GN -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericBoot/ioc/st.cmd $ -# $Id: st.cmd 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : ITER ioc template EPICS start up file -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -< envPaths -< envSystem -< envUser - -cd "${TOP}" - -############################################################################ -## Register all support components -############################################################################ - -dbLoadDatabase "dbd/CUB.dbd" -EC_GN_registerRecordDeviceDriver pdbbase - -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/sddPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/userPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/threadSchedulingConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/dbToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-preSaveRestore.cmd" - -############################################################################ -## IOC Logging -############################################################################ -iocLogInit -iocLogPrefix "${STY} : " - -############################################################################ -## IOC initialization -############################################################################ -cd "${TOP}/db" -iocInit - -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-postSaveRestore.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/sddSeqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/seqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/sddPostDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/userPostDriverConf.cmd" - - -dbl > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbl" -dbla > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbla" -dbior > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbior" -dbhcr > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbhcr" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/e1/e17b3fc0466760609c22ed79800279a211b6d996.svn-base b/EC-GN-JA-PCF/.svn/pristine/e1/e17b3fc0466760609c22ed79800279a211b6d996.svn-base deleted file mode 100644 index 52d83e4..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/e1/e17b3fc0466760609c22ed79800279a211b6d996.svn-base +++ /dev/null @@ -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=JASourceChoiseGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JASourceChoiseGAM$(LIBEXT) \ - $(BUILD_DIR)/JASourceChoiseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/e1/e1b0e6f2dcc39a75644d36ca8ebda7a68f4d43e9.svn-base b/EC-GN-JA-PCF/.svn/pristine/e1/e1b0e6f2dcc39a75644d36ca8ebda7a68f4d43e9.svn-base deleted file mode 100644 index d766295..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/e1/e1b0e6f2dcc39a75644d36ca8ebda7a68f4d43e9.svn-base +++ /dev/null @@ -1,306 +0,0 @@ -record (bo,"EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") -{ - field(DESC, "GY2 SCM rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-MCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 MCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-MCPS:STAT-SIMM") -{ - field(DESC, "GY2 MCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") -{ - field(DESC, "GY2 MCPS read act") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity MC2") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP") -{ - field(DESC, "GY2 MCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity MC2") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI") -{ - field(DESC, "GY2 MCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO") -{ - field(DESC, "GY2 MCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON") -{ - field(DESC, "GY2 MCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent MC2") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GBF-MCPS:PSU2120-ERR") -{ - field(DESC, "GY2 MCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat MC2") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM") -{ - field(DESC, "GY2 MCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim MC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB") -{ - field(DESC, "GY2 MCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep MC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB") -{ - field(DESC, "GY2 MCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent MC2") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET") -{ - field(DESC, "GY2 MCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent MC2") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI") -{ - field(DESC, "GY2 MCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO") -{ - field(DESC, "GY2 MCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET") -{ - field(DESC, "GY2 MCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep MC2") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(VAL, "1.69") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON") -{ - field(DESC, "GY2 MCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage MC2") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#2 state set by Marte") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GBF-MCPS:STAT-PREP-WF") -{ - field(DESC, "GY2 MCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(A==3 andand B==3)?1:0") - field(DESC, "GYB SMCPS rampup check") - field(FLNK, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYB MC GC rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#2 current set by Marte") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/e1/e1e36616e63e4c70302b3140c389829d49715350.svn-base b/EC-GN-JA-PCF/.svn/pristine/e1/e1e36616e63e4c70302b3140c389829d49715350.svn-base deleted file mode 100644 index 9bf127b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/e1/e1e36616e63e4c70302b3140c389829d49715350.svn-base +++ /dev/null @@ -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=JARampupGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARampupGAM$(LIBEXT) \ - $(BUILD_DIR)/JARampupGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/e3/e37a1f7ac8c50aa9f02b7243b5d3353649883620.svn-base b/EC-GN-JA-PCF/.svn/pristine/e3/e37a1f7ac8c50aa9f02b7243b5d3353649883620.svn-base deleted file mode 100644 index 8bb8ee7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/e3/e37a1f7ac8c50aa9f02b7243b5d3353649883620.svn-base +++ /dev/null @@ -1,42 +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 $ -# -############################################################# -SPB = RandomDataSource.x NI6528.x JAEPICSCA.x - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=.. -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif - diff --git a/EC-GN-JA-PCF/.svn/pristine/e5/e558be4b9f763d656bef4bf2411a250ee2ef085c.svn-base b/EC-GN-JA-PCF/.svn/pristine/e5/e558be4b9f763d656bef4bf2411a250ee2ef085c.svn-base deleted file mode 100644 index 29201d0..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/e5/e558be4b9f763d656bef4bf2411a250ee2ef085c.svn-base +++ /dev/null @@ -1,30 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc - -LIBRARIES += -L$(CODAC_ROOT)/lib/ -lpxi6528 - diff --git a/EC-GN-JA-PCF/.svn/pristine/e6/e60bff214c8e82c54b77a0e9c6b08fc1e5de2e68.svn-base b/EC-GN-JA-PCF/.svn/pristine/e6/e60bff214c8e82c54b77a0e9c6b08fc1e5de2e68.svn-base deleted file mode 100644 index 354029a..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/e6/e60bff214c8e82c54b77a0e9c6b08fc1e5de2e68.svn-base +++ /dev/null @@ -1,310 +0,0 @@ -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB") -{ - field(DESC, "GY2 CCPS Output ON status") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getOut CCPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP") -{ - field(DESC, "GY2 CCPS Output ON") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setOut CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB") -{ - field(DESC, "GY2 CCPS remote readback") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getRem CCPS2") - field(ONAM, "REM") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP") -{ - field(DESC, "GY2 CCPS remote control on") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PWX1500ML.proto setRem CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-RST") -{ - field(DESC, "GY2 CCPS reset device") - field(DTYP, "stream") - field(OUT, "@PWX1500ML.proto resetDevice CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB") -{ - field(DESC, "GY2 CCPS signal source on") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getSourceON CCPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP") -{ - field(DESC, "GY2 CCPS signal source on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setSourceON CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-STAT") -{ - field(DESC, "CCPS2 is running") - field(ONAM, "ON") - field(SCAN, "Passive") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-TR") -{ - field(DESC, "GY2 CCPS in Operation") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 CCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:STAT-SIMM") -{ - field(DESC, "GY2 CCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB") -{ - field(DESC, "GY2 CCPS Output current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "60.0") - field(INP, "@PWX1500ML.proto getCurr CCPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP") -{ - field(DESC, "GY2 CCPS Output current setpoint") - field(DRVH, "58.8") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setCurr CCPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB") -{ - field(DESC, "GY2 CCPS V range readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PWX1500ML.proto getVolt CCPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP") -{ - field(DESC, "GY2 CCPS V range readback") - field(DRVH, "84") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "84") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setVolt CCPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-EREF") -{ - field(DESC, "GY2 CCPS voltage setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP") -{ - field(DESC, "GY2 CCPS voltage manual setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GBF-CCPS:PSU2320-ERROR") -{ - field(DESC, "GY2 CCPS Error message") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getError CCPS2") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (stringin,"EC-GN-P01-GBF-CCPS:PSU2320-IDN") -{ - field(DESC, "GY2 CCPS IDN") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto readDeviceID CCPS2") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI") -{ - field(DESC, "GY2 CCPS Measued DC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(INP, "@PWX1500ML.proto getMeasDCI CCPS2") - field(LOPR, "-58.8") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV") -{ - field(DESC, "GY2 CCPS Measued DC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "200") - field(INP, "@PWX1500ML.proto getMeasDCV CCPS2") - field(LOPR, "-200") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-AMP") -{ - field(DESC, "Amplitude") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "3.5") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-FREQ") -{ - field(DESC, "Frequency") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-OFFS") -{ - field(DESC, "Offset") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GBF-CCPS:STAT-OP-CALC") -{ - field(CALC, "(A==1 || B==1 || C==1)?1:0; C:=B; B:=A") - field(DESC, "GYB CCPS operation check") - field(FLNK, "EC-GN-P01-GBF-CCPS:PSU2320-TR") - field(INPA, "EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF") - field(INPB, "0") - field(INPC, "0") - field(OUT, "EC-GN-P01-GBF-CCPS:PSU2320-TR") - field(SCAN, "Passive") -} - -record (calc,"EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF") -{ - field(CALC, "(A==1 andand ABS(B-C)>0.1)?1:0; C:=B") - field(DESC, "GYB CCPS operation check") - field(FLNK, "EC-GN-P01-GBF-CCPS:STAT-OP-CALC") - field(INPA, "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB") - field(INPB, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV PP") - field(SCAN, ".1 second") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/e7/e765ae1bc60a4221433c4deb5486dd9ca02f2e9b.svn-base b/EC-GN-JA-PCF/.svn/pristine/e7/e765ae1bc60a4221433c4deb5486dd9ca02f2e9b.svn-base deleted file mode 100644 index 98fb573..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/e7/e765ae1bc60a4221433c4deb5486dd9ca02f2e9b.svn-base +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,9,9,9,9 -20,50,35,8,8,8,8 -30,45,30,7,7,7,7 -40,40,25,6,6,6,6 -50,35,20,5,5,5,5 -60,30,15,4,4,4,4 -70,25,10,3,3,3,3 -80,20,5,2,2,2,2 -90,15,0,1,1,1,1 -100,10,-5,0,0,0,0 -110,5,0,1,1,1,1 -120,0,5,2,2,2,2 -130,-5,10,3,3,3,3 -140,0,15,4,4,4,4 -150,5,20,5,5,5,5 -160,10,25,6,6,6,6 -170,15,30,7,7,7,7 -180,20,35,8,8,8,8 -190,25,40,9,9,9,9 -200,30,45,10,10,10,10 -210,35,40,11,9,9,9 -220,40,35,12,8,8,8 -230,45,30,11,7,7,7 -240,50,25,10,6,6,6 -250,55,20,9,5,5,5 -260,60,15,8,4,4,4 -270,55,10,7,3,3,3 -280,50,5,6,2,2,2 -290,45,0,5,1,1,1 -300,40,-5,4,0,0,0 -310,35,0,3,1,1,1 -320,30,5,2,2,2,2 -330,25,10,1,3,3,3 -340,20,15,0,4,4,4 -350,15,20,1,5,5,5 -360,10,25,2,6,6,6 -370,5,30,3,7,7,7 -380,0,35,4,8,8,8 -390,-5,40,5,9,9,9 -400,0,45,6,10,10,10 -410,5,40,7,9,9,9 -420,10,35,8,8,8,8 -430,15,30,9,7,7,7 -440,20,25,10,6,6,6 -450,25,20,11,5,5,5 -460,30,15,12,4,4,4 -470,35,10,11,3,3,3 -480,40,5,10,2,2,2 -490,45,0,9,1,1,1 -500,50,-5,8,0,0,0 -510,55,0,7,1,1,1 -520,60,5,6,2,2,2 -530,55,10,5,3,3,3 -540,50,15,4,4,4,4 -550,45,20,3,5,5,5 -560,40,25,2,6,6,6 -570,35,30,1,7,7,7 -580,30,35,0,8,8,8 -590,25,40,1,9,9,9 -600,20,45,2,10,10,10 -610,15,40,3,9,9,9 -620,10,35,4,8,8,8 -630,5,30,5,7,7,7 -640,0,25,6,6,6,6 -650,-5,20,7,5,5,5 -660,0,15,8,4,4,4 -670,5,10,9,3,3,3 -680,10,5,10,2,2,2 -690,15,0,11,1,1,1 -700,20,-5,12,0,0,0 -710,25,0,11,1,1,1 -720,30,5,10,2,2,2 -730,35,10,9,3,3,3 -740,40,15,8,4,4,4 -750,45,20,7,5,5,5 -760,50,25,6,6,6,6 -770,55,30,5,7,7,7 -780,60,35,4,8,8,8 -790,55,40,3,9,9,9 -800,50,45,2,10,10,10 -810,45,40,1,9,9,9 -820,40,35,0,8,8,8 -830,35,30,1,7,7,7 -840,30,25,2,6,6,6 -850,25,20,3,5,5,5 -860,20,15,4,4,4,4 -870,15,10,5,3,3,3 -880,10,5,6,2,2,2 -890,5,0,7,1,1,1 -900,0,-5,8,0,0,0 -910,-5,0,9,1,1,1 -920,0,5,10,2,2,2 -930,5,10,11,3,3,3 -940,10,15,12,4,4,4 -950,15,20,11,5,5,5 -960,20,25,10,6,6,6 -970,25,30,9,7,7,7 -980,30,35,8,8,8,8 -990,35,40,7,9,9,9 -1000,40,45,6,10,10,10 -1010,30,20,10,10,10,10 -1020,30,20,10,10,10,10 -1030,30,20,10,10,10,10 -1040,30,20,10,10,10,10 -1050,30,20,10,10,10,10 -1060,30,20,10,10,10,10 -1070,30,20,10,10,10,10 -1080,30,20,10,10,10,10 -1090,30,20,10,10,10,10 -1100,30,20,10,10,10,10 -1110,30,20,10,10,10,10 -1120,30,20,10,10,10,10 -1130,30,20,10,10,10,10 -1140,30,20,10,10,10,10 -1150,30,20,10,10,10,10 -1160,30,20,10,10,10,10 -1170,30,20,10,10,10,10 -1180,30,20,10,10,10,10 -1190,30,20,10,10,10,10 -1200,30,20,10,10,10,10 -1210,30,20,10,10,10,10 -1220,30,20,10,10,10,10 -1230,30,20,10,10,10,10 -1240,30,20,10,10,10,10 -1250,30,20,10,10,10,10 -1260,30,20,10,10,10,10 -1270,30,20,10,10,10,10 -1280,30,20,10,10,10,10 -1290,30,20,10,10,10,10 -1300,30,20,10,10,10,10 -1310,30,20,10,10,10,10 -1320,30,20,10,10,10,10 -1330,30,20,10,10,10,10 -1340,30,20,10,10,10,10 -1350,30,20,10,10,10,10 -1360,30,20,10,10,10,10 -1370,30,20,10,10,10,10 -1380,30,20,10,10,10,10 -1390,30,20,10,10,10,10 -1400,30,20,10,10,10,10 -1410,30,20,10,10,10,10 -1420,30,20,10,10,10,10 -1430,30,20,10,10,10,10 -1440,30,20,10,10,10,10 -1450,30,20,10,10,10,10 -1460,30,20,10,10,10,10 -1470,30,20,10,10,10,10 -1480,30,20,10,10,10,10 -1490,30,20,10,10,10,10 -1500,30,20,10,10,10,10 -1510,30,20,10,10,10,10 -1520,30,20,10,10,10,10 -1530,30,20,10,10,10,10 -1540,30,20,10,10,10,10 -1550,30,20,10,10,10,10 -1560,30,20,10,10,10,10 -1570,30,20,10,10,10,10 -1580,30,20,10,10,10,10 -1590,30,20,10,10,10,10 -1600,30,20,10,10,10,10 -1610,30,20,10,10,10,10 -1620,30,20,10,10,10,10 -1630,30,20,10,10,10,10 -1640,30,20,10,10,10,10 -1650,30,20,10,10,10,10 -1660,30,20,10,10,10,10 -1670,30,20,10,10,10,10 -1680,30,20,10,10,10,10 -1690,30,20,10,10,10,10 -1700,30,20,10,10,10,10 -1710,30,20,10,10,10,10 -1720,30,20,10,10,10,10 -1730,30,20,10,10,10,10 -1740,30,20,10,10,10,10 -1750,30,20,10,10,10,10 -1760,30,20,10,10,10,10 -1770,30,20,10,10,10,10 -1780,30,20,10,10,10,10 -1790,30,20,10,10,10,10 -1800,30,20,10,10,10,10 -1810,30,20,10,10,10,10 -1820,30,20,10,10,10,10 -1830,30,20,10,10,10,10 -1840,30,20,10,10,10,10 -1850,30,20,10,10,10,10 -1860,30,20,10,10,10,10 -1870,30,20,10,10,10,10 -1880,30,20,10,10,10,10 -1890,30,20,10,10,10,10 -1900,30,20,10,10,10,10 -1910,30,20,10,10,10,10 -1920,30,20,10,10,10,10 -1930,30,20,10,10,10,10 -1940,30,20,10,10,10,10 -1950,30,20,10,10,10,10 -1960,30,20,10,10,10,10 -1970,30,20,10,10,10,10 -1980,30,20,10,10,10,10 -1990,30,20,10,10,10,10 -2000,30,20,10,10,10,10 -2010,30,20,10,10,10,10 -2020,30,20,10,10,10,10 -2030,30,20,10,10,10,10 -2040,30,20,10,10,10,10 -2050,30,20,10,10,10,10 -2060,30,20,10,10,10,10 -2070,30,20,10,10,10,10 -2080,30,20,10,10,10,10 -2090,30,20,10,10,10,10 -2100,30,20,10,10,10,10 -2110,30,20,10,10,10,10 -2120,30,20,10,10,10,10 -2130,30,20,10,10,10,10 -2140,30,20,10,10,10,10 -2150,30,20,10,10,10,10 -2160,30,20,10,10,10,10 -2170,30,20,10,10,10,10 -2180,30,20,10,10,10,10 -2190,30,20,10,10,10,10 -2200,30,20,10,10,10,10 -2210,30,20,10,10,10,10 -2220,30,20,10,10,10,10 -2230,30,20,10,10,10,10 -2240,30,20,10,10,10,10 -2250,30,20,10,10,10,10 -2260,30,20,10,10,10,10 -2270,30,20,10,10,10,10 -2280,30,20,10,10,10,10 -2290,30,20,10,10,10,10 -2300,30,20,10,10,10,10 -2310,30,20,10,10,10,10 -2320,30,20,10,10,10,10 -2330,30,20,10,10,10,10 -2340,30,20,10,10,10,10 -2350,30,20,10,10,10,10 -2360,30,20,10,10,10,10 -2370,30,20,10,10,10,10 -2380,30,20,10,10,10,10 -2390,30,20,10,10,10,10 -2400,30,20,10,10,10,10 -2410,30,20,10,10,10,10 -2420,30,20,10,10,10,10 -2430,30,20,10,10,10,10 -2440,30,20,10,10,10,10 -2450,30,20,10,10,10,10 -2460,30,20,10,10,10,10 -2470,30,20,10,10,10,10 -2480,30,20,10,10,10,10 -2490,30,20,10,10,10,10 -2500,30,20,10,10,10,10 -2510,30,20,10,10,10,10 -2520,30,20,10,10,10,10 -2530,30,20,10,10,10,10 -2540,30,20,10,10,10,10 -2550,30,20,10,10,10,10 -2560,30,20,10,10,10,10 -2570,30,20,10,10,10,10 -2580,30,20,10,10,10,10 -2590,30,20,10,10,10,10 -2600,30,20,10,10,10,10 -2610,30,20,10,10,10,10 -2620,30,20,10,10,10,10 -2630,30,20,10,10,10,10 -2640,30,20,10,10,10,10 -2650,30,20,10,10,10,10 -2660,30,20,10,10,10,10 -2670,30,20,10,10,10,10 -2680,30,20,10,10,10,10 -2690,30,20,10,10,10,10 -2700,30,20,10,10,10,10 -2710,30,20,10,10,10,10 -2720,30,20,10,10,10,10 -2730,30,20,10,10,10,10 -2740,30,20,10,10,10,10 -2750,30,20,10,10,10,10 -2760,30,20,10,10,10,10 -2770,30,20,10,10,10,10 -2780,30,20,10,10,10,10 -2790,30,20,10,10,10,10 -2800,30,20,10,10,10,10 -2810,30,20,10,10,10,10 -2820,30,20,10,10,10,10 -2830,30,20,10,10,10,10 -2840,30,20,10,10,10,10 -2850,30,20,10,10,10,10 -2860,30,20,10,10,10,10 -2870,30,20,10,10,10,10 -2880,30,20,10,10,10,10 -2890,30,20,10,10,10,10 -2900,30,20,10,10,10,10 -2910,30,20,10,10,10,10 -2920,30,20,10,10,10,10 -2930,30,20,10,10,10,10 -2940,30,20,10,10,10,10 -2950,30,20,10,10,10,10 -2960,30,20,10,10,10,10 -2970,30,20,10,10,10,10 -2980,30,20,10,10,10,10 -2990,30,20,10,10,10,10 -3000,30,20,10,10,10,10 -3010,30,20,10,10,10,10 -3020,30,20,10,10,10,10 -3030,30,20,10,10,10,10 -3040,30,20,10,10,10,10 -3050,30,20,10,10,10,10 -3060,30,20,10,10,10,10 -3070,30,20,10,10,10,10 -3080,30,20,10,10,10,10 -3090,30,20,10,10,10,10 -3100,30,20,10,10,10,10 -3110,30,20,10,10,10,10 -3120,30,20,10,10,10,10 -3130,30,20,10,10,10,10 -3140,30,20,10,10,10,10 -3150,30,20,10,10,10,10 -3160,30,20,10,10,10,10 -3170,30,20,10,10,10,10 -3180,30,20,10,10,10,10 -3190,30,20,10,10,10,10 -3200,30,20,10,10,10,10 -3210,30,20,10,10,10,10 -3220,30,20,10,10,10,10 -3230,30,20,10,10,10,10 -3240,30,20,10,10,10,10 -3250,30,20,10,10,10,10 -3260,30,20,10,10,10,10 -3270,30,20,10,10,10,10 -3280,30,20,10,10,10,10 -3290,30,20,10,10,10,10 -3300,30,20,10,10,10,10 -3310,30,20,10,10,10,10 -3320,30,20,10,10,10,10 -3330,30,20,10,10,10,10 -3340,30,20,10,10,10,10 -3350,30,20,10,10,10,10 -3360,30,20,10,10,10,10 -3370,30,20,10,10,10,10 -3380,30,20,10,10,10,10 -3390,30,20,10,10,10,10 -3400,30,20,10,10,10,10 -3410,30,20,10,10,10,10 -3420,30,20,10,10,10,10 -3430,30,20,10,10,10,10 -3440,30,20,10,10,10,10 -3450,30,20,10,10,10,10 -3460,30,20,10,10,10,10 -3470,30,20,10,10,10,10 -3480,30,20,10,10,10,10 -3490,30,20,10,10,10,10 -3500,30,20,10,10,10,10 -3510,30,20,10,10,10,10 -3520,30,20,10,10,10,10 -3530,30,20,10,10,10,10 -3540,30,20,10,10,10,10 -3550,30,20,10,10,10,10 -3560,30,20,10,10,10,10 -3570,30,20,10,10,10,10 -3580,30,20,10,10,10,10 -3590,30,20,10,10,10,10 -3600,30,20,10,10,10,10 -3610,30,20,10,10,10,10 -3620,30,20,10,10,10,10 -3630,30,20,10,10,10,10 -3640,30,20,10,10,10,10 -3650,30,20,10,10,10,10 -3660,30,20,10,10,10,10 -3670,30,20,10,10,10,10 -3680,30,20,10,10,10,10 -3690,30,20,10,10,10,10 -3700,30,20,10,10,10,10 -3710,30,20,10,10,10,10 -3720,30,20,10,10,10,10 -3730,30,20,10,10,10,10 -3740,30,20,10,10,10,10 -3750,30,20,10,10,10,10 -3760,30,20,10,10,10,10 -3770,30,20,10,10,10,10 -3780,30,20,10,10,10,10 -3790,30,20,10,10,10,10 -3800,30,20,10,10,10,10 -3810,30,20,10,10,10,10 -3820,30,20,10,10,10,10 -3830,30,20,10,10,10,10 -3840,30,20,10,10,10,10 -3850,30,20,10,10,10,10 -3860,30,20,10,10,10,10 -3870,30,20,10,10,10,10 -3880,30,20,10,10,10,10 -3890,30,20,10,10,10,10 -3900,30,20,10,10,10,10 -3910,30,20,10,10,10,10 -3920,30,20,10,10,10,10 -3930,30,20,10,10,10,10 -3940,30,20,10,10,10,10 -3950,30,20,10,10,10,10 -3960,30,20,10,10,10,10 -3970,30,20,10,10,10,10 -3980,30,20,10,10,10,10 -3990,30,20,10,10,10,10 -4000,30,20,10,10,10,10 -4010,30,20,10,10,10,10 -4020,30,20,10,10,10,10 -4030,30,20,10,10,10,10 -4040,30,20,10,10,10,10 -4050,30,20,10,10,10,10 -4060,30,20,10,10,10,10 -4070,30,20,10,10,10,10 -4080,30,20,10,10,10,10 -4090,30,20,10,10,10,10 -4100,30,20,10,10,10,10 -4110,30,20,10,10,10,10 -4120,30,20,10,10,10,10 -4130,30,20,10,10,10,10 -4140,30,20,10,10,10,10 -4150,30,20,10,10,10,10 -4160,30,20,10,10,10,10 -4170,30,20,10,10,10,10 -4180,30,20,10,10,10,10 -4190,30,20,10,10,10,10 -4200,30,20,10,10,10,10 -4210,30,20,10,10,10,10 -4220,30,20,10,10,10,10 -4230,30,20,10,10,10,10 -4240,30,20,10,10,10,10 -4250,30,20,10,10,10,10 -4260,30,20,10,10,10,10 -4270,30,20,10,10,10,10 -4280,30,20,10,10,10,10 -4290,30,20,10,10,10,10 -4300,30,20,10,10,10,10 -4310,30,20,10,10,10,10 -4320,30,20,10,10,10,10 -4330,30,20,10,10,10,10 -4340,30,20,10,10,10,10 -4350,30,20,10,10,10,10 -4360,30,20,10,10,10,10 -4370,30,20,10,10,10,10 -4380,30,20,10,10,10,10 -4390,30,20,10,10,10,10 -4400,30,20,10,10,10,10 -4410,30,20,10,10,10,10 -4420,30,20,10,10,10,10 -4430,30,20,10,10,10,10 -4440,30,20,10,10,10,10 -4450,30,20,10,10,10,10 -4460,30,20,10,10,10,10 -4470,30,20,10,10,10,10 -4480,30,20,10,10,10,10 -4490,30,20,10,10,10,10 -4500,30,20,10,10,10,10 -4510,30,20,10,10,10,10 -4520,30,20,10,10,10,10 -4530,30,20,10,10,10,10 -4540,30,20,10,10,10,10 -4550,30,20,10,10,10,10 -4560,30,20,10,10,10,10 -4570,30,20,10,10,10,10 -4580,30,20,10,10,10,10 -4590,30,20,10,10,10,10 -4600,30,20,10,10,10,10 -4610,30,20,10,10,10,10 -4620,30,20,10,10,10,10 -4630,30,20,10,10,10,10 -4640,30,20,10,10,10,10 -4650,30,20,10,10,10,10 -4660,30,20,10,10,10,10 -4670,30,20,10,10,10,10 -4680,30,20,10,10,10,10 -4690,30,20,10,10,10,10 -4700,30,20,10,10,10,10 -4710,30,20,10,10,10,10 -4720,30,20,10,10,10,10 -4730,30,20,10,10,10,10 -4740,30,20,10,10,10,10 -4750,30,20,10,10,10,10 -4760,30,20,10,10,10,10 -4770,30,20,10,10,10,10 -4780,30,20,10,10,10,10 -4790,30,20,10,10,10,10 -4800,30,20,10,10,10,10 -4810,30,20,10,10,10,10 -4820,30,20,10,10,10,10 -4830,30,20,10,10,10,10 -4840,30,20,10,10,10,10 -4850,30,20,10,10,10,10 -4860,30,20,10,10,10,10 -4870,30,20,10,10,10,10 -4880,30,20,10,10,10,10 -4890,30,20,10,10,10,10 -4900,30,20,10,10,10,10 -4910,30,20,10,10,10,10 -4920,30,20,10,10,10,10 -4930,30,20,10,10,10,10 -4940,30,20,10,10,10,10 -4950,30,20,10,10,10,10 -4960,30,20,10,10,10,10 -4970,30,20,10,10,10,10 -4980,30,20,10,10,10,10 -4990,30,20,10,10,10,10 -5000,30,20,10,10,10,10 -5010,30,20,10,10,10,10 -5020,30,20,10,10,10,10 -5030,30,20,10,10,10,10 -5040,30,20,10,10,10,10 -5050,30,20,10,10,10,10 -5060,30,20,10,10,10,10 -5070,30,20,10,10,10,10 -5080,30,20,10,10,10,10 -5090,30,20,10,10,10,10 -5100,30,20,10,10,10,10 -5110,30,20,10,10,10,10 -5120,30,20,10,10,10,10 -5130,30,20,10,10,10,10 -5140,30,20,10,10,10,10 -5150,30,20,10,10,10,10 -5160,30,20,10,10,10,10 -5170,30,20,10,10,10,10 -5180,30,20,10,10,10,10 -5190,30,20,10,10,10,10 -5200,30,20,10,10,10,10 -5210,30,20,10,10,10,10 -5220,30,20,10,10,10,10 -5230,30,20,10,10,10,10 -5240,30,20,10,10,10,10 -5250,30,20,10,10,10,10 -5260,30,20,10,10,10,10 -5270,30,20,10,10,10,10 -5280,30,20,10,10,10,10 -5290,30,20,10,10,10,10 -5300,30,20,10,10,10,10 -5310,30,20,10,10,10,10 -5320,30,20,10,10,10,10 -5330,30,20,10,10,10,10 -5340,30,20,10,10,10,10 -5350,30,20,10,10,10,10 -5360,30,20,10,10,10,10 -5370,30,20,10,10,10,10 -5380,30,20,10,10,10,10 -5390,30,20,10,10,10,10 -5400,30,20,10,10,10,10 -5410,30,20,10,10,10,10 -5420,30,20,10,10,10,10 -5430,30,20,10,10,10,10 -5440,30,20,10,10,10,10 -5450,30,20,10,10,10,10 -5460,30,20,10,10,10,10 -5470,30,20,10,10,10,10 -5480,30,20,10,10,10,10 -5490,30,20,10,10,10,10 -5500,30,20,10,10,10,10 -5510,30,20,10,10,10,10 -5520,30,20,10,10,10,10 -5530,30,20,10,10,10,10 -5540,30,20,10,10,10,10 -5550,30,20,10,10,10,10 -5560,30,20,10,10,10,10 -5570,30,20,10,10,10,10 -5580,30,20,10,10,10,10 -5590,30,20,10,10,10,10 -5600,30,20,10,10,10,10 -5610,30,20,10,10,10,10 -5620,30,20,10,10,10,10 -5630,30,20,10,10,10,10 -5640,30,20,10,10,10,10 -5650,30,20,10,10,10,10 -5660,30,20,10,10,10,10 -5670,30,20,10,10,10,10 -5680,30,20,10,10,10,10 -5690,30,20,10,10,10,10 -5700,30,20,10,10,10,10 -5710,30,20,10,10,10,10 -5720,30,20,10,10,10,10 -5730,30,20,10,10,10,10 -5740,30,20,10,10,10,10 -5750,30,20,10,10,10,10 -5760,30,20,10,10,10,10 -5770,30,20,10,10,10,10 -5780,30,20,10,10,10,10 -5790,30,20,10,10,10,10 -5800,30,20,10,10,10,10 -5810,30,20,10,10,10,10 -5820,30,20,10,10,10,10 -5830,30,20,10,10,10,10 -5840,30,20,10,10,10,10 -5850,30,20,10,10,10,10 -5860,30,20,10,10,10,10 -5870,30,20,10,10,10,10 -5880,30,20,10,10,10,10 -5890,30,20,10,10,10,10 -5900,30,20,10,10,10,10 -5910,30,20,10,10,10,10 -5920,30,20,10,10,10,10 -5930,30,20,10,10,10,10 -5940,30,20,10,10,10,10 -5950,30,20,10,10,10,10 -5960,30,20,10,10,10,10 -5970,30,20,10,10,10,10 -5980,30,20,10,10,10,10 -5990,30,20,10,10,10,10 -6000,30,20,10,10,10,10 -6010,30,20,10,10,10,10 -6020,30,20,10,10,10,10 -6030,30,20,10,10,10,10 -6040,30,20,10,10,10,10 -6050,30,20,10,10,10,10 -6060,30,20,10,10,10,10 -6070,30,20,10,10,10,10 -6080,30,20,10,10,10,10 -6090,30,20,10,10,10,10 -6100,30,20,10,10,10,10 -6110,30,20,10,10,10,10 -6120,30,20,10,10,10,10 -6130,30,20,10,10,10,10 -6140,30,20,10,10,10,10 -6150,30,20,10,10,10,10 -6160,30,20,10,10,10,10 -6170,30,20,10,10,10,10 -6180,30,20,10,10,10,10 -6190,30,20,10,10,10,10 -6200,30,20,10,10,10,10 -6210,30,20,10,10,10,10 -6220,30,20,10,10,10,10 -6230,30,20,10,10,10,10 -6240,30,20,10,10,10,10 -6250,30,20,10,10,10,10 -6260,30,20,10,10,10,10 -6270,30,20,10,10,10,10 -6280,30,20,10,10,10,10 -6290,30,20,10,10,10,10 -6300,30,20,10,10,10,10 -6310,30,20,10,10,10,10 -6320,30,20,10,10,10,10 -6330,30,20,10,10,10,10 -6340,30,20,10,10,10,10 -6350,30,20,10,10,10,10 -6360,30,20,10,10,10,10 -6370,30,20,10,10,10,10 -6380,30,20,10,10,10,10 -6390,30,20,10,10,10,10 -6400,30,20,10,10,10,10 -6410,30,20,10,10,10,10 -6420,30,20,10,10,10,10 -6430,30,20,10,10,10,10 -6440,30,20,10,10,10,10 -6450,30,20,10,10,10,10 -6460,30,20,10,10,10,10 -6470,30,20,10,10,10,10 -6480,30,20,10,10,10,10 -6490,30,20,10,10,10,10 -6500,30,20,10,10,10,10 -6510,30,20,10,10,10,10 -6520,30,20,10,10,10,10 -6530,30,20,10,10,10,10 -6540,30,20,10,10,10,10 -6550,30,20,10,10,10,10 -6560,30,20,10,10,10,10 -6570,30,20,10,10,10,10 -6580,30,20,10,10,10,10 -6590,30,20,10,10,10,10 -6600,30,20,10,10,10,10 -6610,30,20,10,10,10,10 -6620,30,20,10,10,10,10 -6630,30,20,10,10,10,10 -6640,30,20,10,10,10,10 -6650,30,20,10,10,10,10 -6660,30,20,10,10,10,10 -6670,30,20,10,10,10,10 -6680,30,20,10,10,10,10 -6690,30,20,10,10,10,10 -6700,30,20,10,10,10,10 -6710,30,20,10,10,10,10 -6720,30,20,10,10,10,10 -6730,30,20,10,10,10,10 -6740,30,20,10,10,10,10 -6750,30,20,10,10,10,10 -6760,30,20,10,10,10,10 -6770,30,20,10,10,10,10 -6780,30,20,10,10,10,10 -6790,30,20,10,10,10,10 -6800,30,20,10,10,10,10 -6810,30,20,10,10,10,10 -6820,30,20,10,10,10,10 -6830,30,20,10,10,10,10 -6840,30,20,10,10,10,10 -6850,30,20,10,10,10,10 -6860,30,20,10,10,10,10 -6870,30,20,10,10,10,10 -6880,30,20,10,10,10,10 -6890,30,20,10,10,10,10 -6900,30,20,10,10,10,10 -6910,30,20,10,10,10,10 -6920,30,20,10,10,10,10 -6930,30,20,10,10,10,10 -6940,30,20,10,10,10,10 -6950,30,20,10,10,10,10 -6960,30,20,10,10,10,10 -6970,30,20,10,10,10,10 -6980,30,20,10,10,10,10 -6990,30,20,10,10,10,10 -7000,30,20,10,10,10,10 -7010,30,20,10,10,10,10 -7020,30,20,10,10,10,10 -7030,30,20,10,10,10,10 -7040,30,20,10,10,10,10 -7050,30,20,10,10,10,10 -7060,30,20,10,10,10,10 -7070,30,20,10,10,10,10 -7080,30,20,10,10,10,10 -7090,30,20,10,10,10,10 -7100,30,20,10,10,10,10 -7110,30,20,10,10,10,10 -7120,30,20,10,10,10,10 -7130,30,20,10,10,10,10 -7140,30,20,10,10,10,10 -7150,30,20,10,10,10,10 -7160,30,20,10,10,10,10 -7170,30,20,10,10,10,10 -7180,30,20,10,10,10,10 -7190,30,20,10,10,10,10 -7200,30,20,10,10,10,10 -7210,30,20,10,10,10,10 -7220,30,20,10,10,10,10 -7230,30,20,10,10,10,10 -7240,30,20,10,10,10,10 -7250,30,20,10,10,10,10 -7260,30,20,10,10,10,10 -7270,30,20,10,10,10,10 -7280,30,20,10,10,10,10 -7290,30,20,10,10,10,10 -7300,30,20,10,10,10,10 -7310,30,20,10,10,10,10 -7320,30,20,10,10,10,10 -7330,30,20,10,10,10,10 -7340,30,20,10,10,10,10 -7350,30,20,10,10,10,10 -7360,30,20,10,10,10,10 -7370,30,20,10,10,10,10 -7380,30,20,10,10,10,10 -7390,30,20,10,10,10,10 -7400,30,20,10,10,10,10 -7410,30,20,10,10,10,10 -7420,30,20,10,10,10,10 -7430,30,20,10,10,10,10 -7440,30,20,10,10,10,10 -7450,30,20,10,10,10,10 -7460,30,20,10,10,10,10 -7470,30,20,10,10,10,10 -7480,30,20,10,10,10,10 -7490,30,20,10,10,10,10 -7500,30,20,10,10,10,10 -7510,30,20,10,10,10,10 -7520,30,20,10,10,10,10 -7530,30,20,10,10,10,10 -7540,30,20,10,10,10,10 -7550,30,20,10,10,10,10 -7560,30,20,10,10,10,10 -7570,30,20,10,10,10,10 -7580,30,20,10,10,10,10 -7590,30,20,10,10,10,10 -7600,30,20,10,10,10,10 -7610,30,20,10,10,10,10 -7620,30,20,10,10,10,10 -7630,30,20,10,10,10,10 -7640,30,20,10,10,10,10 -7650,30,20,10,10,10,10 -7660,30,20,10,10,10,10 -7670,30,20,10,10,10,10 -7680,30,20,10,10,10,10 -7690,30,20,10,10,10,10 -7700,30,20,10,10,10,10 -7710,30,20,10,10,10,10 -7720,30,20,10,10,10,10 -7730,30,20,10,10,10,10 -7740,30,20,10,10,10,10 -7750,30,20,10,10,10,10 -7760,30,20,10,10,10,10 -7770,30,20,10,10,10,10 -7780,30,20,10,10,10,10 -7790,30,20,10,10,10,10 -7800,30,20,10,10,10,10 -7810,30,20,10,10,10,10 -7820,30,20,10,10,10,10 -7830,30,20,10,10,10,10 -7840,30,20,10,10,10,10 -7850,30,20,10,10,10,10 -7860,30,20,10,10,10,10 -7870,30,20,10,10,10,10 -7880,30,20,10,10,10,10 -7890,30,20,10,10,10,10 -7900,30,20,10,10,10,10 -7910,30,20,10,10,10,10 -7920,30,20,10,10,10,10 -7930,30,20,10,10,10,10 -7940,30,20,10,10,10,10 -7950,30,20,10,10,10,10 -7960,30,20,10,10,10,10 -7970,30,20,10,10,10,10 -7980,30,20,10,10,10,10 -7990,30,20,10,10,10,10 -8000,30,20,10,10,10,10 -8010,30,20,10,10,10,10 -8020,30,20,10,10,10,10 -8030,30,20,10,10,10,10 -8040,30,20,10,10,10,10 -8050,30,20,10,10,10,10 -8060,30,20,10,10,10,10 -8070,30,20,10,10,10,10 -8080,30,20,10,10,10,10 -8090,30,20,10,10,10,10 -8100,30,20,10,10,10,10 -8110,30,20,10,10,10,10 -8120,30,20,10,10,10,10 -8130,30,20,10,10,10,10 -8140,30,20,10,10,10,10 -8150,30,20,10,10,10,10 -8160,30,20,10,10,10,10 -8170,30,20,10,10,10,10 -8180,30,20,10,10,10,10 -8190,30,20,10,10,10,10 -8200,30,20,10,10,10,10 -8210,30,20,10,10,10,10 -8220,30,20,10,10,10,10 -8230,30,20,10,10,10,10 -8240,30,20,10,10,10,10 -8250,30,20,10,10,10,10 -8260,30,20,10,10,10,10 -8270,30,20,10,10,10,10 -8280,30,20,10,10,10,10 -8290,30,20,10,10,10,10 -8300,30,20,10,10,10,10 -8310,30,20,10,10,10,10 -8320,30,20,10,10,10,10 -8330,30,20,10,10,10,10 -8340,30,20,10,10,10,10 -8350,30,20,10,10,10,10 -8360,30,20,10,10,10,10 -8370,30,20,10,10,10,10 -8380,30,20,10,10,10,10 -8390,30,20,10,10,10,10 -8400,30,20,10,10,10,10 -8410,30,20,10,10,10,10 -8420,30,20,10,10,10,10 -8430,30,20,10,10,10,10 -8440,30,20,10,10,10,10 -8450,30,20,10,10,10,10 -8460,30,20,10,10,10,10 -8470,30,20,10,10,10,10 -8480,30,20,10,10,10,10 -8490,30,20,10,10,10,10 -8500,30,20,10,10,10,10 -8510,30,20,10,10,10,10 -8520,30,20,10,10,10,10 -8530,30,20,10,10,10,10 -8540,30,20,10,10,10,10 -8550,30,20,10,10,10,10 -8560,30,20,10,10,10,10 -8570,30,20,10,10,10,10 -8580,30,20,10,10,10,10 -8590,30,20,10,10,10,10 -8600,30,20,10,10,10,10 -8610,30,20,10,10,10,10 -8620,30,20,10,10,10,10 -8630,30,20,10,10,10,10 -8640,30,20,10,10,10,10 -8650,30,20,10,10,10,10 -8660,30,20,10,10,10,10 -8670,30,20,10,10,10,10 -8680,30,20,10,10,10,10 -8690,30,20,10,10,10,10 -8700,30,20,10,10,10,10 -8710,30,20,10,10,10,10 -8720,30,20,10,10,10,10 -8730,30,20,10,10,10,10 -8740,30,20,10,10,10,10 -8750,30,20,10,10,10,10 -8760,30,20,10,10,10,10 -8770,30,20,10,10,10,10 -8780,30,20,10,10,10,10 -8790,30,20,10,10,10,10 -8800,30,20,10,10,10,10 -8810,30,20,10,10,10,10 -8820,30,20,10,10,10,10 -8830,30,20,10,10,10,10 -8840,30,20,10,10,10,10 -8850,30,20,10,10,10,10 -8860,30,20,10,10,10,10 -8870,30,20,10,10,10,10 -8880,30,20,10,10,10,10 -8890,30,20,10,10,10,10 -8900,30,20,10,10,10,10 -8910,30,20,10,10,10,10 -8920,30,20,10,10,10,10 -8930,30,20,10,10,10,10 -8940,30,20,10,10,10,10 -8950,30,20,10,10,10,10 -8960,30,20,10,10,10,10 -8970,30,20,10,10,10,10 -8980,30,20,10,10,10,10 -8990,30,20,10,10,10,10 -9000,30,20,10,10,10,10 -9010,30,20,10,10,10,10 -9020,30,20,10,10,10,10 -9030,30,20,10,10,10,10 -9040,30,20,10,10,10,10 -9050,30,20,10,10,10,10 -9060,30,20,10,10,10,10 -9070,30,20,10,10,10,10 -9080,30,20,10,10,10,10 -9090,30,20,10,10,10,10 -9100,30,20,10,10,10,10 -9110,30,20,10,10,10,10 -9120,30,20,10,10,10,10 -9130,30,20,10,10,10,10 -9140,30,20,10,10,10,10 -9150,30,20,10,10,10,10 -9160,30,20,10,10,10,10 -9170,30,20,10,10,10,10 -9180,30,20,10,10,10,10 -9190,30,20,10,10,10,10 -9200,30,20,10,10,10,10 -9210,30,20,10,10,10,10 -9220,30,20,10,10,10,10 -9230,30,20,10,10,10,10 -9240,30,20,10,10,10,10 -9250,30,20,10,10,10,10 -9260,30,20,10,10,10,10 -9270,30,20,10,10,10,10 -9280,30,20,10,10,10,10 -9290,30,20,10,10,10,10 -9300,30,20,10,10,10,10 -9310,30,20,10,10,10,10 -9320,30,20,10,10,10,10 -9330,30,20,10,10,10,10 -9340,30,20,10,10,10,10 -9350,30,20,10,10,10,10 -9360,30,20,10,10,10,10 -9370,30,20,10,10,10,10 -9380,30,20,10,10,10,10 -9390,30,20,10,10,10,10 -9400,30,20,10,10,10,10 -9410,30,20,10,10,10,10 -9420,30,20,10,10,10,10 -9430,30,20,10,10,10,10 -9440,30,20,10,10,10,10 -9450,30,20,10,10,10,10 -9460,30,20,10,10,10,10 -9470,30,20,10,10,10,10 -9480,30,20,10,10,10,10 -9490,30,20,10,10,10,10 -9500,30,20,10,10,10,10 -9510,30,20,10,10,10,10 -9520,30,20,10,10,10,10 -9530,30,20,10,10,10,10 -9540,30,20,10,10,10,10 -9550,30,20,10,10,10,10 -9560,30,20,10,10,10,10 -9570,30,20,10,10,10,10 -9580,30,20,10,10,10,10 -9590,30,20,10,10,10,10 -9600,30,20,10,10,10,10 -9610,30,20,10,10,10,10 -9620,30,20,10,10,10,10 -9630,30,20,10,10,10,10 -9640,30,20,10,10,10,10 -9650,30,20,10,10,10,10 -9660,30,20,10,10,10,10 -9670,30,20,10,10,10,10 -9680,30,20,10,10,10,10 -9690,30,20,10,10,10,10 -9700,30,20,10,10,10,10 -9710,30,20,10,10,10,10 -9720,30,20,10,10,10,10 -9730,30,20,10,10,10,10 -9740,30,20,10,10,10,10 -9750,30,20,10,10,10,10 -9760,30,20,10,10,10,10 -9770,30,20,10,10,10,10 -9780,30,20,10,10,10,10 -9790,30,20,10,10,10,10 -9800,30,20,10,10,10,10 -9810,30,20,10,10,10,10 -9820,30,20,10,10,10,10 -9830,30,20,10,10,10,10 -9840,30,20,10,10,10,10 -9850,30,20,10,10,10,10 -9860,30,20,10,10,10,10 -9870,30,20,10,10,10,10 -9880,30,20,10,10,10,10 -9890,30,20,10,10,10,10 -9900,30,20,10,10,10,10 -9910,30,20,10,10,10,10 -9920,30,20,10,10,10,10 -9930,30,20,10,10,10,10 -9940,30,20,10,10,10,10 -9950,30,20,10,10,10,10 -9960,30,20,10,10,10,10 -9970,30,20,10,10,10,10 -9980,30,20,10,10,10,10 -9990,30,20,10,10,10,10 -10000,30,20,10,10,10,10 -10010,30,20,10,10,10,10 -10020,30,20,10,10,10,10 -10030,30,20,10,10,10,10 -10040,30,20,10,10,10,10 -10050,30,20,10,10,10,10 -10060,30,20,10,10,10,10 -10070,30,20,10,10,10,10 -10080,30,20,10,10,10,10 -10090,30,20,10,10,10,10 -10100,30,20,10,10,10,10 diff --git a/EC-GN-JA-PCF/.svn/pristine/e7/e7efc3f123087046e7714587975f66f8ccdee824.svn-base b/EC-GN-JA-PCF/.svn/pristine/e7/e7efc3f123087046e7714587975f66f8ccdee824.svn-base deleted file mode 100644 index a94ca00..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/e7/e7efc3f123087046e7714587975f66f8ccdee824.svn-base +++ /dev/null @@ -1,31 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); - - -var table = widget.getTable(); -var nbColPVs=3; -//find index of the trigger PV -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -table.setCellText(i/nbColPVs, i%nbColPVs +3, PVUtil.getString(triggerPV)); - -var s = PVUtil.getSeverity(triggerPV); - -var color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} - -table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color); diff --git a/EC-GN-JA-PCF/.svn/pristine/e8/e847560c1a6b1ed165c05336e3858d334fda3159.svn-base b/EC-GN-JA-PCF/.svn/pristine/e8/e847560c1a6b1ed165c05336e3858d334fda3159.svn-base deleted file mode 100644 index cf9e32c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/e8/e847560c1a6b1ed165c05336e3858d334fda3159.svn-base +++ /dev/null @@ -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=JASDNRTStateMachineGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/eb/eb3994f73a03ca0789a3e237791edbe21cf0b88b.svn-base b/EC-GN-JA-PCF/.svn/pristine/eb/eb3994f73a03ca0789a3e237791edbe21cf0b88b.svn-base deleted file mode 100644 index bf77d44..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/eb/eb3994f73a03ca0789a3e237791edbe21cf0b88b.svn-base +++ /dev/null @@ -1,26 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuName="" - phyName="" - for row in selection: - phyName=row[1] - cuName=row[0] - - # change $(CU) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("SHOW_PLC_IOC", "false") - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CtrlUnitDetails.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) diff --git a/EC-GN-JA-PCF/.svn/pristine/ec/ecda2f44745800d870621b3ec0ffe0386f1e68b4.svn-base b/EC-GN-JA-PCF/.svn/pristine/ec/ecda2f44745800d870621b3ec0ffe0386f1e68b4.svn-base deleted file mode 100644 index ea459e6..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ec/ecda2f44745800d870621b3ec0ffe0386f1e68b4.svn-base +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef SDD_PON_IF_H -#define SDD_PON_IF_H - -#include /* Channel Access API definition, etc. */ - - -#define SDD_PVMAXLENGTH 40 -#define SDD_STRING_MAX_LENGTH 100 -#define SDD_NB_OF_PONVAR 0 //generated by SDD - -struct SDD_PONVar { - - char name[SDD_PVMAXLENGTH]; - - //if read-> monitor=yes otherwise false - bool isMonitored; - - chtype type; - - //the code can cast - char initialvalue[SDD_STRING_MAX_LENGTH]; - -}; - -//list of symbols -typedef enum SDD_PONVarEnum { - - -} SDD_PONVarEnum; - -//for each enum (bi/bo/mbbi/mbbo) name is symbolname suffix with _enum - - - - -#endif /* SDD_PON_IF_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/ed/edc485fc5433b23466f2df6c00ad647033edd493.svn-base b/EC-GN-JA-PCF/.svn/pristine/ed/edc485fc5433b23466f2df6c00ad647033edd493.svn-base deleted file mode 100644 index 761e26b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ed/edc485fc5433b23466f2df6c00ad647033edd493.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/ee/eea4071b77c1ca53dd89b518e97a3aa71c59439d.svn-base b/EC-GN-JA-PCF/.svn/pristine/ee/eea4071b77c1ca53dd89b518e97a3aa71c59439d.svn-base deleted file mode 100644 index e9ce666..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ee/eea4071b77c1ca53dd89b518e97a3aa71c59439d.svn-base +++ /dev/null @@ -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=JARampupGAM.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)/JARampupGAM$(LIBEXT) \ - $(BUILD_DIR)/JARampupGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/f0/f029c3c55fa13e62ee5ccdb0120bc2716d80b108.svn-base b/EC-GN-JA-PCF/.svn/pristine/f0/f029c3c55fa13e62ee5ccdb0120bc2716d80b108.svn-base deleted file mode 100644 index 46ae827..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f0/f029c3c55fa13e62ee5ccdb0120bc2716d80b108.svn-base +++ /dev/null @@ -1,639 +0,0 @@ -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp-sdn/main/c++/prog/prog.cpp.template $ - * $Id: prog.cpp.template 83098 2018-01-08 13:23:38Z cesnikt $ - * - * Project : CODAC Core System - * - * Description : GyrotronDAN program - * - * Author : codac-dev - * - * Copyright (c) : 2010-2018 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* header files */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#define float32_t float32_t1 -#include -#undef float32_t - -#include -#include -#include -#include -#include -#include - -#include - -// global variables -static bool __terminate = false; -char pxie6368_0_ai_fd[] = "/dev/pxie-6368.0.ai"; // ai segment -char pxie6368_0_device[] = "/dev/pxie-6368.0"; // device descriptor - -typedef struct { - int daq_smpl_rate; - int daq_mode; - double daq_smpl_st_dly; - double daq_len; - double daq_pub_dly; -} daq_parameters; - -void signal_handler(int signal) { - log_info("Received signal '%d' to terminate", signal); - __terminate = true; -}; - -// DAN parameter reload function ------------------------------------------------ -int reload_daq_conf(int *aifd, int *ai_chan_fd, daq_parameters *daq_p) { - std::cout << "reload_daq_conf was called \n"; - - // Common variables - int retval; - unsigned long number_of_samples; - int chan_num = 10; // Channel number to add. - uint32_t sample_period_divisor; - uint32_t base_clock = 100000000; // TB3:100MHz, TB2:100 kHz - uint32_t pre_samples = 1000; - uint32_t post_samples = 1000; - char str[40]; - xseries_ai_conf_t conf; // ai segment configuraton data - - // calculate sampling period divisor - if (daq_p->daq_smpl_rate != 0) { - sample_period_divisor = base_clock / daq_p->daq_smpl_rate; - } else { - return 0; - } - - // Stop ai segment---------------------------------------------------------------------- - retval = xseries_stop_ai(*aifd); - if (retval) { - log_error("ai segment stop failed.\n"); - } else { - log_info("ai segment stopped.\n"); - } - - // reset ai segment--------------------------------------------------------------------- - retval = xseries_reset_ai(*aifd); - if (retval) { - log_error("ai segment reset failed.\n"); - return -1; - } - - // Configure AI segment mode ------------------------------------------------------------ - switch (daq_p->daq_mode) { - case 0: - conf = xseries_software_timed_ai(); - log_info("software_timed mode.\n"); - break; - case 1: - conf = xseries_finite_ai(number_of_samples); - log_info("finite mode.\n"); - break; - case 2: - conf = xseries_retriggerable_finite_ai(number_of_samples); - log_info("retriggerable_finite mode.\n"); - break; - case 3: - conf = xseries_continuous_ai(); - log_info("continuous mode.\n"); - break; - case 4: - conf = xseries_reference_ai(pre_samples, post_samples); - log_info("reference mode.\n"); - break; - } - - // disable external gate - retval = xseries_set_ai_external_gate(&conf, - XSERIES_AI_EXTERNAL_GATE_DISABLED, // No external pause signal - XSERIES_AI_POLARITY_ACTIVE_LOW_OR_FALLING_EDGE); // Don't care - if (retval) { - log_error("Cannot set gate trigger.\n"); - return -1; - } - - // select start trigger (START1 signal) - retval = xseries_set_ai_start_trigger(&conf, - XSERIES_AI_START_TRIGGER_SW_PULSE, // Set the line to software-driven - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, // Make line active on rising... - 1); // ... edge (not high level) - if (retval) { - log_error("Cannot set start trigger.\n"); - return -1; - } - - // set sampling clock source---------------------------------------------------------------------------------------- - retval = xseries_set_ai_sample_clock(&conf, - XSERIES_AI_SAMPLE_CONVERT_CLOCK_INTERNALTIMING, - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, 1); - if (retval) { - log_error("Cannot configure sampling clock.\n"); - return -1; - } - - // set scan interval ------------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_scan_interval_counter(&conf, - XSERIES_SCAN_INTERVAL_COUNTER_TB3, // TB3 : 100MHz base clock, TB2 : 100kHz base clock - XSERIES_SCAN_INTERVAL_COUNTER_POLARITY_RISING_EDGE, - sample_period_divisor, 2); // Wait 2*100MHz sec after sampling trig. - if (retval) { - log_error("Cannot configure scan counter.\n"); - return -1; - } - - // Set DMA buffer size----------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_attribute(&conf, XSERIES_AI_DMA_BUFFER_SIZE, 1000); - if (retval) { - log_error("DMA configuration was failed.\n"); - return -1; - } - - // Add AI channels --------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - retval = xseries_add_ai_channel(&conf, i, XSERIES_INPUT_RANGE_10V, - XSERIES_AI_CHANNEL_TYPE_DIFFERENTIAL, 0); - if (retval) { - log_error("Add AI channel %d was failed.\n", i); - return -1; - } - } - sleep(3); - - // Load configuration.----------------------------------------------------------------------------------------------------------------------- - retval = xseries_load_ai_conf(*aifd, conf); - if (retval) { - log_error("xseries_load_ai_conf was failed. error code: %d \n", retval); - exit (EXIT_FAILURE); - } - sleep(3); - - // Open channels-------------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - sprintf(str, "%s.ai.%u", pxie6368_0_device, i); - //ai_chan_fd[i] = open(str, O_RDWR | O_NONBLOCK); - ai_chan_fd[i] = open(str, O_RDWR); - if (ai_chan_fd[i] < 0) { - log_error("Cannot open ai channel %d .\n",i); - sleep(1); - exit (EXIT_FAILURE); - } - } - - // start ai segment task----------------------------------------------------------------------------------------------------------------------- - retval = xseries_start_ai(*aifd); - if (retval) { - log_error("ERROR, starting AI segment failed: %s\n", strerror(retval)); - exit (EXIT_FAILURE); - } - - log_info("PXIe-6368 configuration was finished.\n"); - return 0; -}; - - - -int main(int argc, char **argv) { - using namespace std; - unsigned long n_sample_quotient = 0; - - log_initialize(NULL); - - while (!__terminate) { - // Install signal handler to support graceful termination - sigset(SIGTERM, signal_handler); - sigset(SIGINT, signal_handler); - sigset(SIGHUP, signal_handler); - - // ---------------------------------------------------------------------------------------------------------------- - // Running parameter declaration - // ---------------------------------------------------------------------------------------------------------------- - // pxie6368 hardware parameters - int pxie6368_0_device_number = 0; // device discriptor number - int aifd = 0; // ai segment file discriptor - xseries_ai_conf_t conf; // ai segment config - xseries_ai_attribute_t aiatrb; // ai segment attributes - char str[40]; // fd tmp var - int ai_chan_fd[16]; // ai channels file discriptor - int pxie6368_sampling_rate = 1000; // sampling rate Hz - uint32_t sample_period_divisor = 100000000 / pxie6368_sampling_rate; // TB3 100MHz, TB2:100kHz, TB1:20MHz - int sampleSize = 2; // Sample size in bytes <---> uInt16 - int n_channels; // Number of opened channels - struct xseries_dma *dma; // Ptr to dma struct - int chan_num = 10; // Channel number to add. - - // DAN parameters - char dan_source_name[] = "GYADanSource"; // DAN data source (ds) name - long offset_ai = 0; // offset size in published data - int dma_mode = 1; // 0:All, 1:AI only, 2:AO only - dan_DataCore dc = NULL; // Datacore reference declaration - dan_Source ds = NULL; // DAN source declaration - long samplesCounter = 0; // Total acquired sample size - size_t n_samples; // prepared sample size to publish - - // TCN parameters - uint64_t tBase_old = 0; - uint64_t tBase = 0; // TCN publishing base time - uint64_t nanos; // time length for sampling - hpn_timestamp_t delay = 1e7; // wait for publishing (10ms) - char buf[ISO_8601_LEN]; - uint64_t tBase0 = 0; - - // Operation tmp parameter - int result; // For result values. - int exValue; - bool toterminate = false; - int retval; - bool daq_start = false; - int testcounter = 10000; - - // Connected EPCIS PV - - // DAQ config PVs - chid daq_smpl_rate_id; - chtype daq_smpl_rate_type; - int daq_smpl_rate; - chid daq_smpl_rate_rb_id; - chtype daq_smpl_rate_rb_type; - int daq_smpl_rate_rb; - chid daq_mode_id; - chtype daq_mode_type; - int daq_mode; - chid daq_mode_rb_id; - chtype daq_mode_rb_type; - int daq_mode_rb; - chid daq_sw_trig_id; - chtype daq_sw_trig_type; - int daq_sw_trig; - chid daq_smpl_st_dly_id; - chtype daq_smpl_st_dly_type; - double daq_smpl_st_dly; - chid daq_smpl_st_dly_rb_id; - chtype daq_smpl_st_dly_rb_type; - double daq_smpl_st_dly_rb; - chid daq_len_id; - chtype daq_len_type; - double daq_len; - chid daq_len_rb_id; - chtype daq_len_rb_type; - double daq_len_rb; - chid daq_reconf_id; - chtype daq_reconf_type; - int daq_reconf; - chid daq_pub_dly_id; - chtype daq_pub_dly_type; - double daq_pub_dly; - chid daq_pub_dly_rb_id; - chtype daq_pub_dly_rb_type; - double daq_pub_dly_rb; - - chid daq_stat_id; - chtype daq_stat_type; - int daq_stat; - chid daq_conf_stat_id; - chtype daq_conf_stat_type; - int daq_conf_stat; - - daq_parameters daq_p = { 0 }; // = {daq_smpl_rate, daq_smpl_rate_rb, daq_mode, daq_mode_rb}; - - // ---------------------------------------------------------------------------------------------------------------------------------------------- - // EPICS PV connection - // ---------------------------------------------------------------------------------------------------------------------------------------------- - //Initialize ChannelAccess interface - CAInterface_Initialize(); - - // Connect to EPICS PVs - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE", daq_smpl_rate_id); - daq_smpl_rate_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB", daq_smpl_rate_rb_id); - daq_smpl_rate_rb_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE", daq_mode_id); - daq_mode_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE-RB", daq_mode_rb_id); - daq_mode_rb_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SW-TRIG", daq_sw_trig_id); - daq_sw_trig_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY", daq_smpl_st_dly_id); - daq_smpl_st_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY-RB", daq_smpl_st_dly_rb_id); - daq_smpl_st_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN", daq_len_id); - daq_len_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN-RB", daq_len_rb_id); - daq_len_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-RECONF", daq_reconf_id); - daq_reconf_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY", daq_pub_dly_id); - daq_pub_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB", daq_pub_dly_rb_id); - daq_pub_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-STAT", daq_stat_id); - daq_stat_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-CONF-STAT", daq_conf_stat_id); - daq_conf_stat_type = DBR_ENUM; - - tcn_sleep(3e9);// Wait for a while. - - // ---------------------------------------------------------------------------------------------------------------- - // Initialize tcn library - // ---------------------------------------------------------------------------------------------------------------- - int tcn_err; - tcn_err = tcn_init(); - if (tcn_err != TCN_SUCCESS) { - log_error("TCN Initialization failed.\n"); - exValue = 1; - goto END; - } - - // ---------------------------------------------------------------------------------------------------------------- - // pxie-6368 settings - // ---------------------------------------------------------------------------------------------------------------- - // Open ai segment---------------------------------------------------------------------- - aifd = open(pxie6368_0_ai_fd, O_RDWR); - if (aifd <= 0) { - log_error("Open PXIe6368 AI fd failed.\n"); - exValue = -1; - goto END; - } - - // wait ai segment setup start - do { - CAInterface_ReadVariable(daq_reconf_id, daq_reconf_type, (void*) &daq_reconf); - } while (!daq_reconf and !__terminate); - - // read parameter - result = CAInterface_ReadVariable(daq_smpl_rate_id, daq_smpl_rate_type, (void *) &daq_p.daq_smpl_rate); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_mode_id, daq_mode_type, (void *) &daq_p.daq_mode); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_smpl_st_dly_id, daq_smpl_st_dly_type, (void *) &daq_p.daq_smpl_st_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_len_id, daq_len_type, (void *) &daq_p.daq_len); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_pub_dly_id, daq_pub_dly_type, (void *) &daq_p.daq_pub_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - - std::cout << "SAMPLE RATE:" << daq_p.daq_smpl_rate << endl; - std::cout << "MODE :" << daq_p.daq_mode << endl; - std::cout << "START DELAY:" <ai.count * sampleSize, 4096); - - //dan_DataCore, ds_name, devName, enum_daq_type refType, long refSize, long refOffset - if (ds == NULL) { - log_error("Error while publishing DAN source %s ", dan_source_name); - exValue = 1; - goto END; - } - - n_channels = dan_publisher_getNumberOfChannels(ds); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- DAN Streamer. - // ------------------------------------------------------------------------------------------------------------------ - // ----- Open a new stream --------------------------------------------------------------------- - dan_publisher_openStream(ds, daq_p.daq_smpl_rate, 0); - sleep(1); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Main DAN Loop. - // ------------------------------------------------------------------------------------------------------------------ - while (!__terminate) { - // Wait for the master trigger.---------------------------------------------------------------------------- - daq_stat = 1; //0:Not Ready, 1: Waiting trigger, 2:Acquiring 3:Error - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - daq_conf_stat = 1; //0:Not ready, 1: Ready - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - - // Wait DAQ Start Software Trigger. - do { - // check daq_sw_trigger to start DAQ sequence. - CAInterface_ReadVariable(daq_sw_trig_id, daq_sw_trig_type, (void*) &daq_sw_trig); - tcn_sleep(1e7); // wait 0.01 s - if (daq_sw_trig) { - daq_start = true; - } - } while (daq_start != true and !__terminate); - - daq_start = false; //reset daq_start flag. - delay = (long) (1e6 * daq_p.daq_pub_dly); //check publish period. - - // Wait a time to start DAQ. ---------------------------------------------------------------------------------------------------------------------- - tcn_sleep(daq_p.daq_smpl_st_dly * 1e6); // in ms - - // After the wating, trigger DAQ ------------------------------------------------------------------------------------------------------------------ - retval = xseries_pulse_ai(aifd, XSERIES_START_TRIGGER); - daq_stat = 2; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - if (retval) { - std::cout << "Cannot generate start trigger!\n"; - goto END; - } else { - tcn_get_time(&tBase); // get DAQ start time. - tBase0 = tBase; // save DAQ start time to tBase0; - tBase_old = tBase; - } - - // DAQ Publish Loop. ---------------------------------------------------------------------------------------------------------------------------- - // DAN data publish is executed every delay time interval. - while (!__terminate && (tcn_wait_until_hr((tBase + delay), &tBase, 0) == TCN_SUCCESS)) { - // Get the number of available samples in PXIe6368 buffer. - n_samples = xsereis_ai_dma_samples_in_buffer(dma); // samples - - if (n_samples > dma->ai.count) { - //log_error("DMA Buffer overflow: Number of new samples in buffer = %ld, AI buffer size = %ld,\n", n_samples, dma->ai.count); - } else if (n_samples > 0) { - //log_info("Current Time:\n%s\n", tcn_strftime(tBase, buf, ISO_8601_LEN)); - if (tBase == 0) { - // "tBase was reset.------------------------------------------------------\n"; - tcn_get_time(&tBase); - tBase -= n_samples * 100000000 / pxie6368_sampling_rate; - nanos = 0; - } else { - // update time offset value. - nanos = n_samples * 100000000 / daq_p.daq_smpl_rate; - } - n_sample_quotient = floor(n_samples / chan_num); - n_samples = n_sample_quotient * chan_num; - - // Publish a new data block -------------------------------------------------------------------------------------------------------------------------- - result = dan_publisher_putBlockReference(ds, - tBase_old + nanos, // timestamp in epoch nanoseconds - n_samples * sampleSize, // datablock size in bytes - offset_ai * sampleSize, // Offset in DAQ buffer - NULL); // No datablock header.... - // Detected overflow in pass datablock reference queue - if (result == -1) { - log_info("%s, Queue overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } else if (result == -2) { - log_info("%s, DAQ buffer overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } - } - - samplesCounter += n_samples; // Increment total of published sampes - offset_ai = (offset_ai + n_samples) % dma->ai.count; // Update offset of memory - dma->ai.last_transfer_count = samplesCounter; // Update dma last_transfer_count - - // Check exit condition. - if ((daq_p.daq_len * 1e6 <= (tBase - tBase0))) { - retval = xseries_stop_ai(aifd); - if (retval) { - std::cout << "Stop AI segment failed.\n"; - exit (EXIT_FAILURE); - } - - //restart ai segment. - tcn_sleep(1e9); // wait - retval = xseries_start_ai(aifd); - if (retval) { - std::cout << "Start AI segment failed.\n"; - exit (EXIT_FAILURE); - } - //debug - tcn_sleep(1e8); - n_samples = xsereis_ai_dma_samples_in_buffer(dma); - cout << "n_samples check : " << n_samples << endl; - break; - } - tBase_old = tBase; - } // End of DAQ publish loop. - break; - } // End of DAN main loop. - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Closing program. - // ------------------------------------------------------------------------------------------------------------------ - log_info("DAN end of acquisition, closing all resources"); - - //Closing stream - dan_publisher_closeStream(ds); - exValue = 0; - - // Close all channels - for (int channel = 0; channel < chan_num; channel++) { - close(ai_chan_fd[channel]); - } - goto END; - - END: daq_conf_stat = 0; - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - daq_stat = 0; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - // Destroy CA context - CAInterface_Finalize(); - // Close pxie6368 - if (dma != NULL) { - xseries_dma_close(dma); - cout << "pxie-6368 dma was clesed.\n"; - } - - close(aifd); - - // Unpublishing source from DAN API - if (ds != NULL) { - dan_publisher_unpublishSource(dc, ds); - } - - // Closing DAN API library - if (dc != NULL) { - dan_closeLibrary(dc); - } - - // Closing TCN library - result = tcn_finalize(); - if (result != TCN_SUCCESS) { - //log_error("Error finalizing TCN lib.\n"); - } - - } // loop end from initialization - return (0); - -} diff --git a/EC-GN-JA-PCF/.svn/pristine/f0/f0377310880622e2eca172bb88b190f207f88547.svn-base b/EC-GN-JA-PCF/.svn/pristine/f0/f0377310880622e2eca172bb88b190f207f88547.svn-base deleted file mode 100644 index 608ea6c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f0/f0377310880622e2eca172bb88b190f207f88547.svn-base +++ /dev/null @@ -1,56 +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=JAWFRecordGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAWFRecordGAM$(LIBEXT) \ - $(BUILD_DIR)/JAWFRecordGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/f0/f03902d7f7bafd1fdafea86ccf9bef15bbd9c555.svn-base b/EC-GN-JA-PCF/.svn/pristine/f0/f03902d7f7bafd1fdafea86ccf9bef15bbd9c555.svn-base deleted file mode 100644 index 609ad23..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f0/f03902d7f7bafd1fdafea86ccf9bef15bbd9c555.svn-base +++ /dev/null @@ -1,56 +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=JARTStateMachineGAM.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)/JARTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/f0/f0efe0862364f2316a46e63f3634e9b3a9db69f9.svn-base b/EC-GN-JA-PCF/.svn/pristine/f0/f0efe0862364f2316a46e63f3634e9b3a9db69f9.svn-base deleted file mode 100644 index ef13828..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f0/f0efe0862364f2316a46e63f3634e9b3a9db69f9.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=À)ú, IDX=0, IOCTYPE=CUB, PP=, PPPP=, NNNN=, TTT=") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/f2/f20905aaddc1b55f5073a97b1b2cb437f045ca4d.svn-base b/EC-GN-JA-PCF/.svn/pristine/f2/f20905aaddc1b55f5073a97b1b2cb437f045ca4d.svn-base deleted file mode 100644 index 475274d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f2/f20905aaddc1b55f5073a97b1b2cb437f045ca4d.svn-base +++ /dev/null @@ -1,42 +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 $ -# -############################################################# -SPB = RandomDataSource.x NI6528.x JAEPICSCA.x - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=../../obj -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif - diff --git a/EC-GN-JA-PCF/.svn/pristine/f2/f27171deb4191a528c6ebb16845fb8b759eefd29.svn-base b/EC-GN-JA-PCF/.svn/pristine/f2/f27171deb4191a528c6ebb16845fb8b759eefd29.svn-base deleted file mode 100644 index a3e2747..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f2/f27171deb4191a528c6ebb16845fb8b759eefd29.svn-base +++ /dev/null @@ -1,415 +0,0 @@ - - - - Display - - true - EC - GN - SYSM - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - false - - - - false - -1 - -1 - - - - - true - Grouping Container - - true - - true - 0 - - true - - 2 - groupHeading - - - - true - - false - false - false - - false - - 0 - - - - - - - 0 - - 1243 - 50 - - - - - - true - 1 - true - - 13 - CubicleDetailsLabel - - false - false - false - - true - false - - - - - - - Label - false - Cubicle Details: - - IO Normal - - 40 - 0 - - 2 - - - - 0 - - 55 - true - - 6 - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-CUB_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 200 - 45 - - - - - true - 1 - true - - 13 - CubicleDetailsLabel - - false - false - false - - true - false - - - - - - - Label - false - $(CUB_LOC) - - IO Normal - - 40 - 0 - - 2 - - - - 0 - - 55 - true - - 600 - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - (ºC) - - - - - - - - - - - - 1 - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-CY1 - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-CY2 - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-FAN - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-TT - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-SHLT - - - 1000 - CubicleDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1000 - 0 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 100 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 125 - - 6 - - - - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 0 - - true - - 26 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 4 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 4 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/f3/f32c802bbf846018a091da9bca15df6cc9c92ed9.svn-base b/EC-GN-JA-PCF/.svn/pristine/f3/f32c802bbf846018a091da9bca15df6cc9c92ed9.svn-base deleted file mode 100644 index c812fc7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f3/f32c802bbf846018a091da9bca15df6cc9c92ed9.svn-base +++ /dev/null @@ -1,310 +0,0 @@ -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB") -{ - field(DESC, "GY1 CCPS Output ON status") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getOut CCPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP") -{ - field(DESC, "GY1 CCPS Output ON") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setOut CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB") -{ - field(DESC, "GY1 CCPS remote readback") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getRem CCPS1") - field(ONAM, "REM") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP") -{ - field(DESC, "GY1 CCPS remote control on") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PWX1500ML.proto setRem CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-RST") -{ - field(DESC, "GY1 CCPS reset device") - field(DTYP, "stream") - field(OUT, "@PWX1500ML.proto resetDevice CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB") -{ - field(DESC, "GY1 CCPS signal source on") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getSourceON CCPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP") -{ - field(DESC, "GY1 CCPS signal source on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setSourceON CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-STAT") -{ - field(DESC, "CCPS1 is running") - field(ONAM, "ON") - field(SCAN, "Passive") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-TR") -{ - field(DESC, "GY1 CCPS in Operation") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 CCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:STAT-SIMM") -{ - field(DESC, "GY1 CCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB") -{ - field(DESC, "GY1 CCPS Output current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "60.0") - field(INP, "@PWX1500ML.proto getCurr CCPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP") -{ - field(DESC, "GY1 CCPS Output current setpoint") - field(DRVH, "58.8") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setCurr CCPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB") -{ - field(DESC, "GY1 CCPS DCV range readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PWX1500ML.proto getVolt CCPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP") -{ - field(DESC, "GY1 CCPS Output DCV setpoint") - field(DRVH, "84") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "84") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setVolt CCPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-EREF") -{ - field(DESC, "GY1 CCPS voltage setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP") -{ - field(DESC, "GY1 CCPS voltage manual setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GAF-CCPS:PSU2320-ERROR") -{ - field(DESC, "GY1 CCPS Error message") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getError CCPS1") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (stringin,"EC-GN-P01-GAF-CCPS:PSU2320-IDN") -{ - field(DESC, "GY1 CCPS IDN") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto readDeviceID CCPS1") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI") -{ - field(DESC, "GY1 CCPS Measued DC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(INP, "@PWX1500ML.proto getMeasDCI CCPS1") - field(LOPR, "-58.8") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV") -{ - field(DESC, "GY1 CCPS Measued DC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "200") - field(INP, "@PWX1500ML.proto getMeasDCV CCPS1") - field(LOPR, "-200") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-AMP") -{ - field(DESC, "Amplitude") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "3.5") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-FREQ") -{ - field(DESC, "Frequency") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-OFFS") -{ - field(DESC, "Offset") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GAF-CCPS:STAT-OP-CALC") -{ - field(CALC, "(A==1 || B==1 || C==1)?1:0; C:=B; B:=A") - field(DESC, "GYA CCPS operation check") - field(FLNK, "EC-GN-P01-GAF-CCPS:PSU2320-TR") - field(INPA, "EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF") - field(INPB, "0") - field(INPC, "0") - field(OUT, "EC-GN-P01-GAF-CCPS:PSU2320-TR") - field(SCAN, "Passive") -} - -record (calc,"EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF") -{ - field(CALC, "(A==1 andand ABS(B-C)>0.1)?1:0; C:=B") - field(DESC, "GYA CCPS operation check") - field(FLNK, "EC-GN-P01-GAF-CCPS:STAT-OP-CALC") - field(INPA, "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB") - field(INPB, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV PP") - field(SCAN, ".1 second") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/f3/f3c1364581e86c750d0983d3fdceeb2e6031861a.svn-base b/EC-GN-JA-PCF/.svn/pristine/f3/f3c1364581e86c750d0983d3fdceeb2e6031861a.svn-base deleted file mode 100644 index dc0b827..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f3/f3c1364581e86c750d0983d3fdceeb2e6031861a.svn-base +++ /dev/null @@ -1,36 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/topicvars.h.vm $ -// $Id: topicvars.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron01DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef TOPICVARS_H -#define TOPICVARS_H - -#include "includetopics.h" - -/* Declare variables for the topics on which application is publishing. */ -//+P===================================================================== -//-P===================================================================== - -/* Declare variables for the topics to which application is subscribing. */ -//+S===================================================================== -//-S===================================================================== - -#endif diff --git a/EC-GN-JA-PCF/.svn/pristine/f5/f509fcf27142ed712c031f1726608af3779a9d71.svn-base b/EC-GN-JA-PCF/.svn/pristine/f5/f509fcf27142ed712c031f1726608af3779a9d71.svn-base deleted file mode 100644 index 4e9e67d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f5/f509fcf27142ed712c031f1726608af3779a9d71.svn-base +++ /dev/null @@ -1,25 +0,0 @@ -/* CUBMain.cpp */ -/* Author: Marty Kraimer Date: 17MAR2000 */ - -#include -#include -#include -#include -#include -#include - -#include "epicsExit.h" -#include "epicsThread.h" -#include "iocsh.h" - -int main(int argc,char *argv[]) -{ - sigset(SIGTERM, epicsExit); - if(argc>=2) { - iocsh(argv[1]); - epicsThreadSleep(.2); - } - iocsh(NULL); - epicsExit(0); - return(0); -} diff --git a/EC-GN-JA-PCF/.svn/pristine/f5/f54562cad53678797b8e28923d1b18b1d2816add.svn-base b/EC-GN-JA-PCF/.svn/pristine/f5/f54562cad53678797b8e28923d1b18b1d2816add.svn-base deleted file mode 100644 index cf99a15..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f5/f54562cad53678797b8e28923d1b18b1d2816add.svn-base +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -import test_async -import test_sync -import test_ready_hw -import test_setup_hw -import test_standby_hw -import test_ready -import test_setup -import test_standby -import test_setup_rup_confirm - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -print '---------- Pre setup for the test ----------' -test_setup_rup_confirm.test_setup() -#test_setup.test_setup() -#test_setup_hw.test_setup() - - diff --git a/EC-GN-JA-PCF/.svn/pristine/f5/f55388950989e12fd6e95f5628233cafc0b783b0.svn-base b/EC-GN-JA-PCF/.svn/pristine/f5/f55388950989e12fd6e95f5628233cafc0b783b0.svn-base deleted file mode 100644 index e981b6d..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f5/f55388950989e12fd6e95f5628233cafc0b783b0.svn-base +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,0,1,1,100,1,5 -10,0,1,1,100,1,5 -20,0,1,1,100,1,5 -30,0,1,1,100,1,5 -40,0,1,1,100,1,5 -50,0,1,1,100,1,5 -60,0,1,1,100,1,5 -70,0,1,1,100,1,5 -80,0,1,1,100,1,5 -90,0,1,1,100,1,5 -100,0,1,1,100,1,5 -110,0,1,1,100,1,5 -120,0,1,1,100,1,5 -130,0,1,1,100,1,5 -140,0,1,1,100,1,5 -150,0,1,1,100,1,5 -160,0,1,1,100,1,5 -170,0,1,1,100,1,5 -180,0,1,1,100,1,5 -190,0,1,1,100,1,5 -200,0,1,1,100,1,5 -210,0,1,1,100,1,5 -220,0,1,1,100,1,5 -230,0,1,1,100,1,5 -240,0,1,1,100,1,5 -250,0,1,1,100,1,5 -260,0,1,1,100,1,5 -270,0,1,1,100,1,5 -280,0,1,1,100,1,5 -290,0,1,1,100,1,5 -300,0,1,1,100,1,5 -310,0,1,1,100,1,5 -320,0,1,1,100,1,5 -330,0,1,1,100,1,5 -340,0,1,1,100,1,5 -350,0,1,1,100,1,5 -360,0,1,1,100,1,5 -370,0,1,1,100,1,5 -380,0,1,1,100,1,5 -390,0,1,1,100,1,5 -400,0,1,1,100,1,5 -410,0,1,1,100,1,5 -420,0,1,1,100,1,5 -430,0,1,1,100,1,5 -440,0,1,1,100,1,5 -450,0,1,1,100,1,5 -460,0,1,1,100,1,5 -470,0,1,1,100,1,5 -480,0,1,1,100,1,5 -490,0,1,1,100,1,5 -500,0,1,1,100,1,5 -510,0,1,1,100,1,5 -520,0,1,1,100,1,5 -530,0,1,1,100,1,5 -540,0,1,1,100,1,5 -550,0,1,1,100,1,5 -560,0,1,1,100,1,5 -570,0,1,1,100,1,5 -580,0,1,1,100,1,5 -590,0,1,1,100,1,5 -600,0,1,1,100,1,5 -610,0,1,1,100,1,5 -620,0,1,1,100,1,5 -630,0,1,1,100,1,5 -640,0,1,1,100,1,5 -650,0,1,1,100,1,5 -660,0,1,1,100,1,5 -670,0,1,1,100,1,5 -680,0,1,1,100,1,5 -690,0,1,1,100,1,5 -700,0,1,1,100,1,5 -710,0,1,1,100,1,5 -720,0,1,1,100,1,5 -730,0,1,1,100,1,5 -740,0,1,1,100,1,5 -750,0,1,1,100,1,5 -760,0,1,1,100,1,5 -770,0,1,1,100,1,5 -780,0,1,1,100,1,5 -790,0,1,1,100,1,5 -800,0,1,1,100,1,5 -810,0,1,1,100,1,5 -820,0,1,1,100,1,5 -830,0,1,1,100,1,5 -840,0,1,1,100,1,5 -850,0,1,1,100,1,5 -860,0,1,1,100,1,5 -870,0,1,1,100,1,5 -880,0,1,1,100,1,5 -890,0,1,1,100,1,5 -900,0,1,1,100,1,5 -910,0,1,1,100,1,5 -920,0,1,1,100,1,5 -930,0,1,1,100,1,5 -940,0,1,1,100,1,5 -950,0,1,1,100,1,5 -960,0,1,1,100,1,5 -970,0,1,1,100,1,5 -980,0,1,1,100,1,5 -990,0,1,1,100,1,5 -1000,0,1,1,100,1,5 -1010,0,1,1,100,1,5 -1020,0,1,1,100,1,5 -1030,0,1,1,100,1,5 -1040,0,1,1,100,1,5 -1050,0,1,1,100,1,5 -1060,0,1,1,100,1,5 -1070,0,1,1,100,1,5 -1080,0,1,1,100,1,5 -1090,0,1,1,100,1,5 -1100,0,1,1,100,1,5 -1110,0,1,1,100,1,5 -1120,0,1,1,100,1,5 -1130,0,1,1,100,1,5 -1140,0,1,1,100,1,5 -1150,0,1,1,100,1,5 -1160,0,1,1,100,1,5 -1170,0,1,1,100,1,5 -1180,0,1,1,100,1,5 -1190,0,1,1,100,1,5 -1200,0,1,1,100,1,5 -1210,0,1,1,100,1,5 -1220,0,1,1,100,1,5 -1230,0,1,1,100,1,5 -1240,0,1,1,100,1,5 -1250,0,1,1,100,1,5 -1260,0,1,1,100,1,5 -1270,0,1,1,100,1,5 -1280,0,1,1,100,1,5 -1290,0,1,1,100,1,5 -1300,0,1,1,100,1,5 -1310,0,1,1,100,1,5 -1320,0,1,1,100,1,5 -1330,0,1,1,100,1,5 -1340,0,1,1,100,1,5 -1350,0,1,1,100,1,5 -1360,0,1,1,100,1,5 -1370,0,1,1,100,1,5 -1380,0,1,1,100,1,5 -1390,0,1,1,100,1,5 -1400,0,1,1,100,1,5 -1410,0,1,1,100,1,5 -1420,0,1,1,100,1,5 -1430,0,1,1,100,1,5 -1440,0,1,1,100,1,5 -1450,0,1,1,100,1,5 -1460,0,1,1,100,1,5 -1470,0,1,1,100,1,5 -1480,0,1,1,100,1,5 -1490,0,1,1,100,1,5 -1500,0,1,1,100,1,5 -1510,0,1,1,100,1,5 -1520,0,1,1,100,1,5 -1530,0,1,1,100,1,5 -1540,0,1,1,100,1,5 -1550,0,1,1,100,1,5 -1560,0,1,1,100,1,5 -1570,0,1,1,100,1,5 -1580,0,1,1,100,1,5 -1590,0,1,1,100,1,5 -1600,0,1,1,100,1,5 -1610,0,1,1,100,1,5 -1620,0,1,1,100,1,5 -1630,0,1,1,100,1,5 -1640,0,1,1,100,1,5 -1650,0,1,1,100,1,5 -1660,0,1,1,100,1,5 -1670,0,1,1,100,1,5 -1680,0,1,1,100,1,5 -1690,0,1,1,100,1,5 -1700,0,1,1,100,1,5 -1710,0,1,1,100,1,5 -1720,0,1,1,100,1,5 -1730,0,1,1,100,1,5 -1740,0,1,1,100,1,5 -1750,0,1,1,100,1,5 -1760,0,1,1,100,1,5 -1770,0,1,1,100,1,5 -1780,0,1,1,100,1,5 -1790,0,1,1,100,1,5 -1800,0,1,1,100,1,5 -1810,0,1,1,100,1,5 -1820,0,1,1,100,1,5 -1830,0,1,1,100,1,5 -1840,0,1,1,100,1,5 -1850,0,1,1,100,1,5 -1860,0,1,1,100,1,5 -1870,0,1,1,100,1,5 -1880,0,1,1,100,1,5 -1890,0,1,1,100,1,5 -1900,0,1,1,100,1,5 -1910,0,1,1,100,1,5 -1920,0,1,1,100,1,5 -1930,0,1,1,100,1,5 -1940,0,1,1,100,1,5 -1950,0,1,1,100,1,5 -1960,0,1,1,100,1,5 -1970,0,1,1,100,1,5 -1980,0,1,1,100,1,5 -1990,0,1,1,100,1,5 -2000,0,1,1,100,1,5 -2010,0,1,1,100,1,5 -2020,0,1,1,100,1,5 -2030,0,1,1,100,1,5 -2040,0,1,1,100,1,5 -2050,0,1,1,100,1,5 -2060,0,1,1,100,1,5 -2070,0,1,1,100,1,5 -2080,0,1,1,100,1,5 -2090,0,1,1,100,1,5 -2100,0,1,1,100,1,5 -2110,0,1,1,100,1,5 -2120,0,1,1,100,1,5 -2130,0,1,1,100,1,5 -2140,0,1,1,100,1,5 -2150,0,1,1,100,1,5 -2160,0,1,1,100,1,5 -2170,0,1,1,100,1,5 -2180,0,1,1,100,1,5 -2190,0,1,1,100,1,5 -2200,0,1,1,100,1,5 -2210,0,1,1,100,1,5 -2220,0,1,1,100,1,5 -2230,0,1,1,100,1,5 -2240,0,1,1,100,1,5 -2250,0,1,1,100,1,5 -2260,0,1,1,100,1,5 -2270,0,1,1,100,1,5 -2280,0,1,1,100,1,5 -2290,0,1,1,100,1,5 -2300,0,1,1,100,1,5 -2310,0,1,1,100,1,5 -2320,0,1,1,100,1,5 -2330,0,1,1,100,1,5 -2340,0,1,1,100,1,5 -2350,0,1,1,100,1,5 -2360,0,1,1,100,1,5 -2370,0,1,1,100,1,5 -2380,0,1,1,100,1,5 -2390,0,1,1,100,1,5 -2400,0,1,1,100,1,5 -2410,0,1,1,100,1,5 -2420,0,1,1,100,1,5 -2430,0,1,1,100,1,5 -2440,0,1,1,100,1,5 -2450,0,1,1,100,1,5 -2460,0,1,1,100,1,5 -2470,0,1,1,100,1,5 -2480,0,1,1,100,1,5 -2490,0,1,1,100,1,5 -2500,0,1,1,100,1,5 -2510,0,1,1,100,1,5 -2520,0,1,1,100,1,5 -2530,0,1,1,100,1,5 -2540,0,1,1,100,1,5 -2550,0,1,1,100,1,5 -2560,0,1,1,100,1,5 -2570,0,1,1,100,1,5 -2580,0,1,1,100,1,5 -2590,0,1,1,100,1,5 -2600,0,1,1,100,1,5 -2610,0,1,1,100,1,5 -2620,0,1,1,100,1,5 -2630,0,1,1,100,1,5 -2640,0,1,1,100,1,5 -2650,0,1,1,100,1,5 -2660,0,1,1,100,1,5 -2670,0,1,1,100,1,5 -2680,0,1,1,100,1,5 -2690,0,1,1,100,1,5 -2700,0,1,1,100,1,5 -2710,0,1,1,100,1,5 -2720,0,1,1,100,1,5 -2730,0,1,1,100,1,5 -2740,0,1,1,100,1,5 -2750,0,1,1,100,1,5 -2760,0,1,1,100,1,5 -2770,0,1,1,100,1,5 -2780,0,1,1,100,1,5 -2790,0,1,1,100,1,5 -2800,0,1,1,100,1,5 -2810,0,1,1,100,1,5 -2820,0,1,1,100,1,5 -2830,0,1,1,100,1,5 -2840,0,1,1,100,1,5 -2850,0,1,1,100,1,5 -2860,0,1,1,100,1,5 -2870,0,1,1,100,1,5 -2880,0,1,1,100,1,5 -2890,0,1,1,100,1,5 -2900,0,1,1,100,1,5 -2910,0,1,1,100,1,5 -2920,0,1,1,100,1,5 -2930,0,1,1,100,1,5 -2940,0,1,1,100,1,5 -2950,0,1,1,100,1,5 -2960,0,1,1,100,1,5 -2970,0,1,1,100,1,5 -2980,0,1,1,100,1,5 -2990,0,1,1,100,1,5 -3000,0,1,1,100,1,5 -3010,0,1,1,100,1,5 -3020,0,1,1,100,1,5 -3030,0,1,1,100,1,5 -3040,0,1,1,100,1,5 -3050,0,1,1,100,1,5 -3060,0,1,1,100,1,5 -3070,0,1,1,100,1,5 -3080,0,1,1,100,1,5 -3090,0,1,1,100,1,5 -3100,0,1,1,100,1,5 -3110,0,1,1,100,1,5 -3120,0,1,1,100,1,5 -3130,0,1,1,100,1,5 -3140,0,1,1,100,1,5 -3150,0,1,1,100,1,5 -3160,0,1,1,100,1,5 -3170,0,1,1,100,1,5 -3180,0,1,1,100,1,5 -3190,0,1,1,100,1,5 -3200,0,1,1,100,1,5 -3210,0,1,1,100,1,5 -3220,0,1,1,100,1,5 -3230,0,1,1,100,1,5 -3240,0,1,1,100,1,5 -3250,0,1,1,100,1,5 -3260,0,1,1,100,1,5 -3270,0,1,1,100,1,5 -3280,0,1,1,100,1,5 -3290,0,1,1,100,1,5 -3300,0,1,1,100,1,5 -3310,0,1,1,100,1,5 -3320,0,1,1,100,1,5 -3330,0,1,1,100,1,5 -3340,0,1,1,100,1,5 -3350,0,1,1,100,1,5 -3360,0,1,1,100,1,5 -3370,0,1,1,100,1,5 -3380,0,1,1,100,1,5 -3390,0,1,1,100,1,5 -3400,0,1,1,100,1,5 -3410,0,1,1,100,1,5 -3420,0,1,1,100,1,5 -3430,0,1,1,100,1,5 -3440,0,1,1,100,1,5 -3450,0,1,1,100,1,5 -3460,0,1,1,100,1,5 -3470,0,1,1,100,1,5 -3480,0,1,1,100,1,5 -3490,0,1,1,100,1,5 -3500,0,1,1,100,1,5 -3510,0,1,1,100,1,5 -3520,0,1,1,100,1,5 -3530,0,1,1,100,1,5 -3540,0,1,1,100,1,5 -3550,0,1,1,100,1,5 -3560,0,1,1,100,1,5 -3570,0,1,1,100,1,5 -3580,0,1,1,100,1,5 -3590,0,1,1,100,1,5 -3600,0,1,1,100,1,5 -3610,0,1,1,100,1,5 -3620,0,1,1,100,1,5 -3630,0,1,1,100,1,5 -3640,0,1,1,100,1,5 -3650,0,1,1,100,1,5 -3660,0,1,1,100,1,5 -3670,0,1,1,100,1,5 -3680,0,1,1,100,1,5 -3690,0,1,1,100,1,5 -3700,0,1,1,100,1,5 -3710,0,1,1,100,1,5 -3720,0,1,1,100,1,5 -3730,0,1,1,100,1,5 -3740,0,1,1,100,1,5 -3750,0,1,1,100,1,5 -3760,0,1,1,100,1,5 -3770,0,1,1,100,1,5 -3780,0,1,1,100,1,5 -3790,0,1,1,100,1,5 -3800,0,1,1,100,1,5 -3810,0,1,1,100,1,5 -3820,0,1,1,100,1,5 -3830,0,1,1,100,1,5 -3840,0,1,1,100,1,5 -3850,0,1,1,100,1,5 -3860,0,1,1,100,1,5 -3870,0,1,1,100,1,5 -3880,0,1,1,100,1,5 -3890,0,1,1,100,1,5 -3900,0,1,1,100,1,5 -3910,0,1,1,100,1,5 -3920,0,1,1,100,1,5 -3930,0,1,1,100,1,5 -3940,0,1,1,100,1,5 -3950,0,1,1,100,1,5 -3960,0,1,1,100,1,5 -3970,0,1,1,100,1,5 -3980,0,1,1,100,1,5 -3990,0,1,1,100,1,5 -4000,0,1,1,100,1,5 -4010,0,1,1,100,1,5 -4020,0,1,1,100,1,5 -4030,0,1,1,100,1,5 -4040,0,1,1,100,1,5 -4050,0,1,1,100,1,5 -4060,0,1,1,100,1,5 -4070,0,1,1,100,1,5 -4080,0,1,1,100,1,5 -4090,0,1,1,100,1,5 -4100,0,1,1,100,1,5 -4110,0,1,1,100,1,5 -4120,0,1,1,100,1,5 -4130,0,1,1,100,1,5 -4140,0,1,1,100,1,5 -4150,0,1,1,100,1,5 -4160,0,1,1,100,1,5 -4170,0,1,1,100,1,5 -4180,0,1,1,100,1,5 -4190,0,1,1,100,1,5 -4200,0,1,1,100,1,5 -4210,0,1,1,100,1,5 -4220,0,1,1,100,1,5 -4230,0,1,1,100,1,5 -4240,0,1,1,100,1,5 -4250,0,1,1,100,1,5 -4260,0,1,1,100,1,5 -4270,0,1,1,100,1,5 -4280,0,1,1,100,1,5 -4290,0,1,1,100,1,5 -4300,0,1,1,100,1,5 -4310,0,1,1,100,1,5 -4320,0,1,1,100,1,5 -4330,0,1,1,100,1,5 -4340,0,1,1,100,1,5 -4350,0,1,1,100,1,5 -4360,0,1,1,100,1,5 -4370,0,1,1,100,1,5 -4380,0,1,1,100,1,5 -4390,0,1,1,100,1,5 -4400,0,1,1,100,1,5 -4410,0,1,1,100,1,5 -4420,0,1,1,100,1,5 -4430,0,1,1,100,1,5 -4440,0,1,1,100,1,5 -4450,0,1,1,100,1,5 -4460,0,1,1,100,1,5 -4470,0,1,1,100,1,5 -4480,0,1,1,100,1,5 -4490,0,1,1,100,1,5 -4500,0,1,1,100,1,5 -4510,0,1,1,100,1,5 -4520,0,1,1,100,1,5 -4530,0,1,1,100,1,5 -4540,0,1,1,100,1,5 -4550,0,1,1,100,1,5 -4560,0,1,1,100,1,5 -4570,0,1,1,100,1,5 -4580,0,1,1,100,1,5 -4590,0,1,1,100,1,5 -4600,0,1,1,100,1,5 -4610,0,1,1,100,1,5 -4620,0,1,1,100,1,5 -4630,0,1,1,100,1,5 -4640,0,1,1,100,1,5 -4650,0,1,1,100,1,5 -4660,0,1,1,100,1,5 -4670,0,1,1,100,1,5 -4680,0,1,1,100,1,5 -4690,0,1,1,100,1,5 -4700,0,1,1,100,1,5 -4710,0,1,1,100,1,5 -4720,0,1,1,100,1,5 -4730,0,1,1,100,1,5 -4740,0,1,1,100,1,5 -4750,0,1,1,100,1,5 -4760,0,1,1,100,1,5 -4770,0,1,1,100,1,5 -4780,0,1,1,100,1,5 -4790,0,1,1,100,1,5 -4800,0,1,1,100,1,5 -4810,0,1,1,100,1,5 -4820,0,1,1,100,1,5 -4830,0,1,1,100,1,5 -4840,0,1,1,100,1,5 -4850,0,1,1,100,1,5 -4860,0,1,1,100,1,5 -4870,0,1,1,100,1,5 -4880,0,1,1,100,1,5 -4890,0,1,1,100,1,5 -4900,0,1,1,100,1,5 -4910,0,1,1,100,1,5 -4920,0,1,1,100,1,5 -4930,0,1,1,100,1,5 -4940,0,1,1,100,1,5 -4950,0,1,1,100,1,5 -4960,0,1,1,100,1,5 -4970,0,1,1,100,1,5 -4980,0,1,1,100,1,5 -4990,0,1,1,100,1,5 -5000,0,2,2,100,1,5 -5010,0,2,2,100,1,5 -5020,0,2,2,100,1,5 -5030,0,2,2,100,1,5 -5040,0,2,2,100,1,5 -5050,0,2,2,100,1,5 -5060,0,2,2,100,1,5 -5070,0,2,2,100,1,5 -5080,0,2,2,100,1,5 -5090,0,2,2,100,1,5 -5100,0,2,2,100,1,5 -5110,0,2,2,100,1,5 -5120,0,2,2,100,1,5 -5130,0,2,2,100,1,5 -5140,0,2,2,100,1,5 -5150,0,2,2,100,1,5 -5160,0,2,2,100,1,5 -5170,0,2,2,100,1,5 -5180,0,2,2,100,1,5 -5190,0,2,2,100,1,5 -5200,0,2,2,100,1,5 -5210,0,2,2,100,1,5 -5220,0,2,2,100,1,5 -5230,0,2,2,100,1,5 -5240,0,2,2,100,1,5 -5250,0,2,2,100,1,5 -5260,0,2,2,100,1,5 -5270,0,2,2,100,1,5 -5280,0,2,2,100,1,5 -5290,0,2,2,100,1,5 -5300,0,2,2,100,1,5 -5310,0,2,2,100,1,5 -5320,0,2,2,100,1,5 -5330,0,2,2,100,1,5 -5340,0,2,2,100,1,5 -5350,0,2,2,100,1,5 -5360,0,2,2,100,1,5 -5370,0,2,2,100,1,5 -5380,0,2,2,100,1,5 -5390,0,2,2,100,1,5 -5400,0,2,2,100,1,5 -5410,0,2,2,100,1,5 -5420,0,2,2,100,1,5 -5430,0,2,2,100,1,5 -5440,0,2,2,100,1,5 -5450,0,2,2,100,1,5 -5460,0,2,2,100,1,5 -5470,0,2,2,100,1,5 -5480,0,2,2,100,1,5 -5490,0,2,2,100,1,5 -5500,0,2,2,100,1,5 -5510,0,2,2,100,1,5 -5520,0,2,2,100,1,5 -5530,0,2,2,100,1,5 -5540,0,2,2,100,1,5 -5550,0,2,2,100,1,5 -5560,0,2,2,100,1,5 -5570,0,2,2,100,1,5 -5580,0,2,2,100,1,5 -5590,0,2,2,100,1,5 -5600,0,2,2,100,1,5 -5610,0,2,2,100,1,5 -5620,0,2,2,100,1,5 -5630,0,2,2,100,1,5 -5640,0,2,2,100,1,5 -5650,0,2,2,100,1,5 -5660,0,2,2,100,1,5 -5670,0,2,2,100,1,5 -5680,0,2,2,100,1,5 -5690,0,2,2,100,1,5 -5700,0,2,2,100,1,5 -5710,0,2,2,100,1,5 -5720,0,2,2,100,1,5 -5730,0,2,2,100,1,5 -5740,0,2,2,100,1,5 -5750,0,2,2,100,1,5 -5760,0,2,2,100,1,5 -5770,0,2,2,100,1,5 -5780,0,2,2,100,1,5 -5790,0,2,2,100,1,5 -5800,0,2,2,100,1,5 -5810,0,2,2,100,1,5 -5820,0,2,2,100,1,5 -5830,0,2,2,100,1,5 -5840,0,2,2,100,1,5 -5850,0,2,2,100,1,5 -5860,0,2,2,100,1,5 -5870,0,2,2,100,1,5 -5880,0,2,2,100,1,5 -5890,0,2,2,100,1,5 -5900,0,2,2,100,1,5 -5910,0,2,2,100,1,5 -5920,0,2,2,100,1,5 -5930,0,2,2,100,1,5 -5940,0,2,2,100,1,5 -5950,0,2,2,100,1,5 -5960,0,2,2,100,1,5 -5970,0,2,2,100,1,5 -5980,0,2,2,100,1,5 -5990,0,2,2,100,1,5 -6000,0,2,2,100,1,5 -6010,0,2,2,100,1,5 -6020,0,2,2,100,1,5 -6030,0,2,2,100,1,5 -6040,0,2,2,100,1,5 -6050,0,2,2,100,1,5 -6060,0,2,2,100,1,5 -6070,0,2,2,100,1,5 -6080,0,2,2,100,1,5 -6090,0,2,2,100,1,5 -6100,0,2,2,100,1,5 -6110,0,2,2,100,1,5 -6120,0,2,2,100,1,5 -6130,0,2,2,100,1,5 -6140,0,2,2,100,1,5 -6150,0,2,2,100,1,5 -6160,0,2,2,100,1,5 -6170,0,2,2,100,1,5 -6180,0,2,2,100,1,5 -6190,0,2,2,100,1,5 -6200,0,2,2,100,1,5 -6210,0,2,2,100,1,5 -6220,0,2,2,100,1,5 -6230,0,2,2,100,1,5 -6240,0,2,2,100,1,5 -6250,0,2,2,100,1,5 -6260,0,2,2,100,1,5 -6270,0,2,2,100,1,5 -6280,0,2,2,100,1,5 -6290,0,2,2,100,1,5 -6300,0,2,2,100,1,5 -6310,0,2,2,100,1,5 -6320,0,2,2,100,1,5 -6330,0,2,2,100,1,5 -6340,0,2,2,100,1,5 -6350,0,2,2,100,1,5 -6360,0,2,2,100,1,5 -6370,0,2,2,100,1,5 -6380,0,2,2,100,1,5 -6390,0,2,2,100,1,5 -6400,0,2,2,100,1,5 -6410,0,2,2,100,1,5 -6420,0,2,2,100,1,5 -6430,0,2,2,100,1,5 -6440,0,2,2,100,1,5 -6450,0,2,2,100,1,5 -6460,0,2,2,100,1,5 -6470,0,2,2,100,1,5 -6480,0,2,2,100,1,5 -6490,0,2,2,100,1,5 -6500,0,2,2,100,1,5 -6510,0,2,2,100,1,5 -6520,0,2,2,100,1,5 -6530,0,2,2,100,1,5 -6540,0,2,2,100,1,5 -6550,0,2,2,100,1,5 -6560,0,2,2,100,1,5 -6570,0,2,2,100,1,5 -6580,0,2,2,100,1,5 -6590,0,2,2,100,1,5 -6600,0,2,2,100,1,5 -6610,0,2,2,100,1,5 -6620,0,2,2,100,1,5 -6630,0,2,2,100,1,5 -6640,0,2,2,100,1,5 -6650,0,2,2,100,1,5 -6660,0,2,2,100,1,5 -6670,0,2,2,100,1,5 -6680,0,2,2,100,1,5 -6690,0,2,2,100,1,5 -6700,0,2,2,100,1,5 -6710,0,2,2,100,1,5 -6720,0,2,2,100,1,5 -6730,0,2,2,100,1,5 -6740,0,2,2,100,1,5 -6750,0,2,2,100,1,5 -6760,0,2,2,100,1,5 -6770,0,2,2,100,1,5 -6780,0,2,2,100,1,5 -6790,0,2,2,100,1,5 -6800,0,2,2,100,1,5 -6810,0,2,2,100,1,5 -6820,0,2,2,100,1,5 -6830,0,2,2,100,1,5 -6840,0,2,2,100,1,5 -6850,0,2,2,100,1,5 -6860,0,2,2,100,1,5 -6870,0,2,2,100,1,5 -6880,0,2,2,100,1,5 -6890,0,2,2,100,1,5 -6900,0,2,2,100,1,5 -6910,0,2,2,100,1,5 -6920,0,2,2,100,1,5 -6930,0,2,2,100,1,5 -6940,0,2,2,100,1,5 -6950,0,2,2,100,1,5 -6960,0,2,2,100,1,5 -6970,0,2,2,100,1,5 -6980,0,2,2,100,1,5 -6990,0,2,2,100,1,5 -7000,0,2,2,100,1,5 -7010,0,2,2,100,1,5 -7020,0,2,2,100,1,5 -7030,0,2,2,100,1,5 -7040,0,2,2,100,1,5 -7050,0,2,2,100,1,5 -7060,0,2,2,100,1,5 -7070,0,2,2,100,1,5 -7080,0,2,2,100,1,5 -7090,0,2,2,100,1,5 -7100,0,2,2,100,1,5 -7110,0,2,2,100,1,5 -7120,0,2,2,100,1,5 -7130,0,2,2,100,1,5 -7140,0,2,2,100,1,5 -7150,0,2,2,100,1,5 -7160,0,2,2,100,1,5 -7170,0,2,2,100,1,5 -7180,0,2,2,100,1,5 -7190,0,2,2,100,1,5 -7200,0,2,2,100,1,5 -7210,0,2,2,100,1,5 -7220,0,2,2,100,1,5 -7230,0,2,2,100,1,5 -7240,0,2,2,100,1,5 -7250,0,2,2,100,1,5 -7260,0,2,2,100,1,5 -7270,0,2,2,100,1,5 -7280,0,2,2,100,1,5 -7290,0,2,2,100,1,5 -7300,0,2,2,100,1,5 -7310,0,2,2,100,1,5 -7320,0,2,2,100,1,5 -7330,0,2,2,100,1,5 -7340,0,2,2,100,1,5 -7350,0,2,2,100,1,5 -7360,0,2,2,100,1,5 -7370,0,2,2,100,1,5 -7380,0,2,2,100,1,5 -7390,0,2,2,100,1,5 -7400,0,2,2,100,1,5 -7410,0,2,2,100,1,5 -7420,0,2,2,100,1,5 -7430,0,2,2,100,1,5 -7440,0,2,2,100,1,5 -7450,0,2,2,100,1,5 -7460,0,2,2,100,1,5 -7470,0,2,2,100,1,5 -7480,0,2,2,100,1,5 -7490,0,2,2,100,1,5 -7500,0,2,2,100,1,5 -7510,0,2,2,100,1,5 -7520,0,2,2,100,1,5 -7530,0,2,2,100,1,5 -7540,0,2,2,100,1,5 -7550,0,2,2,100,1,5 -7560,0,2,2,100,1,5 -7570,0,2,2,100,1,5 -7580,0,2,2,100,1,5 -7590,0,2,2,100,1,5 -7600,0,2,2,100,1,5 -7610,0,2,2,100,1,5 -7620,0,2,2,100,1,5 -7630,0,2,2,100,1,5 -7640,0,2,2,100,1,5 -7650,0,2,2,100,1,5 -7660,0,2,2,100,1,5 -7670,0,2,2,100,1,5 -7680,0,2,2,100,1,5 -7690,0,2,2,100,1,5 -7700,0,2,2,100,1,5 -7710,0,2,2,100,1,5 -7720,0,2,2,100,1,5 -7730,0,2,2,100,1,5 -7740,0,2,2,100,1,5 -7750,0,2,2,100,1,5 -7760,0,2,2,100,1,5 -7770,0,2,2,100,1,5 -7780,0,2,2,100,1,5 -7790,0,2,2,100,1,5 -7800,0,2,2,100,1,5 -7810,0,2,2,100,1,5 -7820,0,2,2,100,1,5 -7830,0,2,2,100,1,5 -7840,0,2,2,100,1,5 -7850,0,2,2,100,1,5 -7860,0,2,2,100,1,5 -7870,0,2,2,100,1,5 -7880,0,2,2,100,1,5 -7890,0,2,2,100,1,5 -7900,0,2,2,100,1,5 -7910,0,2,2,100,1,5 -7920,0,2,2,100,1,5 -7930,0,2,2,100,1,5 -7940,0,2,2,100,1,5 -7950,0,2,2,100,1,5 -7960,0,2,2,100,1,5 -7970,0,2,2,100,1,5 -7980,0,2,2,100,1,5 -7990,0,2,2,100,1,5 -8000,0,2,2,100,1,5 -8010,0,2,2,100,1,5 -8020,0,2,2,100,1,5 -8030,0,2,2,100,1,5 -8040,0,2,2,100,1,5 -8050,0,2,2,100,1,5 -8060,0,2,2,100,1,5 -8070,0,2,2,100,1,5 -8080,0,2,2,100,1,5 -8090,0,2,2,100,1,5 -8100,0,2,2,100,1,5 -8110,0,2,2,100,1,5 -8120,0,2,2,100,1,5 -8130,0,2,2,100,1,5 -8140,0,2,2,100,1,5 -8150,0,2,2,100,1,5 -8160,0,2,2,100,1,5 -8170,0,2,2,100,1,5 -8180,0,2,2,100,1,5 -8190,0,2,2,100,1,5 -8200,0,2,2,100,1,5 -8210,0,2,2,100,1,5 -8220,0,2,2,100,1,5 -8230,0,2,2,100,1,5 -8240,0,2,2,100,1,5 -8250,0,2,2,100,1,5 -8260,0,2,2,100,1,5 -8270,0,2,2,100,1,5 -8280,0,2,2,100,1,5 -8290,0,2,2,100,1,5 -8300,0,2,2,100,1,5 -8310,0,2,2,100,1,5 -8320,0,2,2,100,1,5 -8330,0,2,2,100,1,5 -8340,0,2,2,100,1,5 -8350,0,2,2,100,1,5 -8360,0,2,2,100,1,5 -8370,0,2,2,100,1,5 -8380,0,2,2,100,1,5 -8390,0,2,2,100,1,5 -8400,0,2,2,100,1,5 -8410,0,2,2,100,1,5 -8420,0,2,2,100,1,5 -8430,0,2,2,100,1,5 -8440,0,2,2,100,1,5 -8450,0,2,2,100,1,5 -8460,0,2,2,100,1,5 -8470,0,2,2,100,1,5 -8480,0,2,2,100,1,5 -8490,0,2,2,100,1,5 -8500,0,2,2,100,1,5 -8510,0,2,2,100,1,5 -8520,0,2,2,100,1,5 -8530,0,2,2,100,1,5 -8540,0,2,2,100,1,5 -8550,0,2,2,100,1,5 -8560,0,2,2,100,1,5 -8570,0,2,2,100,1,5 -8580,0,2,2,100,1,5 -8590,0,2,2,100,1,5 -8600,0,2,2,100,1,5 -8610,0,2,2,100,1,5 -8620,0,2,2,100,1,5 -8630,0,2,2,100,1,5 -8640,0,2,2,100,1,5 -8650,0,2,2,100,1,5 -8660,0,2,2,100,1,5 -8670,0,2,2,100,1,5 -8680,0,2,2,100,1,5 -8690,0,2,2,100,1,5 -8700,0,2,2,100,1,5 -8710,0,2,2,100,1,5 -8720,0,2,2,100,1,5 -8730,0,2,2,100,1,5 -8740,0,2,2,100,1,5 -8750,0,2,2,100,1,5 -8760,0,2,2,100,1,5 -8770,0,2,2,100,1,5 -8780,0,2,2,100,1,5 -8790,0,2,2,100,1,5 -8800,0,2,2,100,1,5 -8810,0,2,2,100,1,5 -8820,0,2,2,100,1,5 -8830,0,2,2,100,1,5 -8840,0,2,2,100,1,5 -8850,0,2,2,100,1,5 -8860,0,2,2,100,1,5 -8870,0,2,2,100,1,5 -8880,0,2,2,100,1,5 -8890,0,2,2,100,1,5 -8900,0,2,2,100,1,5 -8910,0,2,2,100,1,5 -8920,0,2,2,100,1,5 -8930,0,2,2,100,1,5 -8940,0,2,2,100,1,5 -8950,0,2,2,100,1,5 -8960,0,2,2,100,1,5 -8970,0,2,2,100,1,5 -8980,0,2,2,100,1,5 -8990,0,2,2,100,1,5 -9000,0,2,2,100,1,5 -9010,0,2,2,100,1,5 -9020,0,2,2,100,1,5 -9030,0,2,2,100,1,5 -9040,0,2,2,100,1,5 -9050,0,2,2,100,1,5 -9060,0,2,2,100,1,5 -9070,0,2,2,100,1,5 -9080,0,2,2,100,1,5 -9090,0,2,2,100,1,5 -9100,0,2,2,100,1,5 -9110,0,2,2,100,1,5 -9120,0,2,2,100,1,5 -9130,0,2,2,100,1,5 -9140,0,2,2,100,1,5 -9150,0,2,2,100,1,5 -9160,0,2,2,100,1,5 -9170,0,2,2,100,1,5 -9180,0,2,2,100,1,5 -9190,0,2,2,100,1,5 -9200,0,2,2,100,1,5 -9210,0,2,2,100,1,5 -9220,0,2,2,100,1,5 -9230,0,2,2,100,1,5 -9240,0,2,2,100,1,5 -9250,0,2,2,100,1,5 -9260,0,2,2,100,1,5 -9270,0,2,2,100,1,5 -9280,0,2,2,100,1,5 -9290,0,2,2,100,1,5 -9300,0,2,2,100,1,5 -9310,0,2,2,100,1,5 -9320,0,2,2,100,1,5 -9330,0,2,2,100,1,5 -9340,0,2,2,100,1,5 -9350,0,2,2,100,1,5 -9360,0,2,2,100,1,5 -9370,0,2,2,100,1,5 -9380,0,2,2,100,1,5 -9390,0,2,2,100,1,5 -9400,0,2,2,100,1,5 -9410,0,2,2,100,1,5 -9420,0,2,2,100,1,5 -9430,0,2,2,100,1,5 -9440,0,2,2,100,1,5 -9450,0,2,2,100,1,5 -9460,0,2,2,100,1,5 -9470,0,2,2,100,1,5 -9480,0,2,2,100,1,5 -9490,0,2,2,100,1,5 -9500,0,2,2,100,1,5 -9510,0,2,2,100,1,5 -9520,0,2,2,100,1,5 -9530,0,2,2,100,1,5 -9540,0,2,2,100,1,5 -9550,0,2,2,100,1,5 -9560,0,2,2,100,1,5 -9570,0,2,2,100,1,5 -9580,0,2,2,100,1,5 -9590,0,2,2,100,1,5 -9600,0,2,2,100,1,5 -9610,0,2,2,100,1,5 -9620,0,2,2,100,1,5 -9630,0,2,2,100,1,5 -9640,0,2,2,100,1,5 -9650,0,2,2,100,1,5 -9660,0,2,2,100,1,5 -9670,0,2,2,100,1,5 -9680,0,2,2,100,1,5 -9690,0,2,2,100,1,5 -9700,0,2,2,100,1,5 -9710,0,2,2,100,1,5 -9720,0,2,2,100,1,5 -9730,0,2,2,100,1,5 -9740,0,2,2,100,1,5 -9750,0,2,2,100,1,5 -9760,0,2,2,100,1,5 -9770,0,2,2,100,1,5 -9780,0,2,2,100,1,5 -9790,0,2,2,100,1,5 -9800,0,2,2,100,1,5 -9810,0,2,2,100,1,5 -9820,0,2,2,100,1,5 -9830,0,2,2,100,1,5 -9840,0,2,2,100,1,5 -9850,0,2,2,100,1,5 -9860,0,2,2,100,1,5 -9870,0,2,2,100,1,5 -9880,0,2,2,100,1,5 -9890,0,2,2,100,1,5 -9900,0,2,2,100,1,5 -9910,0,2,2,100,1,5 -9920,0,2,2,100,1,5 -9930,0,2,2,100,1,5 -9940,0,2,2,100,1,5 -9950,0,2,2,100,1,5 -9960,0,2,2,100,1,5 -9970,0,2,2,100,1,5 -9980,0,2,2,100,1,5 -9990,0,2,2,100,1,5 -10000,0,2,2,100,1,5 -10010,0,2,2,100,1,5 -10020,0,2,2,100,1,5 -10030,0,2,2,100,1,5 -10040,0,2,2,100,1,5 -10050,0,2,2,100,1,5 -10060,0,2,2,100,1,5 -10070,0,2,2,100,1,5 -10080,0,2,2,100,1,5 -10090,0,2,2,100,1,5 -10100,0,2,2,100,1,5 diff --git a/EC-GN-JA-PCF/.svn/pristine/f5/f5734b484968e75ba2471ee8a12c0a164d2ae5a4.svn-base b/EC-GN-JA-PCF/.svn/pristine/f5/f5734b484968e75ba2471ee8a12c0a164d2ae5a4.svn-base deleted file mode 100644 index 3ef937f..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f5/f5734b484968e75ba2471ee8a12c0a164d2ae5a4.svn-base +++ /dev/null @@ -1,24 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) -# databases, templates, substitutions like this - - -# Automagically install .proto files -DB += $(notdir $(wildcard ../*.proto)) - -#---------------------------------------------------- -# If .db template is not named *.template add -# _TEMPLATE = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE diff --git a/EC-GN-JA-PCF/.svn/pristine/f5/f59bb5fc97d94c9b9bd06be509db615897457ed2.svn-base b/EC-GN-JA-PCF/.svn/pristine/f5/f59bb5fc97d94c9b9bd06be509db615897457ed2.svn-base deleted file mode 100644 index 1c65faf..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f5/f59bb5fc97d94c9b9bd06be509db615897457ed2.svn-base +++ /dev/null @@ -1,29 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc - -LIBRARIES += -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)/ -lca diff --git a/EC-GN-JA-PCF/.svn/pristine/f5/f5cbd48402d7062edcdc464f7c1b946d73c2fb8d.svn-base b/EC-GN-JA-PCF/.svn/pristine/f5/f5cbd48402d7062edcdc464f7c1b946d73c2fb8d.svn-base deleted file mode 100644 index a4cf645..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f5/f5cbd48402d7062edcdc464f7c1b946d73c2fb8d.svn-base +++ /dev/null @@ -1,4981 +0,0 @@ -// LoggerService node: See /var/log/messages file. -// +LoggerService = { -// Class = LoggerService -// CPUs = 0x800 -// StackSize = 32768 -// NumberOfLogPages = 128 -// +SysLogger = { -// Class = SysLogger -// Format = "EtOoFmC" -// PrintKeys = 1 -// Ident = "JAGyA" -// } -// } - -// 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 - } - } - } -} - -// RealTime Application node -+JAGyrotronRTApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - //Timer GAM for thread 1. - +Timer1kHzGAM = { - Class = IOGAM - InputSignals = { - Counter = { - DataSource = Timer1kHz - Type = uint32 - Frequency = 1000 //Hz - } - Time = { - DataSource = Timer1kHz - Type = uint32 - } - } - OutputSignals = { - Counter1kHz = { - DataSource = DDB1 - Type = uint32 - } - Time1kHz = { - DataSource = DDB1 - Type = uint32 - } - } - } - +Timer10HzGAM = { - Class = IOGAM - InputSignals = { - Counter = { - DataSource = Timer10Hz - Type = uint32 - Frequency = 1 //Hz - } - Time = { - DataSource = Timer10Hz - Type = uint32 - } - } - OutputSignals = { - Counter10Hz = { - DataSource = DDB1 - Type = uint32 - } - Time1Hz = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM to update PCF state-machine state - +InErrorGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 1 - } - } - } - +InDisabledGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 2 - } - } - } - +InWaitStandbyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 3 - } - } - } - +InWaitReadyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 4 - } - } - } - +InWaitPermitGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 5 - } - } - } - +InWaitHVONGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 6 - } - } - } - +InWaitHVON_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 7 - } - } - } - +InWaitHVON_SDNGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 8 - } - } - } - +InWaitHVON_SDN_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 9 - } - } - } - - // Copy data from DDB1 to EPICSCAOutput DataSource. - +EPICSOutputGAM = { - Class = IOGAM - InputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - PREP_TIME_WF = { - DataSource = DDB1 - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - APS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - SHOT_ID = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - //Add 20201117 - 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 - } - } - OutputSignals = { - PCF_STATE = { - DataSource = EPICSCAOutput - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - APS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - FHPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - CSV_LOADED = { - DataSource = EPICSCAOutput - Type = uint32 - } - CSV_ERR = { - DataSource = EPICSCAOutput - Type = uint32 - } - ELAPSED_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVARMED = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVINJECTION = { - DataSource = EPICSCAOutput - Type = uint32 - } - RFON = { - DataSource = EPICSCAOutput - Type = uint32 - } - - MHVPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - PREP_TIME_WF = { - DataSource = EPICSCAOutput - } - MHVPS_PREP_WF = { - DataSource = EPICSCAOutput - } - BPS_PREP_WF = { - DataSource = EPICSCAOutput - } - APS_PREP_WF = { - DataSource = EPICSCAOutput - } - MCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - GCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - FHPS_PREP_WF = { - DataSource = EPICSCAOutput - } - CCPS_REF = { - DataSource = EPICSCAOutput - } - MHVPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAOutput - } - BEAM_ON_STAT = { - DataSource = EPICSCAOutput - } - SHOT_ID = { - DataSource = EPICSCAOutput - } - FHPS_AUTO_STAT = { - DataSource = EPICSCAOutput - } - //Added 20201117 - APS_HVON = { - DataSource = EPICSCAOutput - } - APS_SWON = { - DataSource = EPICSCAOutput - } - BPS_HVON = { - DataSource = EPICSCAOutput - } - BPS_SWON = { - DataSource = EPICSCAOutput - } - MHVPS_HVON = { - DataSource = EPICSCAOutput - } - } - } - - // Message GAM in Disabled state. - +GoWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - +GoWaitStandbyFromReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - - // MCPS, GCPS PV to DDB1 - +GCPSGAM = { - Class = IOGAM - InputSignals = { - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - +MCPSGAM = { - Class = IOGAM - InputSignals = { - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - // Message GAM in Standby state. - +GoDisabledGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoDisabled - } - } - - //GAM in WaitReady state. Check MCPS,GCPS,FHPS state for state transition. - +GoWaitReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {3 3 1} - ExpectedFloatValues = {0 0 0} - Comparators = {EQUALS GREATER EQUALS GREATER EQUALS GREATER} - InputSignals = { - MCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYA_MCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYA_GCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_MEAS_ACV = { - DataSource = EPICSCAInput - Type = float32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - - //GAM for prepro - +WFRecordGAM = { - Class = JAWFRecordGAM - Directory = "../Configurations" //TODO: Enter directory path for prepro files. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - } - OutputSignals = { - PREP_TIME_WF = { - DataSource = DDB1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - } - BPS_PREP_WF = { - DataSource = DDB1 - } - APS_PREP_WF = { - DataSource = DDB1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - } - } - } - +PreProgrammedGAM = { - Class = JAPreProgrammedGAM - Directory = "../Configurations" // TODO: Enter the directory path for prepro files. - PreProgrammedPeriodMs = 1 // Parameter update periods in ms. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - FHPS_REF = { - Alias = FHPS_AUTO_TAGV - DataSource = EPICSCAInput - Type = float32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - GYA_PREPRO_TIME = { - DataSource = DDB1 - Type = int32 - } - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_REF = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM in WaitReady state. Check PLC_READY and CCPS_IN_OPERATION status. - +GoWaitPermitGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1} //20201222 modified. In the past, 0 1. - Comparators = {EQUALS EQUALS} - InputSignals = { - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - //GAM in WaitPermit state. Check Permit and States of Operation Modes. - +GoWaitReadyFromWaitPermitGAM = { - Class = JAMessageGAM - Operation = OR - ExpectedIntValues = {0 0} - Comparators = {EQUALS EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - +GoWaitHVONGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON - } - } - +GoWaitHVON_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_PREP - } - } - +GoWaitHVON_SDN_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN - } - } - +GoWaitHVON_SDN_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN_PREP - } - } - - //GAM in WaitHVON_xx states. If PLC_READY is zero, goto WaitStandby. - +FromWaitHVONToWaitStandby = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - //GAM in WaitHVON_xx states. If PLC_PERMIT is zero, goto WaitPermit. - +FromWaitHVONToWaitPermit = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 0 0 0 0} //modified 20201222 - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} //modified 20201222 - InputSignals = { - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - //add 20201222 - APS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - MHVPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - APS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - }//20201222 - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - // Check the selected mode, and check maximum pulse length. Use with a StateMachineGAM - +ModeLimitGAM = { - Class = JAModeControlGAM - InputSignals = { - PLC_MODE1 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD1_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE2 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD2_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE3 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD3_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE4 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD4_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - Time = { - DataSource = DDB1 - Type = uint32 - } - HVInjection = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - MODE_SHOTLEN_FLAG = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // State notify GAMs. These GAMs are in all WaitHVON states. - +writeBeamONStateGAM = { - Class = IOGAM - InputSignals = { - BEAM_ON_STAT = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVArmedStateGAM = { - Class = IOGAM - InputSignals = { - HVARMED = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVInjectionStateGAM = { - Class = IOGAM - InputSignals = { - HVINJECTION = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONStateGAM = { - Class = IOGAM - InputSignals = { - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeBeamONTimeGAM = { - Class = IOGAM - InputSignals = { - BeamONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONTimeGAM = { - Class = IOGAM - InputSignals = { - RFONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for trianguler waveform generation. - +CCPSWaveformGAM = { - Class = JATriangleWaveGAM - InputSignals = { - Frequency = { - Alias = CCPS_OUTPUT_FREQ - DataSource = EPICSCAInput - Type = float32 - } - Amplitude = { - Alias = CCPS_OUTPUT_AMP - DataSource = EPICSCAInput - Type = float32 - } - Offset = { - Alias = CCPS_OUTPUT_OFFS - DataSource = EPICSCAInput - Type = float32 - } - PLCSTANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - } - } - //GAM for FHPS ramping up operation. - +FHPSSetpointGAM = { - Class = IOGAM - InputSignals = { - FHPS_AUTO_TAGV = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - FHPS_TAGV = { - DataSource = DDB1 - Type = float32 - } - } - } - +FHPSRampupGAM = { - Class = JARampupGAM - InputSignals = { - Currspv = { - Alias = FHPS_REF - DataSource = DDB1 - Type = float32 - } - Targetv = { - Alias = FHPS_TAGV - DataSource = DDB1 - Type = float32 - } - Time = { - Alias = FHPS_AUTO_TIME - DataSource = EPICSCAInput - Type = float32 - } - Start = { - Alias = FHPS_AUTO_START - DataSource = EPICSCAInput - Type = uint32 - } - PLC_STANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - MANUAL_AUTO = { - Alias = FHPS_MANM - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - } - OutputSignals = { - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - //GAM for error handling. - // GAM that sets ERROR and STOP FLAGS for APS, BPS and MHVPS when we enter Error state and resets them when we leave Error state - +ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = AND - ExpectedValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {0 0 0} - InputSignals = { - // Conditional signals - 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 - } - // Default values - MHVPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - } - } - +StopRequestGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {1 1 1 1 1 1 1 1 1 1} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {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 - } - StopRequest_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - StopRequest = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //Test whether board status are stable - +GAMDisplayDebug = { - Class = IOGAM - InputSignals = { - RESET_FLT = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - RESET_FLT_DISP = { - DataSource = Display - Type = uint32 - } - } - } - //Check PXI board status. - +PXI6259ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0 0} - Comparators = {GREATER GREATER GREATER GREATER} - Values = {1} - InputSignals = { - // Conditional signals - PXI6259_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6259_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6259_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error03GAM = {// detect Hardware error (status number 3) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {3 3} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_03_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error04GAM = {// detect No board error (status number 4) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {4 4} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_04_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXIErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0} - Comparators = {GREATER GREATER GREATER} - Values = {1} - InputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - // Default values - PCF_FLT_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - } - } - - - +FromErrorToWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - InputSignals = { - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - // From any state to Error state. - +GoErrorGAM = { - Class = JAMessageGAM - Operation = OR - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoError - } - } - // Reset HVPS outputs. ToDo: Fix to access NI d.s. - +ResetPSsGAM = { - Class = ConstantGAM - OutputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - //here - } - } - // Update status. ToDo: Fix to access NI d.s. - +ExitedHVArmedInjectionRFONGAM = { - Class = JAConditionalSignalUpdateGAM - Values = {0 0 0} - InputSignals = { - // Condition signals - // Default output values - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //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 = RealTimeThreadAsyncBridge - Type = uint16 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - } - } - +debugSDNGAM = {//for debug - Class = IOGAM - InputSignals = { - Command = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - Command_DISP = { - DataSource = Display - Type = float32 - } - ESDNTime_DISP = { - DataSource = Display - Type = uint32 - } - } - } - +SDNReplyGAM = { - Class = IOGAM - InputSignals = { - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - WaveformPacketID = { - DataSource = DDB1 - Type = uint16 - } - GYA_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYB_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYA_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - GYB_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - } - 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 - } - } - } - //Write SDN waveform data into PS setpoint PV. - - // 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 - } - } - OutputSignals = { - TimeSDN = { - DataSource = DDB1 - Type = uint32 - } - CounterSDN = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for realtime statemachine - +Timer100kHzGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 200000 //operation:10k(=100us cyc) - //Frequency = 100000 //operation:100k(=10us cyc) - } - RTThreadPerf = { - DataSource = Timings - Alias = "WaitHVON.Thread3_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Digital Output port access. - // EPICS PV to one uint8 variable - +NI6528P3GAM = { - Class = JABitSumGAM - InputSignals = { - APS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV5 = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GAM = { - Class = JABitSumGAM - InputSignals = { - DO_REV6 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV7 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV8 = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAInput - Type = uint32 - } - HVARMED = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5GAM = { - Class = JABitSumGAM - InputSignals = { - HVINJECTION = { - DataSource = EPICSCAInput - Type = uint32 - } - RFON = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - SCM_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - SCM_RD = { - DataSource = EPICSCAInput - Type = uint32 - } - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - NONE1 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - NONE2 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - // reversed uint8 variable (value to write on port.) - +NI6528P3PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P5PortValue = { - DataSource = NI6528P5 - Type = uint8 - } - } - } - // write a uint8 port value to PXI data source. - +NI6528P3WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3Value = { - DataSource = NI6528P3 - Type = uint8 - } - } - } - +NI6528P4WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4Value = { - DataSource = NI6528P4 - Type = uint8 - } - } - } - - //Thread3 pulse parameter EPICS PVs read. - +GAMEPICSCA = { - Class = IOGAM - InputSignals = { - MHVPS_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - SHOTLEN = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_ON = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - 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 - } - PLC_ON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Real-Time state machine GAMs - +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 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210120 - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210121 - DO_REV6 = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - RTSMValue = { - 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 - } - //Added 20201117 - 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 - } - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4Value = { - DataSource = NI6528P4 - //DataSource = DDB1 - Type = uint8 - } - } - } - +GAMSDNRealTimeStateMachine = { - Class = JASDNRTStateMachineGAM - 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 - } - Command = { - DataSource = RealTimeThreadAsyncBridge - Type = uint16 - } - - } - OutputSignals = { - RTSMValue = { - DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - BeamON = { - 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 - } - } - } - - //Terminal Interface reads three inputs. - // INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value - // OUTPUTs: Each NIxxx data sources. - +terminalInterfaceGAM = { - Class = JATerminalInterfaceGAM - mhvps_hvon_term = 4 - aps_hvon_term = 1 - aps_swon_term = 16 - bps_hvon_term = 2 - bps_swon_term = 8 - InputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Input signals about HW terminal. - RTSMValue = { - DataSource = DDB1 - Type = uint32 - } - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4Value = { - DataSource = NI6528P4 - //DataSource = DDB1 - Type = uint8 - } - } - } - - // Switching AO port source between internal variable and EPICS PV. - +choiseGAM = { - Class = JASourceChoiseGAM - numberOfPVs = 5 - InputSignals = { - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - BPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - APS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - APS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MHVPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - } - } - - //debug - +debugTimerGAM = { - Class = IOGAM - InputSignals = { - Time1kHz = { - DataSource = DDB1 - Type = uint32 - } - TimeSDN = { - DataSource = DDB1 - Type = uint32 - } - Time = { - DataSource = DDB1 - Type = uint32 - } - Time1Hz = { - DataSource = DDB1 - Type = uint32 - } - - } - OutputSignals = { - T1_time = { - DataSource = Display - Type = uint32 - } - T2_time = { - DataSource = Display - Type = uint32 - } - T3_time = { - DataSource = Display - Type = uint32 - } - T4_time = { - DataSource = Display - 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 - } - } - } - - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +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 - } - } - } - +TimerSDN = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x200 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +Timer10Hz = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x800 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - // 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 - } - } - } - - +Timings = { - Class = TimingDataSource - } - +Display = { - Class = LoggerDataSource - } - // for data exechange between threads. - +RealTimeThreadAsyncBridge = { - Class = RealTimeThreadAsyncBridge - NumberOfBuffers = 20 - } - // for access ECPIS PV. - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "0x100" //change from 200 - StackSize = "10000000" - Signals = { - // PV for manually setting - 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 - } - // 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 - } - - //Digital Input PVs in Signal-Variable tab. - APS_READY = { - PVName = "EC-GN-P01-PA1F:PSU3000-YSTA" - 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 - } - BPS_READY = { - PVName = "EC-GN-P01-PB1F:PSU1000-YSTA" - 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 - } - MHVPS_READY = { - PVName = "EC-GN-P01-PMF:PSU0000-TYSTA" - Type = uint32 - } - MHVPS_MODON = { - PVName = "EC-GN-P01-GPF:PSU0000-YSTA-MOD" - 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_STANDBY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST1R" - Type = uint32 - } - PLC_READY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST2R" - Type = uint32 - } - PLC_ON = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST3R" - 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 - } - PLC_PERMIT = { - PVName = "EC-GN-P01-GPS:PLC4110-CON-GY1PRM" - 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_CCPSON = { - PVName = "EC-GN-P01-GPS:PLC4110-YON-CCPS1" - Type = uint32 - } - EXT_TRIG = { - PVName = "EC-GN-P01-GAF:DIO4900-YON" - Type = uint32 - } - - //Digital Output PVs in Variables-signal tab - 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_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - 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 - } - 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 - } - 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 - } - //Input PVs in Variables-Operation tab. - PREP_MODE = { - PVName = "EC-GN-P01-GAF:STAT-PREP-MODE" - Type = uint32 - } - SHORT_PULSE_MODE = { - PVName = "EC-GN-P01-GAF:STAT-SHORT-PULSE" - Type = uint32 - } - - 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 - } - - 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 - } - - FHPS_MANM = { - PVName = "EC-GN-P01-GAF-FHPS:STAT-MANM" - Type = uint32 - } - - 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 - } - RESET_FLT = { - PVName = "EC-GN-P01-GPF:STAT-RST-FLT" - //PVName = "EC-GN-P01-GPS-MEM:CMD-CONALARMRESET-HMI" - Type = uint32 - } - - //Input PVs in Variables-JASTEC tab. - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SET-MI" - Type = uint32 - } - MCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI" - Type = float32 - } - MCPS_ACT_RB = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB" - Type = uint32 - } - MCPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB" - Type = uint32 - } - GYA_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - GYB_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - MCPS_VOLT_MON = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON" - Type = uint32 - } - MCPS_SWP_RB = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB" - Type = uint32 - } - MCPS_SWP_LIM = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM" - Type = uint32 - } - MCPS_ERR = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ERR" - Type = uint32 - } - MCPS_MM = { - PVName = "EC-GN-P01-GAF-MCPS:STAT-MANM" - Type = uint32 - } - //GCPS PVs - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI" - Type = uint32 - } - GCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI" - Type = float32 - } - GCPS_ACT_RB = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB" - Type = uint32 - } - GCPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB" - Type = uint32 - } - GYA_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GYB_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GCPS_VOLT_MON = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON" - Type = uint32 - } - GCPS_SWP_RB = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB" - Type = uint32 - } - GCPS_SWP_LIM = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM" - Type = uint32 - } - GCPS_ERR = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ERR" - Type = uint32 - } - GCPS_MM = { - PVName = "EC-GN-P01-GAF-GCPS:STAT-MANM" - Type = uint32 - } - //Input PVs in Variables-kikusui tab. - FHPS_REM_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-REM-RB" - Type = uint32 - } - FHPS_OUTON_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB" - Type = uint32 - } - FHPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB" - Type = uint32 - } - FHPS_ACV_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB" - Type = uint32 - } - FHPS_FRQ_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB" - Type = uint32 - } - FHPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB" - Type = uint32 - } - FHPS_MEAS_ACV = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV" - 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 - } - FHPS_MEAS_ACP = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP" - Type = uint32 - } - FHPS_MEAS_FRQ = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ" - Type = uint32 - } - FHPS_ERR = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-ERROR" - Type = uint32 - } - 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 - } - - CCPS_REMLOC_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB" - Type = uint32 - } - CCPS_OUTON_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB" - Type = uint32 - } - CCPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB" - Type = uint32 - } - CCPS_DCV_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB" - Type = uint32 - } - CCPS_RANG_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-RANG-RB" - Type = uint32 - } - CCPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB" - Type = uint32 - } - CCPS_MEAS_DCV = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV" - Type = uint32 - } - 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 - } - CCPS_MEAS_DCP = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCP" - Type = uint32 - } - CCPS_ERR = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-ERROR" - Type = uint32 - } - CCPS_OUTPUT_AMP = { - PVName = "EC-GN-P01-GAF-CCPS:STAT-AMP" - Type = float32 - } - CCPS_OUTPUT_FREQ = { - PVName = "EC-GN-P01-GAF-CCPS:STAT-FREQ" - Type = float32 - } - CCPS_OUTPUT_OFFS = { - PVName = "EC-GN-P01-GAF-CCPS:STAT-OFFS" - Type = float32 - } - //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 - } - } - } - +EPICSCAOutput = { - Class = "EPICSCA::EPICSCAOutput" - CPUMask = "0x100" //change from 0x200 - StackSize = "10000000" - NumberOfBuffers = 2 - Signals = { - PCF_STATE = { - PVName = "EC-GN-P01-GAF:STAT-SM" - Type = uint32 - } - //Analog Output PVs in Variables-signal tab. - FHPS_REF = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-EREF" - Type = float32 - } - BPS_REF = { - PVName = "EC-GN-P01-PB1F:PSU1000-EREF" - Type = float32 - } - APS_REF = { - PVName = "EC-GN-P01-PA1F:STAT-EREF-CONV.A" - Type = float32 - } - MHVPS_REF = { - PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.A" - Type = float32 - } - - //Digital Output PVs in Variables-signal tab. - APS_STOP = { - PVName = "EC-GN-P01-PA1F:PSU3000-CTRP" - 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 - } - - MHVPS_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - Type = uint32 - } - PCF_FLT = { - PVName = "EC-GN-P01-GPF:PCF4210-CTRP" - 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 - } - - //Output PVs in Variables-operation tab. - 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 - } - FHPS_PREP_WF = { - PVName = "EC-GN-P01-GAF-FHPS: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 - } - PREP_TIME_WF = { - PVName = "EC-GN-P01-GAF:STAT-PREP-TIME-WF" - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BEAM_ON_TIME = { - PVName = "EC-GN-P01-GAF:STAT-BEAMON-TIME" - Type = uint32 - } - ELAPSED_TIME = { - PVName = "EC-GN-P01-GAF:STAT-ELAPSED" - Type = uint32 - } - SHOT_ID = { - PVName = "EC-GN-P01-GAF:STAT-SHOT-ID" - Type = uint32 - } - - CSV_LOADED = { - PVName = "EC-GN-P01-GAF:STAT-CSV-LOADED" - Type = uint32 - } - CSV_ERR = { - PVName = "EC-GN-P01-GAF:STAT-CSV-ERR" - Type = uint32 - } - - //Output PVs in Variables-jastec tab. - MCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO" - Type = float32 - } - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO" - Type = uint32 - } - GCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO" - Type = float32 - } - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO" - Type = uint32 - } - - //Output PVs in Variables-kikusui tab. - CCPS_REF = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-EREF" - Type = float32 - } - FHPS_AUTO_STAT = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT" - Type = uint32 - } - //Add 20201117 - 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 - } - } - } - // for ESDN packet subscription/publication. - +SDNSubCommands = { - Class = SDN::SDNSubscriber - Topic = ECPC2SCUJA - Interface = enp27s0f0 - 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 = enp27s0f0 - 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 - } - } - } - - // 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 - - } - +States = { - Class = ReferenceContainer - +Disabled = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM GoErrorGAM InDisabledGAM - GoWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM} - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - +WaitStandby = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitStandbyGAM - choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoDisabledGAM GoWaitReadyGAM GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - +WaitReady = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitReadyGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - +WaitPermit = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitPermitGAM - choiseGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - - //Real-Time state for HVPS sequence timing control. - +WaitHVON = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitHVONGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } -// +Thread4 = { -// Class = RealTimeThread -// Functions = {Timer10HzGAM GAMExecTime } -// CPUs = 0x800 -// } - } - } - +WaitHVON_SDN = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSRampupGAM InWaitHVON_SDNGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } - } - } - +WaitHVON_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } - } - } - +WaitHVON_SDN_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_SDN_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM} - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } - } - } - - +Error = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM InErrorGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - ExitedHVArmedInjectionRFONGAM ResetPSsGAM - FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM} - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} diff --git a/EC-GN-JA-PCF/.svn/pristine/f5/f5e2f843ad2ebec2c0e0942cf9b73760fbfdc391.svn-base b/EC-GN-JA-PCF/.svn/pristine/f5/f5e2f843ad2ebec2c0e0942cf9b73760fbfdc391.svn-base deleted file mode 100644 index c6da874..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f5/f5e2f843ad2ebec2c0e0942cf9b73760fbfdc391.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/f7/f78215091b2ca375b6d286aa857252c3654696b5.svn-base b/EC-GN-JA-PCF/.svn/pristine/f7/f78215091b2ca375b6d286aa857252c3654696b5.svn-base deleted file mode 100644 index 9ae00ed..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f7/f78215091b2ca375b6d286aa857252c3654696b5.svn-base +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,9,9,9,9 -20,50,35,8,8,8,8 -30,45,30,7,7,7,7 -40,40,25,6,6,6,6 -50,35,20,5,5,5,5 -60,30,15,4,4,4,4 -70,25,10,3,3,3,3 -80,20,5,2,2,2,2 -90,15,0,1,1,1,1 -100,10,-5,0,0,0,0 -110,5,0,1,1,1,1 -120,0,5,2,2,2,2 -130,-5,10,3,3,3,3 -140,0,15,4,4,4,4 -150,5,20,5,5,5,5 -160,10,25,6,6,6,6 -170,15,30,7,7,7,7 -180,20,35,8,8,8,8 -190,25,40,9,9,9,9 -200,30,45,10,10,10,10 -210,35,40,11,9,9,9 -220,40,35,12,8,8,8 -230,45,30,11,7,7,7 -240,50,25,10,6,6,6 -250,55,20,9,5,5,5 -260,60,15,8,4,4,4 -270,55,10,7,3,3,3 -280,50,5,6,2,2,2 -290,45,0,5,1,1,1 -300,40,-5,4,0,0,0 -310,35,0,3,1,1,1 -320,30,5,2,2,2,2 -330,25,10,1,3,3,3 -340,20,15,0,4,4,4 -350,15,20,1,5,5,5 -360,10,25,2,6,6,6 -370,5,30,3,7,7,7 -380,0,35,4,8,8,8 -390,-5,40,5,9,9,9 -400,0,45,6,10,10,10 -410,5,40,7,9,9,9 -420,10,35,8,8,8,8 -430,15,30,9,7,7,7 -440,20,25,10,6,6,6 -450,25,20,11,5,5,5 -460,30,15,12,4,4,4 -470,35,10,11,3,3,3 -480,40,5,10,2,2,2 -490,45,0,9,1,1,1 -500,50,-5,8,0,0,0 -510,55,0,7,1,1,1 -520,60,5,6,2,2,2 -530,55,10,5,3,3,3 -540,50,15,4,4,4,4 -550,45,20,3,5,5,5 -560,40,25,2,6,6,6 -570,35,30,1,7,7,7 -580,30,35,0,8,8,8 -590,25,40,1,9,9,9 -600,20,45,2,10,10,10 -610,15,40,3,9,9,9 -620,10,35,4,8,8,8 -630,5,30,5,7,7,7 -640,0,25,6,6,6,6 -650,-5,20,7,5,5,5 -660,0,15,8,4,4,4 -670,5,10,9,3,3,3 -680,10,5,10,2,2,2 -690,15,0,11,1,1,1 -700,20,-5,12,0,0,0 -710,25,0,11,1,1,1 -720,30,5,10,2,2,2 -730,35,10,9,3,3,3 -740,40,15,8,4,4,4 -750,45,20,7,5,5,5 -760,50,25,6,6,6,6 -770,55,30,5,7,7,7 -780,60,35,4,8,8,8 -790,55,40,3,9,9,9 -800,50,45,2,10,10,10 -810,45,40,1,9,9,9 -820,40,35,0,8,8,8 -830,35,30,1,7,7,7 -840,30,25,2,6,6,6 -850,25,20,3,5,5,5 -860,20,15,4,4,4,4 -870,15,10,5,3,3,3 -880,10,5,6,2,2,2 -890,5,0,7,1,1,1 -900,0,-5,8,0,0,0 -910,-5,0,9,1,1,1 -920,0,5,10,2,2,2 -930,5,10,11,3,3,3 -940,10,15,12,4,4,4 -950,15,20,11,5,5,5 -960,20,25,10,6,6,6 -970,25,30,9,7,7,7 -980,30,35,8,8,8,8 -990,35,40,7,9,9,9 -1000,40,45,6,10,10,10 diff --git a/EC-GN-JA-PCF/.svn/pristine/f7/f793e20f38d901e56bd8139d9e42fce7bdafb813.svn-base b/EC-GN-JA-PCF/.svn/pristine/f7/f793e20f38d901e56bd8139d9e42fce7bdafb813.svn-base deleted file mode 100644 index 90477ef..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f7/f793e20f38d901e56bd8139d9e42fce7bdafb813.svn-base +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -import test_async -import test_sync -import test_ready_hw -import test_setup_hw -import test_standby_hw -import test_ready -import test_setup -import test_standby - - -"""" -Test GYB operation with Async mode. -This code can be executed when WaitPermit state. -""" -# 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-GY2PRM.SCAN Passive', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SIML ', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SIMM 1', shell=True) -res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SVAL 1', shell=True) -res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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.SCAN Passive', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SIML ', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SIMM 1', shell=True) -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(11) -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-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!" - diff --git a/EC-GN-JA-PCF/.svn/pristine/f8/f857620d5b68a92beb7a69cd53009febfd5e4aa2.svn-base b/EC-GN-JA-PCF/.svn/pristine/f8/f857620d5b68a92beb7a69cd53009febfd5e4aa2.svn-base deleted file mode 100644 index 770f841..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f8/f857620d5b68a92beb7a69cd53009febfd5e4aa2.svn-base +++ /dev/null @@ -1,86 +0,0 @@ -#====================================================================== -# PLC(s) driver configuration commands -#====================================================================== -# level=-1: no output -# level=0: errors only -# level=1: startup messages -# level=2: + output record processing -# level=3: + input record processing -# level=4: + driver calls -# level=5: + io printout -# be careful using level>1 since many messages may introduce delays - -# var s7plcDebug 2 - -# s7plcConfigure name,IPaddr,port,inSize,outSize,bigEndian,recvTimeout,sendIntervall, configversion -# connects to PLC on address port -# : size of data block PLC -> IOC [bytes] -# : size of data block IOC -> PLC [bytes] -# =1 : motorola format data (MSB first) -# =0 : intel format data (LSB first) -# : receive buffer interval [ms] (Default : 50ms) -# : time to wait before sending new data to PLC [ms] -# : database configuration version - -# s7plcConfigureCmd name,IPaddr,port,outSize,bigEndian,sendIntervall -# connects to PLC on address port -# : size of data block IOC -> PLC [bytes] -# =1 : motorola format data (MSB first) -# =0 : intel format data (LSB first) -# : time to wait before sending new data to PLC [ms] - - - -#============================================================================ -# s7plc asyn driver configuration commands -#============================================================================ - -#============================================================================ -# NI-6259 DAQ I/O Module driver configuration commands -#============================================================================ -# Reference: ITER_D_3DEY52 v1.3 - NI PXI-6259 EPICS Driver User’s Guide - -# For analogue input, analogue output, waveform, initialize using below function -# pxi6259_ai_init(uint8 cardnumber, uint32 range, uint32 clk_source, uint32 clk_edge); -# Example: pxi6259_ai_init(0, 1, 0, 0) - -# For binary input, binary output, multi-bit binary input, multi bit binary output, initialize using below function -# pxi6259init(uint8 cardnumber, uint32 portmask0, uint8 portmask1, uint8 portmask2); -# Example: pxi6259_bio_init(0, 0xFF000000, 0xFF, 0xFF) - - -#============================================================================ -# NI-6682 Timing and Synchronization I/O Module driver configuration commands -#============================================================================ -# Reference ITER_D_33Q5TX v1.7 - NI Sync EPICS Driver User’s Guide - -# nisyncDrvInit(string port, char* type, int cardNumber); -# Example: nisyncDrvInit("S0", "PXI-6682", "0"); -# Example: nisyncDrvInit("S0", "PXI-6683H", "0"); -# nisyncTimeInit(int cardID, char* type, int cardNumber); -# Example: nisyncTimeInit("0", "PXI-6682", "0") -# Example: nisyncTimeInit("0", "PXI-6683H", "0") - - -#============================================================================================ -# NI-6368 X Series - Multifunction Data Acquisition I/O Module driver configuration commands -#============================================================================================ -# Reference ITER_D_3P4N3R v1.2 - NI X Series EPICS Driver User’s Guide - -# nixseriesInit(char *portName, char *nix6368Card); -# Example: nixseriesInit("ni6368_0", "/dev/ni6368.0"); - - -#============================================================================ -# NI-6528 DAQ I/O Module driver configuration commands -#============================================================================ -# Reference ITER_D_433VEW - NI PXI-6528 EPICS Driver User's Manual -# ni6528_init(char *portName, char *ni6528Card); -# Example: pxi6528_init("ni6528_0", "/dev/ni6528.0") -# asynSetTraceMask("",0,255) -# Example: asynSetTraceMask("pxi6528_0",0,255) -# pxi6528_reset(char *portName) -# Example: pxi6528_reset("pxi6528_0") - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/f8/f876b4440a9e137f5a0eebf48d374470bc16442f.svn-base b/EC-GN-JA-PCF/.svn/pristine/f8/f876b4440a9e137f5a0eebf48d374470bc16442f.svn-base deleted file mode 100644 index 0973323..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f8/f876b4440a9e137f5a0eebf48d374470bc16442f.svn-base +++ /dev/null @@ -1 +0,0 @@ -Last SDD Generation: Tue May 13 13:54:39 UTC 2025 diff --git a/EC-GN-JA-PCF/.svn/pristine/f9/f92eb213b939c6244c4b7fac9a484391ee831af3.svn-base b/EC-GN-JA-PCF/.svn/pristine/f9/f92eb213b939c6244c4b7fac9a484391ee831af3.svn-base deleted file mode 100644 index 4ff855f..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f9/f92eb213b939c6244c4b7fac9a484391ee831af3.svn-base +++ /dev/null @@ -1,389 +0,0 @@ -record (bi,"EC-GN-P01-GBF:DIO4900-YON") -{ - field(DESC, "GY3 External trigger") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 22) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-AI-SIMM") -{ - field(DESC, "GY2 AI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-AO-SIMM") -{ - field(DESC, "GY2 AO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-CSV-LOAD") -{ - field(DESC, "File load trigger") - field(HIGH, "0.1") - field(ONAM, "Loading") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Load") -} - -record (bo,"EC-GN-P01-GBF:STAT-CSV-LOADED") -{ - field(DESC, "File load status") - field(ONAM, "Loaded") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Loading") -} - -record (bo,"EC-GN-P01-GBF:STAT-DI-SIMM") -{ - field(DESC, "GY2 DI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-DO-SIMM") -{ - field(DESC, "GY2 DO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU") -{ - field(DESC, "GY2 egu of shot length") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") - field(ONAM, "s") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "ms") -} - -record (bo,"EC-GN-P01-GBF:STAT-MST-TRIG") -{ - field(DESC, "GY2 Master trigger") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-PREP-MODE") -{ - field(DESC, "GY2 Pre-Pro mode ON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-SHORT-PULSE") -{ - field(DESC, "GY2 Short Pulse Mode") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-TRIG-SOUR") -{ - field(DESC, "GY2 External Trigger Mode SW") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ai,"EC-GN-P01-GBF:MOE2810-ET") -{ - field(DESC, "GY2 Arc detect signal 1") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2810-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 1") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MOE2820-ET") -{ - field(DESC, "GY2 Arc detect signal 2") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2820-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 2") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MOE2830-ET") -{ - field(DESC, "GY2 Arc detect signal 3") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2830-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 3") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MRF2910-ET") -{ - field(DESC, "GY2 RF Signal") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MRF2910-ET-WF") -{ - field(DESC, "GY2 RF Signal") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:STAT-BEAMON-TIME") -{ - field(DESC, "GY2 Beam ON time") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (mbbo,"EC-GN-P01-GBF:STAT-CSV-ERR") -{ - field(DESC, "File load error status") - field(FRST, "Format error") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "Out of range") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(ONST, "Successfully loaded") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Empty data") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Failed to open") - field(TWSV, "MAJOR") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Not loaded yet") - field(ZRSV, "MINOR") - field(ZRVL, "0") -} - -record (stringout,"EC-GN-P01-GBF:STAT-CSV-NAME") -{ - field(DESC, "CSV file name") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "shot000000") -} - -record (ai,"EC-GN-P01-GBF:STAT-DT-SHOTLEN") -{ - field(DESC, "GY2 Shot length") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "100") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "1000000") -} - -record (calcout,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") -{ - field(CALC, "(!A)?1000*B:1000000*B") - field(DESC, "GY2 shot length convert") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN") - field(INPA, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU") - field(INPB, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM") - field(OUT, "EC-GN-P01-GBF:STAT-DT-SHOTLEN") - field(SCAN, "Passive") -} - -record (ao,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM") -{ - field(DESC, "GY2 shot length without unit") - field(DRVH, "3600") - field(DRVL, "0") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") - field(HOPR, "3600") - field(LOPR, "0") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF:STAT-ELAPSED") -{ - field(DESC, "GY2 Elapsed time") - field(EGU, "us") - field(HOPR, "4000000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (longin,"EC-GN-P01-GBF:STAT-PREHEAT-TIME") -{ - field(DESC, "Pre-heating time") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (waveform,"EC-GN-P01-GBF:STAT-PREP-TIME-WF") -{ - field(DESC, "GY2 prepro time schedule") - field(EGU, "ms") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") -} - -record (fanout,"EC-GN-P01-GBF:STAT-SHOT-FLNK1") -{ - field(DESC, "GY2 fanout1 to AI waveform signal") -} - -record (fanout,"EC-GN-P01-GBF:STAT-SHOT-FLNK2") -{ - field(DESC, "GY2 fanout2 to AI waveform signal") -} - -record (longin,"EC-GN-P01-GBF:STAT-SHOT-ID") -{ - field(DESC, "GY2 shot ID") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (calcout,"EC-GN-P01-GBF:STAT-SHOT-PLOT") -{ - field(CALC, "A andand (B >= C)") - field(DESC, "GY2 judge to plot measured values") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST3R") - field(INPB, "EC-GN-P01-GBF:STAT-BEAMON-TIME") - field(INPC, "6000000") - field(OOPT, "Transition To Non-zero") - field(OUT, "EC-GN-P01-GBF:STAT-SHOT-FLNK1 PP") - field(SCAN, ".1 second") -} - -record (mbbi,"EC-GN-P01-GBF:STAT-SM") -{ - field(DESC, "GY#2 state machine") - field(EIST, "WaitHVON_SDN") - field(EIVL, "8") - field(FLNK, "EC-GN-P01-GBF:STAT-SHOT-PLOT") - field(FRST, "WaitReady") - field(FRVL, "4") - field(FVST, "WaitPermit") - field(FVVL, "5") - field(NIST, "WaitHVON_SDN_PREP") - field(NIVL, "9") - field(ONST, "Error") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SVST, "WaitHVON_PREP") - field(SVVL, "7") - field(SXST, "WaitHVON") - field(SXVL, "6") - field(THST, "WaitStandby") - field(THVL, "3") - field(TWST, "Disabled") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Init") - field(ZRVL, "0") -} - diff --git a/EC-GN-JA-PCF/.svn/pristine/f9/f94cc269b31ef6a419187174b4870486ce197549.svn-base b/EC-GN-JA-PCF/.svn/pristine/f9/f94cc269b31ef6a419187174b4870486ce197549.svn-base deleted file mode 100644 index 876d64e..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f9/f94cc269b31ef6a419187174b4870486ce197549.svn-base +++ /dev/null @@ -1,264 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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; - // Input signal for pause signal set pv. - MARTe::uint32 *pauseSet; - - // 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_ */ diff --git a/EC-GN-JA-PCF/.svn/pristine/f9/f9668ddac31145540c01cf0d1c9d000321a10adc.svn-base b/EC-GN-JA-PCF/.svn/pristine/f9/f9668ddac31145540c01cf0d1c9d000321a10adc.svn-base deleted file mode 100644 index 9a1eb6b..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f9/f9668ddac31145540c01cf0d1c9d000321a10adc.svn-base +++ /dev/null @@ -1,45 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db -dbLoadRecords("PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db") - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, IOCTYPE=CORE, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/pristine/f9/f9718c0f3bd0ea1f577124c91d43093b1c5f5567.svn-base b/EC-GN-JA-PCF/.svn/pristine/f9/f9718c0f3bd0ea1f577124c91d43093b1c5f5567.svn-base deleted file mode 100644 index 5c2de87..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/f9/f9718c0f3bd0ea1f577124c91d43093b1c5f5567.svn-base +++ /dev/null @@ -1,233 +0,0 @@ -/** - * @file EPICSCAOutput.h - * @brief Header file for class EPICSCAOutput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAOutput - * 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 JAEPICSCAOutput_H_ -#define JAEPICSCAOutput_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" -#include "JAEPICSCAInput.h" -#include "EmbeddedServiceMethodBinderI.h" -#include "EventSem.h" -#include "SingleThreadService.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -//Maximum size that a PV name may have - -/** - * @brief A DataSource which allows to output data into any number of PVs using the EPICS channel access client protocol. - * Data is asynchronously ca_put in the context of a different thread (w.r.t. to the real-time thread). - * - * The configuration syntax is (names are only given as an example): - * - *
- * +EPICSCAOutput_1 = {
- *     Class = EPICSCA::EPICSCAOutput
- *     StackSize = 1048576 //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u
- *     CPUs = 0xff //Optional the affinity of the EmbeddedThread (where the EPICS context is attached).
- *     IgnoreBufferOverrun = 1 //Optional. If true no error will be triggered when the thread that writes into EPICS does not consume the data fast enough.
- *     NumberOfBuffers = 10 //Compulsory. Number of buffers in a circular buffer that asynchronously writes the PV values. Each buffer is capable of holding a copy of all the DataSourceI signals.
- *     Signals = {
- *          PV1 = { //At least one shall be defined
- *             PVName = My::PV1 //Compulsory. Name of the PV.
- *             Type = uint32 //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, float32 and float64
- *          }
- *          ...
- *     }
- * }
- *
- * 
- */ -class JAEPICSCAOutput: public DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Default constructor. NOOP. - */ - JAEPICSCAOutput(); - - /** - * @brief Destructor. - * @details TODO. - */ - virtual ~JAEPICSCAOutput(); - - /** - * @brief See DataSourceI::AllocateMemory. NOOP. - * @return true. - */ - virtual bool AllocateMemory(); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @return 1. - */ - virtual uint32 GetNumberOfMemoryBuffers(); - - /** - * @brief See DataSourceI::GetSignalMemoryBuffer. - * @pre - * SetConfiguredDatabase - */ - virtual bool GetSignalMemoryBuffer(const uint32 signalIdx, - const uint32 bufferIdx, - void *&signalAddress); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @details Only OutputSignals are supported. - * @return MemoryMapAsyncOutputBroker. - */ - virtual const char8 *GetBrokerName(StructuredDataI &data, - const SignalDirection direction); - - /** - * @brief See DataSourceI::GetInputBrokers. - * @return false. - */ - virtual bool GetInputBrokers(ReferenceContainer &inputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::GetOutputBrokers. - * @details adds a memory MemoryMapOutputBroker instance to the outputBrokers - * @return true. - */ - virtual bool GetOutputBrokers(ReferenceContainer &outputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::PrepareNextState. NOOP. - * @return true. - */ - virtual bool PrepareNextState(const char8 * const currentStateName, - const char8 * const nextStateName); - - /** - * @brief Loads and verifies the configuration parameters detailed in the class description. - * @return true if all the mandatory parameters are correctly specified and if the specified optional parameters have valid values. - */ - virtual bool Initialise(StructuredDataI & data); - - /** - * @brief Final verification of all the parameters. Setup of the memory required to hold all the signals. - * @details This method verifies that all the parameters requested by the GAMs interacting with this DataSource - * are valid and consistent with the parameters set during the initialisation phase. - * In particular the following conditions shall be met: - * - All the signals have the PVName defined - * - All the signals have one of the following types: uint32, int32, float32 or float64. - * @return true if all the parameters are valid and the conditions above are met. - */ - virtual bool SetConfiguredDatabase(StructuredDataI & data); - - /** - * @brief Gets the affinity of the thread which is going to be used to asynchronously write data with ca_put. - * @return the affinity of the thread which is going to be used to asynchronously write data with ca_put. - */ - uint32 GetCPUMask() const; - - /** - * @brief Gets the stack size of the thread which is going to be used to asynchronously write data with ca_put. - * @return the stack size of the thread which is going to be used to asynchronously write data with ca_put. - */ - uint32 GetStackSize() const; - - /** - * @brief Gets the number of buffers in the circular buffer that asynchronously writes the PV values. - * @return the number of buffers in the circular buffer that asynchronously writes the PV values. - */ - uint32 GetNumberOfBuffers() const; - - /** - * @brief Provides the context to execute all the EPICS ca_put calls. - * @details Executes in the context of the MemoryMapAsyncOutputBroker thread the following EPICS calls: - * ca_context_create, ca_create_channel, ca_create_subscription, ca_clear_subscription, - * ca_clear_event, ca_clear_channel, ca_detach_context and ca_context_destroy - * @return true if all the EPICS calls return without any error. - */ - virtual bool Synchronise(); - - /** - * @brief Gets if buffer overruns is being ignored (i.e. the consumer thread which writes into EPICS is not consuming the data fast enough). - * @return if true no error is to be triggered when there is a buffer overrun. - */ - bool IsIgnoringBufferOverrun() const; - - -private: - /** - * List of PVs. - */ - PVWrapper *pvs; - - /** - * The CPU mask for the executor - */ - uint32 cpuMask; - - /** - * The stack size - */ - uint32 stackSize; - - /** - * Stores the configuration information received at Initialise. - */ - ConfigurationDatabase originalSignalInformation; - - /** - * The number of buffers for the circular buffer that flushes data into EPICS - */ - uint32 numberOfBuffers; - - /** - * True once the epics thread context is set - */ - bool threadContextSet; - - /** - * If true no error will be triggered when the data cannot be consumed by the thread doing the caputs. - */ - uint32 ignoreBufferOverrun; -}; -} - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* EPICSCADATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/.svn/pristine/fc/fc72bf70c2b1641f01f53d70c4434251ac91c48c.svn-base b/EC-GN-JA-PCF/.svn/pristine/fc/fc72bf70c2b1641f01f53d70c4434251ac91c48c.svn-base deleted file mode 100644 index 5ed5d9a..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/fc/fc72bf70c2b1641f01f53d70c4434251ac91c48c.svn-base +++ /dev/null @@ -1,56 +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=JAPreProgrammedGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(LIBEXT) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/.svn/pristine/fd/fd0b92393cb9493bab3cfc5acbd87baf25b6b0b3.svn-base b/EC-GN-JA-PCF/.svn/pristine/fd/fd0b92393cb9493bab3cfc5acbd87baf25b6b0b3.svn-base deleted file mode 100644 index 5dc56ee..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/fd/fd0b92393cb9493bab3cfc5acbd87baf25b6b0b3.svn-base +++ /dev/null @@ -1,10 +0,0 @@ -############################################################################ -## CODAC specific environment variables -############################################################################ - -epicsEnvSet("AUTOSAVE_SYSM_PV_PREFIX","EC-GN-SYSM:PCF0CORE-") -epicsEnvSet("IOCSH_PS1","${IOC}> ") -epicsEnvSet("STREAM_PROTOCOL_PATH","$(TOP)/db:$(EPICS_ROOT)/db") - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/fd/fd457b8be97664469d62dd37b2c7128e729ca9d7.svn-base b/EC-GN-JA-PCF/.svn/pristine/fd/fd457b8be97664469d62dd37b2c7128e729ca9d7.svn-base deleted file mode 100644 index 7e7b51c..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/fd/fd457b8be97664469d62dd37b2c7128e729ca9d7.svn-base +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("SystemDetailsTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-IOC_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/.svn/pristine/fd/fde3b008976e0fee8c8b75ff0d3124af4cd3aafa.svn-base b/EC-GN-JA-PCF/.svn/pristine/fd/fde3b008976e0fee8c8b75ff0d3124af4cd3aafa.svn-base deleted file mode 100644 index 5ea32f6..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/fd/fde3b008976e0fee8c8b75ff0d3124af4cd3aafa.svn-base +++ /dev/null @@ -1,23557 +0,0 @@ - - - - - -52 - - - -EC-GN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10.136.136.101 - - -52RF01-PSH-4410 - - - - -52RF01-PCF-4210.codac.iter.org - - -52RF01-PCF-4210.codac.iter.org-R1 - - -52RF01-PCF-4210.codac.iter.org-R1 - - - - - -10.136.136.13-T1 - - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEAALL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-RESET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-TAIUTC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMN - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DEVNAME - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DRIVER - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEMAX - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTENUM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-HBDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-LVL_ERRS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SERIAL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNCLOST - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:DIO4900-YON - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-MST-TRIG - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-MODE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-ERR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-NAME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-ELAPSED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-ID - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV1 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV2 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV3 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV5 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV6 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV7 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV8 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OV - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YSTA-GAOP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:DIO4900-YON - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-MST-TRIG - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-MODE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-ERR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -string -configuration - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-NAME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-ELAPSED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-ID - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV1 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV2 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV3 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV5 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV6 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV7 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV8 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YSTA-GBOP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-CTRP - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PSU0000-YSTA-MOD - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-CONF-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-RECONF - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SW-TRIG - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RST-FLT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD1-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD2-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD3-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD4-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RDY-TOUT - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY1PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY2PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YSTA-MPSS - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTRP - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD4 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST1R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST2R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST3R - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-HV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-SW - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CTRP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YFLT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YSTA - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-MANM - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-MSP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-P - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-HVON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-SWON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-PREP-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-HV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-SW - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CTRP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YFLT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YSTA - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-MANM - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-MSP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-P - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-HVON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-SWON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-PREP-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-HV - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-SW - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CTRP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YFLT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YSTA - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-MANM - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF-MSP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-HVON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-SWON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-PREP-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-HV - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-SW - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CTRP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YFLT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YSTA - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-MANM - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF-MSP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-HVON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-SWON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-PREP-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-COFF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-MOD - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-SW - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-TYSTA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-YFLT - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-MANM - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF-MSP - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-DT-HVON - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-EREF-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-HVON-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-PREP-WF - - - - - - - - - - -iocEC-GN-PSH0PCF -PCFCORE IOC -epicsioc -IOC - - - -52RF01-PCF-4210 - -iocEC-GN-PCF0SYSM -PCFSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0SYSM -PSHSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0CUB -PSHCUB IOC -epicsioc -IOC - - - - - - diff --git a/EC-GN-JA-PCF/.svn/pristine/fe/fe8153aa8f3140970beef51d066617b03961950e.svn-base b/EC-GN-JA-PCF/.svn/pristine/fe/fe8153aa8f3140970beef51d066617b03961950e.svn-base deleted file mode 100644 index ab5d5da..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/fe/fe8153aa8f3140970beef51d066617b03961950e.svn-base +++ /dev/null @@ -1,14 +0,0 @@ -############################################ -# I&C project-specific environment variables -############################################ - -# INFO - This file is part of the I&C project. It can be modified without risk of being overwritten. -# INFO - This file is sourced when invoking 'mvn run' to allow for setting development-specific environment variables. - -# INFO - This file can be further extended with anything specific required by the I&C project. - -#LOG_FILE_ENABLE=false -#LOG_FILTER_LEVEL=info -#LOG_FWD_MODE=asyn - -export DAN_ARCHIVE_MASTER=192.168.102.3:9999 \ No newline at end of file diff --git a/EC-GN-JA-PCF/.svn/pristine/fe/fe9c11d5f1c5a761427b0891a8982ea94aef42c5.svn-base b/EC-GN-JA-PCF/.svn/pristine/fe/fe9c11d5f1c5a761427b0891a8982ea94aef42c5.svn-base deleted file mode 100644 index 42b3063..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/fe/fe9c11d5f1c5a761427b0891a8982ea94aef42c5.svn-base +++ /dev/null @@ -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=JABitSumGAM.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)/JABitSumGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitSumGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/.svn/pristine/fe/fec88461f29a6a16b338343b2c69ddb664838b13.svn-base b/EC-GN-JA-PCF/.svn/pristine/fe/fec88461f29a6a16b338343b2c69ddb664838b13.svn-base deleted file mode 100644 index 6751924..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/fe/fec88461f29a6a16b338343b2c69ddb664838b13.svn-base +++ /dev/null @@ -1,6002 +0,0 @@ -t (100ms),EW6-Voset (kV),EW2-Voset (kV),EW3-VOset (kV),EW101-MC-Ioset (A),EW101-GC-Ioset (A),FPS101-Voset (V) -0,46,20,15,111.3,1.7,53.2 -1,46,20.5,14.5,111.3,1.7,62 -2,46,21,14,111.3,1.7,62 -3,46,21.5,13.5,111.3,1.7,62 -4,46,22,13,111.3,1.7,62 -5,46,22.5,12.5,111.3,1.7,62 -6,46,23,12,111.3,1.7,62 -7,46,23.5,11.5,111.3,1.7,62 -8,46,24,11,111.3,1.7,62 -9,46,24.5,10.5,111.3,1.7,62 -10,46,25,10,111.3,1.7,62 -11,46,25.5,9.5,111.3,1.7,62 -12,46,26,9,111.3,1.7,62 -13,46,26.5,8.5,111.3,1.7,62 -14,46,27,8,111.3,1.7,62 -15,46,27.5,7.5,111.3,1.7,62 -16,46,28,7,111.3,1.7,62 -17,46,28.5,6.5,111.3,1.7,62 -18,46,29,6,111.3,1.7,62 -19,46,29.5,5.5,111.3,1.7,62 -20,46,30,5,111.3,1.7,62 -21,46,30,4.5,111.3,1.7,62 -22,46,30,4,111.3,1.7,62 -23,46,30,4,111.3,1.7,62 -24,46,30,4,111.3,1.7,62 -25,46,30,4,111.3,1.7,62 -26,46,30,4,111.3,1.7,62 -27,46,30,4,111.3,1.7,62 -28,46,30,4,111.3,1.7,62 -29,46,30,4,111.3,1.7,62 -30,46,30,4,111.3,1.7,62 -31,46,30,3.4,111.3,1.7,62 -32,46,30,3.4,111.3,1.7,62 -33,46,30,3.4,111.3,1.7,62 -34,46,30,3.4,111.3,1.7,62 -35,46,30,3.4,111.3,1.7,62 -36,46,30,3.4,111.3,1.7,62 -37,46,30,3.4,111.3,1.7,62 -38,46,30,3.4,111.3,1.7,62 -39,46,30,3.4,111.3,1.7,62 -40,46,30,3.4,111.3,1.7,62 -41,46,30,3.4,111.3,1.7,62 -42,46,30,3.4,111.3,1.7,62 -43,46,30,3.4,111.3,1.7,62 -44,46,30,3.4,111.3,1.7,62 -45,46,30,3.4,111.3,1.7,62 -46,46,30,3.4,111.3,1.7,62 -47,46,30,3.4,111.3,1.7,62 -48,46,30,3.4,111.3,1.7,62 -49,46,30,3.4,111.3,1.7,62 -50,46,30,3.4,111.3,1.7,62 -51,46,30,3.4,111.3,1.7,62.1 -52,46,30,3.4,111.3,1.7,62.2 -53,46,30,3.4,111.3,1.7,62.3 -54,46,30,3.4,111.3,1.7,62.4 -55,46,30,3.4,111.3,1.7,62.5 -56,46,30,3.4,111.3,1.7,62.6 -57,46,30,3.4,111.3,1.7,62.7 -58,46,30,3.4,111.3,1.7,62.8 -59,46,30,3.4,111.3,1.7,62.9 -60,46,30,3.4,111.3,1.7,63 -61,46,30,3,111.3,1.7,63.1 -62,46,30,3,111.3,1.7,63.2 -63,46,30,3,111.3,1.7,63.3 -64,46,30,3,111.3,1.7,63.4 -65,46,30,3,111.3,1.7,63.5 -66,46,30,3,111.3,1.7,63.6 -67,46,30,3,111.3,1.7,63.7 -68,46,30,3,111.3,1.7,63.8 -69,46,30,3,111.3,1.7,63.9 -70,46,30,3,111.3,1.7,64 -71,46,30,3,111.3,1.7,64.1 -72,46,30,3,111.3,1.7,64.2 -73,46,30,3,111.3,1.7,64.3 -74,46,30,3,111.3,1.7,64.4 -75,46,30,3,111.3,1.7,64.5 -76,46,30,3,111.3,1.7,64.6 -77,46,30,3,111.3,1.7,64.7 -78,46,30,3,111.3,1.7,64.8 -79,46,30,3,111.3,1.7,64.9 -80,46,30,3,111.3,1.7,65 -81,46,30,3,111.3,1.7,65.1 -82,46,30,3,111.3,1.7,65.2 -83,46,30,3,111.3,1.7,65.3 -84,46,30,3,111.3,1.7,65.4 -85,46,30,3,111.3,1.7,65.5 -86,46,30,3,111.3,1.7,65.6 -87,46,30,3,111.3,1.7,65.7 -88,46,30,3,111.3,1.7,65.8 -89,46,30,3,111.3,1.7,65.9 -90,46,30,3,111.3,1.7,66 -91,46,30,3,111.3,1.7,66.1 -92,46,30,3,111.3,1.7,66.2 -93,46,30,3,111.3,1.7,66.3 -94,46,30,3,111.3,1.7,66.4 -95,46,30,3,111.3,1.7,66.5 -96,46,30,3,111.3,1.7,66.6 -97,46,30,3,111.3,1.7,66.7 -98,46,30,3,111.3,1.7,66.8 -99,46,30,3,111.3,1.7,66.9 -100,46,30,3,111.3,1.7,67 -101,46,30,3,111.3,1.7,67 -102,46,30,3,111.3,1.7,67 -103,46,30,3,111.3,1.7,67 -104,46,30,3,111.3,1.7,67 -105,46,30,3,111.3,1.7,67 -106,46,30,3,111.3,1.7,67 -107,46,30,3,111.3,1.7,67 -108,46,30,3,111.3,1.7,67 -109,46,30,3,111.3,1.7,67 -110,46,30,3,111.3,1.7,67 -111,46,30,3,111.3,1.7,67 -112,46,30,3,111.3,1.7,67 -113,46,30,3,111.3,1.7,67 -114,46,30,3,111.3,1.7,67 -115,46,30,3,111.3,1.7,67 -116,46,30,3,111.3,1.7,67 -117,46,30,3,111.3,1.7,67 -118,46,30,3,111.3,1.7,67 -119,46,30,3,111.3,1.7,67 -120,46,30,3,111.3,1.7,67 -121,46,30,3,111.3,1.7,67 -122,46,30,3,111.3,1.7,67 -123,46,30,3,111.3,1.7,67 -124,46,30,3,111.3,1.7,67 -125,46,30,3,111.3,1.7,67 -126,46,30,3,111.3,1.7,67 -127,46,30,3,111.3,1.7,67 -128,46,30,3,111.3,1.7,67 -129,46,30,3,111.3,1.7,67 -130,46,30,3,111.3,1.7,67 -131,46,30,3,111.3,1.7,67 -132,46,30,3,111.3,1.7,67 -133,46,30,3,111.3,1.7,67 -134,46,30,3,111.3,1.7,67 -135,46,30,3,111.3,1.7,67 -136,46,30,3,111.3,1.7,67 -137,46,30,3,111.3,1.7,67 -138,46,30,3,111.3,1.7,67 -139,46,30,3,111.3,1.7,67 -140,46,30,3,111.3,1.7,67 -141,46,30,3,111.3,1.7,67 -142,46,30,3,111.3,1.7,67 -143,46,30,3,111.3,1.7,67 -144,46,30,3,111.3,1.7,67 -145,46,30,3,111.3,1.7,67 -146,46,30,3,111.3,1.7,67 -147,46,30,3,111.3,1.7,67 -148,46,30,3,111.3,1.7,67 -149,46,30,3,111.3,1.7,67 -150,46,30,3,111.3,1.7,67 -151,46,30,3,111.3,1.7,67 -152,46,30,3,111.3,1.7,67 -153,46,30,3,111.3,1.7,67 -154,46,30,3,111.3,1.7,67 -155,46,30,3,111.3,1.7,67 -156,46,30,3,111.3,1.7,67 -157,46,30,3,111.3,1.7,67 -158,46,30,3,111.3,1.7,67 -159,46,30,3,111.3,1.7,67 -160,46,30,3,111.3,1.7,67 -161,46,30,3,111.3,1.7,67 -162,46,30,3,111.3,1.7,67 -163,46,30,3,111.3,1.7,67 -164,46,30,3,111.3,1.7,67 -165,46,30,3,111.3,1.7,67 -166,46,30,3,111.3,1.7,67 -167,46,30,3,111.3,1.7,67 -168,46,30,3,111.3,1.7,67 -169,46,30,3,111.3,1.7,67 -170,46,30,3,111.3,1.7,67 -171,46,30,3,111.3,1.7,67 -172,46,30,3,111.3,1.7,67 -173,46,30,3,111.3,1.7,67 -174,46,30,3,111.3,1.7,67 -175,46,30,3,111.3,1.7,67 -176,46,30,3,111.3,1.7,67 -177,46,30,3,111.3,1.7,67 -178,46,30,3,111.3,1.7,67 -179,46,30,3,111.3,1.7,67 -180,46,30,3,111.3,1.7,67 -181,46,30,3,111.3,1.7,67 -182,46,30,3,111.3,1.7,67 -183,46,30,3,111.3,1.7,67 -184,46,30,3,111.3,1.7,67 -185,46,30,3,111.3,1.7,67 -186,46,30,3,111.3,1.7,67 -187,46,30,3,111.3,1.7,67 -188,46,30,3,111.3,1.7,67 -189,46,30,3,111.3,1.7,67 -190,46,30,3,111.3,1.7,67 -191,46,30,3,111.3,1.7,67 -192,46,30,3,111.3,1.7,67 -193,46,30,3,111.3,1.7,67 -194,46,30,3,111.3,1.7,67 -195,46,30,3,111.3,1.7,67 -196,46,30,3,111.3,1.7,67 -197,46,30,3,111.3,1.7,67 -198,46,30,3,111.3,1.7,67 -199,46,30,3,111.3,1.7,67 -200,46,30,2.9,111.3,1.7,67 -201,46,30,2.9,111.05,1.7,67 -202,46,30,2.9,111.05,1.7,67 -203,46,30,2.9,111.05,1.7,67 -204,46,30,2.9,111.05,1.7,67 -205,46,30,2.9,111.05,1.7,67 -206,46,30,2.9,111.05,1.7,67 -207,46,30,2.9,111.05,1.7,67 -208,46,30,2.9,111.05,1.7,67 -209,46,30,2.9,111.05,1.7,67 -210,46,30,2.9,111.05,1.7,67 -211,46,30,2.9,111.05,1.7,67 -212,46,30,2.9,111.05,1.7,67 -213,46,30,2.9,111.05,1.7,67 -214,46,30,2.9,111.05,1.7,67 -215,46,30,2.9,111.05,1.7,67 -216,46,30,2.9,111.05,1.7,67 -217,46,30,2.9,111.05,1.7,67 -218,46,30,2.9,111.05,1.7,67 -219,46,30,2.9,111.05,1.7,67 -220,46,30,2.9,111.05,1.7,67 -221,46,30,2.9,111.05,1.7,67 -222,46,30,2.9,111.05,1.7,67 -223,46,30,2.9,111.05,1.7,67 -224,46,30,2.9,111.05,1.7,67 -225,46,30,2.9,111.05,1.7,67 -226,46,30,2.9,111.05,1.7,67 -227,46,30,2.9,111.05,1.7,67 -228,46,30,2.9,111.05,1.7,67 -229,46,30,2.9,111.05,1.7,67 -230,46,30,2.9,111.05,1.7,67 -231,46,30,2.9,111.05,1.7,67 -232,46,30,2.9,111.05,1.7,67 -233,46,30,2.9,111.05,1.7,67 -234,46,30,2.9,111.05,1.7,67 -235,46,30,2.9,111.05,1.7,67 -236,46,30,2.9,111.05,1.7,67 -237,46,30,2.9,111.05,1.7,67 -238,46,30,2.9,111.05,1.7,67 -239,46,30,2.9,111.05,1.7,67 -240,46,30,2.9,111.05,1.7,67 -241,46,30,2.9,111.05,1.7,67 -242,46,30,2.9,111.05,1.7,67 -243,46,30,2.9,111.05,1.7,67 -244,46,30,2.9,111.05,1.7,67 -245,46,30,2.9,111.05,1.7,67 -246,46,30,2.9,111.05,1.7,67 -247,46,30,2.9,111.05,1.7,67 -248,46,30,2.9,111.05,1.7,67 -249,46,30,2.9,111.05,1.7,67 -250,46,30,2.8,111.05,1.7,67 -251,46,30,2.8,111.05,1.7,67 -252,46,30,2.8,111.05,1.7,67 -253,46,30,2.8,111.05,1.7,67 -254,46,30,2.8,111.05,1.7,67 -255,46,30,2.8,111.05,1.7,67 -256,46,30,2.8,111.05,1.7,67 -257,46,30,2.8,111.05,1.7,67 -258,46,30,2.8,111.05,1.7,67 -259,46,30,2.8,111.05,1.7,67 -260,46,30,2.8,111.05,1.7,67 -261,46,30,2.8,111.05,1.7,67 -262,46,30,2.8,111.05,1.7,67 -263,46,30,2.8,111.05,1.7,67 -264,46,30,2.8,111.05,1.7,67 -265,46,30,2.8,111.05,1.7,67 -266,46,30,2.8,111.05,1.7,67 -267,46,30,2.8,111.05,1.7,67 -268,46,30,2.8,111.05,1.7,67 -269,46,30,2.8,111.05,1.7,67 -270,46,30,2.8,111.05,1.7,67 -271,46,30,2.8,111.05,1.7,67 -272,46,30,2.8,111.05,1.7,67 -273,46,30,2.8,111.05,1.7,67 -274,46,30,2.8,111.05,1.7,67 -275,46,30,2.8,111.05,1.7,67 -276,46,30,2.8,111.05,1.7,67 -277,46,30,2.8,111.05,1.7,67 -278,46,30,2.8,111.05,1.7,67 -279,46,30,2.8,111.05,1.7,67 -280,46,30,2.8,111.05,1.7,67 -281,46,30,2.8,111.05,1.7,67 -282,46,30,2.8,111.05,1.7,67 -283,46,30,2.8,111.05,1.7,67 -284,46,30,2.8,111.05,1.7,67 -285,46,30,2.8,111.05,1.7,67 -286,46,30,2.8,111.05,1.7,67 -287,46,30,2.8,111.05,1.7,67 -288,46,30,2.8,111.05,1.7,67 -289,46,30,2.8,111.05,1.7,67 -290,46,30,2.8,111.05,1.7,67 -291,46,30,2.8,111.05,1.7,67 -292,46,30,2.8,111.05,1.7,67 -293,46,30,2.8,111.05,1.7,67 -294,46,30,2.8,111.05,1.7,67 -295,46,30,2.8,111.05,1.7,67 -296,46,30,2.8,111.05,1.7,67 -297,46,30,2.8,111.05,1.7,67 -298,46,30,2.8,111.05,1.7,67 -299,46,30,2.8,111.05,1.7,67 -300,46,30,2.7,111.05,1.7,67 -301,46,30,2.7,111.05,1.7,67 -302,46,30,2.7,111.05,1.7,67 -303,46,30,2.7,111.05,1.7,67 -304,46,30,2.7,111.05,1.7,67 -305,46,30,2.7,111.05,1.7,67 -306,46,30,2.7,111.05,1.7,67 -307,46,30,2.7,111.05,1.7,67 -308,46,30,2.7,111.05,1.7,67 -309,46,30,2.7,111.05,1.7,67 -310,46,30,2.7,111.05,1.7,67 -311,46,30,2.7,111.05,1.7,67 -312,46,30,2.7,111.05,1.7,67 -313,46,30,2.7,111.05,1.7,67 -314,46,30,2.7,111.05,1.7,67 -315,46,30,2.7,111.05,1.7,67 -316,46,30,2.7,111.05,1.7,67 -317,46,30,2.7,111.05,1.7,67 -318,46,30,2.7,111.05,1.7,67 -319,46,30,2.7,111.05,1.7,67 -320,46,30,2.7,111.05,1.7,67 -321,46,30,2.7,111.05,1.7,67 -322,46,30,2.7,111.05,1.7,67 -323,46,30,2.7,111.05,1.7,67 -324,46,30,2.7,111.05,1.7,67 -325,46,30,2.7,111.05,1.7,67 -326,46,30,2.7,111.05,1.7,67 -327,46,30,2.7,111.05,1.7,67 -328,46,30,2.7,111.05,1.7,67 -329,46,30,2.7,111.05,1.7,67 -330,46,30,2.7,111.05,1.7,67 -331,46,30,2.7,111.05,1.7,67 -332,46,30,2.7,111.05,1.7,67 -333,46,30,2.7,111.05,1.7,67 -334,46,30,2.7,111.05,1.7,67 -335,46,30,2.7,111.05,1.7,67 -336,46,30,2.7,111.05,1.7,67 -337,46,30,2.7,111.05,1.7,67 -338,46,30,2.7,111.05,1.7,67 -339,46,30,2.7,111.05,1.7,67 -340,46,30,2.7,111.05,1.7,67 -341,46,30,2.7,111.05,1.7,67 -342,46,30,2.7,111.05,1.7,67 -343,46,30,2.7,111.05,1.7,67 -344,46,30,2.7,111.05,1.7,67 -345,46,30,2.7,111.05,1.7,67 -346,46,30,2.7,111.05,1.7,67 -347,46,30,2.7,111.05,1.7,67 -348,46,30,2.7,111.05,1.7,67 -349,46,30,2.7,111.05,1.7,67 -350,46,30,2.7,111.05,1.7,67 -351,46,30,2.7,111.05,1.7,67 -352,46,30,2.7,111.05,1.7,67 -353,46,30,2.7,111.05,1.7,67 -354,46,30,2.7,111.05,1.7,67 -355,46,30,2.7,111.05,1.7,67 -356,46,30,2.7,111.05,1.7,67 -357,46,30,2.7,111.05,1.7,67 -358,46,30,2.7,111.05,1.7,67 -359,46,30,2.7,111.05,1.7,67 -360,46,30,2.7,111.05,1.7,67 -361,46,30,2.7,111.05,1.7,67 -362,46,30,2.7,111.05,1.7,67 -363,46,30,2.7,111.05,1.7,67 -364,46,30,2.7,111.05,1.7,67 -365,46,30,2.7,111.05,1.7,67 -366,46,30,2.7,111.05,1.7,67 -367,46,30,2.7,111.05,1.7,67 -368,46,30,2.7,111.05,1.7,67 -369,46,30,2.7,111.05,1.7,67 -370,46,30,2.7,111.05,1.7,67 -371,46,30,2.7,111.05,1.7,67 -372,46,30,2.7,111.05,1.7,67 -373,46,30,2.7,111.05,1.7,67 -374,46,30,2.7,111.05,1.7,67 -375,46,30,2.7,111.05,1.7,67 -376,46,30,2.7,111.05,1.7,67 -377,46,30,2.7,111.05,1.7,67 -378,46,30,2.7,111.05,1.7,67 -379,46,30,2.7,111.05,1.7,67 -380,46,30,2.7,111.05,1.7,67 -381,46,30,2.7,111.05,1.7,67 -382,46,30,2.7,111.05,1.7,67 -383,46,30,2.7,111.05,1.7,67 -384,46,30,2.7,111.05,1.7,67 -385,46,30,2.7,111.05,1.7,67 -386,46,30,2.7,111.05,1.7,67 -387,46,30,2.7,111.05,1.7,67 -388,46,30,2.7,111.05,1.7,67 -389,46,30,2.7,111.05,1.7,67 -390,46,30,2.7,111.05,1.7,67 -391,46,30,2.7,111.05,1.7,67 -392,46,30,2.7,111.05,1.7,67 -393,46,30,2.7,111.05,1.7,67 -394,46,30,2.7,111.05,1.7,67 -395,46,30,2.7,111.05,1.7,67 -396,46,30,2.7,111.05,1.7,67 -397,46,30,2.7,111.05,1.7,67 -398,46,30,2.7,111.05,1.7,67 -399,46,30,2.7,111.05,1.7,67 -400,46,30,2.7,111.05,1.7,67 -401,46,30,2.7,111.05,1.7,66.9975 -402,46,30,2.7,111.05,1.7,66.995 -403,46,30,2.7,111.05,1.7,66.9925 -404,46,30,2.7,111.05,1.7,66.99 -405,46,30,2.7,111.05,1.7,66.9875 -406,46,30,2.7,111.05,1.7,66.985 -407,46,30,2.7,111.05,1.7,66.9825 -408,46,30,2.7,111.05,1.7,66.98 -409,46,30,2.7,111.05,1.7,66.9775 -410,46,30,2.7,111.05,1.7,66.975 -411,46,30,2.7,111.05,1.7,66.9725 -412,46,30,2.7,111.05,1.7,66.97 -413,46,30,2.7,111.05,1.7,66.9675 -414,46,30,2.7,111.05,1.7,66.965 -415,46,30,2.7,111.05,1.7,66.9625 -416,46,30,2.7,111.05,1.7,66.96 -417,46,30,2.7,111.05,1.7,66.9575 -418,46,30,2.7,111.05,1.7,66.955 -419,46,30,2.7,111.05,1.7,66.9525 -420,46,30,2.7,111.05,1.7,66.95 -421,46,30,2.7,111.05,1.7,66.9475 -422,46,30,2.7,111.05,1.7,66.945 -423,46,30,2.7,111.05,1.7,66.9425 -424,46,30,2.7,111.05,1.7,66.94 -425,46,30,2.7,111.05,1.7,66.9375 -426,46,30,2.7,111.05,1.7,66.935 -427,46,30,2.7,111.05,1.7,66.9325 -428,46,30,2.7,111.05,1.7,66.93 -429,46,30,2.7,111.05,1.7,66.9275 -430,46,30,2.7,111.05,1.7,66.925 -431,46,30,2.7,111.05,1.7,66.9225 -432,46,30,2.7,111.05,1.7,66.92 -433,46,30,2.7,111.05,1.7,66.9175 -434,46,30,2.7,111.05,1.7,66.915 -435,46,30,2.7,111.05,1.7,66.9125 -436,46,30,2.7,111.05,1.7,66.91 -437,46,30,2.7,111.05,1.7,66.9075 -438,46,30,2.7,111.05,1.7,66.905 -439,46,30,2.7,111.05,1.7,66.9025 -440,46,30,2.7,111.05,1.7,66.9 -441,46,30,2.7,111.05,1.7,66.8975 -442,46,30,2.7,111.05,1.7,66.895 -443,46,30,2.7,111.05,1.7,66.8925 -444,46,30,2.7,111.05,1.7,66.89 -445,46,30,2.7,111.05,1.7,66.8875 -446,46,30,2.7,111.05,1.7,66.885 -447,46,30,2.7,111.05,1.7,66.8825 -448,46,30,2.7,111.05,1.7,66.88 -449,46,30,2.7,111.05,1.7,66.8775 -450,46,30,2.7,111.05,1.7,66.875 -451,46,30,2.7,111.05,1.7,66.8725 -452,46,30,2.7,111.05,1.7,66.87 -453,46,30,2.7,111.05,1.7,66.8675 -454,46,30,2.7,111.05,1.7,66.865 -455,46,30,2.7,111.05,1.7,66.8625 -456,46,30,2.7,111.05,1.7,66.86 -457,46,30,2.7,111.05,1.7,66.8575 -458,46,30,2.7,111.05,1.7,66.855 -459,46,30,2.7,111.05,1.7,66.8525 -460,46,30,2.7,111.05,1.7,66.85 -461,46,30,2.7,111.05,1.7,66.8475 -462,46,30,2.7,111.05,1.7,66.845 -463,46,30,2.7,111.05,1.7,66.8425 -464,46,30,2.7,111.05,1.7,66.84 -465,46,30,2.7,111.05,1.7,66.8375 -466,46,30,2.7,111.05,1.7,66.835 -467,46,30,2.7,111.05,1.7,66.8325 -468,46,30,2.7,111.05,1.7,66.83 -469,46,30,2.7,111.05,1.7,66.8275 -470,46,30,2.7,111.05,1.7,66.825 -471,46,30,2.7,111.05,1.7,66.8225 -472,46,30,2.7,111.05,1.7,66.82 -473,46,30,2.7,111.05,1.7,66.8175 -474,46,30,2.7,111.05,1.7,66.815 -475,46,30,2.7,111.05,1.7,66.8125 -476,46,30,2.7,111.05,1.7,66.81 -477,46,30,2.7,111.05,1.7,66.8075 -478,46,30,2.7,111.05,1.7,66.805 -479,46,30,2.7,111.05,1.7,66.8025 -480,46,30,2.7,111.05,1.7,66.8 -481,46,30,2.7,111.05,1.7,66.7975 -482,46,30,2.7,111.05,1.7,66.795 -483,46,30,2.7,111.05,1.7,66.7925 -484,46,30,2.7,111.05,1.7,66.79 -485,46,30,2.7,111.05,1.7,66.7875 -486,46,30,2.7,111.05,1.7,66.785 -487,46,30,2.7,111.05,1.7,66.7825 -488,46,30,2.7,111.05,1.7,66.78 -489,46,30,2.7,111.05,1.7,66.7775 -490,46,30,2.7,111.05,1.7,66.775 -491,46,30,2.7,111.05,1.7,66.7725 -492,46,30,2.7,111.05,1.7,66.77 -493,46,30,2.7,111.05,1.7,66.7675 -494,46,30,2.7,111.05,1.7,66.765 -495,46,30,2.7,111.05,1.7,66.7625 -496,46,30,2.7,111.05,1.7,66.76 -497,46,30,2.7,111.05,1.7,66.7575 -498,46,30,2.7,111.05,1.7,66.755 -499,46,30,2.7,111.05,1.7,66.7525 -500,46,30,2.7,111.05,1.7,66.75 -501,46,30,2.7,111.05,1.7,66.7475 -502,46,30,2.7,111.05,1.7,66.745 -503,46,30,2.7,111.05,1.7,66.7425 -504,46,30,2.7,111.05,1.7,66.74 -505,46,30,2.7,111.05,1.7,66.7375 -506,46,30,2.7,111.05,1.7,66.735 -507,46,30,2.7,111.05,1.7,66.7325 -508,46,30,2.7,111.05,1.7,66.73 -509,46,30,2.7,111.05,1.7,66.7275 -510,46,30,2.7,111.05,1.7,66.725 -511,46,30,2.7,111.05,1.7,66.7225 -512,46,30,2.7,111.05,1.7,66.72 -513,46,30,2.7,111.05,1.7,66.7175 -514,46,30,2.7,111.05,1.7,66.715 -515,46,30,2.7,111.05,1.7,66.7125 -516,46,30,2.7,111.05,1.7,66.71 -517,46,30,2.7,111.05,1.7,66.7075 -518,46,30,2.7,111.05,1.7,66.705 -519,46,30,2.7,111.05,1.7,66.7025 -520,46,30,2.7,111.05,1.7,66.7 -521,46,30,2.7,111.05,1.7,66.6975 -522,46,30,2.7,111.05,1.7,66.695 -523,46,30,2.7,111.05,1.7,66.6925 -524,46,30,2.7,111.05,1.7,66.69 -525,46,30,2.7,111.05,1.7,66.6875 -526,46,30,2.7,111.05,1.7,66.685 -527,46,30,2.7,111.05,1.7,66.6825 -528,46,30,2.7,111.05,1.7,66.68 -529,46,30,2.7,111.05,1.7,66.6775 -530,46,30,2.7,111.05,1.7,66.675 -531,46,30,2.7,111.05,1.7,66.6725 -532,46,30,2.7,111.05,1.7,66.67 -533,46,30,2.7,111.05,1.7,66.6675 -534,46,30,2.7,111.05,1.7,66.665 -535,46,30,2.7,111.05,1.7,66.6625 -536,46,30,2.7,111.05,1.7,66.66 -537,46,30,2.7,111.05,1.7,66.6575 -538,46,30,2.7,111.05,1.7,66.655 -539,46,30,2.7,111.05,1.7,66.6525 -540,46,30,2.7,111.05,1.7,66.65 -541,46,30,2.7,111.05,1.7,66.6475 -542,46,30,2.7,111.05,1.7,66.645 -543,46,30,2.7,111.05,1.7,66.6425 -544,46,30,2.7,111.05,1.7,66.64 -545,46,30,2.7,111.05,1.7,66.6375 -546,46,30,2.7,111.05,1.7,66.635 -547,46,30,2.7,111.05,1.7,66.6325 -548,46,30,2.7,111.05,1.7,66.63 -549,46,30,2.7,111.05,1.7,66.6275 -550,46,30,2.7,111.05,1.7,66.625 -551,46,30,2.7,111.05,1.7,66.6225 -552,46,30,2.7,111.05,1.7,66.62 -553,46,30,2.7,111.05,1.7,66.6175 -554,46,30,2.7,111.05,1.7,66.615 -555,46,30,2.7,111.05,1.7,66.6125 -556,46,30,2.7,111.05,1.7,66.61 -557,46,30,2.7,111.05,1.7,66.6075 -558,46,30,2.7,111.05,1.7,66.605 -559,46,30,2.7,111.05,1.7,66.6025 -560,46,30,2.7,111.05,1.7,66.6 -561,46,30,2.7,111.05,1.7,66.5975 -562,46,30,2.7,111.05,1.7,66.595 -563,46,30,2.7,111.05,1.7,66.5925 -564,46,30,2.7,111.05,1.7,66.59 -565,46,30,2.7,111.05,1.7,66.5875 -566,46,30,2.7,111.05,1.7,66.585 -567,46,30,2.7,111.05,1.7,66.5825 -568,46,30,2.7,111.05,1.7,66.58 -569,46,30,2.7,111.05,1.7,66.5775 -570,46,30,2.7,111.05,1.7,66.575 -571,46,30,2.7,111.05,1.7,66.5725 -572,46,30,2.7,111.05,1.7,66.57 -573,46,30,2.7,111.05,1.7,66.5675 -574,46,30,2.7,111.05,1.7,66.565 -575,46,30,2.7,111.05,1.7,66.5625 -576,46,30,2.7,111.05,1.7,66.56 -577,46,30,2.7,111.05,1.7,66.5575 -578,46,30,2.7,111.05,1.7,66.555 -579,46,30,2.7,111.05,1.7,66.5525 -580,46,30,2.7,111.05,1.7,66.55 -581,46,30,2.7,111.05,1.7,66.5475 -582,46,30,2.7,111.05,1.7,66.545 -583,46,30,2.7,111.05,1.7,66.5425 -584,46,30,2.7,111.05,1.7,66.54 -585,46,30,2.7,111.05,1.7,66.5375 -586,46,30,2.7,111.05,1.7,66.535 -587,46,30,2.7,111.05,1.7,66.5325 -588,46,30,2.7,111.05,1.7,66.53 -589,46,30,2.7,111.05,1.7,66.5275 -590,46,30,2.7,111.05,1.7,66.525 -591,46,30,2.7,111.05,1.7,66.5225 -592,46,30,2.7,111.05,1.7,66.52 -593,46,30,2.7,111.05,1.7,66.5175 -594,46,30,2.7,111.05,1.7,66.515 -595,46,30,2.7,111.05,1.7,66.5125 -596,46,30,2.7,111.05,1.7,66.51 -597,46,30,2.7,111.05,1.7,66.5075 -598,46,30,2.7,111.05,1.7,66.505 -599,46,30,2.7,111.05,1.7,66.5025 -600,46,30,2.7,111.05,1.7,66.5 -601,46,30,2.7,111.05,1.7,66.495 -602,46,30,2.7,111.05,1.7,66.49 -603,46,30,2.7,111.05,1.7,66.485 -604,46,30,2.7,111.05,1.7,66.48 -605,46,30,2.7,111.05,1.7,66.475 -606,46,30,2.7,111.05,1.7,66.47 -607,46,30,2.7,111.05,1.7,66.465 -608,46,30,2.7,111.05,1.7,66.46 -609,46,30,2.7,111.05,1.7,66.455 -610,46,30,2.7,111.05,1.7,66.45 -611,46,30,2.7,111.05,1.7,66.445 -612,46,30,2.7,111.05,1.7,66.44 -613,46,30,2.7,111.05,1.7,66.435 -614,46,30,2.7,111.05,1.7,66.43 -615,46,30,2.7,111.05,1.7,66.425 -616,46,30,2.7,111.05,1.7,66.42 -617,46,30,2.7,111.05,1.7,66.415 -618,46,30,2.7,111.05,1.7,66.41 -619,46,30,2.7,111.05,1.7,66.405 -620,46,30,2.7,111.05,1.7,66.4 -621,46,30,2.7,111.05,1.7,66.395 -622,46,30,2.7,111.05,1.7,66.39 -623,46,30,2.7,111.05,1.7,66.385 -624,46,30,2.7,111.05,1.7,66.38 -625,46,30,2.7,111.05,1.7,66.375 -626,46,30,2.7,111.05,1.7,66.37 -627,46,30,2.7,111.05,1.7,66.365 -628,46,30,2.7,111.05,1.7,66.36 -629,46,30,2.7,111.05,1.7,66.355 -630,46,30,2.7,111.05,1.7,66.35 -631,46,30,2.7,111.05,1.7,66.345 -632,46,30,2.7,111.05,1.7,66.34 -633,46,30,2.7,111.05,1.7,66.335 -634,46,30,2.7,111.05,1.7,66.33 -635,46,30,2.7,111.05,1.7,66.325 -636,46,30,2.7,111.05,1.7,66.32 -637,46,30,2.7,111.05,1.7,66.315 -638,46,30,2.7,111.05,1.7,66.31 -639,46,30,2.7,111.05,1.7,66.305 -640,46,30,2.7,111.05,1.7,66.3 -641,46,30,2.7,111.05,1.7,66.295 -642,46,30,2.7,111.05,1.7,66.29 -643,46,30,2.7,111.05,1.7,66.285 -644,46,30,2.7,111.05,1.7,66.28 -645,46,30,2.7,111.05,1.7,66.275 -646,46,30,2.7,111.05,1.7,66.27 -647,46,30,2.7,111.05,1.7,66.265 -648,46,30,2.7,111.05,1.7,66.26 -649,46,30,2.7,111.05,1.7,66.255 -650,46,30,2.7,111.05,1.7,66.25 -651,46,30,2.7,111.05,1.7,66.245 -652,46,30,2.7,111.05,1.7,66.24 -653,46,30,2.7,111.05,1.7,66.235 -654,46,30,2.7,111.05,1.7,66.23 -655,46,30,2.7,111.05,1.7,66.225 -656,46,30,2.7,111.05,1.7,66.22 -657,46,30,2.7,111.05,1.7,66.215 -658,46,30,2.7,111.05,1.7,66.21 -659,46,30,2.7,111.05,1.7,66.205 -660,46,30,2.7,111.05,1.7,66.2 -661,46,30,2.7,111.05,1.7,66.195 -662,46,30,2.7,111.05,1.7,66.19 -663,46,30,2.7,111.05,1.7,66.185 -664,46,30,2.7,111.05,1.7,66.18 -665,46,30,2.7,111.05,1.7,66.175 -666,46,30,2.7,111.05,1.7,66.17 -667,46,30,2.7,111.05,1.7,66.165 -668,46,30,2.7,111.05,1.7,66.16 -669,46,30,2.7,111.05,1.7,66.155 -670,46,30,2.7,111.05,1.7,66.15 -671,46,30,2.7,111.05,1.7,66.145 -672,46,30,2.7,111.05,1.7,66.14 -673,46,30,2.7,111.05,1.7,66.135 -674,46,30,2.7,111.05,1.7,66.13 -675,46,30,2.7,111.05,1.7,66.125 -676,46,30,2.7,111.05,1.7,66.12 -677,46,30,2.7,111.05,1.7,66.115 -678,46,30,2.7,111.05,1.7,66.11 -679,46,30,2.7,111.05,1.7,66.105 -680,46,30,2.7,111.05,1.7,66.1 -681,46,30,2.7,111.05,1.7,66.095 -682,46,30,2.7,111.05,1.7,66.09 -683,46,30,2.7,111.05,1.7,66.085 -684,46,30,2.7,111.05,1.7,66.08 -685,46,30,2.7,111.05,1.7,66.075 -686,46,30,2.7,111.05,1.7,66.07 -687,46,30,2.7,111.05,1.7,66.065 -688,46,30,2.7,111.05,1.7,66.06 -689,46,30,2.7,111.05,1.7,66.055 -690,46,30,2.7,111.05,1.7,66.05 -691,46,30,2.7,111.05,1.7,66.045 -692,46,30,2.7,111.05,1.7,66.04 -693,46,30,2.7,111.05,1.7,66.035 -694,46,30,2.7,111.05,1.7,66.03 -695,46,30,2.7,111.05,1.7,66.025 -696,46,30,2.7,111.05,1.7,66.02 -697,46,30,2.7,111.05,1.7,66.015 -698,46,30,2.7,111.05,1.7,66.01 -699,46,30,2.7,111.05,1.7,66.005 -700,46,30,2.7,111.05,1.7,66 -701,46,30,2.7,111.05,1.7,65.995 -702,46,30,2.7,111.05,1.7,65.99 -703,46,30,2.7,111.05,1.7,65.985 -704,46,30,2.7,111.05,1.7,65.98 -705,46,30,2.7,111.05,1.7,65.975 -706,46,30,2.7,111.05,1.7,65.97 -707,46,30,2.7,111.05,1.7,65.965 -708,46,30,2.7,111.05,1.7,65.96 -709,46,30,2.7,111.05,1.7,65.955 -710,46,30,2.7,111.05,1.7,65.95 -711,46,30,2.7,111.05,1.7,65.945 -712,46,30,2.7,111.05,1.7,65.94 -713,46,30,2.7,111.05,1.7,65.935 -714,46,30,2.7,111.05,1.7,65.93 -715,46,30,2.7,111.05,1.7,65.925 -716,46,30,2.7,111.05,1.7,65.92 -717,46,30,2.7,111.05,1.7,65.915 -718,46,30,2.7,111.05,1.7,65.91 -719,46,30,2.7,111.05,1.7,65.905 -720,46,30,2.7,111.05,1.7,65.9 -721,46,30,2.7,111.05,1.7,65.895 -722,46,30,2.7,111.05,1.7,65.89 -723,46,30,2.7,111.05,1.7,65.885 -724,46,30,2.7,111.05,1.7,65.88 -725,46,30,2.7,111.05,1.7,65.875 -726,46,30,2.7,111.05,1.7,65.87 -727,46,30,2.7,111.05,1.7,65.865 -728,46,30,2.7,111.05,1.7,65.86 -729,46,30,2.7,111.05,1.7,65.855 -730,46,30,2.7,111.05,1.7,65.85 -731,46,30,2.7,111.05,1.7,65.845 -732,46,30,2.7,111.05,1.7,65.84 -733,46,30,2.7,111.05,1.7,65.835 -734,46,30,2.7,111.05,1.7,65.83 -735,46,30,2.7,111.05,1.7,65.825 -736,46,30,2.7,111.05,1.7,65.82 -737,46,30,2.7,111.05,1.7,65.815 -738,46,30,2.7,111.05,1.7,65.81 -739,46,30,2.7,111.05,1.7,65.805 -740,46,30,2.7,111.05,1.7,65.8 -741,46,30,2.7,111.05,1.7,65.795 -742,46,30,2.7,111.05,1.7,65.79 -743,46,30,2.7,111.05,1.7,65.785 -744,46,30,2.7,111.05,1.7,65.78 -745,46,30,2.7,111.05,1.7,65.775 -746,46,30,2.7,111.05,1.7,65.77 -747,46,30,2.7,111.05,1.7,65.765 -748,46,30,2.7,111.05,1.7,65.76 -749,46,30,2.7,111.05,1.7,65.755 -750,46,30,2.7,111.05,1.7,65.75 -751,46,30,2.7,111.05,1.7,65.745 -752,46,30,2.7,111.05,1.7,65.74 -753,46,30,2.7,111.05,1.7,65.735 -754,46,30,2.7,111.05,1.7,65.73 -755,46,30,2.7,111.05,1.7,65.725 -756,46,30,2.7,111.05,1.7,65.72 -757,46,30,2.7,111.05,1.7,65.715 -758,46,30,2.7,111.05,1.7,65.71 -759,46,30,2.7,111.05,1.7,65.705 -760,46,30,2.7,111.05,1.7,65.7 -761,46,30,2.7,111.05,1.7,65.695 -762,46,30,2.7,111.05,1.7,65.69 -763,46,30,2.7,111.05,1.7,65.685 -764,46,30,2.7,111.05,1.7,65.68 -765,46,30,2.7,111.05,1.7,65.675 -766,46,30,2.7,111.05,1.7,65.67 -767,46,30,2.7,111.05,1.7,65.665 -768,46,30,2.7,111.05,1.7,65.66 -769,46,30,2.7,111.05,1.7,65.655 -770,46,30,2.7,111.05,1.7,65.65 -771,46,30,2.7,111.05,1.7,65.645 -772,46,30,2.7,111.05,1.7,65.64 -773,46,30,2.7,111.05,1.7,65.635 -774,46,30,2.7,111.05,1.7,65.63 -775,46,30,2.7,111.05,1.7,65.625 -776,46,30,2.7,111.05,1.7,65.62 -777,46,30,2.7,111.05,1.7,65.615 -778,46,30,2.7,111.05,1.7,65.61 -779,46,30,2.7,111.05,1.7,65.605 -780,46,30,2.7,111.05,1.7,65.6 -781,46,30,2.7,111.05,1.7,65.595 -782,46,30,2.7,111.05,1.7,65.59 -783,46,30,2.7,111.05,1.7,65.585 -784,46,30,2.7,111.05,1.7,65.58 -785,46,30,2.7,111.05,1.7,65.575 -786,46,30,2.7,111.05,1.7,65.57 -787,46,30,2.7,111.05,1.7,65.565 -788,46,30,2.7,111.05,1.7,65.56 -789,46,30,2.7,111.05,1.7,65.555 -790,46,30,2.7,111.05,1.7,65.55 -791,46,30,2.7,111.05,1.7,65.545 -792,46,30,2.7,111.05,1.7,65.54 -793,46,30,2.7,111.05,1.7,65.535 -794,46,30,2.7,111.05,1.7,65.53 -795,46,30,2.7,111.05,1.7,65.525 -796,46,30,2.7,111.05,1.7,65.52 -797,46,30,2.7,111.05,1.7,65.515 -798,46,30,2.7,111.05,1.7,65.51 -799,46,30,2.7,111.05,1.7,65.505 -800,46,30,2.7,111.05,1.7,65.5 -801,46,30,2.7,111.05,1.7,65.495 -802,46,30,2.7,111.05,1.7,65.49 -803,46,30,2.7,111.05,1.7,65.485 -804,46,30,2.7,111.05,1.7,65.48 -805,46,30,2.7,111.05,1.7,65.475 -806,46,30,2.7,111.05,1.7,65.47 -807,46,30,2.7,111.05,1.7,65.465 -808,46,30,2.7,111.05,1.7,65.46 -809,46,30,2.7,111.05,1.7,65.455 -810,46,30,2.7,111.05,1.7,65.45 -811,46,30,2.7,111.05,1.7,65.445 -812,46,30,2.7,111.05,1.7,65.44 -813,46,30,2.7,111.05,1.7,65.435 -814,46,30,2.7,111.05,1.7,65.43 -815,46,30,2.7,111.05,1.7,65.425 -816,46,30,2.7,111.05,1.7,65.42 -817,46,30,2.7,111.05,1.7,65.415 -818,46,30,2.7,111.05,1.7,65.41 -819,46,30,2.7,111.05,1.7,65.405 -820,46,30,2.7,111.05,1.7,65.4 -821,46,30,2.7,111.05,1.7,65.395 -822,46,30,2.7,111.05,1.7,65.39 -823,46,30,2.7,111.05,1.7,65.385 -824,46,30,2.7,111.05,1.7,65.38 -825,46,30,2.7,111.05,1.7,65.375 -826,46,30,2.7,111.05,1.7,65.37 -827,46,30,2.7,111.05,1.7,65.365 -828,46,30,2.7,111.05,1.7,65.36 -829,46,30,2.7,111.05,1.7,65.355 -830,46,30,2.7,111.05,1.7,65.35 -831,46,30,2.7,111.05,1.7,65.345 -832,46,30,2.7,111.05,1.7,65.34 -833,46,30,2.7,111.05,1.7,65.335 -834,46,30,2.7,111.05,1.7,65.33 -835,46,30,2.7,111.05,1.7,65.325 -836,46,30,2.7,111.05,1.7,65.32 -837,46,30,2.7,111.05,1.7,65.315 -838,46,30,2.7,111.05,1.7,65.31 -839,46,30,2.7,111.05,1.7,65.305 -840,46,30,2.7,111.05,1.7,65.3 -841,46,30,2.7,111.05,1.7,65.295 -842,46,30,2.7,111.05,1.7,65.29 -843,46,30,2.7,111.05,1.7,65.285 -844,46,30,2.7,111.05,1.7,65.28 -845,46,30,2.7,111.05,1.7,65.275 -846,46,30,2.7,111.05,1.7,65.27 -847,46,30,2.7,111.05,1.7,65.265 -848,46,30,2.7,111.05,1.7,65.26 -849,46,30,2.7,111.05,1.7,65.255 -850,46,30,2.7,111.05,1.7,65.25 -851,46,30,2.7,111.05,1.7,65.245 -852,46,30,2.7,111.05,1.7,65.24 -853,46,30,2.7,111.05,1.7,65.235 -854,46,30,2.7,111.05,1.7,65.23 -855,46,30,2.7,111.05,1.7,65.225 -856,46,30,2.7,111.05,1.7,65.22 -857,46,30,2.7,111.05,1.7,65.215 -858,46,30,2.7,111.05,1.7,65.21 -859,46,30,2.7,111.05,1.7,65.205 -860,46,30,2.7,111.05,1.7,65.2 -861,46,30,2.7,111.05,1.7,65.195 -862,46,30,2.7,111.05,1.7,65.19 -863,46,30,2.7,111.05,1.7,65.185 -864,46,30,2.7,111.05,1.7,65.18 -865,46,30,2.7,111.05,1.7,65.175 -866,46,30,2.7,111.05,1.7,65.17 -867,46,30,2.7,111.05,1.7,65.165 -868,46,30,2.7,111.05,1.7,65.16 -869,46,30,2.7,111.05,1.7,65.155 -870,46,30,2.7,111.05,1.7,65.15 -871,46,30,2.7,111.05,1.7,65.145 -872,46,30,2.7,111.05,1.7,65.14 -873,46,30,2.7,111.05,1.7,65.135 -874,46,30,2.7,111.05,1.7,65.13 -875,46,30,2.7,111.05,1.7,65.125 -876,46,30,2.7,111.05,1.7,65.12 -877,46,30,2.7,111.05,1.7,65.115 -878,46,30,2.7,111.05,1.7,65.11 -879,46,30,2.7,111.05,1.7,65.105 -880,46,30,2.7,111.05,1.7,65.1 -881,46,30,2.7,111.05,1.7,65.095 -882,46,30,2.7,111.05,1.7,65.09 -883,46,30,2.7,111.05,1.7,65.085 -884,46,30,2.7,111.05,1.7,65.08 -885,46,30,2.7,111.05,1.7,65.075 -886,46,30,2.7,111.05,1.7,65.07 -887,46,30,2.7,111.05,1.7,65.065 -888,46,30,2.7,111.05,1.7,65.06 -889,46,30,2.7,111.05,1.7,65.055 -890,46,30,2.7,111.05,1.7,65.05 -891,46,30,2.7,111.05,1.7,65.045 -892,46,30,2.7,111.05,1.7,65.04 -893,46,30,2.7,111.05,1.7,65.035 -894,46,30,2.7,111.05,1.7,65.03 -895,46,30,2.7,111.05,1.7,65.025 -896,46,30,2.7,111.05,1.7,65.02 -897,46,30,2.7,111.05,1.7,65.015 -898,46,30,2.7,111.05,1.7,65.01 -899,46,30,2.7,111.05,1.7,65.005 -900,46,30,2.7,111.05,1.7,65 -901,46,30,2.7,111.05,1.7,64.99833333 -902,46,30,2.7,111.05,1.7,64.99666667 -903,46,30,2.7,111.05,1.7,64.995 -904,46,30,2.7,111.05,1.7,64.99333333 -905,46,30,2.7,111.05,1.7,64.99166667 -906,46,30,2.7,111.05,1.7,64.99 -907,46,30,2.7,111.05,1.7,64.98833333 -908,46,30,2.7,111.05,1.7,64.98666667 -909,46,30,2.7,111.05,1.7,64.985 -910,46,30,2.7,111.05,1.7,64.98333333 -911,46,30,2.7,111.05,1.7,64.98166667 -912,46,30,2.7,111.05,1.7,64.98 -913,46,30,2.7,111.05,1.7,64.97833333 -914,46,30,2.7,111.05,1.7,64.97666667 -915,46,30,2.7,111.05,1.7,64.975 -916,46,30,2.7,111.05,1.7,64.97333333 -917,46,30,2.7,111.05,1.7,64.97166667 -918,46,30,2.7,111.05,1.7,64.97 -919,46,30,2.7,111.05,1.7,64.96833333 -920,46,30,2.7,111.05,1.7,64.96666667 -921,46,30,2.7,111.05,1.7,64.965 -922,46,30,2.7,111.05,1.7,64.96333333 -923,46,30,2.7,111.05,1.7,64.96166667 -924,46,30,2.7,111.05,1.7,64.96 -925,46,30,2.7,111.05,1.7,64.95833333 -926,46,30,2.7,111.05,1.7,64.95666667 -927,46,30,2.7,111.05,1.7,64.955 -928,46,30,2.7,111.05,1.7,64.95333333 -929,46,30,2.7,111.05,1.7,64.95166667 -930,46,30,2.7,111.05,1.7,64.95 -931,46,30,2.7,111.05,1.7,64.94833333 -932,46,30,2.7,111.05,1.7,64.94666667 -933,46,30,2.7,111.05,1.7,64.945 -934,46,30,2.7,111.05,1.7,64.94333333 -935,46,30,2.7,111.05,1.7,64.94166667 -936,46,30,2.7,111.05,1.7,64.94 -937,46,30,2.7,111.05,1.7,64.93833333 -938,46,30,2.7,111.05,1.7,64.93666667 -939,46,30,2.7,111.05,1.7,64.935 -940,46,30,2.7,111.05,1.7,64.93333333 -941,46,30,2.7,111.05,1.7,64.93166667 -942,46,30,2.7,111.05,1.7,64.93 -943,46,30,2.7,111.05,1.7,64.92833333 -944,46,30,2.7,111.05,1.7,64.92666667 -945,46,30,2.7,111.05,1.7,64.925 -946,46,30,2.7,111.05,1.7,64.92333333 -947,46,30,2.7,111.05,1.7,64.92166667 -948,46,30,2.7,111.05,1.7,64.92 -949,46,30,2.7,111.05,1.7,64.91833333 -950,46,30,2.7,111.05,1.7,64.91666667 -951,46,30,2.7,111.05,1.7,64.915 -952,46,30,2.7,111.05,1.7,64.91333333 -953,46,30,2.7,111.05,1.7,64.91166666 -954,46,30,2.7,111.05,1.7,64.91 -955,46,30,2.7,111.05,1.7,64.90833333 -956,46,30,2.7,111.05,1.7,64.90666666 -957,46,30,2.7,111.05,1.7,64.905 -958,46,30,2.7,111.05,1.7,64.90333333 -959,46,30,2.7,111.05,1.7,64.90166666 -960,46,30,2.7,111.05,1.7,64.9 -961,46,30,2.7,111.05,1.7,64.89833333 -962,46,30,2.7,111.05,1.7,64.89666666 -963,46,30,2.7,111.05,1.7,64.895 -964,46,30,2.7,111.05,1.7,64.89333333 -965,46,30,2.7,111.05,1.7,64.89166666 -966,46,30,2.7,111.05,1.7,64.89 -967,46,30,2.7,111.05,1.7,64.88833333 -968,46,30,2.7,111.05,1.7,64.88666666 -969,46,30,2.7,111.05,1.7,64.885 -970,46,30,2.7,111.05,1.7,64.88333333 -971,46,30,2.7,111.05,1.7,64.88166666 -972,46,30,2.7,111.05,1.7,64.88 -973,46,30,2.7,111.05,1.7,64.87833333 -974,46,30,2.7,111.05,1.7,64.87666666 -975,46,30,2.7,111.05,1.7,64.875 -976,46,30,2.7,111.05,1.7,64.87333333 -977,46,30,2.7,111.05,1.7,64.87166666 -978,46,30,2.7,111.05,1.7,64.87 -979,46,30,2.7,111.05,1.7,64.86833333 -980,46,30,2.7,111.05,1.7,64.86666666 -981,46,30,2.7,111.05,1.7,64.865 -982,46,30,2.7,111.05,1.7,64.86333333 -983,46,30,2.7,111.05,1.7,64.86166666 -984,46,30,2.7,111.05,1.7,64.86 -985,46,30,2.7,111.05,1.7,64.85833333 -986,46,30,2.7,111.05,1.7,64.85666666 -987,46,30,2.7,111.05,1.7,64.855 -988,46,30,2.7,111.05,1.7,64.85333333 -989,46,30,2.7,111.05,1.7,64.85166666 -990,46,30,2.7,111.05,1.7,64.85 -991,46,30,2.7,111.05,1.7,64.84833333 -992,46,30,2.7,111.05,1.7,64.84666666 -993,46,30,2.7,111.05,1.7,64.845 -994,46,30,2.7,111.05,1.7,64.84333333 -995,46,30,2.7,111.05,1.7,64.84166666 -996,46,30,2.7,111.05,1.7,64.84 -997,46,30,2.7,111.05,1.7,64.83833333 -998,46,30,2.7,111.05,1.7,64.83666666 -999,46,30,2.7,111.05,1.7,64.835 -1000,46,30,2.7,111.05,1.7,64.83333333 -1001,46,30,2.7,111.05,1.7,64.83166666 -1002,46,30,2.7,111.05,1.7,64.83 -1003,46,30,2.7,111.05,1.7,64.82833333 -1004,46,30,2.7,111.05,1.7,64.82666666 -1005,46,30,2.7,111.05,1.7,64.825 -1006,46,30,2.7,111.05,1.7,64.82333333 -1007,46,30,2.7,111.05,1.7,64.82166666 -1008,46,30,2.7,111.05,1.7,64.82 -1009,46,30,2.7,111.05,1.7,64.81833333 -1010,46,30,2.7,111.05,1.7,64.81666666 -1011,46,30,2.7,111.05,1.7,64.815 -1012,46,30,2.7,111.05,1.7,64.81333333 -1013,46,30,2.7,111.05,1.7,64.81166666 -1014,46,30,2.7,111.05,1.7,64.81 -1015,46,30,2.7,111.05,1.7,64.80833333 -1016,46,30,2.7,111.05,1.7,64.80666666 -1017,46,30,2.7,111.05,1.7,64.805 -1018,46,30,2.7,111.05,1.7,64.80333333 -1019,46,30,2.7,111.05,1.7,64.80166666 -1020,46,30,2.7,111.05,1.7,64.8 -1021,46,30,2.7,111.05,1.7,64.79833333 -1022,46,30,2.7,111.05,1.7,64.79666666 -1023,46,30,2.7,111.05,1.7,64.795 -1024,46,30,2.7,111.05,1.7,64.79333333 -1025,46,30,2.7,111.05,1.7,64.79166666 -1026,46,30,2.7,111.05,1.7,64.79 -1027,46,30,2.7,111.05,1.7,64.78833333 -1028,46,30,2.7,111.05,1.7,64.78666666 -1029,46,30,2.7,111.05,1.7,64.785 -1030,46,30,2.7,111.05,1.7,64.78333333 -1031,46,30,2.7,111.05,1.7,64.78166666 -1032,46,30,2.7,111.05,1.7,64.78 -1033,46,30,2.7,111.05,1.7,64.77833333 -1034,46,30,2.7,111.05,1.7,64.77666666 -1035,46,30,2.7,111.05,1.7,64.775 -1036,46,30,2.7,111.05,1.7,64.77333333 -1037,46,30,2.7,111.05,1.7,64.77166666 -1038,46,30,2.7,111.05,1.7,64.77 -1039,46,30,2.7,111.05,1.7,64.76833333 -1040,46,30,2.7,111.05,1.7,64.76666666 -1041,46,30,2.7,111.05,1.7,64.765 -1042,46,30,2.7,111.05,1.7,64.76333333 -1043,46,30,2.7,111.05,1.7,64.76166666 -1044,46,30,2.7,111.05,1.7,64.76 -1045,46,30,2.7,111.05,1.7,64.75833333 -1046,46,30,2.7,111.05,1.7,64.75666666 -1047,46,30,2.7,111.05,1.7,64.755 -1048,46,30,2.7,111.05,1.7,64.75333333 -1049,46,30,2.7,111.05,1.7,64.75166666 -1050,46,30,2.7,111.05,1.7,64.75 -1051,46,30,2.7,111.05,1.7,64.74833333 -1052,46,30,2.7,111.05,1.7,64.74666666 -1053,46,30,2.7,111.05,1.7,64.74499999 -1054,46,30,2.7,111.05,1.7,64.74333333 -1055,46,30,2.7,111.05,1.7,64.74166666 -1056,46,30,2.7,111.05,1.7,64.73999999 -1057,46,30,2.7,111.05,1.7,64.73833333 -1058,46,30,2.7,111.05,1.7,64.73666666 -1059,46,30,2.7,111.05,1.7,64.73499999 -1060,46,30,2.7,111.05,1.7,64.73333333 -1061,46,30,2.7,111.05,1.7,64.73166666 -1062,46,30,2.7,111.05,1.7,64.72999999 -1063,46,30,2.7,111.05,1.7,64.72833333 -1064,46,30,2.7,111.05,1.7,64.72666666 -1065,46,30,2.7,111.05,1.7,64.72499999 -1066,46,30,2.7,111.05,1.7,64.72333333 -1067,46,30,2.7,111.05,1.7,64.72166666 -1068,46,30,2.7,111.05,1.7,64.71999999 -1069,46,30,2.7,111.05,1.7,64.71833333 -1070,46,30,2.7,111.05,1.7,64.71666666 -1071,46,30,2.7,111.05,1.7,64.71499999 -1072,46,30,2.7,111.05,1.7,64.71333333 -1073,46,30,2.7,111.05,1.7,64.71166666 -1074,46,30,2.7,111.05,1.7,64.70999999 -1075,46,30,2.7,111.05,1.7,64.70833333 -1076,46,30,2.7,111.05,1.7,64.70666666 -1077,46,30,2.7,111.05,1.7,64.70499999 -1078,46,30,2.7,111.05,1.7,64.70333333 -1079,46,30,2.7,111.05,1.7,64.70166666 -1080,46,30,2.7,111.05,1.7,64.69999999 -1081,46,30,2.7,111.05,1.7,64.69833333 -1082,46,30,2.7,111.05,1.7,64.69666666 -1083,46,30,2.7,111.05,1.7,64.69499999 -1084,46,30,2.7,111.05,1.7,64.69333333 -1085,46,30,2.7,111.05,1.7,64.69166666 -1086,46,30,2.7,111.05,1.7,64.68999999 -1087,46,30,2.7,111.05,1.7,64.68833333 -1088,46,30,2.7,111.05,1.7,64.68666666 -1089,46,30,2.7,111.05,1.7,64.68499999 -1090,46,30,2.7,111.05,1.7,64.68333333 -1091,46,30,2.7,111.05,1.7,64.68166666 -1092,46,30,2.7,111.05,1.7,64.67999999 -1093,46,30,2.7,111.05,1.7,64.67833333 -1094,46,30,2.7,111.05,1.7,64.67666666 -1095,46,30,2.7,111.05,1.7,64.67499999 -1096,46,30,2.7,111.05,1.7,64.67333333 -1097,46,30,2.7,111.05,1.7,64.67166666 -1098,46,30,2.7,111.05,1.7,64.66999999 -1099,46,30,2.7,111.05,1.7,64.66833333 -1100,46,30,2.7,111.05,1.7,64.66666666 -1101,46,30,2.7,111.05,1.7,64.66499999 -1102,46,30,2.7,111.05,1.7,64.66333333 -1103,46,30,2.7,111.05,1.7,64.66166666 -1104,46,30,2.7,111.05,1.7,64.65999999 -1105,46,30,2.7,111.05,1.7,64.65833333 -1106,46,30,2.7,111.05,1.7,64.65666666 -1107,46,30,2.7,111.05,1.7,64.65499999 -1108,46,30,2.7,111.05,1.7,64.65333333 -1109,46,30,2.7,111.05,1.7,64.65166666 -1110,46,30,2.7,111.05,1.7,64.64999999 -1111,46,30,2.7,111.05,1.7,64.64833333 -1112,46,30,2.7,111.05,1.7,64.64666666 -1113,46,30,2.7,111.05,1.7,64.64499999 -1114,46,30,2.7,111.05,1.7,64.64333333 -1115,46,30,2.7,111.05,1.7,64.64166666 -1116,46,30,2.7,111.05,1.7,64.63999999 -1117,46,30,2.7,111.05,1.7,64.63833333 -1118,46,30,2.7,111.05,1.7,64.63666666 -1119,46,30,2.7,111.05,1.7,64.63499999 -1120,46,30,2.7,111.05,1.7,64.63333333 -1121,46,30,2.7,111.05,1.7,64.63166666 -1122,46,30,2.7,111.05,1.7,64.62999999 -1123,46,30,2.7,111.05,1.7,64.62833333 -1124,46,30,2.7,111.05,1.7,64.62666666 -1125,46,30,2.7,111.05,1.7,64.62499999 -1126,46,30,2.7,111.05,1.7,64.62333333 -1127,46,30,2.7,111.05,1.7,64.62166666 -1128,46,30,2.7,111.05,1.7,64.61999999 -1129,46,30,2.7,111.05,1.7,64.61833333 -1130,46,30,2.7,111.05,1.7,64.61666666 -1131,46,30,2.7,111.05,1.7,64.61499999 -1132,46,30,2.7,111.05,1.7,64.61333333 -1133,46,30,2.7,111.05,1.7,64.61166666 -1134,46,30,2.7,111.05,1.7,64.60999999 -1135,46,30,2.7,111.05,1.7,64.60833333 -1136,46,30,2.7,111.05,1.7,64.60666666 -1137,46,30,2.7,111.05,1.7,64.60499999 -1138,46,30,2.7,111.05,1.7,64.60333333 -1139,46,30,2.7,111.05,1.7,64.60166666 -1140,46,30,2.7,111.05,1.7,64.59999999 -1141,46,30,2.7,111.05,1.7,64.59833333 -1142,46,30,2.7,111.05,1.7,64.59666666 -1143,46,30,2.7,111.05,1.7,64.59499999 -1144,46,30,2.7,111.05,1.7,64.59333333 -1145,46,30,2.7,111.05,1.7,64.59166666 -1146,46,30,2.7,111.05,1.7,64.58999999 -1147,46,30,2.7,111.05,1.7,64.58833333 -1148,46,30,2.7,111.05,1.7,64.58666666 -1149,46,30,2.7,111.05,1.7,64.58499999 -1150,46,30,2.7,111.05,1.7,64.58333333 -1151,46,30,2.7,111.05,1.7,64.58166666 -1152,46,30,2.7,111.05,1.7,64.57999999 -1153,46,30,2.7,111.05,1.7,64.57833332 -1154,46,30,2.7,111.05,1.7,64.57666666 -1155,46,30,2.7,111.05,1.7,64.57499999 -1156,46,30,2.7,111.05,1.7,64.57333332 -1157,46,30,2.7,111.05,1.7,64.57166666 -1158,46,30,2.7,111.05,1.7,64.56999999 -1159,46,30,2.7,111.05,1.7,64.56833332 -1160,46,30,2.7,111.05,1.7,64.56666666 -1161,46,30,2.7,111.05,1.7,64.56499999 -1162,46,30,2.7,111.05,1.7,64.56333332 -1163,46,30,2.7,111.05,1.7,64.56166666 -1164,46,30,2.7,111.05,1.7,64.55999999 -1165,46,30,2.7,111.05,1.7,64.55833332 -1166,46,30,2.7,111.05,1.7,64.55666666 -1167,46,30,2.7,111.05,1.7,64.55499999 -1168,46,30,2.7,111.05,1.7,64.55333332 -1169,46,30,2.7,111.05,1.7,64.55166666 -1170,46,30,2.7,111.05,1.7,64.54999999 -1171,46,30,2.7,111.05,1.7,64.54833332 -1172,46,30,2.7,111.05,1.7,64.54666666 -1173,46,30,2.7,111.05,1.7,64.54499999 -1174,46,30,2.7,111.05,1.7,64.54333332 -1175,46,30,2.7,111.05,1.7,64.54166666 -1176,46,30,2.7,111.05,1.7,64.53999999 -1177,46,30,2.7,111.05,1.7,64.53833332 -1178,46,30,2.7,111.05,1.7,64.53666666 -1179,46,30,2.7,111.05,1.7,64.53499999 -1180,46,30,2.7,111.05,1.7,64.53333332 -1181,46,30,2.7,111.05,1.7,64.53166666 -1182,46,30,2.7,111.05,1.7,64.52999999 -1183,46,30,2.7,111.05,1.7,64.52833332 -1184,46,30,2.7,111.05,1.7,64.52666666 -1185,46,30,2.7,111.05,1.7,64.52499999 -1186,46,30,2.7,111.05,1.7,64.52333332 -1187,46,30,2.7,111.05,1.7,64.52166666 -1188,46,30,2.7,111.05,1.7,64.51999999 -1189,46,30,2.7,111.05,1.7,64.51833332 -1190,46,30,2.7,111.05,1.7,64.51666666 -1191,46,30,2.7,111.05,1.7,64.51499999 -1192,46,30,2.7,111.05,1.7,64.51333332 -1193,46,30,2.7,111.05,1.7,64.51166666 -1194,46,30,2.7,111.05,1.7,64.50999999 -1195,46,30,2.7,111.05,1.7,64.50833332 -1196,46,30,2.7,111.05,1.7,64.50666666 -1197,46,30,2.7,111.05,1.7,64.50499999 -1198,46,30,2.7,111.05,1.7,64.50333332 -1199,46,30,2.7,111.05,1.7,64.50166666 -1200,46,30,2.7,111.05,1.7,64.5 -1201,46,30,2.7,111.05,1.7,64.499375 -1202,46,30,2.7,111.05,1.7,64.49875 -1203,46,30,2.7,111.05,1.7,64.498125 -1204,46,30,2.7,111.05,1.7,64.4975 -1205,46,30,2.7,111.05,1.7,64.496875 -1206,46,30,2.7,111.05,1.7,64.49625 -1207,46,30,2.7,111.05,1.7,64.495625 -1208,46,30,2.7,111.05,1.7,64.495 -1209,46,30,2.7,111.05,1.7,64.494375 -1210,46,30,2.7,111.05,1.7,64.49375 -1211,46,30,2.7,111.05,1.7,64.493125 -1212,46,30,2.7,111.05,1.7,64.4925 -1213,46,30,2.7,111.05,1.7,64.491875 -1214,46,30,2.7,111.05,1.7,64.49125 -1215,46,30,2.7,111.05,1.7,64.490625 -1216,46,30,2.7,111.05,1.7,64.49 -1217,46,30,2.7,111.05,1.7,64.489375 -1218,46,30,2.7,111.05,1.7,64.48875 -1219,46,30,2.7,111.05,1.7,64.488125 -1220,46,30,2.7,111.05,1.7,64.4875 -1221,46,30,2.7,111.05,1.7,64.486875 -1222,46,30,2.7,111.05,1.7,64.48625 -1223,46,30,2.7,111.05,1.7,64.485625 -1224,46,30,2.7,111.05,1.7,64.485 -1225,46,30,2.7,111.05,1.7,64.484375 -1226,46,30,2.7,111.05,1.7,64.48375 -1227,46,30,2.7,111.05,1.7,64.483125 -1228,46,30,2.7,111.05,1.7,64.4825 -1229,46,30,2.7,111.05,1.7,64.481875 -1230,46,30,2.7,111.05,1.7,64.48125 -1231,46,30,2.7,111.05,1.7,64.480625 -1232,46,30,2.7,111.05,1.7,64.48 -1233,46,30,2.7,111.05,1.7,64.479375 -1234,46,30,2.7,111.05,1.7,64.47875 -1235,46,30,2.7,111.05,1.7,64.478125 -1236,46,30,2.7,111.05,1.7,64.4775 -1237,46,30,2.7,111.05,1.7,64.476875 -1238,46,30,2.7,111.05,1.7,64.47625 -1239,46,30,2.7,111.05,1.7,64.475625 -1240,46,30,2.7,111.05,1.7,64.475 -1241,46,30,2.7,111.05,1.7,64.474375 -1242,46,30,2.7,111.05,1.7,64.47375 -1243,46,30,2.7,111.05,1.7,64.473125 -1244,46,30,2.7,111.05,1.7,64.4725 -1245,46,30,2.7,111.05,1.7,64.471875 -1246,46,30,2.7,111.05,1.7,64.47125 -1247,46,30,2.7,111.05,1.7,64.470625 -1248,46,30,2.7,111.05,1.7,64.47 -1249,46,30,2.7,111.05,1.7,64.469375 -1250,46,30,2.7,111.05,1.7,64.46875 -1251,46,30,2.7,111.05,1.7,64.468125 -1252,46,30,2.7,111.05,1.7,64.4675 -1253,46,30,2.7,111.05,1.7,64.466875 -1254,46,30,2.7,111.05,1.7,64.46625 -1255,46,30,2.7,111.05,1.7,64.465625 -1256,46,30,2.7,111.05,1.7,64.465 -1257,46,30,2.7,111.05,1.7,64.464375 -1258,46,30,2.7,111.05,1.7,64.46375 -1259,46,30,2.7,111.05,1.7,64.463125 -1260,46,30,2.7,111.05,1.7,64.4625 -1261,46,30,2.7,111.05,1.7,64.461875 -1262,46,30,2.7,111.05,1.7,64.46125 -1263,46,30,2.7,111.05,1.7,64.460625 -1264,46,30,2.7,111.05,1.7,64.46 -1265,46,30,2.7,111.05,1.7,64.459375 -1266,46,30,2.7,111.05,1.7,64.45875 -1267,46,30,2.7,111.05,1.7,64.458125 -1268,46,30,2.7,111.05,1.7,64.4575 -1269,46,30,2.7,111.05,1.7,64.456875 -1270,46,30,2.7,111.05,1.7,64.45625 -1271,46,30,2.7,111.05,1.7,64.455625 -1272,46,30,2.7,111.05,1.7,64.455 -1273,46,30,2.7,111.05,1.7,64.454375 -1274,46,30,2.7,111.05,1.7,64.45375 -1275,46,30,2.7,111.05,1.7,64.453125 -1276,46,30,2.7,111.05,1.7,64.4525 -1277,46,30,2.7,111.05,1.7,64.451875 -1278,46,30,2.7,111.05,1.7,64.45125 -1279,46,30,2.7,111.05,1.7,64.450625 -1280,46,30,2.7,111.05,1.7,64.45 -1281,46,30,2.7,111.05,1.7,64.449375 -1282,46,30,2.7,111.05,1.7,64.44875 -1283,46,30,2.7,111.05,1.7,64.448125 -1284,46,30,2.7,111.05,1.7,64.4475 -1285,46,30,2.7,111.05,1.7,64.446875 -1286,46,30,2.7,111.05,1.7,64.44625 -1287,46,30,2.7,111.05,1.7,64.445625 -1288,46,30,2.7,111.05,1.7,64.445 -1289,46,30,2.7,111.05,1.7,64.444375 -1290,46,30,2.7,111.05,1.7,64.44375 -1291,46,30,2.7,111.05,1.7,64.443125 -1292,46,30,2.7,111.05,1.7,64.4425 -1293,46,30,2.7,111.05,1.7,64.441875 -1294,46,30,2.7,111.05,1.7,64.44125 -1295,46,30,2.7,111.05,1.7,64.440625 -1296,46,30,2.7,111.05,1.7,64.44 -1297,46,30,2.7,111.05,1.7,64.439375 -1298,46,30,2.7,111.05,1.7,64.43875 -1299,46,30,2.7,111.05,1.7,64.438125 -1300,46,30,2.7,111.05,1.7,64.4375 -1301,46,30,2.7,111.05,1.7,64.436875 -1302,46,30,2.7,111.05,1.7,64.43625 -1303,46,30,2.7,111.05,1.7,64.435625 -1304,46,30,2.7,111.05,1.7,64.435 -1305,46,30,2.7,111.05,1.7,64.434375 -1306,46,30,2.7,111.05,1.7,64.43375 -1307,46,30,2.7,111.05,1.7,64.433125 -1308,46,30,2.7,111.05,1.7,64.4325 -1309,46,30,2.7,111.05,1.7,64.431875 -1310,46,30,2.7,111.05,1.7,64.43125 -1311,46,30,2.7,111.05,1.7,64.430625 -1312,46,30,2.7,111.05,1.7,64.43 -1313,46,30,2.7,111.05,1.7,64.429375 -1314,46,30,2.7,111.05,1.7,64.42875 -1315,46,30,2.7,111.05,1.7,64.428125 -1316,46,30,2.7,111.05,1.7,64.4275 -1317,46,30,2.7,111.05,1.7,64.426875 -1318,46,30,2.7,111.05,1.7,64.42625 -1319,46,30,2.7,111.05,1.7,64.425625 -1320,46,30,2.7,111.05,1.7,64.425 -1321,46,30,2.7,111.05,1.7,64.424375 -1322,46,30,2.7,111.05,1.7,64.42375 -1323,46,30,2.7,111.05,1.7,64.423125 -1324,46,30,2.7,111.05,1.7,64.4225 -1325,46,30,2.7,111.05,1.7,64.421875 -1326,46,30,2.7,111.05,1.7,64.42125 -1327,46,30,2.7,111.05,1.7,64.420625 -1328,46,30,2.7,111.05,1.7,64.42 -1329,46,30,2.7,111.05,1.7,64.419375 -1330,46,30,2.7,111.05,1.7,64.41875 -1331,46,30,2.7,111.05,1.7,64.418125 -1332,46,30,2.7,111.05,1.7,64.4175 -1333,46,30,2.7,111.05,1.7,64.416875 -1334,46,30,2.7,111.05,1.7,64.41625 -1335,46,30,2.7,111.05,1.7,64.415625 -1336,46,30,2.7,111.05,1.7,64.415 -1337,46,30,2.7,111.05,1.7,64.414375 -1338,46,30,2.7,111.05,1.7,64.41375 -1339,46,30,2.7,111.05,1.7,64.413125 -1340,46,30,2.7,111.05,1.7,64.4125 -1341,46,30,2.7,111.05,1.7,64.411875 -1342,46,30,2.7,111.05,1.7,64.41125 -1343,46,30,2.7,111.05,1.7,64.410625 -1344,46,30,2.7,111.05,1.7,64.41 -1345,46,30,2.7,111.05,1.7,64.409375 -1346,46,30,2.7,111.05,1.7,64.40875 -1347,46,30,2.7,111.05,1.7,64.408125 -1348,46,30,2.7,111.05,1.7,64.4075 -1349,46,30,2.7,111.05,1.7,64.406875 -1350,46,30,2.7,111.05,1.7,64.40625 -1351,46,30,2.7,111.05,1.7,64.405625 -1352,46,30,2.7,111.05,1.7,64.405 -1353,46,30,2.7,111.05,1.7,64.404375 -1354,46,30,2.7,111.05,1.7,64.40375 -1355,46,30,2.7,111.05,1.7,64.403125 -1356,46,30,2.7,111.05,1.7,64.4025 -1357,46,30,2.7,111.05,1.7,64.401875 -1358,46,30,2.7,111.05,1.7,64.40125 -1359,46,30,2.7,111.05,1.7,64.400625 -1360,46,30,2.7,111.05,1.7,64.4 -1361,46,30,2.7,111.05,1.7,64.399375 -1362,46,30,2.7,111.05,1.7,64.39875 -1363,46,30,2.7,111.05,1.7,64.398125 -1364,46,30,2.7,111.05,1.7,64.3975 -1365,46,30,2.7,111.05,1.7,64.396875 -1366,46,30,2.7,111.05,1.7,64.39625 -1367,46,30,2.7,111.05,1.7,64.395625 -1368,46,30,2.7,111.05,1.7,64.395 -1369,46,30,2.7,111.05,1.7,64.394375 -1370,46,30,2.7,111.05,1.7,64.39375 -1371,46,30,2.7,111.05,1.7,64.393125 -1372,46,30,2.7,111.05,1.7,64.3925 -1373,46,30,2.7,111.05,1.7,64.391875 -1374,46,30,2.7,111.05,1.7,64.39125 -1375,46,30,2.7,111.05,1.7,64.390625 -1376,46,30,2.7,111.05,1.7,64.39 -1377,46,30,2.7,111.05,1.7,64.389375 -1378,46,30,2.7,111.05,1.7,64.38875 -1379,46,30,2.7,111.05,1.7,64.388125 -1380,46,30,2.7,111.05,1.7,64.3875 -1381,46,30,2.7,111.05,1.7,64.386875 -1382,46,30,2.7,111.05,1.7,64.38625 -1383,46,30,2.7,111.05,1.7,64.385625 -1384,46,30,2.7,111.05,1.7,64.385 -1385,46,30,2.7,111.05,1.7,64.384375 -1386,46,30,2.7,111.05,1.7,64.38375 -1387,46,30,2.7,111.05,1.7,64.383125 -1388,46,30,2.7,111.05,1.7,64.3825 -1389,46,30,2.7,111.05,1.7,64.381875 -1390,46,30,2.7,111.05,1.7,64.38125 -1391,46,30,2.7,111.05,1.7,64.380625 -1392,46,30,2.7,111.05,1.7,64.38 -1393,46,30,2.7,111.05,1.7,64.379375 -1394,46,30,2.7,111.05,1.7,64.37875 -1395,46,30,2.7,111.05,1.7,64.378125 -1396,46,30,2.7,111.05,1.7,64.3775 -1397,46,30,2.7,111.05,1.7,64.376875 -1398,46,30,2.7,111.05,1.7,64.37625 -1399,46,30,2.7,111.05,1.7,64.375625 -1400,46,30,2.7,111.05,1.7,64.375 -1401,46,30,2.7,111.05,1.7,64.374375 -1402,46,30,2.7,111.05,1.7,64.37375 -1403,46,30,2.7,111.05,1.7,64.373125 -1404,46,30,2.7,111.05,1.7,64.3725 -1405,46,30,2.7,111.05,1.7,64.371875 -1406,46,30,2.7,111.05,1.7,64.37125 -1407,46,30,2.7,111.05,1.7,64.370625 -1408,46,30,2.7,111.05,1.7,64.37 -1409,46,30,2.7,111.05,1.7,64.369375 -1410,46,30,2.7,111.05,1.7,64.36875 -1411,46,30,2.7,111.05,1.7,64.368125 -1412,46,30,2.7,111.05,1.7,64.3675 -1413,46,30,2.7,111.05,1.7,64.366875 -1414,46,30,2.7,111.05,1.7,64.36625 -1415,46,30,2.7,111.05,1.7,64.365625 -1416,46,30,2.7,111.05,1.7,64.365 -1417,46,30,2.7,111.05,1.7,64.364375 -1418,46,30,2.7,111.05,1.7,64.36375 -1419,46,30,2.7,111.05,1.7,64.363125 -1420,46,30,2.7,111.05,1.7,64.3625 -1421,46,30,2.7,111.05,1.7,64.361875 -1422,46,30,2.7,111.05,1.7,64.36125 -1423,46,30,2.7,111.05,1.7,64.360625 -1424,46,30,2.7,111.05,1.7,64.36 -1425,46,30,2.7,111.05,1.7,64.359375 -1426,46,30,2.7,111.05,1.7,64.35875 -1427,46,30,2.7,111.05,1.7,64.358125 -1428,46,30,2.7,111.05,1.7,64.3575 -1429,46,30,2.7,111.05,1.7,64.356875 -1430,46,30,2.7,111.05,1.7,64.35625 -1431,46,30,2.7,111.05,1.7,64.355625 -1432,46,30,2.7,111.05,1.7,64.355 -1433,46,30,2.7,111.05,1.7,64.354375 -1434,46,30,2.7,111.05,1.7,64.35375 -1435,46,30,2.7,111.05,1.7,64.353125 -1436,46,30,2.7,111.05,1.7,64.3525 -1437,46,30,2.7,111.05,1.7,64.351875 -1438,46,30,2.7,111.05,1.7,64.35125 -1439,46,30,2.7,111.05,1.7,64.350625 -1440,46,30,2.7,111.05,1.7,64.35 -1441,46,30,2.7,111.05,1.7,64.349375 -1442,46,30,2.7,111.05,1.7,64.34875 -1443,46,30,2.7,111.05,1.7,64.348125 -1444,46,30,2.7,111.05,1.7,64.3475 -1445,46,30,2.7,111.05,1.7,64.346875 -1446,46,30,2.7,111.05,1.7,64.34625 -1447,46,30,2.7,111.05,1.7,64.345625 -1448,46,30,2.7,111.05,1.7,64.345 -1449,46,30,2.7,111.05,1.7,64.344375 -1450,46,30,2.7,111.05,1.7,64.34375 -1451,46,30,2.7,111.05,1.7,64.343125 -1452,46,30,2.7,111.05,1.7,64.3425 -1453,46,30,2.7,111.05,1.7,64.341875 -1454,46,30,2.7,111.05,1.7,64.34125 -1455,46,30,2.7,111.05,1.7,64.340625 -1456,46,30,2.7,111.05,1.7,64.34 -1457,46,30,2.7,111.05,1.7,64.339375 -1458,46,30,2.7,111.05,1.7,64.33875 -1459,46,30,2.7,111.05,1.7,64.338125 -1460,46,30,2.7,111.05,1.7,64.3375 -1461,46,30,2.7,111.05,1.7,64.336875 -1462,46,30,2.7,111.05,1.7,64.33625 -1463,46,30,2.7,111.05,1.7,64.335625 -1464,46,30,2.7,111.05,1.7,64.335 -1465,46,30,2.7,111.05,1.7,64.334375 -1466,46,30,2.7,111.05,1.7,64.33375 -1467,46,30,2.7,111.05,1.7,64.333125 -1468,46,30,2.7,111.05,1.7,64.3325 -1469,46,30,2.7,111.05,1.7,64.331875 -1470,46,30,2.7,111.05,1.7,64.33125 -1471,46,30,2.7,111.05,1.7,64.330625 -1472,46,30,2.7,111.05,1.7,64.33 -1473,46,30,2.7,111.05,1.7,64.329375 -1474,46,30,2.7,111.05,1.7,64.32875 -1475,46,30,2.7,111.05,1.7,64.328125 -1476,46,30,2.7,111.05,1.7,64.3275 -1477,46,30,2.7,111.05,1.7,64.326875 -1478,46,30,2.7,111.05,1.7,64.32625 -1479,46,30,2.7,111.05,1.7,64.325625 -1480,46,30,2.7,111.05,1.7,64.325 -1481,46,30,2.7,111.05,1.7,64.324375 -1482,46,30,2.7,111.05,1.7,64.32375 -1483,46,30,2.7,111.05,1.7,64.323125 -1484,46,30,2.7,111.05,1.7,64.3225 -1485,46,30,2.7,111.05,1.7,64.321875 -1486,46,30,2.7,111.05,1.7,64.32125 -1487,46,30,2.7,111.05,1.7,64.320625 -1488,46,30,2.7,111.05,1.7,64.32 -1489,46,30,2.7,111.05,1.7,64.319375 -1490,46,30,2.6,111.05,1.7,64.31875 -1491,46,30,2.6,111.05,1.7,64.318125 -1492,46,30,2.6,111.05,1.7,64.3175 -1493,46,30,2.6,111.05,1.7,64.316875 -1494,46,30,2.6,111.05,1.7,64.31625 -1495,46,30,2.6,111.05,1.7,64.315625 -1496,46,30,2.6,111.05,1.7,64.315 -1497,46,30,2.6,111.05,1.7,64.314375 -1498,46,30,2.6,111.05,1.7,64.31375 -1499,46,30,2.6,111.05,1.7,64.313125 -1500,46,30,2.6,111.05,1.7,64.3125 -1501,46,30,2.6,111.05,1.7,64.311875 -1502,46,30,2.6,111.05,1.7,64.31125 -1503,46,30,2.6,111.05,1.7,64.310625 -1504,46,30,2.6,111.05,1.7,64.31 -1505,46,30,2.6,111.05,1.7,64.309375 -1506,46,30,2.6,111.05,1.7,64.30875 -1507,46,30,2.6,111.05,1.7,64.308125 -1508,46,30,2.6,111.05,1.7,64.3075 -1509,46,30,2.6,111.05,1.7,64.306875 -1510,46,30,2.6,111.05,1.7,64.30625 -1511,46,30,2.6,111.05,1.7,64.305625 -1512,46,30,2.6,111.05,1.7,64.305 -1513,46,30,2.6,111.05,1.7,64.304375 -1514,46,30,2.6,111.05,1.7,64.30375 -1515,46,30,2.6,111.05,1.7,64.303125 -1516,46,30,2.6,111.05,1.7,64.3025 -1517,46,30,2.6,111.05,1.7,64.301875 -1518,46,30,2.6,111.05,1.7,64.30125 -1519,46,30,2.6,111.05,1.7,64.300625 -1520,46,30,2.6,111.05,1.7,64.3 -1521,46,30,2.6,111.05,1.7,64.299375 -1522,46,30,2.6,111.05,1.7,64.29875 -1523,46,30,2.6,111.05,1.7,64.298125 -1524,46,30,2.6,111.05,1.7,64.2975 -1525,46,30,2.6,111.05,1.7,64.296875 -1526,46,30,2.6,111.05,1.7,64.29625 -1527,46,30,2.6,111.05,1.7,64.295625 -1528,46,30,2.6,111.05,1.7,64.295 -1529,46,30,2.6,111.05,1.7,64.294375 -1530,46,30,2.6,111.05,1.7,64.29375 -1531,46,30,2.6,111.05,1.7,64.293125 -1532,46,30,2.6,111.05,1.7,64.2925 -1533,46,30,2.6,111.05,1.7,64.291875 -1534,46,30,2.6,111.05,1.7,64.29125 -1535,46,30,2.6,111.05,1.7,64.290625 -1536,46,30,2.6,111.05,1.7,64.29 -1537,46,30,2.6,111.05,1.7,64.289375 -1538,46,30,2.6,111.05,1.7,64.28875 -1539,46,30,2.6,111.05,1.7,64.288125 -1540,46,30,2.6,111.05,1.7,64.2875 -1541,46,30,2.6,111.05,1.7,64.286875 -1542,46,30,2.6,111.05,1.7,64.28625 -1543,46,30,2.6,111.05,1.7,64.285625 -1544,46,30,2.6,111.05,1.7,64.285 -1545,46,30,2.6,111.05,1.7,64.284375 -1546,46,30,2.6,111.05,1.7,64.28375 -1547,46,30,2.6,111.05,1.7,64.283125 -1548,46,30,2.6,111.05,1.7,64.2825 -1549,46,30,2.6,111.05,1.7,64.281875 -1550,46,30,2.6,111.05,1.7,64.28125 -1551,46,30,2.6,111.05,1.7,64.280625 -1552,46,30,2.6,111.05,1.7,64.28 -1553,46,30,2.6,111.05,1.7,64.279375 -1554,46,30,2.6,111.05,1.7,64.27875 -1555,46,30,2.6,111.05,1.7,64.278125 -1556,46,30,2.6,111.05,1.7,64.2775 -1557,46,30,2.6,111.05,1.7,64.276875 -1558,46,30,2.6,111.05,1.7,64.27625 -1559,46,30,2.6,111.05,1.7,64.275625 -1560,46,30,2.6,111.05,1.7,64.275 -1561,46,30,2.6,111.05,1.7,64.274375 -1562,46,30,2.6,111.05,1.7,64.27375 -1563,46,30,2.6,111.05,1.7,64.273125 -1564,46,30,2.6,111.05,1.7,64.2725 -1565,46,30,2.6,111.05,1.7,64.271875 -1566,46,30,2.6,111.05,1.7,64.27125 -1567,46,30,2.6,111.05,1.7,64.270625 -1568,46,30,2.6,111.05,1.7,64.27 -1569,46,30,2.6,111.05,1.7,64.269375 -1570,46,30,2.6,111.05,1.7,64.26875 -1571,46,30,2.6,111.05,1.7,64.268125 -1572,46,30,2.6,111.05,1.7,64.2675 -1573,46,30,2.6,111.05,1.7,64.266875 -1574,46,30,2.6,111.05,1.7,64.26625 -1575,46,30,2.6,111.05,1.7,64.265625 -1576,46,30,2.6,111.05,1.7,64.265 -1577,46,30,2.6,111.05,1.7,64.264375 -1578,46,30,2.6,111.05,1.7,64.26375 -1579,46,30,2.6,111.05,1.7,64.263125 -1580,46,30,2.6,111.05,1.7,64.2625 -1581,46,30,2.6,111.05,1.7,64.261875 -1582,46,30,2.6,111.05,1.7,64.26125 -1583,46,30,2.6,111.05,1.7,64.260625 -1584,46,30,2.6,111.05,1.7,64.26 -1585,46,30,2.6,111.05,1.7,64.259375 -1586,46,30,2.6,111.05,1.7,64.25875 -1587,46,30,2.6,111.05,1.7,64.258125 -1588,46,30,2.6,111.05,1.7,64.2575 -1589,46,30,2.6,111.05,1.7,64.256875 -1590,46,30,2.6,111.05,1.7,64.25625 -1591,46,30,2.6,111.05,1.7,64.255625 -1592,46,30,2.6,111.05,1.7,64.255 -1593,46,30,2.6,111.05,1.7,64.254375 -1594,46,30,2.6,111.05,1.7,64.25375 -1595,46,30,2.6,111.05,1.7,64.253125 -1596,46,30,2.6,111.05,1.7,64.2525 -1597,46,30,2.6,111.05,1.7,64.251875 -1598,46,30,2.6,111.05,1.7,64.25125 -1599,46,30,2.6,111.05,1.7,64.250625 -1600,46,30,2.6,111.05,1.7,64.25 -1601,46,30,2.6,111.05,1.7,64.249375 -1602,46,30,2.6,111.05,1.7,64.24875 -1603,46,30,2.6,111.05,1.7,64.248125 -1604,46,30,2.6,111.05,1.7,64.2475 -1605,46,30,2.6,111.05,1.7,64.246875 -1606,46,30,2.6,111.05,1.7,64.24625 -1607,46,30,2.6,111.05,1.7,64.245625 -1608,46,30,2.6,111.05,1.7,64.245 -1609,46,30,2.6,111.05,1.7,64.244375 -1610,46,30,2.6,111.05,1.7,64.24375 -1611,46,30,2.6,111.05,1.7,64.243125 -1612,46,30,2.6,111.05,1.7,64.2425 -1613,46,30,2.6,111.05,1.7,64.241875 -1614,46,30,2.6,111.05,1.7,64.24125 -1615,46,30,2.6,111.05,1.7,64.240625 -1616,46,30,2.6,111.05,1.7,64.24 -1617,46,30,2.6,111.05,1.7,64.239375 -1618,46,30,2.6,111.05,1.7,64.23875 -1619,46,30,2.6,111.05,1.7,64.238125 -1620,46,30,2.6,111.05,1.7,64.2375 -1621,46,30,2.6,111.05,1.7,64.236875 -1622,46,30,2.6,111.05,1.7,64.23625 -1623,46,30,2.6,111.05,1.7,64.235625 -1624,46,30,2.6,111.05,1.7,64.235 -1625,46,30,2.6,111.05,1.7,64.234375 -1626,46,30,2.6,111.05,1.7,64.23375 -1627,46,30,2.6,111.05,1.7,64.233125 -1628,46,30,2.6,111.05,1.7,64.2325 -1629,46,30,2.6,111.05,1.7,64.231875 -1630,46,30,2.6,111.05,1.7,64.23125 -1631,46,30,2.6,111.05,1.7,64.230625 -1632,46,30,2.6,111.05,1.7,64.23 -1633,46,30,2.6,111.05,1.7,64.229375 -1634,46,30,2.6,111.05,1.7,64.22875 -1635,46,30,2.6,111.05,1.7,64.228125 -1636,46,30,2.6,111.05,1.7,64.2275 -1637,46,30,2.6,111.05,1.7,64.226875 -1638,46,30,2.6,111.05,1.7,64.22625 -1639,46,30,2.6,111.05,1.7,64.225625 -1640,46,30,2.6,111.05,1.7,64.225 -1641,46,30,2.6,111.05,1.7,64.224375 -1642,46,30,2.6,111.05,1.7,64.22375 -1643,46,30,2.6,111.05,1.7,64.223125 -1644,46,30,2.6,111.05,1.7,64.2225 -1645,46,30,2.6,111.05,1.7,64.221875 -1646,46,30,2.6,111.05,1.7,64.22125 -1647,46,30,2.6,111.05,1.7,64.220625 -1648,46,30,2.6,111.05,1.7,64.22 -1649,46,30,2.6,111.05,1.7,64.219375 -1650,46,30,2.6,111.05,1.7,64.21875 -1651,46,30,2.6,111.05,1.7,64.218125 -1652,46,30,2.6,111.05,1.7,64.2175 -1653,46,30,2.6,111.05,1.7,64.216875 -1654,46,30,2.6,111.05,1.7,64.21625 -1655,46,30,2.6,111.05,1.7,64.215625 -1656,46,30,2.6,111.05,1.7,64.215 -1657,46,30,2.6,111.05,1.7,64.214375 -1658,46,30,2.6,111.05,1.7,64.21375 -1659,46,30,2.6,111.05,1.7,64.213125 -1660,46,30,2.6,111.05,1.7,64.2125 -1661,46,30,2.6,111.05,1.7,64.211875 -1662,46,30,2.6,111.05,1.7,64.21125 -1663,46,30,2.6,111.05,1.7,64.210625 -1664,46,30,2.6,111.05,1.7,64.21 -1665,46,30,2.6,111.05,1.7,64.209375 -1666,46,30,2.6,111.05,1.7,64.20875 -1667,46,30,2.6,111.05,1.7,64.208125 -1668,46,30,2.6,111.05,1.7,64.2075 -1669,46,30,2.6,111.05,1.7,64.206875 -1670,46,30,2.6,111.05,1.7,64.20625 -1671,46,30,2.6,111.05,1.7,64.205625 -1672,46,30,2.6,111.05,1.7,64.205 -1673,46,30,2.6,111.05,1.7,64.204375 -1674,46,30,2.6,111.05,1.7,64.20375 -1675,46,30,2.6,111.05,1.7,64.203125 -1676,46,30,2.6,111.05,1.7,64.2025 -1677,46,30,2.6,111.05,1.7,64.201875 -1678,46,30,2.6,111.05,1.7,64.20125 -1679,46,30,2.6,111.05,1.7,64.200625 -1680,46,30,2.6,111.05,1.7,64.2 -1681,46,30,2.6,111.05,1.7,64.199375 -1682,46,30,2.6,111.05,1.7,64.19875 -1683,46,30,2.6,111.05,1.7,64.198125 -1684,46,30,2.6,111.05,1.7,64.1975 -1685,46,30,2.6,111.05,1.7,64.196875 -1686,46,30,2.6,111.05,1.7,64.19625 -1687,46,30,2.6,111.05,1.7,64.195625 -1688,46,30,2.6,111.05,1.7,64.195 -1689,46,30,2.6,111.05,1.7,64.194375 -1690,46,30,2.6,111.05,1.7,64.19375 -1691,46,30,2.6,111.05,1.7,64.193125 -1692,46,30,2.6,111.05,1.7,64.1925 -1693,46,30,2.6,111.05,1.7,64.191875 -1694,46,30,2.6,111.05,1.7,64.19125 -1695,46,30,2.6,111.05,1.7,64.190625 -1696,46,30,2.6,111.05,1.7,64.19 -1697,46,30,2.6,111.05,1.7,64.189375 -1698,46,30,2.6,111.05,1.7,64.18875 -1699,46,30,2.6,111.05,1.7,64.188125 -1700,46,30,2.6,111.05,1.7,64.1875 -1701,46,30,2.6,111.05,1.7,64.186875 -1702,46,30,2.6,111.05,1.7,64.18625 -1703,46,30,2.6,111.05,1.7,64.185625 -1704,46,30,2.6,111.05,1.7,64.185 -1705,46,30,2.6,111.05,1.7,64.184375 -1706,46,30,2.6,111.05,1.7,64.18375 -1707,46,30,2.6,111.05,1.7,64.183125 -1708,46,30,2.6,111.05,1.7,64.1825 -1709,46,30,2.6,111.05,1.7,64.181875 -1710,46,30,2.6,111.05,1.7,64.18125 -1711,46,30,2.6,111.05,1.7,64.180625 -1712,46,30,2.6,111.05,1.7,64.18 -1713,46,30,2.6,111.05,1.7,64.179375 -1714,46,30,2.6,111.05,1.7,64.17875 -1715,46,30,2.6,111.05,1.7,64.178125 -1716,46,30,2.6,111.05,1.7,64.1775 -1717,46,30,2.6,111.05,1.7,64.176875 -1718,46,30,2.6,111.05,1.7,64.17625 -1719,46,30,2.6,111.05,1.7,64.175625 -1720,46,30,2.6,111.05,1.7,64.175 -1721,46,30,2.6,111.05,1.7,64.174375 -1722,46,30,2.6,111.05,1.7,64.17375 -1723,46,30,2.6,111.05,1.7,64.173125 -1724,46,30,2.6,111.05,1.7,64.1725 -1725,46,30,2.6,111.05,1.7,64.171875 -1726,46,30,2.6,111.05,1.7,64.17125 -1727,46,30,2.6,111.05,1.7,64.170625 -1728,46,30,2.6,111.05,1.7,64.17 -1729,46,30,2.6,111.05,1.7,64.169375 -1730,46,30,2.6,111.05,1.7,64.16875 -1731,46,30,2.6,111.05,1.7,64.168125 -1732,46,30,2.6,111.05,1.7,64.1675 -1733,46,30,2.6,111.05,1.7,64.166875 -1734,46,30,2.6,111.05,1.7,64.16625 -1735,46,30,2.6,111.05,1.7,64.165625 -1736,46,30,2.6,111.05,1.7,64.165 -1737,46,30,2.6,111.05,1.7,64.164375 -1738,46,30,2.6,111.05,1.7,64.16375 -1739,46,30,2.6,111.05,1.7,64.163125 -1740,46,30,2.6,111.05,1.7,64.1625 -1741,46,30,2.6,111.05,1.7,64.161875 -1742,46,30,2.6,111.05,1.7,64.16125 -1743,46,30,2.6,111.05,1.7,64.160625 -1744,46,30,2.6,111.05,1.7,64.16 -1745,46,30,2.6,111.05,1.7,64.159375 -1746,46,30,2.6,111.05,1.7,64.15875 -1747,46,30,2.6,111.05,1.7,64.158125 -1748,46,30,2.6,111.05,1.7,64.1575 -1749,46,30,2.6,111.05,1.7,64.156875 -1750,46,30,2.6,111.05,1.7,64.15625 -1751,46,30,2.6,111.05,1.7,64.155625 -1752,46,30,2.6,111.05,1.7,64.155 -1753,46,30,2.6,111.05,1.7,64.154375 -1754,46,30,2.6,111.05,1.7,64.15375 -1755,46,30,2.6,111.05,1.7,64.153125 -1756,46,30,2.6,111.05,1.7,64.1525 -1757,46,30,2.6,111.05,1.7,64.151875 -1758,46,30,2.6,111.05,1.7,64.15125 -1759,46,30,2.6,111.05,1.7,64.150625 -1760,46,30,2.6,111.05,1.7,64.15 -1761,46,30,2.6,111.05,1.7,64.149375 -1762,46,30,2.6,111.05,1.7,64.14875 -1763,46,30,2.6,111.05,1.7,64.148125 -1764,46,30,2.6,111.05,1.7,64.1475 -1765,46,30,2.6,111.05,1.7,64.146875 -1766,46,30,2.6,111.05,1.7,64.14625 -1767,46,30,2.6,111.05,1.7,64.145625 -1768,46,30,2.6,111.05,1.7,64.145 -1769,46,30,2.6,111.05,1.7,64.144375 -1770,46,30,2.6,111.05,1.7,64.14375 -1771,46,30,2.6,111.05,1.7,64.143125 -1772,46,30,2.6,111.05,1.7,64.1425 -1773,46,30,2.6,111.05,1.7,64.141875 -1774,46,30,2.6,111.05,1.7,64.14125 -1775,46,30,2.6,111.05,1.7,64.140625 -1776,46,30,2.6,111.05,1.7,64.14 -1777,46,30,2.6,111.05,1.7,64.139375 -1778,46,30,2.6,111.05,1.7,64.13875 -1779,46,30,2.6,111.05,1.7,64.138125 -1780,46,30,2.6,111.05,1.7,64.1375 -1781,46,30,2.6,111.05,1.7,64.136875 -1782,46,30,2.6,111.05,1.7,64.13625 -1783,46,30,2.6,111.05,1.7,64.135625 -1784,46,30,2.6,111.05,1.7,64.135 -1785,46,30,2.6,111.05,1.7,64.134375 -1786,46,30,2.6,111.05,1.7,64.13375 -1787,46,30,2.6,111.05,1.7,64.133125 -1788,46,30,2.6,111.05,1.7,64.1325 -1789,46,30,2.6,111.05,1.7,64.131875 -1790,46,30,2.6,111.05,1.7,64.13125 -1791,46,30,2.6,111.05,1.7,64.130625 -1792,46,30,2.6,111.05,1.7,64.13 -1793,46,30,2.6,111.05,1.7,64.129375 -1794,46,30,2.6,111.05,1.7,64.12875 -1795,46,30,2.6,111.05,1.7,64.128125 -1796,46,30,2.6,111.05,1.7,64.1275 -1797,46,30,2.6,111.05,1.7,64.126875 -1798,46,30,2.6,111.05,1.7,64.12625 -1799,46,30,2.6,111.05,1.7,64.125625 -1800,46,30,2.6,111.05,1.7,64.125 -1801,46,30,2.6,111.05,1.7,64.124375 -1802,46,30,2.6,111.05,1.7,64.12375 -1803,46,30,2.6,111.05,1.7,64.123125 -1804,46,30,2.6,111.05,1.7,64.1225 -1805,46,30,2.6,111.05,1.7,64.121875 -1806,46,30,2.6,111.05,1.7,64.12125 -1807,46,30,2.6,111.05,1.7,64.120625 -1808,46,30,2.6,111.05,1.7,64.12 -1809,46,30,2.6,111.05,1.7,64.119375 -1810,46,30,2.6,111.05,1.7,64.11875 -1811,46,30,2.6,111.05,1.7,64.118125 -1812,46,30,2.6,111.05,1.7,64.1175 -1813,46,30,2.6,111.05,1.7,64.116875 -1814,46,30,2.6,111.05,1.7,64.11625 -1815,46,30,2.6,111.05,1.7,64.115625 -1816,46,30,2.6,111.05,1.7,64.115 -1817,46,30,2.6,111.05,1.7,64.114375 -1818,46,30,2.6,111.05,1.7,64.11375 -1819,46,30,2.6,111.05,1.7,64.113125 -1820,46,30,2.6,111.05,1.7,64.1125 -1821,46,30,2.6,111.05,1.7,64.111875 -1822,46,30,2.6,111.05,1.7,64.11125 -1823,46,30,2.6,111.05,1.7,64.110625 -1824,46,30,2.6,111.05,1.7,64.11 -1825,46,30,2.6,111.05,1.7,64.109375 -1826,46,30,2.6,111.05,1.7,64.10875 -1827,46,30,2.6,111.05,1.7,64.108125 -1828,46,30,2.6,111.05,1.7,64.1075 -1829,46,30,2.6,111.05,1.7,64.106875 -1830,46,30,2.6,111.05,1.7,64.10625 -1831,46,30,2.6,111.05,1.7,64.105625 -1832,46,30,2.6,111.05,1.7,64.105 -1833,46,30,2.6,111.05,1.7,64.104375 -1834,46,30,2.6,111.05,1.7,64.10375 -1835,46,30,2.6,111.05,1.7,64.103125 -1836,46,30,2.6,111.05,1.7,64.1025 -1837,46,30,2.6,111.05,1.7,64.101875 -1838,46,30,2.6,111.05,1.7,64.10125 -1839,46,30,2.6,111.05,1.7,64.100625 -1840,46,30,2.6,111.05,1.7,64.1 -1841,46,30,2.6,111.05,1.7,64.099375 -1842,46,30,2.6,111.05,1.7,64.09875 -1843,46,30,2.6,111.05,1.7,64.098125 -1844,46,30,2.6,111.05,1.7,64.0975 -1845,46,30,2.6,111.05,1.7,64.096875 -1846,46,30,2.6,111.05,1.7,64.09625 -1847,46,30,2.6,111.05,1.7,64.095625 -1848,46,30,2.6,111.05,1.7,64.095 -1849,46,30,2.6,111.05,1.7,64.094375 -1850,46,30,2.6,111.05,1.7,64.09375 -1851,46,30,2.6,111.05,1.7,64.093125 -1852,46,30,2.6,111.05,1.7,64.0925 -1853,46,30,2.6,111.05,1.7,64.091875 -1854,46,30,2.6,111.05,1.7,64.09125 -1855,46,30,2.6,111.05,1.7,64.090625 -1856,46,30,2.6,111.05,1.7,64.09 -1857,46,30,2.6,111.05,1.7,64.089375 -1858,46,30,2.6,111.05,1.7,64.08875 -1859,46,30,2.6,111.05,1.7,64.088125 -1860,46,30,2.6,111.05,1.7,64.0875 -1861,46,30,2.6,111.05,1.7,64.086875 -1862,46,30,2.6,111.05,1.7,64.08625 -1863,46,30,2.6,111.05,1.7,64.085625 -1864,46,30,2.6,111.05,1.7,64.085 -1865,46,30,2.6,111.05,1.7,64.084375 -1866,46,30,2.6,111.05,1.7,64.08375 -1867,46,30,2.6,111.05,1.7,64.083125 -1868,46,30,2.6,111.05,1.7,64.0825 -1869,46,30,2.6,111.05,1.7,64.081875 -1870,46,30,2.6,111.05,1.7,64.08125 -1871,46,30,2.6,111.05,1.7,64.080625 -1872,46,30,2.6,111.05,1.7,64.08 -1873,46,30,2.6,111.05,1.7,64.079375 -1874,46,30,2.6,111.05,1.7,64.07875 -1875,46,30,2.6,111.05,1.7,64.078125 -1876,46,30,2.6,111.05,1.7,64.0775 -1877,46,30,2.6,111.05,1.7,64.076875 -1878,46,30,2.6,111.05,1.7,64.07625 -1879,46,30,2.6,111.05,1.7,64.075625 -1880,46,30,2.6,111.05,1.7,64.075 -1881,46,30,2.6,111.05,1.7,64.074375 -1882,46,30,2.6,111.05,1.7,64.07375 -1883,46,30,2.6,111.05,1.7,64.073125 -1884,46,30,2.6,111.05,1.7,64.0725 -1885,46,30,2.6,111.05,1.7,64.071875 -1886,46,30,2.6,111.05,1.7,64.07125 -1887,46,30,2.6,111.05,1.7,64.070625 -1888,46,30,2.6,111.05,1.7,64.07 -1889,46,30,2.6,111.05,1.7,64.069375 -1890,46,30,2.6,111.05,1.7,64.06875 -1891,46,30,2.6,111.05,1.7,64.068125 -1892,46,30,2.6,111.05,1.7,64.0675 -1893,46,30,2.6,111.05,1.7,64.066875 -1894,46,30,2.6,111.05,1.7,64.06625 -1895,46,30,2.6,111.05,1.7,64.065625 -1896,46,30,2.6,111.05,1.7,64.065 -1897,46,30,2.6,111.05,1.7,64.064375 -1898,46,30,2.6,111.05,1.7,64.06375 -1899,46,30,2.6,111.05,1.7,64.063125 -1900,46,30,2.6,111.05,1.7,64.0625 -1901,46,30,2.6,111.05,1.7,64.061875 -1902,46,30,2.6,111.05,1.7,64.06125 -1903,46,30,2.6,111.05,1.7,64.060625 -1904,46,30,2.6,111.05,1.7,64.06 -1905,46,30,2.6,111.05,1.7,64.059375 -1906,46,30,2.6,111.05,1.7,64.05875 -1907,46,30,2.6,111.05,1.7,64.058125 -1908,46,30,2.6,111.05,1.7,64.0575 -1909,46,30,2.6,111.05,1.7,64.056875 -1910,46,30,2.6,111.05,1.7,64.05625 -1911,46,30,2.6,111.05,1.7,64.055625 -1912,46,30,2.6,111.05,1.7,64.055 -1913,46,30,2.6,111.05,1.7,64.054375 -1914,46,30,2.6,111.05,1.7,64.05375 -1915,46,30,2.6,111.05,1.7,64.053125 -1916,46,30,2.6,111.05,1.7,64.0525 -1917,46,30,2.6,111.05,1.7,64.051875 -1918,46,30,2.6,111.05,1.7,64.05125 -1919,46,30,2.6,111.05,1.7,64.050625 -1920,46,30,2.6,111.05,1.7,64.05 -1921,46,30,2.6,111.05,1.7,64.049375 -1922,46,30,2.6,111.05,1.7,64.04875 -1923,46,30,2.6,111.05,1.7,64.048125 -1924,46,30,2.6,111.05,1.7,64.0475 -1925,46,30,2.6,111.05,1.7,64.046875 -1926,46,30,2.6,111.05,1.7,64.04625 -1927,46,30,2.6,111.05,1.7,64.045625 -1928,46,30,2.6,111.05,1.7,64.045 -1929,46,30,2.6,111.05,1.7,64.044375 -1930,46,30,2.6,111.05,1.7,64.04375 -1931,46,30,2.6,111.05,1.7,64.043125 -1932,46,30,2.6,111.05,1.7,64.0425 -1933,46,30,2.6,111.05,1.7,64.041875 -1934,46,30,2.6,111.05,1.7,64.04125 -1935,46,30,2.6,111.05,1.7,64.040625 -1936,46,30,2.6,111.05,1.7,64.04 -1937,46,30,2.6,111.05,1.7,64.039375 -1938,46,30,2.6,111.05,1.7,64.03875 -1939,46,30,2.6,111.05,1.7,64.038125 -1940,46,30,2.6,111.05,1.7,64.0375 -1941,46,30,2.6,111.05,1.7,64.036875 -1942,46,30,2.6,111.05,1.7,64.03625 -1943,46,30,2.6,111.05,1.7,64.035625 -1944,46,30,2.6,111.05,1.7,64.035 -1945,46,30,2.6,111.05,1.7,64.034375 -1946,46,30,2.6,111.05,1.7,64.03375 -1947,46,30,2.6,111.05,1.7,64.033125 -1948,46,30,2.6,111.05,1.7,64.0325 -1949,46,30,2.6,111.05,1.7,64.031875 -1950,46,30,2.6,111.05,1.7,64.03125 -1951,46,30,2.6,111.05,1.7,64.030625 -1952,46,30,2.6,111.05,1.7,64.03 -1953,46,30,2.6,111.05,1.7,64.029375 -1954,46,30,2.6,111.05,1.7,64.02875 -1955,46,30,2.6,111.05,1.7,64.028125 -1956,46,30,2.6,111.05,1.7,64.0275 -1957,46,30,2.6,111.05,1.7,64.026875 -1958,46,30,2.6,111.05,1.7,64.02625 -1959,46,30,2.6,111.05,1.7,64.025625 -1960,46,30,2.6,111.05,1.7,64.025 -1961,46,30,2.6,111.05,1.7,64.024375 -1962,46,30,2.6,111.05,1.7,64.02375 -1963,46,30,2.6,111.05,1.7,64.023125 -1964,46,30,2.6,111.05,1.7,64.0225 -1965,46,30,2.6,111.05,1.7,64.021875 -1966,46,30,2.6,111.05,1.7,64.02125 -1967,46,30,2.6,111.05,1.7,64.020625 -1968,46,30,2.6,111.05,1.7,64.02 -1969,46,30,2.6,111.05,1.7,64.019375 -1970,46,30,2.6,111.05,1.7,64.01875 -1971,46,30,2.6,111.05,1.7,64.018125 -1972,46,30,2.6,111.05,1.7,64.0175 -1973,46,30,2.6,111.05,1.7,64.016875 -1974,46,30,2.6,111.05,1.7,64.01625 -1975,46,30,2.6,111.05,1.7,64.015625 -1976,46,30,2.6,111.05,1.7,64.015 -1977,46,30,2.6,111.05,1.7,64.014375 -1978,46,30,2.6,111.05,1.7,64.01375 -1979,46,30,2.6,111.05,1.7,64.013125 -1980,46,30,2.6,111.05,1.7,64.0125 -1981,46,30,2.6,111.05,1.7,64.011875 -1982,46,30,2.6,111.05,1.7,64.01125 -1983,46,30,2.6,111.05,1.7,64.010625 -1984,46,30,2.6,111.05,1.7,64.01 -1985,46,30,2.6,111.05,1.7,64.009375 -1986,46,30,2.6,111.05,1.7,64.00875 -1987,46,30,2.6,111.05,1.7,64.008125 -1988,46,30,2.6,111.05,1.7,64.0075 -1989,46,30,2.6,111.05,1.7,64.006875 -1990,46,30,2.6,111.05,1.7,64.00625 -1991,46,30,2.6,111.05,1.7,64.005625 -1992,46,30,2.6,111.05,1.7,64.005 -1993,46,30,2.6,111.05,1.7,64.004375 -1994,46,30,2.6,111.05,1.7,64.00375 -1995,46,30,2.6,111.05,1.7,64.003125 -1996,46,30,2.6,111.05,1.7,64.0025 -1997,46,30,2.6,111.05,1.7,64.001875 -1998,46,30,2.6,111.05,1.7,64.00125 -1999,46,30,2.6,111.05,1.7,64.000625 -2000,46,30,2.6,111.05,1.7,64 -2001,46,30,2.6,111.05,1.7,63.99975 -2002,46,30,2.6,111.05,1.7,63.9995 -2003,46,30,2.6,111.05,1.7,63.99925 -2004,46,30,2.6,111.05,1.7,63.999 -2005,46,30,2.6,111.05,1.7,63.99875 -2006,46,30,2.6,111.05,1.7,63.9985 -2007,46,30,2.6,111.05,1.7,63.99825 -2008,46,30,2.6,111.05,1.7,63.998 -2009,46,30,2.6,111.05,1.7,63.99775 -2010,46,30,2.6,111.05,1.7,63.9975 -2011,46,30,2.6,111.05,1.7,63.99725 -2012,46,30,2.6,111.05,1.7,63.997 -2013,46,30,2.6,111.05,1.7,63.99675 -2014,46,30,2.6,111.05,1.7,63.9965 -2015,46,30,2.6,111.05,1.7,63.99625 -2016,46,30,2.6,111.05,1.7,63.996 -2017,46,30,2.6,111.05,1.7,63.99575 -2018,46,30,2.6,111.05,1.7,63.9955 -2019,46,30,2.6,111.05,1.7,63.99525 -2020,46,30,2.6,111.05,1.7,63.995 -2021,46,30,2.6,111.05,1.7,63.99475 -2022,46,30,2.6,111.05,1.7,63.9945 -2023,46,30,2.6,111.05,1.7,63.99425 -2024,46,30,2.6,111.05,1.7,63.994 -2025,46,30,2.6,111.05,1.7,63.99375 -2026,46,30,2.6,111.05,1.7,63.9935 -2027,46,30,2.6,111.05,1.7,63.99325 -2028,46,30,2.6,111.05,1.7,63.993 -2029,46,30,2.6,111.05,1.7,63.99275 -2030,46,30,2.6,111.05,1.7,63.9925 -2031,46,30,2.6,111.05,1.7,63.99225 -2032,46,30,2.6,111.05,1.7,63.992 -2033,46,30,2.6,111.05,1.7,63.99175 -2034,46,30,2.6,111.05,1.7,63.9915 -2035,46,30,2.6,111.05,1.7,63.99125 -2036,46,30,2.6,111.05,1.7,63.991 -2037,46,30,2.6,111.05,1.7,63.99075 -2038,46,30,2.6,111.05,1.7,63.9905 -2039,46,30,2.6,111.05,1.7,63.99025 -2040,46,30,2.6,111.05,1.7,63.99 -2041,46,30,2.6,111.05,1.7,63.98975 -2042,46,30,2.6,111.05,1.7,63.9895 -2043,46,30,2.6,111.05,1.7,63.98925 -2044,46,30,2.6,111.05,1.7,63.989 -2045,46,30,2.6,111.05,1.7,63.98875 -2046,46,30,2.6,111.05,1.7,63.9885 -2047,46,30,2.6,111.05,1.7,63.98825 -2048,46,30,2.6,111.05,1.7,63.988 -2049,46,30,2.6,111.05,1.7,63.98775 -2050,46,30,2.6,111.05,1.7,63.9875 -2051,46,30,2.6,111.05,1.7,63.98725 -2052,46,30,2.6,111.05,1.7,63.987 -2053,46,30,2.6,111.05,1.7,63.98675 -2054,46,30,2.6,111.05,1.7,63.9865 -2055,46,30,2.6,111.05,1.7,63.98625 -2056,46,30,2.6,111.05,1.7,63.986 -2057,46,30,2.6,111.05,1.7,63.98575 -2058,46,30,2.6,111.05,1.7,63.9855 -2059,46,30,2.6,111.05,1.7,63.98525 -2060,46,30,2.6,111.05,1.7,63.985 -2061,46,30,2.6,111.05,1.7,63.98475 -2062,46,30,2.6,111.05,1.7,63.9845 -2063,46,30,2.6,111.05,1.7,63.98425 -2064,46,30,2.6,111.05,1.7,63.984 -2065,46,30,2.6,111.05,1.7,63.98375 -2066,46,30,2.6,111.05,1.7,63.9835 -2067,46,30,2.6,111.05,1.7,63.98325 -2068,46,30,2.6,111.05,1.7,63.983 -2069,46,30,2.6,111.05,1.7,63.98275 -2070,46,30,2.6,111.05,1.7,63.9825 -2071,46,30,2.6,111.05,1.7,63.98225 -2072,46,30,2.6,111.05,1.7,63.982 -2073,46,30,2.6,111.05,1.7,63.98175 -2074,46,30,2.6,111.05,1.7,63.9815 -2075,46,30,2.6,111.05,1.7,63.98125 -2076,46,30,2.6,111.05,1.7,63.981 -2077,46,30,2.6,111.05,1.7,63.98075 -2078,46,30,2.6,111.05,1.7,63.9805 -2079,46,30,2.6,111.05,1.7,63.98025 -2080,46,30,2.6,111.05,1.7,63.98 -2081,46,30,2.6,111.05,1.7,63.97975 -2082,46,30,2.6,111.05,1.7,63.9795 -2083,46,30,2.6,111.05,1.7,63.97925 -2084,46,30,2.6,111.05,1.7,63.979 -2085,46,30,2.6,111.05,1.7,63.97875 -2086,46,30,2.6,111.05,1.7,63.9785 -2087,46,30,2.6,111.05,1.7,63.97825 -2088,46,30,2.6,111.05,1.7,63.978 -2089,46,30,2.6,111.05,1.7,63.97775 -2090,46,30,2.6,111.05,1.7,63.9775 -2091,46,30,2.6,111.05,1.7,63.97725 -2092,46,30,2.6,111.05,1.7,63.977 -2093,46,30,2.6,111.05,1.7,63.97675 -2094,46,30,2.6,111.05,1.7,63.9765 -2095,46,30,2.6,111.05,1.7,63.97625 -2096,46,30,2.6,111.05,1.7,63.976 -2097,46,30,2.6,111.05,1.7,63.97575 -2098,46,30,2.6,111.05,1.7,63.9755 -2099,46,30,2.6,111.05,1.7,63.97525 -2100,46,30,2.6,111.05,1.7,63.975 -2101,46,30,2.6,111.05,1.7,63.97475 -2102,46,30,2.6,111.05,1.7,63.9745 -2103,46,30,2.6,111.05,1.7,63.97425 -2104,46,30,2.6,111.05,1.7,63.974 -2105,46,30,2.6,111.05,1.7,63.97375 -2106,46,30,2.6,111.05,1.7,63.9735 -2107,46,30,2.6,111.05,1.7,63.97325 -2108,46,30,2.6,111.05,1.7,63.973 -2109,46,30,2.6,111.05,1.7,63.97275 -2110,46,30,2.6,111.05,1.7,63.9725 -2111,46,30,2.6,111.05,1.7,63.97225 -2112,46,30,2.6,111.05,1.7,63.972 -2113,46,30,2.6,111.05,1.7,63.97175 -2114,46,30,2.6,111.05,1.7,63.9715 -2115,46,30,2.6,111.05,1.7,63.97125 -2116,46,30,2.6,111.05,1.7,63.971 -2117,46,30,2.6,111.05,1.7,63.97075 -2118,46,30,2.6,111.05,1.7,63.9705 -2119,46,30,2.6,111.05,1.7,63.97025 -2120,46,30,2.6,111.05,1.7,63.97 -2121,46,30,2.6,111.05,1.7,63.96975 -2122,46,30,2.6,111.05,1.7,63.9695 -2123,46,30,2.6,111.05,1.7,63.96925 -2124,46,30,2.6,111.05,1.7,63.969 -2125,46,30,2.6,111.05,1.7,63.96875 -2126,46,30,2.6,111.05,1.7,63.9685 -2127,46,30,2.6,111.05,1.7,63.96825 -2128,46,30,2.6,111.05,1.7,63.968 -2129,46,30,2.6,111.05,1.7,63.96775 -2130,46,30,2.6,111.05,1.7,63.9675 -2131,46,30,2.6,111.05,1.7,63.96725 -2132,46,30,2.6,111.05,1.7,63.967 -2133,46,30,2.6,111.05,1.7,63.96675 -2134,46,30,2.6,111.05,1.7,63.9665 -2135,46,30,2.6,111.05,1.7,63.96625 -2136,46,30,2.6,111.05,1.7,63.966 -2137,46,30,2.6,111.05,1.7,63.96575 -2138,46,30,2.6,111.05,1.7,63.9655 -2139,46,30,2.6,111.05,1.7,63.96525 -2140,46,30,2.6,111.05,1.7,63.965 -2141,46,30,2.6,111.05,1.7,63.96475 -2142,46,30,2.6,111.05,1.7,63.9645 -2143,46,30,2.6,111.05,1.7,63.96425 -2144,46,30,2.6,111.05,1.7,63.964 -2145,46,30,2.6,111.05,1.7,63.96375 -2146,46,30,2.6,111.05,1.7,63.9635 -2147,46,30,2.6,111.05,1.7,63.96325 -2148,46,30,2.6,111.05,1.7,63.963 -2149,46,30,2.6,111.05,1.7,63.96275 -2150,46,30,2.6,111.05,1.7,63.9625 -2151,46,30,2.6,111.05,1.7,63.96225 -2152,46,30,2.6,111.05,1.7,63.962 -2153,46,30,2.6,111.05,1.7,63.96175 -2154,46,30,2.6,111.05,1.7,63.9615 -2155,46,30,2.6,111.05,1.7,63.96125 -2156,46,30,2.6,111.05,1.7,63.961 -2157,46,30,2.6,111.05,1.7,63.96075 -2158,46,30,2.6,111.05,1.7,63.9605 -2159,46,30,2.6,111.05,1.7,63.96025 -2160,46,30,2.6,111.05,1.7,63.96 -2161,46,30,2.6,111.05,1.7,63.95975 -2162,46,30,2.6,111.05,1.7,63.9595 -2163,46,30,2.6,111.05,1.7,63.95925 -2164,46,30,2.6,111.05,1.7,63.959 -2165,46,30,2.6,111.05,1.7,63.95875 -2166,46,30,2.6,111.05,1.7,63.9585 -2167,46,30,2.6,111.05,1.7,63.95825 -2168,46,30,2.6,111.05,1.7,63.958 -2169,46,30,2.6,111.05,1.7,63.95775 -2170,46,30,2.6,111.05,1.7,63.9575 -2171,46,30,2.6,111.05,1.7,63.95725 -2172,46,30,2.6,111.05,1.7,63.957 -2173,46,30,2.6,111.05,1.7,63.95675 -2174,46,30,2.6,111.05,1.7,63.9565 -2175,46,30,2.6,111.05,1.7,63.95625 -2176,46,30,2.6,111.05,1.7,63.956 -2177,46,30,2.6,111.05,1.7,63.95575 -2178,46,30,2.6,111.05,1.7,63.9555 -2179,46,30,2.6,111.05,1.7,63.95525 -2180,46,30,2.6,111.05,1.7,63.955 -2181,46,30,2.6,111.05,1.7,63.95475 -2182,46,30,2.6,111.05,1.7,63.9545 -2183,46,30,2.6,111.05,1.7,63.95425 -2184,46,30,2.6,111.05,1.7,63.954 -2185,46,30,2.6,111.05,1.7,63.95375 -2186,46,30,2.6,111.05,1.7,63.9535 -2187,46,30,2.6,111.05,1.7,63.95325 -2188,46,30,2.6,111.05,1.7,63.953 -2189,46,30,2.6,111.05,1.7,63.95275 -2190,46,30,2.6,111.05,1.7,63.9525 -2191,46,30,2.6,111.05,1.7,63.95225 -2192,46,30,2.6,111.05,1.7,63.952 -2193,46,30,2.6,111.05,1.7,63.95175 -2194,46,30,2.6,111.05,1.7,63.9515 -2195,46,30,2.6,111.05,1.7,63.95125 -2196,46,30,2.6,111.05,1.7,63.951 -2197,46,30,2.6,111.05,1.7,63.95075 -2198,46,30,2.6,111.05,1.7,63.9505 -2199,46,30,2.6,111.05,1.7,63.95025 -2200,46,30,2.6,111.05,1.7,63.95 -2201,46,30,2.6,111.05,1.7,63.94975 -2202,46,30,2.6,111.05,1.7,63.9495 -2203,46,30,2.6,111.05,1.7,63.94925 -2204,46,30,2.6,111.05,1.7,63.949 -2205,46,30,2.6,111.05,1.7,63.94875 -2206,46,30,2.6,111.05,1.7,63.9485 -2207,46,30,2.6,111.05,1.7,63.94825 -2208,46,30,2.6,111.05,1.7,63.948 -2209,46,30,2.6,111.05,1.7,63.94775 -2210,46,30,2.6,111.05,1.7,63.9475 -2211,46,30,2.6,111.05,1.7,63.94725 -2212,46,30,2.6,111.05,1.7,63.947 -2213,46,30,2.6,111.05,1.7,63.94675 -2214,46,30,2.6,111.05,1.7,63.9465 -2215,46,30,2.6,111.05,1.7,63.94625 -2216,46,30,2.6,111.05,1.7,63.946 -2217,46,30,2.6,111.05,1.7,63.94575 -2218,46,30,2.6,111.05,1.7,63.9455 -2219,46,30,2.6,111.05,1.7,63.94525 -2220,46,30,2.6,111.05,1.7,63.945 -2221,46,30,2.6,111.05,1.7,63.94475 -2222,46,30,2.6,111.05,1.7,63.9445 -2223,46,30,2.6,111.05,1.7,63.94425 -2224,46,30,2.6,111.05,1.7,63.944 -2225,46,30,2.6,111.05,1.7,63.94375 -2226,46,30,2.6,111.05,1.7,63.9435 -2227,46,30,2.6,111.05,1.7,63.94325 -2228,46,30,2.6,111.05,1.7,63.943 -2229,46,30,2.6,111.05,1.7,63.94275 -2230,46,30,2.6,111.05,1.7,63.9425 -2231,46,30,2.6,111.05,1.7,63.94225 -2232,46,30,2.6,111.05,1.7,63.942 -2233,46,30,2.6,111.05,1.7,63.94175 -2234,46,30,2.6,111.05,1.7,63.9415 -2235,46,30,2.6,111.05,1.7,63.94125 -2236,46,30,2.6,111.05,1.7,63.941 -2237,46,30,2.6,111.05,1.7,63.94075 -2238,46,30,2.6,111.05,1.7,63.9405 -2239,46,30,2.6,111.05,1.7,63.94025 -2240,46,30,2.6,111.05,1.7,63.94 -2241,46,30,2.6,111.05,1.7,63.93975 -2242,46,30,2.6,111.05,1.7,63.9395 -2243,46,30,2.6,111.05,1.7,63.93925 -2244,46,30,2.6,111.05,1.7,63.939 -2245,46,30,2.6,111.05,1.7,63.93875 -2246,46,30,2.6,111.05,1.7,63.9385 -2247,46,30,2.6,111.05,1.7,63.93825 -2248,46,30,2.6,111.05,1.7,63.938 -2249,46,30,2.6,111.05,1.7,63.93775 -2250,46,30,2.6,111.05,1.7,63.9375 -2251,46,30,2.6,111.05,1.7,63.93725 -2252,46,30,2.6,111.05,1.7,63.937 -2253,46,30,2.6,111.05,1.7,63.93675 -2254,46,30,2.6,111.05,1.7,63.9365 -2255,46,30,2.6,111.05,1.7,63.93625 -2256,46,30,2.6,111.05,1.7,63.936 -2257,46,30,2.6,111.05,1.7,63.93575 -2258,46,30,2.6,111.05,1.7,63.9355 -2259,46,30,2.6,111.05,1.7,63.93525 -2260,46,30,2.6,111.05,1.7,63.935 -2261,46,30,2.6,111.05,1.7,63.93475 -2262,46,30,2.6,111.05,1.7,63.9345 -2263,46,30,2.6,111.05,1.7,63.93425 -2264,46,30,2.6,111.05,1.7,63.934 -2265,46,30,2.6,111.05,1.7,63.93375 -2266,46,30,2.6,111.05,1.7,63.9335 -2267,46,30,2.6,111.05,1.7,63.93325 -2268,46,30,2.6,111.05,1.7,63.933 -2269,46,30,2.6,111.05,1.7,63.93275 -2270,46,30,2.6,111.05,1.7,63.9325 -2271,46,30,2.6,111.05,1.7,63.93225 -2272,46,30,2.6,111.05,1.7,63.932 -2273,46,30,2.6,111.05,1.7,63.93175 -2274,46,30,2.6,111.05,1.7,63.9315 -2275,46,30,2.6,111.05,1.7,63.93125 -2276,46,30,2.6,111.05,1.7,63.931 -2277,46,30,2.6,111.05,1.7,63.93075 -2278,46,30,2.6,111.05,1.7,63.9305 -2279,46,30,2.6,111.05,1.7,63.93025 -2280,46,30,2.6,111.05,1.7,63.93 -2281,46,30,2.6,111.05,1.7,63.92975 -2282,46,30,2.6,111.05,1.7,63.9295 -2283,46,30,2.6,111.05,1.7,63.92925 -2284,46,30,2.6,111.05,1.7,63.929 -2285,46,30,2.6,111.05,1.7,63.92875 -2286,46,30,2.6,111.05,1.7,63.9285 -2287,46,30,2.6,111.05,1.7,63.92825 -2288,46,30,2.6,111.05,1.7,63.928 -2289,46,30,2.6,111.05,1.7,63.92775 -2290,46,30,2.6,111.05,1.7,63.9275 -2291,46,30,2.6,111.05,1.7,63.92725 -2292,46,30,2.6,111.05,1.7,63.927 -2293,46,30,2.6,111.05,1.7,63.92675 -2294,46,30,2.6,111.05,1.7,63.9265 -2295,46,30,2.6,111.05,1.7,63.92625 -2296,46,30,2.6,111.05,1.7,63.926 -2297,46,30,2.6,111.05,1.7,63.92575 -2298,46,30,2.6,111.05,1.7,63.9255 -2299,46,30,2.6,111.05,1.7,63.92525 -2300,46,30,2.6,111.05,1.7,63.925 -2301,46,30,2.6,111.05,1.7,63.92475 -2302,46,30,2.6,111.05,1.7,63.9245 -2303,46,30,2.6,111.05,1.7,63.92425 -2304,46,30,2.6,111.05,1.7,63.924 -2305,46,30,2.6,111.05,1.7,63.92375 -2306,46,30,2.6,111.05,1.7,63.9235 -2307,46,30,2.6,111.05,1.7,63.92325 -2308,46,30,2.6,111.05,1.7,63.923 -2309,46,30,2.6,111.05,1.7,63.92275 -2310,46,30,2.6,111.05,1.7,63.9225 -2311,46,30,2.6,111.05,1.7,63.92225 -2312,46,30,2.6,111.05,1.7,63.922 -2313,46,30,2.6,111.05,1.7,63.92175 -2314,46,30,2.6,111.05,1.7,63.9215 -2315,46,30,2.6,111.05,1.7,63.92125 -2316,46,30,2.6,111.05,1.7,63.921 -2317,46,30,2.6,111.05,1.7,63.92075 -2318,46,30,2.6,111.05,1.7,63.9205 -2319,46,30,2.6,111.05,1.7,63.92025 -2320,46,30,2.6,111.05,1.7,63.92 -2321,46,30,2.6,111.05,1.7,63.91975 -2322,46,30,2.6,111.05,1.7,63.9195 -2323,46,30,2.6,111.05,1.7,63.91925 -2324,46,30,2.6,111.05,1.7,63.919 -2325,46,30,2.6,111.05,1.7,63.91875 -2326,46,30,2.6,111.05,1.7,63.9185 -2327,46,30,2.6,111.05,1.7,63.91825 -2328,46,30,2.6,111.05,1.7,63.918 -2329,46,30,2.6,111.05,1.7,63.91775 -2330,46,30,2.6,111.05,1.7,63.9175 -2331,46,30,2.6,111.05,1.7,63.91725 -2332,46,30,2.6,111.05,1.7,63.917 -2333,46,30,2.6,111.05,1.7,63.91675 -2334,46,30,2.6,111.05,1.7,63.9165 -2335,46,30,2.6,111.05,1.7,63.91625 -2336,46,30,2.6,111.05,1.7,63.916 -2337,46,30,2.6,111.05,1.7,63.91575 -2338,46,30,2.6,111.05,1.7,63.9155 -2339,46,30,2.6,111.05,1.7,63.91525 -2340,46,30,2.6,111.05,1.7,63.915 -2341,46,30,2.6,111.05,1.7,63.91475 -2342,46,30,2.6,111.05,1.7,63.9145 -2343,46,30,2.6,111.05,1.7,63.91425 -2344,46,30,2.6,111.05,1.7,63.914 -2345,46,30,2.6,111.05,1.7,63.91375 -2346,46,30,2.6,111.05,1.7,63.9135 -2347,46,30,2.6,111.05,1.7,63.91325 -2348,46,30,2.6,111.05,1.7,63.913 -2349,46,30,2.6,111.05,1.7,63.91275 -2350,46,30,2.6,111.05,1.7,63.9125 -2351,46,30,2.6,111.05,1.7,63.91225 -2352,46,30,2.6,111.05,1.7,63.912 -2353,46,30,2.6,111.05,1.7,63.91175 -2354,46,30,2.6,111.05,1.7,63.9115 -2355,46,30,2.6,111.05,1.7,63.91125 -2356,46,30,2.6,111.05,1.7,63.911 -2357,46,30,2.6,111.05,1.7,63.91075 -2358,46,30,2.6,111.05,1.7,63.9105 -2359,46,30,2.6,111.05,1.7,63.91025 -2360,46,30,2.6,111.05,1.7,63.91 -2361,46,30,2.6,111.05,1.7,63.90975 -2362,46,30,2.6,111.05,1.7,63.9095 -2363,46,30,2.6,111.05,1.7,63.90925 -2364,46,30,2.6,111.05,1.7,63.909 -2365,46,30,2.6,111.05,1.7,63.90875 -2366,46,30,2.6,111.05,1.7,63.9085 -2367,46,30,2.6,111.05,1.7,63.90825 -2368,46,30,2.6,111.05,1.7,63.908 -2369,46,30,2.6,111.05,1.7,63.90775 -2370,46,30,2.6,111.05,1.7,63.9075 -2371,46,30,2.6,111.05,1.7,63.90725 -2372,46,30,2.6,111.05,1.7,63.907 -2373,46,30,2.6,111.05,1.7,63.90675 -2374,46,30,2.6,111.05,1.7,63.9065 -2375,46,30,2.6,111.05,1.7,63.90625 -2376,46,30,2.6,111.05,1.7,63.906 -2377,46,30,2.6,111.05,1.7,63.90575 -2378,46,30,2.6,111.05,1.7,63.9055 -2379,46,30,2.6,111.05,1.7,63.90525 -2380,46,30,2.6,111.05,1.7,63.905 -2381,46,30,2.6,111.05,1.7,63.90475 -2382,46,30,2.6,111.05,1.7,63.9045 -2383,46,30,2.6,111.05,1.7,63.90425 -2384,46,30,2.6,111.05,1.7,63.904 -2385,46,30,2.6,111.05,1.7,63.90375 -2386,46,30,2.6,111.05,1.7,63.9035 -2387,46,30,2.6,111.05,1.7,63.90325 -2388,46,30,2.6,111.05,1.7,63.903 -2389,46,30,2.6,111.05,1.7,63.90275 -2390,46,30,2.6,111.05,1.7,63.9025 -2391,46,30,2.6,111.05,1.7,63.90225 -2392,46,30,2.6,111.05,1.7,63.902 -2393,46,30,2.6,111.05,1.7,63.90175 -2394,46,30,2.6,111.05,1.7,63.9015 -2395,46,30,2.6,111.05,1.7,63.90125 -2396,46,30,2.6,111.05,1.7,63.901 -2397,46,30,2.6,111.05,1.7,63.90075 -2398,46,30,2.6,111.05,1.7,63.9005 -2399,46,30,2.6,111.05,1.7,63.90025 -2400,46,30,2.6,111.05,1.7,63.9 -2401,46,30,2.6,111.05,1.7,63.89975 -2402,46,30,2.6,111.05,1.7,63.8995 -2403,46,30,2.6,111.05,1.7,63.89925 -2404,46,30,2.6,111.05,1.7,63.899 -2405,46,30,2.6,111.05,1.7,63.89875 -2406,46,30,2.6,111.05,1.7,63.8985 -2407,46,30,2.6,111.05,1.7,63.89825 -2408,46,30,2.6,111.05,1.7,63.898 -2409,46,30,2.6,111.05,1.7,63.89775 -2410,46,30,2.6,111.05,1.7,63.8975 -2411,46,30,2.6,111.05,1.7,63.89725 -2412,46,30,2.6,111.05,1.7,63.897 -2413,46,30,2.6,111.05,1.7,63.89675 -2414,46,30,2.6,111.05,1.7,63.8965 -2415,46,30,2.6,111.05,1.7,63.89625 -2416,46,30,2.6,111.05,1.7,63.896 -2417,46,30,2.6,111.05,1.7,63.89575 -2418,46,30,2.6,111.05,1.7,63.8955 -2419,46,30,2.6,111.05,1.7,63.89525 -2420,46,30,2.6,111.05,1.7,63.895 -2421,46,30,2.6,111.05,1.7,63.89475 -2422,46,30,2.6,111.05,1.7,63.8945 -2423,46,30,2.6,111.05,1.7,63.89425 -2424,46,30,2.6,111.05,1.7,63.894 -2425,46,30,2.6,111.05,1.7,63.89375 -2426,46,30,2.6,111.05,1.7,63.8935 -2427,46,30,2.6,111.05,1.7,63.89325 -2428,46,30,2.6,111.05,1.7,63.893 -2429,46,30,2.6,111.05,1.7,63.89275 -2430,46,30,2.6,111.05,1.7,63.8925 -2431,46,30,2.6,111.05,1.7,63.89225 -2432,46,30,2.6,111.05,1.7,63.892 -2433,46,30,2.6,111.05,1.7,63.89175 -2434,46,30,2.6,111.05,1.7,63.8915 -2435,46,30,2.6,111.05,1.7,63.89125 -2436,46,30,2.6,111.05,1.7,63.891 -2437,46,30,2.6,111.05,1.7,63.89075 -2438,46,30,2.6,111.05,1.7,63.8905 -2439,46,30,2.6,111.05,1.7,63.89025 -2440,46,30,2.6,111.05,1.7,63.89 -2441,46,30,2.6,111.05,1.7,63.88975 -2442,46,30,2.6,111.05,1.7,63.8895 -2443,46,30,2.6,111.05,1.7,63.88925 -2444,46,30,2.6,111.05,1.7,63.889 -2445,46,30,2.6,111.05,1.7,63.88875 -2446,46,30,2.6,111.05,1.7,63.8885 -2447,46,30,2.6,111.05,1.7,63.88825 -2448,46,30,2.6,111.05,1.7,63.888 -2449,46,30,2.6,111.05,1.7,63.88775 -2450,46,30,2.6,111.05,1.7,63.8875 -2451,46,30,2.6,111.05,1.7,63.88725 -2452,46,30,2.6,111.05,1.7,63.887 -2453,46,30,2.6,111.05,1.7,63.88675 -2454,46,30,2.6,111.05,1.7,63.8865 -2455,46,30,2.6,111.05,1.7,63.88625 -2456,46,30,2.6,111.05,1.7,63.886 -2457,46,30,2.6,111.05,1.7,63.88575 -2458,46,30,2.6,111.05,1.7,63.8855 -2459,46,30,2.6,111.05,1.7,63.88525 -2460,46,30,2.6,111.05,1.7,63.885 -2461,46,30,2.6,111.05,1.7,63.88475 -2462,46,30,2.6,111.05,1.7,63.8845 -2463,46,30,2.6,111.05,1.7,63.88425 -2464,46,30,2.6,111.05,1.7,63.884 -2465,46,30,2.6,111.05,1.7,63.88375 -2466,46,30,2.6,111.05,1.7,63.8835 -2467,46,30,2.6,111.05,1.7,63.88325 -2468,46,30,2.6,111.05,1.7,63.883 -2469,46,30,2.6,111.05,1.7,63.88275 -2470,46,30,2.6,111.05,1.7,63.8825 -2471,46,30,2.6,111.05,1.7,63.88225 -2472,46,30,2.6,111.05,1.7,63.882 -2473,46,30,2.6,111.05,1.7,63.88175 -2474,46,30,2.6,111.05,1.7,63.8815 -2475,46,30,2.6,111.05,1.7,63.88125 -2476,46,30,2.6,111.05,1.7,63.881 -2477,46,30,2.6,111.05,1.7,63.88075 -2478,46,30,2.6,111.05,1.7,63.8805 -2479,46,30,2.6,111.05,1.7,63.88025 -2480,46,30,2.6,111.05,1.7,63.88 -2481,46,30,2.6,111.05,1.7,63.87975 -2482,46,30,2.6,111.05,1.7,63.8795 -2483,46,30,2.6,111.05,1.7,63.87925 -2484,46,30,2.6,111.05,1.7,63.879 -2485,46,30,2.6,111.05,1.7,63.87875 -2486,46,30,2.6,111.05,1.7,63.8785 -2487,46,30,2.6,111.05,1.7,63.87825 -2488,46,30,2.6,111.05,1.7,63.878 -2489,46,30,2.6,111.05,1.7,63.87775 -2490,46,30,2.5,111.05,1.7,63.8775 -2491,46,30,2.5,111.05,1.7,63.87725 -2492,46,30,2.5,111.05,1.7,63.877 -2493,46,30,2.5,111.05,1.7,63.87675 -2494,46,30,2.5,111.05,1.7,63.8765 -2495,46,30,2.5,111.05,1.7,63.87625 -2496,46,30,2.5,111.05,1.7,63.876 -2497,46,30,2.5,111.05,1.7,63.87575 -2498,46,30,2.5,111.05,1.7,63.8755 -2499,46,30,2.5,111.05,1.7,63.87525 -2500,46,30,2.5,111.05,1.7,63.875 -2501,46,30,2.5,111.05,1.7,63.87475 -2502,46,30,2.5,111.05,1.7,63.8745 -2503,46,30,2.5,111.05,1.7,63.87425 -2504,46,30,2.5,111.05,1.7,63.874 -2505,46,30,2.5,111.05,1.7,63.87375 -2506,46,30,2.5,111.05,1.7,63.8735 -2507,46,30,2.5,111.05,1.7,63.87325 -2508,46,30,2.5,111.05,1.7,63.873 -2509,46,30,2.5,111.05,1.7,63.87275 -2510,46,30,2.5,111.05,1.7,63.8725 -2511,46,30,2.5,111.05,1.7,63.87225 -2512,46,30,2.5,111.05,1.7,63.872 -2513,46,30,2.5,111.05,1.7,63.87175 -2514,46,30,2.5,111.05,1.7,63.8715 -2515,46,30,2.5,111.05,1.7,63.87125 -2516,46,30,2.5,111.05,1.7,63.871 -2517,46,30,2.5,111.05,1.7,63.87075 -2518,46,30,2.5,111.05,1.7,63.8705 -2519,46,30,2.5,111.05,1.7,63.87025 -2520,46,30,2.5,111.05,1.7,63.87 -2521,46,30,2.5,111.05,1.7,63.86975 -2522,46,30,2.5,111.05,1.7,63.8695 -2523,46,30,2.5,111.05,1.7,63.86925 -2524,46,30,2.5,111.05,1.7,63.869 -2525,46,30,2.5,111.05,1.7,63.86875 -2526,46,30,2.5,111.05,1.7,63.8685 -2527,46,30,2.5,111.05,1.7,63.86825 -2528,46,30,2.5,111.05,1.7,63.868 -2529,46,30,2.5,111.05,1.7,63.86775 -2530,46,30,2.5,111.05,1.7,63.8675 -2531,46,30,2.5,111.05,1.7,63.86725 -2532,46,30,2.5,111.05,1.7,63.867 -2533,46,30,2.5,111.05,1.7,63.86675 -2534,46,30,2.5,111.05,1.7,63.8665 -2535,46,30,2.5,111.05,1.7,63.86625 -2536,46,30,2.5,111.05,1.7,63.866 -2537,46,30,2.5,111.05,1.7,63.86575 -2538,46,30,2.5,111.05,1.7,63.8655 -2539,46,30,2.5,111.05,1.7,63.86525 -2540,46,30,2.5,111.05,1.7,63.865 -2541,46,30,2.5,111.05,1.7,63.86475 -2542,46,30,2.5,111.05,1.7,63.8645 -2543,46,30,2.5,111.05,1.7,63.86425 -2544,46,30,2.5,111.05,1.7,63.864 -2545,46,30,2.5,111.05,1.7,63.86375 -2546,46,30,2.5,111.05,1.7,63.8635 -2547,46,30,2.5,111.05,1.7,63.86325 -2548,46,30,2.5,111.05,1.7,63.863 -2549,46,30,2.5,111.05,1.7,63.86275 -2550,46,30,2.5,111.05,1.7,63.8625 -2551,46,30,2.5,111.05,1.7,63.86225 -2552,46,30,2.5,111.05,1.7,63.862 -2553,46,30,2.5,111.05,1.7,63.86175 -2554,46,30,2.5,111.05,1.7,63.8615 -2555,46,30,2.5,111.05,1.7,63.86125 -2556,46,30,2.5,111.05,1.7,63.861 -2557,46,30,2.5,111.05,1.7,63.86075 -2558,46,30,2.5,111.05,1.7,63.8605 -2559,46,30,2.5,111.05,1.7,63.86025 -2560,46,30,2.5,111.05,1.7,63.86 -2561,46,30,2.5,111.05,1.7,63.85975 -2562,46,30,2.5,111.05,1.7,63.8595 -2563,46,30,2.5,111.05,1.7,63.85925 -2564,46,30,2.5,111.05,1.7,63.859 -2565,46,30,2.5,111.05,1.7,63.85875 -2566,46,30,2.5,111.05,1.7,63.8585 -2567,46,30,2.5,111.05,1.7,63.85825 -2568,46,30,2.5,111.05,1.7,63.858 -2569,46,30,2.5,111.05,1.7,63.85775 -2570,46,30,2.5,111.05,1.7,63.8575 -2571,46,30,2.5,111.05,1.7,63.85725 -2572,46,30,2.5,111.05,1.7,63.857 -2573,46,30,2.5,111.05,1.7,63.85675 -2574,46,30,2.5,111.05,1.7,63.8565 -2575,46,30,2.5,111.05,1.7,63.85625 -2576,46,30,2.5,111.05,1.7,63.856 -2577,46,30,2.5,111.05,1.7,63.85575 -2578,46,30,2.5,111.05,1.7,63.8555 -2579,46,30,2.5,111.05,1.7,63.85525 -2580,46,30,2.5,111.05,1.7,63.855 -2581,46,30,2.5,111.05,1.7,63.85475 -2582,46,30,2.5,111.05,1.7,63.8545 -2583,46,30,2.5,111.05,1.7,63.85425 -2584,46,30,2.5,111.05,1.7,63.854 -2585,46,30,2.5,111.05,1.7,63.85375 -2586,46,30,2.5,111.05,1.7,63.8535 -2587,46,30,2.5,111.05,1.7,63.85325 -2588,46,30,2.5,111.05,1.7,63.853 -2589,46,30,2.5,111.05,1.7,63.85275 -2590,46,30,2.5,111.05,1.7,63.8525 -2591,46,30,2.5,111.05,1.7,63.85225 -2592,46,30,2.5,111.05,1.7,63.852 -2593,46,30,2.5,111.05,1.7,63.85175 -2594,46,30,2.5,111.05,1.7,63.8515 -2595,46,30,2.5,111.05,1.7,63.85125 -2596,46,30,2.5,111.05,1.7,63.851 -2597,46,30,2.5,111.05,1.7,63.85075 -2598,46,30,2.5,111.05,1.7,63.8505 -2599,46,30,2.5,111.05,1.7,63.85025 -2600,46,30,2.5,111.05,1.7,63.85 -2601,46,30,2.5,111.05,1.7,63.84975 -2602,46,30,2.5,111.05,1.7,63.8495 -2603,46,30,2.5,111.05,1.7,63.84925 -2604,46,30,2.5,111.05,1.7,63.849 -2605,46,30,2.5,111.05,1.7,63.84875 -2606,46,30,2.5,111.05,1.7,63.8485 -2607,46,30,2.5,111.05,1.7,63.84825 -2608,46,30,2.5,111.05,1.7,63.848 -2609,46,30,2.5,111.05,1.7,63.84775 -2610,46,30,2.5,111.05,1.7,63.8475 -2611,46,30,2.5,111.05,1.7,63.84725 -2612,46,30,2.5,111.05,1.7,63.847 -2613,46,30,2.5,111.05,1.7,63.84675 -2614,46,30,2.5,111.05,1.7,63.8465 -2615,46,30,2.5,111.05,1.7,63.84625 -2616,46,30,2.5,111.05,1.7,63.846 -2617,46,30,2.5,111.05,1.7,63.84575 -2618,46,30,2.5,111.05,1.7,63.8455 -2619,46,30,2.5,111.05,1.7,63.84525 -2620,46,30,2.5,111.05,1.7,63.845 -2621,46,30,2.5,111.05,1.7,63.84475 -2622,46,30,2.5,111.05,1.7,63.8445 -2623,46,30,2.5,111.05,1.7,63.84425 -2624,46,30,2.5,111.05,1.7,63.844 -2625,46,30,2.5,111.05,1.7,63.84375 -2626,46,30,2.5,111.05,1.7,63.8435 -2627,46,30,2.5,111.05,1.7,63.84325 -2628,46,30,2.5,111.05,1.7,63.843 -2629,46,30,2.5,111.05,1.7,63.84275 -2630,46,30,2.5,111.05,1.7,63.8425 -2631,46,30,2.5,111.05,1.7,63.84225 -2632,46,30,2.5,111.05,1.7,63.842 -2633,46,30,2.5,111.05,1.7,63.84175 -2634,46,30,2.5,111.05,1.7,63.8415 -2635,46,30,2.5,111.05,1.7,63.84125 -2636,46,30,2.5,111.05,1.7,63.841 -2637,46,30,2.5,111.05,1.7,63.84075 -2638,46,30,2.5,111.05,1.7,63.8405 -2639,46,30,2.5,111.05,1.7,63.84025 -2640,46,30,2.5,111.05,1.7,63.84 -2641,46,30,2.5,111.05,1.7,63.83975 -2642,46,30,2.5,111.05,1.7,63.8395 -2643,46,30,2.5,111.05,1.7,63.83925 -2644,46,30,2.5,111.05,1.7,63.839 -2645,46,30,2.5,111.05,1.7,63.83875 -2646,46,30,2.5,111.05,1.7,63.8385 -2647,46,30,2.5,111.05,1.7,63.83825 -2648,46,30,2.5,111.05,1.7,63.838 -2649,46,30,2.5,111.05,1.7,63.83775 -2650,46,30,2.5,111.05,1.7,63.8375 -2651,46,30,2.5,111.05,1.7,63.83725 -2652,46,30,2.5,111.05,1.7,63.837 -2653,46,30,2.5,111.05,1.7,63.83675 -2654,46,30,2.5,111.05,1.7,63.8365 -2655,46,30,2.5,111.05,1.7,63.83625 -2656,46,30,2.5,111.05,1.7,63.836 -2657,46,30,2.5,111.05,1.7,63.83575 -2658,46,30,2.5,111.05,1.7,63.8355 -2659,46,30,2.5,111.05,1.7,63.83525 -2660,46,30,2.5,111.05,1.7,63.835 -2661,46,30,2.5,111.05,1.7,63.83475 -2662,46,30,2.5,111.05,1.7,63.8345 -2663,46,30,2.5,111.05,1.7,63.83425 -2664,46,30,2.5,111.05,1.7,63.834 -2665,46,30,2.5,111.05,1.7,63.83375 -2666,46,30,2.5,111.05,1.7,63.8335 -2667,46,30,2.5,111.05,1.7,63.83325 -2668,46,30,2.5,111.05,1.7,63.833 -2669,46,30,2.5,111.05,1.7,63.83275 -2670,46,30,2.5,111.05,1.7,63.8325 -2671,46,30,2.5,111.05,1.7,63.83225 -2672,46,30,2.5,111.05,1.7,63.832 -2673,46,30,2.5,111.05,1.7,63.83175 -2674,46,30,2.5,111.05,1.7,63.8315 -2675,46,30,2.5,111.05,1.7,63.83125 -2676,46,30,2.5,111.05,1.7,63.831 -2677,46,30,2.5,111.05,1.7,63.83075 -2678,46,30,2.5,111.05,1.7,63.8305 -2679,46,30,2.5,111.05,1.7,63.83025 -2680,46,30,2.5,111.05,1.7,63.83 -2681,46,30,2.5,111.05,1.7,63.82975 -2682,46,30,2.5,111.05,1.7,63.8295 -2683,46,30,2.5,111.05,1.7,63.82925 -2684,46,30,2.5,111.05,1.7,63.829 -2685,46,30,2.5,111.05,1.7,63.82875 -2686,46,30,2.5,111.05,1.7,63.8285 -2687,46,30,2.5,111.05,1.7,63.82825 -2688,46,30,2.5,111.05,1.7,63.828 -2689,46,30,2.5,111.05,1.7,63.82775 -2690,46,30,2.5,111.05,1.7,63.8275 -2691,46,30,2.5,111.05,1.7,63.82725 -2692,46,30,2.5,111.05,1.7,63.827 -2693,46,30,2.5,111.05,1.7,63.82675 -2694,46,30,2.5,111.05,1.7,63.8265 -2695,46,30,2.5,111.05,1.7,63.82625 -2696,46,30,2.5,111.05,1.7,63.826 -2697,46,30,2.5,111.05,1.7,63.82575 -2698,46,30,2.5,111.05,1.7,63.8255 -2699,46,30,2.5,111.05,1.7,63.82525 -2700,46,30,2.5,111.05,1.7,63.825 -2701,46,30,2.5,111.05,1.7,63.82475 -2702,46,30,2.5,111.05,1.7,63.8245 -2703,46,30,2.5,111.05,1.7,63.82425 -2704,46,30,2.5,111.05,1.7,63.824 -2705,46,30,2.5,111.05,1.7,63.82375 -2706,46,30,2.5,111.05,1.7,63.8235 -2707,46,30,2.5,111.05,1.7,63.82325 -2708,46,30,2.5,111.05,1.7,63.823 -2709,46,30,2.5,111.05,1.7,63.82275 -2710,46,30,2.5,111.05,1.7,63.8225 -2711,46,30,2.5,111.05,1.7,63.82225 -2712,46,30,2.5,111.05,1.7,63.822 -2713,46,30,2.5,111.05,1.7,63.82175 -2714,46,30,2.5,111.05,1.7,63.8215 -2715,46,30,2.5,111.05,1.7,63.82125 -2716,46,30,2.5,111.05,1.7,63.821 -2717,46,30,2.5,111.05,1.7,63.82075 -2718,46,30,2.5,111.05,1.7,63.8205 -2719,46,30,2.5,111.05,1.7,63.82025 -2720,46,30,2.5,111.05,1.7,63.82 -2721,46,30,2.5,111.05,1.7,63.81975 -2722,46,30,2.5,111.05,1.7,63.8195 -2723,46,30,2.5,111.05,1.7,63.81925 -2724,46,30,2.5,111.05,1.7,63.819 -2725,46,30,2.5,111.05,1.7,63.81875 -2726,46,30,2.5,111.05,1.7,63.8185 -2727,46,30,2.5,111.05,1.7,63.81825 -2728,46,30,2.5,111.05,1.7,63.818 -2729,46,30,2.5,111.05,1.7,63.81775 -2730,46,30,2.5,111.05,1.7,63.8175 -2731,46,30,2.5,111.05,1.7,63.81725 -2732,46,30,2.5,111.05,1.7,63.817 -2733,46,30,2.5,111.05,1.7,63.81675 -2734,46,30,2.5,111.05,1.7,63.8165 -2735,46,30,2.5,111.05,1.7,63.81625 -2736,46,30,2.5,111.05,1.7,63.816 -2737,46,30,2.5,111.05,1.7,63.81575 -2738,46,30,2.5,111.05,1.7,63.8155 -2739,46,30,2.5,111.05,1.7,63.81525 -2740,46,30,2.5,111.05,1.7,63.815 -2741,46,30,2.5,111.05,1.7,63.81475 -2742,46,30,2.5,111.05,1.7,63.8145 -2743,46,30,2.5,111.05,1.7,63.81425 -2744,46,30,2.5,111.05,1.7,63.814 -2745,46,30,2.5,111.05,1.7,63.81375 -2746,46,30,2.5,111.05,1.7,63.8135 -2747,46,30,2.5,111.05,1.7,63.81325 -2748,46,30,2.5,111.05,1.7,63.813 -2749,46,30,2.5,111.05,1.7,63.81275 -2750,46,30,2.5,111.05,1.7,63.8125 -2751,46,30,2.5,111.05,1.7,63.81225 -2752,46,30,2.5,111.05,1.7,63.812 -2753,46,30,2.5,111.05,1.7,63.81175 -2754,46,30,2.5,111.05,1.7,63.8115 -2755,46,30,2.5,111.05,1.7,63.81125 -2756,46,30,2.5,111.05,1.7,63.811 -2757,46,30,2.5,111.05,1.7,63.81075 -2758,46,30,2.5,111.05,1.7,63.8105 -2759,46,30,2.5,111.05,1.7,63.81025 -2760,46,30,2.5,111.05,1.7,63.81 -2761,46,30,2.5,111.05,1.7,63.80975 -2762,46,30,2.5,111.05,1.7,63.8095 -2763,46,30,2.5,111.05,1.7,63.80925 -2764,46,30,2.5,111.05,1.7,63.809 -2765,46,30,2.5,111.05,1.7,63.80875 -2766,46,30,2.5,111.05,1.7,63.8085 -2767,46,30,2.5,111.05,1.7,63.80825 -2768,46,30,2.5,111.05,1.7,63.808 -2769,46,30,2.5,111.05,1.7,63.80775 -2770,46,30,2.5,111.05,1.7,63.8075 -2771,46,30,2.5,111.05,1.7,63.80725 -2772,46,30,2.5,111.05,1.7,63.807 -2773,46,30,2.5,111.05,1.7,63.80675 -2774,46,30,2.5,111.05,1.7,63.8065 -2775,46,30,2.5,111.05,1.7,63.80625 -2776,46,30,2.5,111.05,1.7,63.806 -2777,46,30,2.5,111.05,1.7,63.80575 -2778,46,30,2.5,111.05,1.7,63.8055 -2779,46,30,2.5,111.05,1.7,63.80525 -2780,46,30,2.5,111.05,1.7,63.805 -2781,46,30,2.5,111.05,1.7,63.80475 -2782,46,30,2.5,111.05,1.7,63.8045 -2783,46,30,2.5,111.05,1.7,63.80425 -2784,46,30,2.5,111.05,1.7,63.804 -2785,46,30,2.5,111.05,1.7,63.80375 -2786,46,30,2.5,111.05,1.7,63.8035 -2787,46,30,2.5,111.05,1.7,63.80325 -2788,46,30,2.5,111.05,1.7,63.803 -2789,46,30,2.5,111.05,1.7,63.80275 -2790,46,30,2.5,111.05,1.7,63.8025 -2791,46,30,2.5,111.05,1.7,63.80225 -2792,46,30,2.5,111.05,1.7,63.802 -2793,46,30,2.5,111.05,1.7,63.80175 -2794,46,30,2.5,111.05,1.7,63.8015 -2795,46,30,2.5,111.05,1.7,63.80125 -2796,46,30,2.5,111.05,1.7,63.801 -2797,46,30,2.5,111.05,1.7,63.80075 -2798,46,30,2.5,111.05,1.7,63.8005 -2799,46,30,2.5,111.05,1.7,63.80025 -2800,46,30,2.5,111.05,1.7,63.8 -2801,46,30,2.5,111.05,1.7,63.79975 -2802,46,30,2.5,111.05,1.7,63.7995 -2803,46,30,2.5,111.05,1.7,63.79925 -2804,46,30,2.5,111.05,1.7,63.799 -2805,46,30,2.5,111.05,1.7,63.79875 -2806,46,30,2.5,111.05,1.7,63.7985 -2807,46,30,2.5,111.05,1.7,63.79825 -2808,46,30,2.5,111.05,1.7,63.798 -2809,46,30,2.5,111.05,1.7,63.79775 -2810,46,30,2.5,111.05,1.7,63.7975 -2811,46,30,2.5,111.05,1.7,63.79725 -2812,46,30,2.5,111.05,1.7,63.797 -2813,46,30,2.5,111.05,1.7,63.79675 -2814,46,30,2.5,111.05,1.7,63.7965 -2815,46,30,2.5,111.05,1.7,63.79625 -2816,46,30,2.5,111.05,1.7,63.796 -2817,46,30,2.5,111.05,1.7,63.79575 -2818,46,30,2.5,111.05,1.7,63.7955 -2819,46,30,2.5,111.05,1.7,63.79525 -2820,46,30,2.5,111.05,1.7,63.795 -2821,46,30,2.5,111.05,1.7,63.79475 -2822,46,30,2.5,111.05,1.7,63.7945 -2823,46,30,2.5,111.05,1.7,63.79425 -2824,46,30,2.5,111.05,1.7,63.794 -2825,46,30,2.5,111.05,1.7,63.79375 -2826,46,30,2.5,111.05,1.7,63.7935 -2827,46,30,2.5,111.05,1.7,63.79325 -2828,46,30,2.5,111.05,1.7,63.793 -2829,46,30,2.5,111.05,1.7,63.79275 -2830,46,30,2.5,111.05,1.7,63.7925 -2831,46,30,2.5,111.05,1.7,63.79225 -2832,46,30,2.5,111.05,1.7,63.792 -2833,46,30,2.5,111.05,1.7,63.79175 -2834,46,30,2.5,111.05,1.7,63.7915 -2835,46,30,2.5,111.05,1.7,63.79125 -2836,46,30,2.5,111.05,1.7,63.791 -2837,46,30,2.5,111.05,1.7,63.79075 -2838,46,30,2.5,111.05,1.7,63.7905 -2839,46,30,2.5,111.05,1.7,63.79025 -2840,46,30,2.5,111.05,1.7,63.79 -2841,46,30,2.5,111.05,1.7,63.78975 -2842,46,30,2.5,111.05,1.7,63.7895 -2843,46,30,2.5,111.05,1.7,63.78925 -2844,46,30,2.5,111.05,1.7,63.789 -2845,46,30,2.5,111.05,1.7,63.78875 -2846,46,30,2.5,111.05,1.7,63.7885 -2847,46,30,2.5,111.05,1.7,63.78825 -2848,46,30,2.5,111.05,1.7,63.788 -2849,46,30,2.5,111.05,1.7,63.78775 -2850,46,30,2.5,111.05,1.7,63.7875 -2851,46,30,2.5,111.05,1.7,63.78725 -2852,46,30,2.5,111.05,1.7,63.787 -2853,46,30,2.5,111.05,1.7,63.78675 -2854,46,30,2.5,111.05,1.7,63.7865 -2855,46,30,2.5,111.05,1.7,63.78625 -2856,46,30,2.5,111.05,1.7,63.786 -2857,46,30,2.5,111.05,1.7,63.78575 -2858,46,30,2.5,111.05,1.7,63.7855 -2859,46,30,2.5,111.05,1.7,63.78525 -2860,46,30,2.5,111.05,1.7,63.785 -2861,46,30,2.5,111.05,1.7,63.78475 -2862,46,30,2.5,111.05,1.7,63.7845 -2863,46,30,2.5,111.05,1.7,63.78425 -2864,46,30,2.5,111.05,1.7,63.784 -2865,46,30,2.5,111.05,1.7,63.78375 -2866,46,30,2.5,111.05,1.7,63.7835 -2867,46,30,2.5,111.05,1.7,63.78325 -2868,46,30,2.5,111.05,1.7,63.783 -2869,46,30,2.5,111.05,1.7,63.78275 -2870,46,30,2.5,111.05,1.7,63.7825 -2871,46,30,2.5,111.05,1.7,63.78225 -2872,46,30,2.5,111.05,1.7,63.782 -2873,46,30,2.5,111.05,1.7,63.78175 -2874,46,30,2.5,111.05,1.7,63.7815 -2875,46,30,2.5,111.05,1.7,63.78125 -2876,46,30,2.5,111.05,1.7,63.781 -2877,46,30,2.5,111.05,1.7,63.78075 -2878,46,30,2.5,111.05,1.7,63.7805 -2879,46,30,2.5,111.05,1.7,63.78025 -2880,46,30,2.5,111.05,1.7,63.78 -2881,46,30,2.5,111.05,1.7,63.77975 -2882,46,30,2.5,111.05,1.7,63.7795 -2883,46,30,2.5,111.05,1.7,63.77925 -2884,46,30,2.5,111.05,1.7,63.779 -2885,46,30,2.5,111.05,1.7,63.77875 -2886,46,30,2.5,111.05,1.7,63.7785 -2887,46,30,2.5,111.05,1.7,63.77825 -2888,46,30,2.5,111.05,1.7,63.778 -2889,46,30,2.5,111.05,1.7,63.77775 -2890,46,30,2.5,111.05,1.7,63.7775 -2891,46,30,2.5,111.05,1.7,63.77725 -2892,46,30,2.5,111.05,1.7,63.777 -2893,46,30,2.5,111.05,1.7,63.77675 -2894,46,30,2.5,111.05,1.7,63.7765 -2895,46,30,2.5,111.05,1.7,63.77625 -2896,46,30,2.5,111.05,1.7,63.776 -2897,46,30,2.5,111.05,1.7,63.77575 -2898,46,30,2.5,111.05,1.7,63.7755 -2899,46,30,2.5,111.05,1.7,63.77525 -2900,46,30,2.5,111.05,1.7,63.775 -2901,46,30,2.5,111.05,1.7,63.77475 -2902,46,30,2.5,111.05,1.7,63.7745 -2903,46,30,2.5,111.05,1.7,63.77425 -2904,46,30,2.5,111.05,1.7,63.774 -2905,46,30,2.5,111.05,1.7,63.77375 -2906,46,30,2.5,111.05,1.7,63.7735 -2907,46,30,2.5,111.05,1.7,63.77325 -2908,46,30,2.5,111.05,1.7,63.773 -2909,46,30,2.5,111.05,1.7,63.77275 -2910,46,30,2.5,111.05,1.7,63.7725 -2911,46,30,2.5,111.05,1.7,63.77225 -2912,46,30,2.5,111.05,1.7,63.772 -2913,46,30,2.5,111.05,1.7,63.77175 -2914,46,30,2.5,111.05,1.7,63.7715 -2915,46,30,2.5,111.05,1.7,63.77125 -2916,46,30,2.5,111.05,1.7,63.771 -2917,46,30,2.5,111.05,1.7,63.77075 -2918,46,30,2.5,111.05,1.7,63.7705 -2919,46,30,2.5,111.05,1.7,63.77025 -2920,46,30,2.5,111.05,1.7,63.77 -2921,46,30,2.5,111.05,1.7,63.76975 -2922,46,30,2.5,111.05,1.7,63.7695 -2923,46,30,2.5,111.05,1.7,63.76925 -2924,46,30,2.5,111.05,1.7,63.769 -2925,46,30,2.5,111.05,1.7,63.76875 -2926,46,30,2.5,111.05,1.7,63.7685 -2927,46,30,2.5,111.05,1.7,63.76825 -2928,46,30,2.5,111.05,1.7,63.768 -2929,46,30,2.5,111.05,1.7,63.76775 -2930,46,30,2.5,111.05,1.7,63.7675 -2931,46,30,2.5,111.05,1.7,63.76725 -2932,46,30,2.5,111.05,1.7,63.767 -2933,46,30,2.5,111.05,1.7,63.76675 -2934,46,30,2.5,111.05,1.7,63.7665 -2935,46,30,2.5,111.05,1.7,63.76625 -2936,46,30,2.5,111.05,1.7,63.766 -2937,46,30,2.5,111.05,1.7,63.76575 -2938,46,30,2.5,111.05,1.7,63.7655 -2939,46,30,2.5,111.05,1.7,63.76525 -2940,46,30,2.5,111.05,1.7,63.765 -2941,46,30,2.5,111.05,1.7,63.76475 -2942,46,30,2.5,111.05,1.7,63.7645 -2943,46,30,2.5,111.05,1.7,63.76425 -2944,46,30,2.5,111.05,1.7,63.764 -2945,46,30,2.5,111.05,1.7,63.76375 -2946,46,30,2.5,111.05,1.7,63.7635 -2947,46,30,2.5,111.05,1.7,63.76325 -2948,46,30,2.5,111.05,1.7,63.763 -2949,46,30,2.5,111.05,1.7,63.76275 -2950,46,30,2.5,111.05,1.7,63.7625 -2951,46,30,2.5,111.05,1.7,63.76225 -2952,46,30,2.5,111.05,1.7,63.762 -2953,46,30,2.5,111.05,1.7,63.76175 -2954,46,30,2.5,111.05,1.7,63.7615 -2955,46,30,2.5,111.05,1.7,63.76125 -2956,46,30,2.5,111.05,1.7,63.761 -2957,46,30,2.5,111.05,1.7,63.76075 -2958,46,30,2.5,111.05,1.7,63.7605 -2959,46,30,2.5,111.05,1.7,63.76025 -2960,46,30,2.5,111.05,1.7,63.76 -2961,46,30,2.5,111.05,1.7,63.75975 -2962,46,30,2.5,111.05,1.7,63.7595 -2963,46,30,2.5,111.05,1.7,63.75925 -2964,46,30,2.5,111.05,1.7,63.759 -2965,46,30,2.5,111.05,1.7,63.75875 -2966,46,30,2.5,111.05,1.7,63.7585 -2967,46,30,2.5,111.05,1.7,63.75825 -2968,46,30,2.5,111.05,1.7,63.758 -2969,46,30,2.5,111.05,1.7,63.75775 -2970,46,30,2.5,111.05,1.7,63.7575 -2971,46,30,2.5,111.05,1.7,63.75725 -2972,46,30,2.5,111.05,1.7,63.757 -2973,46,30,2.5,111.05,1.7,63.75675 -2974,46,30,2.5,111.05,1.7,63.7565 -2975,46,30,2.5,111.05,1.7,63.75625 -2976,46,30,2.5,111.05,1.7,63.756 -2977,46,30,2.5,111.05,1.7,63.75575 -2978,46,30,2.5,111.05,1.7,63.7555 -2979,46,30,2.5,111.05,1.7,63.75525 -2980,46,30,2.5,111.05,1.7,63.755 -2981,46,30,2.5,111.05,1.7,63.75475 -2982,46,30,2.5,111.05,1.7,63.7545 -2983,46,30,2.5,111.05,1.7,63.75425 -2984,46,30,2.5,111.05,1.7,63.754 -2985,46,30,2.5,111.05,1.7,63.75375 -2986,46,30,2.5,111.05,1.7,63.7535 -2987,46,30,2.5,111.05,1.7,63.75325 -2988,46,30,2.5,111.05,1.7,63.753 -2989,46,30,2.5,111.05,1.7,63.75275 -2990,46,30,2.5,111.05,1.7,63.7525 -2991,46,30,2.5,111.05,1.7,63.75225 -2992,46,30,2.5,111.05,1.7,63.752 -2993,46,30,2.5,111.05,1.7,63.75175 -2994,46,30,2.5,111.05,1.7,63.7515 -2995,46,30,2.5,111.05,1.7,63.75125 -2996,46,30,2.5,111.05,1.7,63.751 -2997,46,30,2.5,111.05,1.7,63.75075 -2998,46,30,2.5,111.05,1.7,63.7505 -2999,46,30,2.5,111.05,1.7,63.75025 -3000,46,30,2.5,111.05,1.7,63.75 -3001,46,30,2.5,111.05,1.7,63.75 -3002,46,30,2.5,111.05,1.7,63.75 -3003,46,30,2.5,111.05,1.7,63.75 -3004,46,30,2.5,111.05,1.7,63.75 -3005,46,30,2.5,111.05,1.7,63.75 -3006,46,30,2.5,111.05,1.7,63.75 -3007,46,30,2.5,111.05,1.7,63.75 -3008,46,30,2.5,111.05,1.7,63.75 -3009,46,30,2.5,111.05,1.7,63.75 -3010,46,30,2.5,111.05,1.7,63.75 -3011,46,30,2.5,111.05,1.7,63.75 -3012,46,30,2.5,111.05,1.7,63.75 -3013,46,30,2.5,111.05,1.7,63.75 -3014,46,30,2.5,111.05,1.7,63.75 -3015,46,30,2.5,111.05,1.7,63.75 -3016,46,30,2.5,111.05,1.7,63.75 -3017,46,30,2.5,111.05,1.7,63.75 -3018,46,30,2.5,111.05,1.7,63.75 -3019,46,30,2.5,111.05,1.7,63.75 -3020,46,30,2.5,111.05,1.7,63.75 -3021,46,30,2.5,111.05,1.7,63.75 -3022,46,30,2.5,111.05,1.7,63.75 -3023,46,30,2.5,111.05,1.7,63.75 -3024,46,30,2.5,111.05,1.7,63.75 -3025,46,30,2.5,111.05,1.7,63.75 -3026,46,30,2.5,111.05,1.7,63.75 -3027,46,30,2.5,111.05,1.7,63.75 -3028,46,30,2.5,111.05,1.7,63.75 -3029,46,30,2.5,111.05,1.7,63.75 -3030,46,30,2.5,111.05,1.7,63.75 -3031,46,30,2.5,111.05,1.7,63.75 -3032,46,30,2.5,111.05,1.7,63.75 -3033,46,30,2.5,111.05,1.7,63.75 -3034,46,30,2.5,111.05,1.7,63.75 -3035,46,30,2.5,111.05,1.7,63.75 -3036,46,30,2.5,111.05,1.7,63.75 -3037,46,30,2.5,111.05,1.7,63.75 -3038,46,30,2.5,111.05,1.7,63.75 -3039,46,30,2.5,111.05,1.7,63.75 -3040,46,30,2.5,111.05,1.7,63.75 -3041,46,30,2.5,111.05,1.7,63.75 -3042,46,30,2.5,111.05,1.7,63.75 -3043,46,30,2.5,111.05,1.7,63.75 -3044,46,30,2.5,111.05,1.7,63.75 -3045,46,30,2.5,111.05,1.7,63.75 -3046,46,30,2.5,111.05,1.7,63.75 -3047,46,30,2.5,111.05,1.7,63.75 -3048,46,30,2.5,111.05,1.7,63.75 -3049,46,30,2.5,111.05,1.7,63.75 -3050,46,30,2.5,111.05,1.7,63.75 -3051,46,30,2.5,111.05,1.7,63.75 -3052,46,30,2.5,111.05,1.7,63.75 -3053,46,30,2.5,111.05,1.7,63.75 -3054,46,30,2.5,111.05,1.7,63.75 -3055,46,30,2.5,111.05,1.7,63.75 -3056,46,30,2.5,111.05,1.7,63.75 -3057,46,30,2.5,111.05,1.7,63.75 -3058,46,30,2.5,111.05,1.7,63.75 -3059,46,30,2.5,111.05,1.7,63.75 -3060,46,30,2.5,111.05,1.7,63.75 -3061,46,30,2.5,111.05,1.7,63.75 -3062,46,30,2.5,111.05,1.7,63.75 -3063,46,30,2.5,111.05,1.7,63.75 -3064,46,30,2.5,111.05,1.7,63.75 -3065,46,30,2.5,111.05,1.7,63.75 -3066,46,30,2.5,111.05,1.7,63.75 -3067,46,30,2.5,111.05,1.7,63.75 -3068,46,30,2.5,111.05,1.7,63.75 -3069,46,30,2.5,111.05,1.7,63.75 -3070,46,30,2.5,111.05,1.7,63.75 -3071,46,30,2.5,111.05,1.7,63.75 -3072,46,30,2.5,111.05,1.7,63.75 -3073,46,30,2.5,111.05,1.7,63.75 -3074,46,30,2.5,111.05,1.7,63.75 -3075,46,30,2.5,111.05,1.7,63.75 -3076,46,30,2.5,111.05,1.7,63.75 -3077,46,30,2.5,111.05,1.7,63.75 -3078,46,30,2.5,111.05,1.7,63.75 -3079,46,30,2.5,111.05,1.7,63.75 -3080,46,30,2.5,111.05,1.7,63.75 -3081,46,30,2.5,111.05,1.7,63.75 -3082,46,30,2.5,111.05,1.7,63.75 -3083,46,30,2.5,111.05,1.7,63.75 -3084,46,30,2.5,111.05,1.7,63.75 -3085,46,30,2.5,111.05,1.7,63.75 -3086,46,30,2.5,111.05,1.7,63.75 -3087,46,30,2.5,111.05,1.7,63.75 -3088,46,30,2.5,111.05,1.7,63.75 -3089,46,30,2.5,111.05,1.7,63.75 -3090,46,30,2.5,111.05,1.7,63.75 -3091,46,30,2.5,111.05,1.7,63.75 -3092,46,30,2.5,111.05,1.7,63.75 -3093,46,30,2.5,111.05,1.7,63.75 -3094,46,30,2.5,111.05,1.7,63.75 -3095,46,30,2.5,111.05,1.7,63.75 -3096,46,30,2.5,111.05,1.7,63.75 -3097,46,30,2.5,111.05,1.7,63.75 -3098,46,30,2.5,111.05,1.7,63.75 -3099,46,30,2.5,111.05,1.7,63.75 -3100,46,30,2.5,111.05,1.7,63.75 -3101,46,30,2.5,111.05,1.7,63.75 -3102,46,30,2.5,111.05,1.7,63.75 -3103,46,30,2.5,111.05,1.7,63.75 -3104,46,30,2.5,111.05,1.7,63.75 -3105,46,30,2.5,111.05,1.7,63.75 -3106,46,30,2.5,111.05,1.7,63.75 -3107,46,30,2.5,111.05,1.7,63.75 -3108,46,30,2.5,111.05,1.7,63.75 -3109,46,30,2.5,111.05,1.7,63.75 -3110,46,30,2.5,111.05,1.7,63.75 -3111,46,30,2.5,111.05,1.7,63.75 -3112,46,30,2.5,111.05,1.7,63.75 -3113,46,30,2.5,111.05,1.7,63.75 -3114,46,30,2.5,111.05,1.7,63.75 -3115,46,30,2.5,111.05,1.7,63.75 -3116,46,30,2.5,111.05,1.7,63.75 -3117,46,30,2.5,111.05,1.7,63.75 -3118,46,30,2.5,111.05,1.7,63.75 -3119,46,30,2.5,111.05,1.7,63.75 -3120,46,30,2.5,111.05,1.7,63.75 -3121,46,30,2.5,111.05,1.7,63.75 -3122,46,30,2.5,111.05,1.7,63.75 -3123,46,30,2.5,111.05,1.7,63.75 -3124,46,30,2.5,111.05,1.7,63.75 -3125,46,30,2.5,111.05,1.7,63.75 -3126,46,30,2.5,111.05,1.7,63.75 -3127,46,30,2.5,111.05,1.7,63.75 -3128,46,30,2.5,111.05,1.7,63.75 -3129,46,30,2.5,111.05,1.7,63.75 -3130,46,30,2.5,111.05,1.7,63.75 -3131,46,30,2.5,111.05,1.7,63.75 -3132,46,30,2.5,111.05,1.7,63.75 -3133,46,30,2.5,111.05,1.7,63.75 -3134,46,30,2.5,111.05,1.7,63.75 -3135,46,30,2.5,111.05,1.7,63.75 -3136,46,30,2.5,111.05,1.7,63.75 -3137,46,30,2.5,111.05,1.7,63.75 -3138,46,30,2.5,111.05,1.7,63.75 -3139,46,30,2.5,111.05,1.7,63.75 -3140,46,30,2.5,111.05,1.7,63.75 -3141,46,30,2.5,111.05,1.7,63.75 -3142,46,30,2.5,111.05,1.7,63.75 -3143,46,30,2.5,111.05,1.7,63.75 -3144,46,30,2.5,111.05,1.7,63.75 -3145,46,30,2.5,111.05,1.7,63.75 -3146,46,30,2.5,111.05,1.7,63.75 -3147,46,30,2.5,111.05,1.7,63.75 -3148,46,30,2.5,111.05,1.7,63.75 -3149,46,30,2.5,111.05,1.7,63.75 -3150,46,30,2.5,111.05,1.7,63.75 -3151,46,30,2.5,111.05,1.7,63.75 -3152,46,30,2.5,111.05,1.7,63.75 -3153,46,30,2.5,111.05,1.7,63.75 -3154,46,30,2.5,111.05,1.7,63.75 -3155,46,30,2.5,111.05,1.7,63.75 -3156,46,30,2.5,111.05,1.7,63.75 -3157,46,30,2.5,111.05,1.7,63.75 -3158,46,30,2.5,111.05,1.7,63.75 -3159,46,30,2.5,111.05,1.7,63.75 -3160,46,30,2.5,111.05,1.7,63.75 -3161,46,30,2.5,111.05,1.7,63.75 -3162,46,30,2.5,111.05,1.7,63.75 -3163,46,30,2.5,111.05,1.7,63.75 -3164,46,30,2.5,111.05,1.7,63.75 -3165,46,30,2.5,111.05,1.7,63.75 -3166,46,30,2.5,111.05,1.7,63.75 -3167,46,30,2.5,111.05,1.7,63.75 -3168,46,30,2.5,111.05,1.7,63.75 -3169,46,30,2.5,111.05,1.7,63.75 -3170,46,30,2.5,111.05,1.7,63.75 -3171,46,30,2.5,111.05,1.7,63.75 -3172,46,30,2.5,111.05,1.7,63.75 -3173,46,30,2.5,111.05,1.7,63.75 -3174,46,30,2.5,111.05,1.7,63.75 -3175,46,30,2.5,111.05,1.7,63.75 -3176,46,30,2.5,111.05,1.7,63.75 -3177,46,30,2.5,111.05,1.7,63.75 -3178,46,30,2.5,111.05,1.7,63.75 -3179,46,30,2.5,111.05,1.7,63.75 -3180,46,30,2.5,111.05,1.7,63.75 -3181,46,30,2.5,111.05,1.7,63.75 -3182,46,30,2.5,111.05,1.7,63.75 -3183,46,30,2.5,111.05,1.7,63.75 -3184,46,30,2.5,111.05,1.7,63.75 -3185,46,30,2.5,111.05,1.7,63.75 -3186,46,30,2.5,111.05,1.7,63.75 -3187,46,30,2.5,111.05,1.7,63.75 -3188,46,30,2.5,111.05,1.7,63.75 -3189,46,30,2.5,111.05,1.7,63.75 -3190,46,30,2.5,111.05,1.7,63.75 -3191,46,30,2.5,111.05,1.7,63.75 -3192,46,30,2.5,111.05,1.7,63.75 -3193,46,30,2.5,111.05,1.7,63.75 -3194,46,30,2.5,111.05,1.7,63.75 -3195,46,30,2.5,111.05,1.7,63.75 -3196,46,30,2.5,111.05,1.7,63.75 -3197,46,30,2.5,111.05,1.7,63.75 -3198,46,30,2.5,111.05,1.7,63.75 -3199,46,30,2.5,111.05,1.7,63.75 -3200,46,30,2.5,111.05,1.7,63.75 -3201,46,30,2.5,111.05,1.7,63.75 -3202,46,30,2.5,111.05,1.7,63.75 -3203,46,30,2.5,111.05,1.7,63.75 -3204,46,30,2.5,111.05,1.7,63.75 -3205,46,30,2.5,111.05,1.7,63.75 -3206,46,30,2.5,111.05,1.7,63.75 -3207,46,30,2.5,111.05,1.7,63.75 -3208,46,30,2.5,111.05,1.7,63.75 -3209,46,30,2.5,111.05,1.7,63.75 -3210,46,30,2.5,111.05,1.7,63.75 -3211,46,30,2.5,111.05,1.7,63.75 -3212,46,30,2.5,111.05,1.7,63.75 -3213,46,30,2.5,111.05,1.7,63.75 -3214,46,30,2.5,111.05,1.7,63.75 -3215,46,30,2.5,111.05,1.7,63.75 -3216,46,30,2.5,111.05,1.7,63.75 -3217,46,30,2.5,111.05,1.7,63.75 -3218,46,30,2.5,111.05,1.7,63.75 -3219,46,30,2.5,111.05,1.7,63.75 -3220,46,30,2.5,111.05,1.7,63.75 -3221,46,30,2.5,111.05,1.7,63.75 -3222,46,30,2.5,111.05,1.7,63.75 -3223,46,30,2.5,111.05,1.7,63.75 -3224,46,30,2.5,111.05,1.7,63.75 -3225,46,30,2.5,111.05,1.7,63.75 -3226,46,30,2.5,111.05,1.7,63.75 -3227,46,30,2.5,111.05,1.7,63.75 -3228,46,30,2.5,111.05,1.7,63.75 -3229,46,30,2.5,111.05,1.7,63.75 -3230,46,30,2.5,111.05,1.7,63.75 -3231,46,30,2.5,111.05,1.7,63.75 -3232,46,30,2.5,111.05,1.7,63.75 -3233,46,30,2.5,111.05,1.7,63.75 -3234,46,30,2.5,111.05,1.7,63.75 -3235,46,30,2.5,111.05,1.7,63.75 -3236,46,30,2.5,111.05,1.7,63.75 -3237,46,30,2.5,111.05,1.7,63.75 -3238,46,30,2.5,111.05,1.7,63.75 -3239,46,30,2.5,111.05,1.7,63.75 -3240,46,30,2.5,111.05,1.7,63.75 -3241,46,30,2.5,111.05,1.7,63.75 -3242,46,30,2.5,111.05,1.7,63.75 -3243,46,30,2.5,111.05,1.7,63.75 -3244,46,30,2.5,111.05,1.7,63.75 -3245,46,30,2.5,111.05,1.7,63.75 -3246,46,30,2.5,111.05,1.7,63.75 -3247,46,30,2.5,111.05,1.7,63.75 -3248,46,30,2.5,111.05,1.7,63.75 -3249,46,30,2.5,111.05,1.7,63.75 -3250,46,30,2.5,111.05,1.7,63.75 -3251,46,30,2.5,111.05,1.7,63.75 -3252,46,30,2.5,111.05,1.7,63.75 -3253,46,30,2.5,111.05,1.7,63.75 -3254,46,30,2.5,111.05,1.7,63.75 -3255,46,30,2.5,111.05,1.7,63.75 -3256,46,30,2.5,111.05,1.7,63.75 -3257,46,30,2.5,111.05,1.7,63.75 -3258,46,30,2.5,111.05,1.7,63.75 -3259,46,30,2.5,111.05,1.7,63.75 -3260,46,30,2.5,111.05,1.7,63.75 -3261,46,30,2.5,111.05,1.7,63.75 -3262,46,30,2.5,111.05,1.7,63.75 -3263,46,30,2.5,111.05,1.7,63.75 -3264,46,30,2.5,111.05,1.7,63.75 -3265,46,30,2.5,111.05,1.7,63.75 -3266,46,30,2.5,111.05,1.7,63.75 -3267,46,30,2.5,111.05,1.7,63.75 -3268,46,30,2.5,111.05,1.7,63.75 -3269,46,30,2.5,111.05,1.7,63.75 -3270,46,30,2.5,111.05,1.7,63.75 -3271,46,30,2.5,111.05,1.7,63.75 -3272,46,30,2.5,111.05,1.7,63.75 -3273,46,30,2.5,111.05,1.7,63.75 -3274,46,30,2.5,111.05,1.7,63.75 -3275,46,30,2.5,111.05,1.7,63.75 -3276,46,30,2.5,111.05,1.7,63.75 -3277,46,30,2.5,111.05,1.7,63.75 -3278,46,30,2.5,111.05,1.7,63.75 -3279,46,30,2.5,111.05,1.7,63.75 -3280,46,30,2.5,111.05,1.7,63.75 -3281,46,30,2.5,111.05,1.7,63.75 -3282,46,30,2.5,111.05,1.7,63.75 -3283,46,30,2.5,111.05,1.7,63.75 -3284,46,30,2.5,111.05,1.7,63.75 -3285,46,30,2.5,111.05,1.7,63.75 -3286,46,30,2.5,111.05,1.7,63.75 -3287,46,30,2.5,111.05,1.7,63.75 -3288,46,30,2.5,111.05,1.7,63.75 -3289,46,30,2.5,111.05,1.7,63.75 -3290,46,30,2.5,111.05,1.7,63.75 -3291,46,30,2.5,111.05,1.7,63.75 -3292,46,30,2.5,111.05,1.7,63.75 -3293,46,30,2.5,111.05,1.7,63.75 -3294,46,30,2.5,111.05,1.7,63.75 -3295,46,30,2.5,111.05,1.7,63.75 -3296,46,30,2.5,111.05,1.7,63.75 -3297,46,30,2.5,111.05,1.7,63.75 -3298,46,30,2.5,111.05,1.7,63.75 -3299,46,30,2.5,111.05,1.7,63.75 -3300,46,30,2.5,111.05,1.7,63.75 -3301,46,30,2.5,111.05,1.7,63.75 -3302,46,30,2.5,111.05,1.7,63.75 -3303,46,30,2.5,111.05,1.7,63.75 -3304,46,30,2.5,111.05,1.7,63.75 -3305,46,30,2.5,111.05,1.7,63.75 -3306,46,30,2.5,111.05,1.7,63.75 -3307,46,30,2.5,111.05,1.7,63.75 -3308,46,30,2.5,111.05,1.7,63.75 -3309,46,30,2.5,111.05,1.7,63.75 -3310,46,30,2.5,111.05,1.7,63.75 -3311,46,30,2.5,111.05,1.7,63.75 -3312,46,30,2.5,111.05,1.7,63.75 -3313,46,30,2.5,111.05,1.7,63.75 -3314,46,30,2.5,111.05,1.7,63.75 -3315,46,30,2.5,111.05,1.7,63.75 -3316,46,30,2.5,111.05,1.7,63.75 -3317,46,30,2.5,111.05,1.7,63.75 -3318,46,30,2.5,111.05,1.7,63.75 -3319,46,30,2.5,111.05,1.7,63.75 -3320,46,30,2.5,111.05,1.7,63.75 -3321,46,30,2.5,111.05,1.7,63.75 -3322,46,30,2.5,111.05,1.7,63.75 -3323,46,30,2.5,111.05,1.7,63.75 -3324,46,30,2.5,111.05,1.7,63.75 -3325,46,30,2.5,111.05,1.7,63.75 -3326,46,30,2.5,111.05,1.7,63.75 -3327,46,30,2.5,111.05,1.7,63.75 -3328,46,30,2.5,111.05,1.7,63.75 -3329,46,30,2.5,111.05,1.7,63.75 -3330,46,30,2.5,111.05,1.7,63.75 -3331,46,30,2.5,111.05,1.7,63.75 -3332,46,30,2.5,111.05,1.7,63.75 -3333,46,30,2.5,111.05,1.7,63.75 -3334,46,30,2.5,111.05,1.7,63.75 -3335,46,30,2.5,111.05,1.7,63.75 -3336,46,30,2.5,111.05,1.7,63.75 -3337,46,30,2.5,111.05,1.7,63.75 -3338,46,30,2.5,111.05,1.7,63.75 -3339,46,30,2.5,111.05,1.7,63.75 -3340,46,30,2.5,111.05,1.7,63.75 -3341,46,30,2.5,111.05,1.7,63.75 -3342,46,30,2.5,111.05,1.7,63.75 -3343,46,30,2.5,111.05,1.7,63.75 -3344,46,30,2.5,111.05,1.7,63.75 -3345,46,30,2.5,111.05,1.7,63.75 -3346,46,30,2.5,111.05,1.7,63.75 -3347,46,30,2.5,111.05,1.7,63.75 -3348,46,30,2.5,111.05,1.7,63.75 -3349,46,30,2.5,111.05,1.7,63.75 -3350,46,30,2.5,111.05,1.7,63.75 -3351,46,30,2.5,111.05,1.7,63.75 -3352,46,30,2.5,111.05,1.7,63.75 -3353,46,30,2.5,111.05,1.7,63.75 -3354,46,30,2.5,111.05,1.7,63.75 -3355,46,30,2.5,111.05,1.7,63.75 -3356,46,30,2.5,111.05,1.7,63.75 -3357,46,30,2.5,111.05,1.7,63.75 -3358,46,30,2.5,111.05,1.7,63.75 -3359,46,30,2.5,111.05,1.7,63.75 -3360,46,30,2.5,111.05,1.7,63.75 -3361,46,30,2.5,111.05,1.7,63.75 -3362,46,30,2.5,111.05,1.7,63.75 -3363,46,30,2.5,111.05,1.7,63.75 -3364,46,30,2.5,111.05,1.7,63.75 -3365,46,30,2.5,111.05,1.7,63.75 -3366,46,30,2.5,111.05,1.7,63.75 -3367,46,30,2.5,111.05,1.7,63.75 -3368,46,30,2.5,111.05,1.7,63.75 -3369,46,30,2.5,111.05,1.7,63.75 -3370,46,30,2.5,111.05,1.7,63.75 -3371,46,30,2.5,111.05,1.7,63.75 -3372,46,30,2.5,111.05,1.7,63.75 -3373,46,30,2.5,111.05,1.7,63.75 -3374,46,30,2.5,111.05,1.7,63.75 -3375,46,30,2.5,111.05,1.7,63.75 -3376,46,30,2.5,111.05,1.7,63.75 -3377,46,30,2.5,111.05,1.7,63.75 -3378,46,30,2.5,111.05,1.7,63.75 -3379,46,30,2.5,111.05,1.7,63.75 -3380,46,30,2.5,111.05,1.7,63.75 -3381,46,30,2.5,111.05,1.7,63.75 -3382,46,30,2.5,111.05,1.7,63.75 -3383,46,30,2.5,111.05,1.7,63.75 -3384,46,30,2.5,111.05,1.7,63.75 -3385,46,30,2.5,111.05,1.7,63.75 -3386,46,30,2.5,111.05,1.7,63.75 -3387,46,30,2.5,111.05,1.7,63.75 -3388,46,30,2.5,111.05,1.7,63.75 -3389,46,30,2.5,111.05,1.7,63.75 -3390,46,30,2.5,111.05,1.7,63.75 -3391,46,30,2.5,111.05,1.7,63.75 -3392,46,30,2.5,111.05,1.7,63.75 -3393,46,30,2.5,111.05,1.7,63.75 -3394,46,30,2.5,111.05,1.7,63.75 -3395,46,30,2.5,111.05,1.7,63.75 -3396,46,30,2.5,111.05,1.7,63.75 -3397,46,30,2.5,111.05,1.7,63.75 -3398,46,30,2.5,111.05,1.7,63.75 -3399,46,30,2.5,111.05,1.7,63.75 -3400,46,30,2.5,111.05,1.7,63.75 -3401,46,30,2.5,111.05,1.7,63.75 -3402,46,30,2.5,111.05,1.7,63.75 -3403,46,30,2.5,111.05,1.7,63.75 -3404,46,30,2.5,111.05,1.7,63.75 -3405,46,30,2.5,111.05,1.7,63.75 -3406,46,30,2.5,111.05,1.7,63.75 -3407,46,30,2.5,111.05,1.7,63.75 -3408,46,30,2.5,111.05,1.7,63.75 -3409,46,30,2.5,111.05,1.7,63.75 -3410,46,30,2.5,111.05,1.7,63.75 -3411,46,30,2.5,111.05,1.7,63.75 -3412,46,30,2.5,111.05,1.7,63.75 -3413,46,30,2.5,111.05,1.7,63.75 -3414,46,30,2.5,111.05,1.7,63.75 -3415,46,30,2.5,111.05,1.7,63.75 -3416,46,30,2.5,111.05,1.7,63.75 -3417,46,30,2.5,111.05,1.7,63.75 -3418,46,30,2.5,111.05,1.7,63.75 -3419,46,30,2.5,111.05,1.7,63.75 -3420,46,30,2.5,111.05,1.7,63.75 -3421,46,30,2.5,111.05,1.7,63.75 -3422,46,30,2.5,111.05,1.7,63.75 -3423,46,30,2.5,111.05,1.7,63.75 -3424,46,30,2.5,111.05,1.7,63.75 -3425,46,30,2.5,111.05,1.7,63.75 -3426,46,30,2.5,111.05,1.7,63.75 -3427,46,30,2.5,111.05,1.7,63.75 -3428,46,30,2.5,111.05,1.7,63.75 -3429,46,30,2.5,111.05,1.7,63.75 -3430,46,30,2.5,111.05,1.7,63.75 -3431,46,30,2.5,111.05,1.7,63.75 -3432,46,30,2.5,111.05,1.7,63.75 -3433,46,30,2.5,111.05,1.7,63.75 -3434,46,30,2.5,111.05,1.7,63.75 -3435,46,30,2.5,111.05,1.7,63.75 -3436,46,30,2.5,111.05,1.7,63.75 -3437,46,30,2.5,111.05,1.7,63.75 -3438,46,30,2.5,111.05,1.7,63.75 -3439,46,30,2.5,111.05,1.7,63.75 -3440,46,30,2.5,111.05,1.7,63.75 -3441,46,30,2.5,111.05,1.7,63.75 -3442,46,30,2.5,111.05,1.7,63.75 -3443,46,30,2.5,111.05,1.7,63.75 -3444,46,30,2.5,111.05,1.7,63.75 -3445,46,30,2.5,111.05,1.7,63.75 -3446,46,30,2.5,111.05,1.7,63.75 -3447,46,30,2.5,111.05,1.7,63.75 -3448,46,30,2.5,111.05,1.7,63.75 -3449,46,30,2.5,111.05,1.7,63.75 -3450,46,30,2.5,111.05,1.7,63.75 -3451,46,30,2.5,111.05,1.7,63.75 -3452,46,30,2.5,111.05,1.7,63.75 -3453,46,30,2.5,111.05,1.7,63.75 -3454,46,30,2.5,111.05,1.7,63.75 -3455,46,30,2.5,111.05,1.7,63.75 -3456,46,30,2.5,111.05,1.7,63.75 -3457,46,30,2.5,111.05,1.7,63.75 -3458,46,30,2.5,111.05,1.7,63.75 -3459,46,30,2.5,111.05,1.7,63.75 -3460,46,30,2.5,111.05,1.7,63.75 -3461,46,30,2.5,111.05,1.7,63.75 -3462,46,30,2.5,111.05,1.7,63.75 -3463,46,30,2.5,111.05,1.7,63.75 -3464,46,30,2.5,111.05,1.7,63.75 -3465,46,30,2.5,111.05,1.7,63.75 -3466,46,30,2.5,111.05,1.7,63.75 -3467,46,30,2.5,111.05,1.7,63.75 -3468,46,30,2.5,111.05,1.7,63.75 -3469,46,30,2.5,111.05,1.7,63.75 -3470,46,30,2.5,111.05,1.7,63.75 -3471,46,30,2.5,111.05,1.7,63.75 -3472,46,30,2.5,111.05,1.7,63.75 -3473,46,30,2.5,111.05,1.7,63.75 -3474,46,30,2.5,111.05,1.7,63.75 -3475,46,30,2.5,111.05,1.7,63.75 -3476,46,30,2.5,111.05,1.7,63.75 -3477,46,30,2.5,111.05,1.7,63.75 -3478,46,30,2.5,111.05,1.7,63.75 -3479,46,30,2.5,111.05,1.7,63.75 -3480,46,30,2.5,111.05,1.7,63.75 -3481,46,30,2.5,111.05,1.7,63.75 -3482,46,30,2.5,111.05,1.7,63.75 -3483,46,30,2.5,111.05,1.7,63.75 -3484,46,30,2.5,111.05,1.7,63.75 -3485,46,30,2.5,111.05,1.7,63.75 -3486,46,30,2.5,111.05,1.7,63.75 -3487,46,30,2.5,111.05,1.7,63.75 -3488,46,30,2.5,111.05,1.7,63.75 -3489,46,30,2.5,111.05,1.7,63.75 -3490,46,30,2.5,111.05,1.7,63.75 -3491,46,30,2.5,111.05,1.7,63.75 -3492,46,30,2.5,111.05,1.7,63.75 -3493,46,30,2.5,111.05,1.7,63.75 -3494,46,30,2.5,111.05,1.7,63.75 -3495,46,30,2.5,111.05,1.7,63.75 -3496,46,30,2.5,111.05,1.7,63.75 -3497,46,30,2.5,111.05,1.7,63.75 -3498,46,30,2.5,111.05,1.7,63.75 -3499,46,30,2.5,111.05,1.7,63.75 -3500,46,30,2.5,111.05,1.7,63.75 -3501,46,30,2.5,111.05,1.7,63.75 -3502,46,30,2.5,111.05,1.7,63.75 -3503,46,30,2.5,111.05,1.7,63.75 -3504,46,30,2.5,111.05,1.7,63.75 -3505,46,30,2.5,111.05,1.7,63.75 -3506,46,30,2.5,111.05,1.7,63.75 -3507,46,30,2.5,111.05,1.7,63.75 -3508,46,30,2.5,111.05,1.7,63.75 -3509,46,30,2.5,111.05,1.7,63.75 -3510,46,30,2.5,111.05,1.7,63.75 -3511,46,30,2.5,111.05,1.7,63.75 -3512,46,30,2.5,111.05,1.7,63.75 -3513,46,30,2.5,111.05,1.7,63.75 -3514,46,30,2.5,111.05,1.7,63.75 -3515,46,30,2.5,111.05,1.7,63.75 -3516,46,30,2.5,111.05,1.7,63.75 -3517,46,30,2.5,111.05,1.7,63.75 -3518,46,30,2.5,111.05,1.7,63.75 -3519,46,30,2.5,111.05,1.7,63.75 -3520,46,30,2.5,111.05,1.7,63.75 -3521,46,30,2.5,111.05,1.7,63.75 -3522,46,30,2.5,111.05,1.7,63.75 -3523,46,30,2.5,111.05,1.7,63.75 -3524,46,30,2.5,111.05,1.7,63.75 -3525,46,30,2.5,111.05,1.7,63.75 -3526,46,30,2.5,111.05,1.7,63.75 -3527,46,30,2.5,111.05,1.7,63.75 -3528,46,30,2.5,111.05,1.7,63.75 -3529,46,30,2.5,111.05,1.7,63.75 -3530,46,30,2.5,111.05,1.7,63.75 -3531,46,30,2.5,111.05,1.7,63.75 -3532,46,30,2.5,111.05,1.7,63.75 -3533,46,30,2.5,111.05,1.7,63.75 -3534,46,30,2.5,111.05,1.7,63.75 -3535,46,30,2.5,111.05,1.7,63.75 -3536,46,30,2.5,111.05,1.7,63.75 -3537,46,30,2.5,111.05,1.7,63.75 -3538,46,30,2.5,111.05,1.7,63.75 -3539,46,30,2.5,111.05,1.7,63.75 -3540,46,30,2.5,111.05,1.7,63.75 -3541,46,30,2.5,111.05,1.7,63.75 -3542,46,30,2.5,111.05,1.7,63.75 -3543,46,30,2.5,111.05,1.7,63.75 -3544,46,30,2.5,111.05,1.7,63.75 -3545,46,30,2.5,111.05,1.7,63.75 -3546,46,30,2.5,111.05,1.7,63.75 -3547,46,30,2.5,111.05,1.7,63.75 -3548,46,30,2.5,111.05,1.7,63.75 -3549,46,30,2.5,111.05,1.7,63.75 -3550,46,30,2.5,111.05,1.7,63.75 -3551,46,30,2.5,111.05,1.7,63.75 -3552,46,30,2.5,111.05,1.7,63.75 -3553,46,30,2.5,111.05,1.7,63.75 -3554,46,30,2.5,111.05,1.7,63.75 -3555,46,30,2.5,111.05,1.7,63.75 -3556,46,30,2.5,111.05,1.7,63.75 -3557,46,30,2.5,111.05,1.7,63.75 -3558,46,30,2.5,111.05,1.7,63.75 -3559,46,30,2.5,111.05,1.7,63.75 -3560,46,30,2.5,111.05,1.7,63.75 -3561,46,30,2.5,111.05,1.7,63.75 -3562,46,30,2.5,111.05,1.7,63.75 -3563,46,30,2.5,111.05,1.7,63.75 -3564,46,30,2.5,111.05,1.7,63.75 -3565,46,30,2.5,111.05,1.7,63.75 -3566,46,30,2.5,111.05,1.7,63.75 -3567,46,30,2.5,111.05,1.7,63.75 -3568,46,30,2.5,111.05,1.7,63.75 -3569,46,30,2.5,111.05,1.7,63.75 -3570,46,30,2.5,111.05,1.7,63.75 -3571,46,30,2.5,111.05,1.7,63.75 -3572,46,30,2.5,111.05,1.7,63.75 -3573,46,30,2.5,111.05,1.7,63.75 -3574,46,30,2.5,111.05,1.7,63.75 -3575,46,30,2.5,111.05,1.7,63.75 -3576,46,30,2.5,111.05,1.7,63.75 -3577,46,30,2.5,111.05,1.7,63.75 -3578,46,30,2.5,111.05,1.7,63.75 -3579,46,30,2.5,111.05,1.7,63.75 -3580,46,30,2.5,111.05,1.7,63.75 -3581,46,30,2.5,111.05,1.7,63.75 -3582,46,30,2.5,111.05,1.7,63.75 -3583,46,30,2.5,111.05,1.7,63.75 -3584,46,30,2.5,111.05,1.7,63.75 -3585,46,30,2.5,111.05,1.7,63.75 -3586,46,30,2.5,111.05,1.7,63.75 -3587,46,30,2.5,111.05,1.7,63.75 -3588,46,30,2.5,111.05,1.7,63.75 -3589,46,30,2.5,111.05,1.7,63.75 -3590,46,30,2.5,111.05,1.7,63.75 -3591,46,30,2.5,111.05,1.7,63.75 -3592,46,30,2.5,111.05,1.7,63.75 -3593,46,30,2.5,111.05,1.7,63.75 -3594,46,30,2.5,111.05,1.7,63.75 -3595,46,30,2.5,111.05,1.7,63.75 -3596,46,30,2.5,111.05,1.7,63.75 -3597,46,30,2.5,111.05,1.7,63.75 -3598,46,30,2.5,111.05,1.7,63.75 -3599,46,30,2.5,111.05,1.7,63.75 -3600,46,30,2.5,111.05,1.7,63.75 -3601,46,30,2.5,111.05,1.7,63.75 -3602,46,30,2.5,111.05,1.7,63.75 -3603,46,30,2.5,111.05,1.7,63.75 -3604,46,30,2.5,111.05,1.7,63.75 -3605,46,30,2.5,111.05,1.7,63.75 -3606,46,30,2.5,111.05,1.7,63.75 -3607,46,30,2.5,111.05,1.7,63.75 -3608,46,30,2.5,111.05,1.7,63.75 -3609,46,30,2.5,111.05,1.7,63.75 -3610,46,30,2.5,111.05,1.7,63.75 -3611,46,30,2.5,111.05,1.7,63.75 -3612,46,30,2.5,111.05,1.7,63.75 -3613,46,30,2.5,111.05,1.7,63.75 -3614,46,30,2.5,111.05,1.7,63.75 -3615,46,30,2.5,111.05,1.7,63.75 -3616,46,30,2.5,111.05,1.7,63.75 -3617,46,30,2.5,111.05,1.7,63.75 -3618,46,30,2.5,111.05,1.7,63.75 -3619,46,30,2.5,111.05,1.7,63.75 -3620,46,30,2.5,111.05,1.7,63.75 -3621,46,30,2.5,111.05,1.7,63.75 -3622,46,30,2.5,111.05,1.7,63.75 -3623,46,30,2.5,111.05,1.7,63.75 -3624,46,30,2.5,111.05,1.7,63.75 -3625,46,30,2.5,111.05,1.7,63.75 -3626,46,30,2.5,111.05,1.7,63.75 -3627,46,30,2.5,111.05,1.7,63.75 -3628,46,30,2.5,111.05,1.7,63.75 -3629,46,30,2.5,111.05,1.7,63.75 -3630,46,30,2.5,111.05,1.7,63.75 -3631,46,30,2.5,111.05,1.7,63.75 -3632,46,30,2.5,111.05,1.7,63.75 -3633,46,30,2.5,111.05,1.7,63.75 -3634,46,30,2.5,111.05,1.7,63.75 -3635,46,30,2.5,111.05,1.7,63.75 -3636,46,30,2.5,111.05,1.7,63.75 -3637,46,30,2.5,111.05,1.7,63.75 -3638,46,30,2.5,111.05,1.7,63.75 -3639,46,30,2.5,111.05,1.7,63.75 -3640,46,30,2.5,111.05,1.7,63.75 -3641,46,30,2.5,111.05,1.7,63.75 -3642,46,30,2.5,111.05,1.7,63.75 -3643,46,30,2.5,111.05,1.7,63.75 -3644,46,30,2.5,111.05,1.7,63.75 -3645,46,30,2.5,111.05,1.7,63.75 -3646,46,30,2.5,111.05,1.7,63.75 -3647,46,30,2.5,111.05,1.7,63.75 -3648,46,30,2.5,111.05,1.7,63.75 -3649,46,30,2.5,111.05,1.7,63.75 -3650,46,30,2.5,111.05,1.7,63.75 -3651,46,30,2.5,111.05,1.7,63.75 -3652,46,30,2.5,111.05,1.7,63.75 -3653,46,30,2.5,111.05,1.7,63.75 -3654,46,30,2.5,111.05,1.7,63.75 -3655,46,30,2.5,111.05,1.7,63.75 -3656,46,30,2.5,111.05,1.7,63.75 -3657,46,30,2.5,111.05,1.7,63.75 -3658,46,30,2.5,111.05,1.7,63.75 -3659,46,30,2.5,111.05,1.7,63.75 -3660,46,30,2.5,111.05,1.7,63.75 -3661,46,30,2.5,111.05,1.7,63.75 -3662,46,30,2.5,111.05,1.7,63.75 -3663,46,30,2.5,111.05,1.7,63.75 -3664,46,30,2.5,111.05,1.7,63.75 -3665,46,30,2.5,111.05,1.7,63.75 -3666,46,30,2.5,111.05,1.7,63.75 -3667,46,30,2.5,111.05,1.7,63.75 -3668,46,30,2.5,111.05,1.7,63.75 -3669,46,30,2.5,111.05,1.7,63.75 -3670,46,30,2.5,111.05,1.7,63.75 -3671,46,30,2.5,111.05,1.7,63.75 -3672,46,30,2.5,111.05,1.7,63.75 -3673,46,30,2.5,111.05,1.7,63.75 -3674,46,30,2.5,111.05,1.7,63.75 -3675,46,30,2.5,111.05,1.7,63.75 -3676,46,30,2.5,111.05,1.7,63.75 -3677,46,30,2.5,111.05,1.7,63.75 -3678,46,30,2.5,111.05,1.7,63.75 -3679,46,30,2.5,111.05,1.7,63.75 -3680,46,30,2.5,111.05,1.7,63.75 -3681,46,30,2.5,111.05,1.7,63.75 -3682,46,30,2.5,111.05,1.7,63.75 -3683,46,30,2.5,111.05,1.7,63.75 -3684,46,30,2.5,111.05,1.7,63.75 -3685,46,30,2.5,111.05,1.7,63.75 -3686,46,30,2.5,111.05,1.7,63.75 -3687,46,30,2.5,111.05,1.7,63.75 -3688,46,30,2.5,111.05,1.7,63.75 -3689,46,30,2.5,111.05,1.7,63.75 -3690,46,30,2.5,111.05,1.7,63.75 -3691,46,30,2.5,111.05,1.7,63.75 -3692,46,30,2.5,111.05,1.7,63.75 -3693,46,30,2.5,111.05,1.7,63.75 -3694,46,30,2.5,111.05,1.7,63.75 -3695,46,30,2.5,111.05,1.7,63.75 -3696,46,30,2.5,111.05,1.7,63.75 -3697,46,30,2.5,111.05,1.7,63.75 -3698,46,30,2.5,111.05,1.7,63.75 -3699,46,30,2.5,111.05,1.7,63.75 -3700,46,30,2.5,111.05,1.7,63.75 -3701,46,30,2.5,111.05,1.7,63.75 -3702,46,30,2.5,111.05,1.7,63.75 -3703,46,30,2.5,111.05,1.7,63.75 -3704,46,30,2.5,111.05,1.7,63.75 -3705,46,30,2.5,111.05,1.7,63.75 -3706,46,30,2.5,111.05,1.7,63.75 -3707,46,30,2.5,111.05,1.7,63.75 -3708,46,30,2.5,111.05,1.7,63.75 -3709,46,30,2.5,111.05,1.7,63.75 -3710,46,30,2.5,111.05,1.7,63.75 -3711,46,30,2.5,111.05,1.7,63.75 -3712,46,30,2.5,111.05,1.7,63.75 -3713,46,30,2.5,111.05,1.7,63.75 -3714,46,30,2.5,111.05,1.7,63.75 -3715,46,30,2.5,111.05,1.7,63.75 -3716,46,30,2.5,111.05,1.7,63.75 -3717,46,30,2.5,111.05,1.7,63.75 -3718,46,30,2.5,111.05,1.7,63.75 -3719,46,30,2.5,111.05,1.7,63.75 -3720,46,30,2.5,111.05,1.7,63.75 -3721,46,30,2.5,111.05,1.7,63.75 -3722,46,30,2.5,111.05,1.7,63.75 -3723,46,30,2.5,111.05,1.7,63.75 -3724,46,30,2.5,111.05,1.7,63.75 -3725,46,30,2.5,111.05,1.7,63.75 -3726,46,30,2.5,111.05,1.7,63.75 -3727,46,30,2.5,111.05,1.7,63.75 -3728,46,30,2.5,111.05,1.7,63.75 -3729,46,30,2.5,111.05,1.7,63.75 -3730,46,30,2.5,111.05,1.7,63.75 -3731,46,30,2.5,111.05,1.7,63.75 -3732,46,30,2.5,111.05,1.7,63.75 -3733,46,30,2.5,111.05,1.7,63.75 -3734,46,30,2.5,111.05,1.7,63.75 -3735,46,30,2.5,111.05,1.7,63.75 -3736,46,30,2.5,111.05,1.7,63.75 -3737,46,30,2.5,111.05,1.7,63.75 -3738,46,30,2.5,111.05,1.7,63.75 -3739,46,30,2.5,111.05,1.7,63.75 -3740,46,30,2.5,111.05,1.7,63.75 -3741,46,30,2.5,111.05,1.7,63.75 -3742,46,30,2.5,111.05,1.7,63.75 -3743,46,30,2.5,111.05,1.7,63.75 -3744,46,30,2.5,111.05,1.7,63.75 -3745,46,30,2.5,111.05,1.7,63.75 -3746,46,30,2.5,111.05,1.7,63.75 -3747,46,30,2.5,111.05,1.7,63.75 -3748,46,30,2.5,111.05,1.7,63.75 -3749,46,30,2.5,111.05,1.7,63.75 -3750,46,30,2.5,111.05,1.7,63.75 -3751,46,30,2.5,111.05,1.7,63.75 -3752,46,30,2.5,111.05,1.7,63.75 -3753,46,30,2.5,111.05,1.7,63.75 -3754,46,30,2.5,111.05,1.7,63.75 -3755,46,30,2.5,111.05,1.7,63.75 -3756,46,30,2.5,111.05,1.7,63.75 -3757,46,30,2.5,111.05,1.7,63.75 -3758,46,30,2.5,111.05,1.7,63.75 -3759,46,30,2.5,111.05,1.7,63.75 -3760,46,30,2.5,111.05,1.7,63.75 -3761,46,30,2.5,111.05,1.7,63.75 -3762,46,30,2.5,111.05,1.7,63.75 -3763,46,30,2.5,111.05,1.7,63.75 -3764,46,30,2.5,111.05,1.7,63.75 -3765,46,30,2.5,111.05,1.7,63.75 -3766,46,30,2.5,111.05,1.7,63.75 -3767,46,30,2.5,111.05,1.7,63.75 -3768,46,30,2.5,111.05,1.7,63.75 -3769,46,30,2.5,111.05,1.7,63.75 -3770,46,30,2.5,111.05,1.7,63.75 -3771,46,30,2.5,111.05,1.7,63.75 -3772,46,30,2.5,111.05,1.7,63.75 -3773,46,30,2.5,111.05,1.7,63.75 -3774,46,30,2.5,111.05,1.7,63.75 -3775,46,30,2.5,111.05,1.7,63.75 -3776,46,30,2.5,111.05,1.7,63.75 -3777,46,30,2.5,111.05,1.7,63.75 -3778,46,30,2.5,111.05,1.7,63.75 -3779,46,30,2.5,111.05,1.7,63.75 -3780,46,30,2.5,111.05,1.7,63.75 -3781,46,30,2.5,111.05,1.7,63.75 -3782,46,30,2.5,111.05,1.7,63.75 -3783,46,30,2.5,111.05,1.7,63.75 -3784,46,30,2.5,111.05,1.7,63.75 -3785,46,30,2.5,111.05,1.7,63.75 -3786,46,30,2.5,111.05,1.7,63.75 -3787,46,30,2.5,111.05,1.7,63.75 -3788,46,30,2.5,111.05,1.7,63.75 -3789,46,30,2.5,111.05,1.7,63.75 -3790,46,30,2.5,111.05,1.7,63.75 -3791,46,30,2.5,111.05,1.7,63.75 -3792,46,30,2.5,111.05,1.7,63.75 -3793,46,30,2.5,111.05,1.7,63.75 -3794,46,30,2.5,111.05,1.7,63.75 -3795,46,30,2.5,111.05,1.7,63.75 -3796,46,30,2.5,111.05,1.7,63.75 -3797,46,30,2.5,111.05,1.7,63.75 -3798,46,30,2.5,111.05,1.7,63.75 -3799,46,30,2.5,111.05,1.7,63.75 -3800,46,30,2.5,111.05,1.7,63.75 -3801,46,30,2.5,111.05,1.7,63.75 -3802,46,30,2.5,111.05,1.7,63.75 -3803,46,30,2.5,111.05,1.7,63.75 -3804,46,30,2.5,111.05,1.7,63.75 -3805,46,30,2.5,111.05,1.7,63.75 -3806,46,30,2.5,111.05,1.7,63.75 -3807,46,30,2.5,111.05,1.7,63.75 -3808,46,30,2.5,111.05,1.7,63.75 -3809,46,30,2.5,111.05,1.7,63.75 -3810,46,30,2.5,111.05,1.7,63.75 -3811,46,30,2.5,111.05,1.7,63.75 -3812,46,30,2.5,111.05,1.7,63.75 -3813,46,30,2.5,111.05,1.7,63.75 -3814,46,30,2.5,111.05,1.7,63.75 -3815,46,30,2.5,111.05,1.7,63.75 -3816,46,30,2.5,111.05,1.7,63.75 -3817,46,30,2.5,111.05,1.7,63.75 -3818,46,30,2.5,111.05,1.7,63.75 -3819,46,30,2.5,111.05,1.7,63.75 -3820,46,30,2.5,111.05,1.7,63.75 -3821,46,30,2.5,111.05,1.7,63.75 -3822,46,30,2.5,111.05,1.7,63.75 -3823,46,30,2.5,111.05,1.7,63.75 -3824,46,30,2.5,111.05,1.7,63.75 -3825,46,30,2.5,111.05,1.7,63.75 -3826,46,30,2.5,111.05,1.7,63.75 -3827,46,30,2.5,111.05,1.7,63.75 -3828,46,30,2.5,111.05,1.7,63.75 -3829,46,30,2.5,111.05,1.7,63.75 -3830,46,30,2.5,111.05,1.7,63.75 -3831,46,30,2.5,111.05,1.7,63.75 -3832,46,30,2.5,111.05,1.7,63.75 -3833,46,30,2.5,111.05,1.7,63.75 -3834,46,30,2.5,111.05,1.7,63.75 -3835,46,30,2.5,111.05,1.7,63.75 -3836,46,30,2.5,111.05,1.7,63.75 -3837,46,30,2.5,111.05,1.7,63.75 -3838,46,30,2.5,111.05,1.7,63.75 -3839,46,30,2.5,111.05,1.7,63.75 -3840,46,30,2.5,111.05,1.7,63.75 -3841,46,30,2.5,111.05,1.7,63.75 -3842,46,30,2.5,111.05,1.7,63.75 -3843,46,30,2.5,111.05,1.7,63.75 -3844,46,30,2.5,111.05,1.7,63.75 -3845,46,30,2.5,111.05,1.7,63.75 -3846,46,30,2.5,111.05,1.7,63.75 -3847,46,30,2.5,111.05,1.7,63.75 -3848,46,30,2.5,111.05,1.7,63.75 -3849,46,30,2.5,111.05,1.7,63.75 -3850,46,30,2.5,111.05,1.7,63.75 -3851,46,30,2.5,111.05,1.7,63.75 -3852,46,30,2.5,111.05,1.7,63.75 -3853,46,30,2.5,111.05,1.7,63.75 -3854,46,30,2.5,111.05,1.7,63.75 -3855,46,30,2.5,111.05,1.7,63.75 -3856,46,30,2.5,111.05,1.7,63.75 -3857,46,30,2.5,111.05,1.7,63.75 -3858,46,30,2.5,111.05,1.7,63.75 -3859,46,30,2.5,111.05,1.7,63.75 -3860,46,30,2.5,111.05,1.7,63.75 -3861,46,30,2.5,111.05,1.7,63.75 -3862,46,30,2.5,111.05,1.7,63.75 -3863,46,30,2.5,111.05,1.7,63.75 -3864,46,30,2.5,111.05,1.7,63.75 -3865,46,30,2.5,111.05,1.7,63.75 -3866,46,30,2.5,111.05,1.7,63.75 -3867,46,30,2.5,111.05,1.7,63.75 -3868,46,30,2.5,111.05,1.7,63.75 -3869,46,30,2.5,111.05,1.7,63.75 -3870,46,30,2.5,111.05,1.7,63.75 -3871,46,30,2.5,111.05,1.7,63.75 -3872,46,30,2.5,111.05,1.7,63.75 -3873,46,30,2.5,111.05,1.7,63.75 -3874,46,30,2.5,111.05,1.7,63.75 -3875,46,30,2.5,111.05,1.7,63.75 -3876,46,30,2.5,111.05,1.7,63.75 -3877,46,30,2.5,111.05,1.7,63.75 -3878,46,30,2.5,111.05,1.7,63.75 -3879,46,30,2.5,111.05,1.7,63.75 -3880,46,30,2.5,111.05,1.7,63.75 -3881,46,30,2.5,111.05,1.7,63.75 -3882,46,30,2.5,111.05,1.7,63.75 -3883,46,30,2.5,111.05,1.7,63.75 -3884,46,30,2.5,111.05,1.7,63.75 -3885,46,30,2.5,111.05,1.7,63.75 -3886,46,30,2.5,111.05,1.7,63.75 -3887,46,30,2.5,111.05,1.7,63.75 -3888,46,30,2.5,111.05,1.7,63.75 -3889,46,30,2.5,111.05,1.7,63.75 -3890,46,30,2.5,111.05,1.7,63.75 -3891,46,30,2.5,111.05,1.7,63.75 -3892,46,30,2.5,111.05,1.7,63.75 -3893,46,30,2.5,111.05,1.7,63.75 -3894,46,30,2.5,111.05,1.7,63.75 -3895,46,30,2.5,111.05,1.7,63.75 -3896,46,30,2.5,111.05,1.7,63.75 -3897,46,30,2.5,111.05,1.7,63.75 -3898,46,30,2.5,111.05,1.7,63.75 -3899,46,30,2.5,111.05,1.7,63.75 -3900,46,30,2.5,111.05,1.7,63.75 -3901,46,30,2.5,111.05,1.7,63.75 -3902,46,30,2.5,111.05,1.7,63.75 -3903,46,30,2.5,111.05,1.7,63.75 -3904,46,30,2.5,111.05,1.7,63.75 -3905,46,30,2.5,111.05,1.7,63.75 -3906,46,30,2.5,111.05,1.7,63.75 -3907,46,30,2.5,111.05,1.7,63.75 -3908,46,30,2.5,111.05,1.7,63.75 -3909,46,30,2.5,111.05,1.7,63.75 -3910,46,30,2.5,111.05,1.7,63.75 -3911,46,30,2.5,111.05,1.7,63.75 -3912,46,30,2.5,111.05,1.7,63.75 -3913,46,30,2.5,111.05,1.7,63.75 -3914,46,30,2.5,111.05,1.7,63.75 -3915,46,30,2.5,111.05,1.7,63.75 -3916,46,30,2.5,111.05,1.7,63.75 -3917,46,30,2.5,111.05,1.7,63.75 -3918,46,30,2.5,111.05,1.7,63.75 -3919,46,30,2.5,111.05,1.7,63.75 -3920,46,30,2.5,111.05,1.7,63.75 -3921,46,30,2.5,111.05,1.7,63.75 -3922,46,30,2.5,111.05,1.7,63.75 -3923,46,30,2.5,111.05,1.7,63.75 -3924,46,30,2.5,111.05,1.7,63.75 -3925,46,30,2.5,111.05,1.7,63.75 -3926,46,30,2.5,111.05,1.7,63.75 -3927,46,30,2.5,111.05,1.7,63.75 -3928,46,30,2.5,111.05,1.7,63.75 -3929,46,30,2.5,111.05,1.7,63.75 -3930,46,30,2.5,111.05,1.7,63.75 -3931,46,30,2.5,111.05,1.7,63.75 -3932,46,30,2.5,111.05,1.7,63.75 -3933,46,30,2.5,111.05,1.7,63.75 -3934,46,30,2.5,111.05,1.7,63.75 -3935,46,30,2.5,111.05,1.7,63.75 -3936,46,30,2.5,111.05,1.7,63.75 -3937,46,30,2.5,111.05,1.7,63.75 -3938,46,30,2.5,111.05,1.7,63.75 -3939,46,30,2.5,111.05,1.7,63.75 -3940,46,30,2.5,111.05,1.7,63.75 -3941,46,30,2.5,111.05,1.7,63.75 -3942,46,30,2.5,111.05,1.7,63.75 -3943,46,30,2.5,111.05,1.7,63.75 -3944,46,30,2.5,111.05,1.7,63.75 -3945,46,30,2.5,111.05,1.7,63.75 -3946,46,30,2.5,111.05,1.7,63.75 -3947,46,30,2.5,111.05,1.7,63.75 -3948,46,30,2.5,111.05,1.7,63.75 -3949,46,30,2.5,111.05,1.7,63.75 -3950,46,30,2.5,111.05,1.7,63.75 -3951,46,30,2.5,111.05,1.7,63.75 -3952,46,30,2.5,111.05,1.7,63.75 -3953,46,30,2.5,111.05,1.7,63.75 -3954,46,30,2.5,111.05,1.7,63.75 -3955,46,30,2.5,111.05,1.7,63.75 -3956,46,30,2.5,111.05,1.7,63.75 -3957,46,30,2.5,111.05,1.7,63.75 -3958,46,30,2.5,111.05,1.7,63.75 -3959,46,30,2.5,111.05,1.7,63.75 -3960,46,30,2.5,111.05,1.7,63.75 -3961,46,30,2.5,111.05,1.7,63.75 -3962,46,30,2.5,111.05,1.7,63.75 -3963,46,30,2.5,111.05,1.7,63.75 -3964,46,30,2.5,111.05,1.7,63.75 -3965,46,30,2.5,111.05,1.7,63.75 -3966,46,30,2.5,111.05,1.7,63.75 -3967,46,30,2.5,111.05,1.7,63.75 -3968,46,30,2.5,111.05,1.7,63.75 -3969,46,30,2.5,111.05,1.7,63.75 -3970,46,30,2.5,111.05,1.7,63.75 -3971,46,30,2.5,111.05,1.7,63.75 -3972,46,30,2.5,111.05,1.7,63.75 -3973,46,30,2.5,111.05,1.7,63.75 -3974,46,30,2.5,111.05,1.7,63.75 -3975,46,30,2.5,111.05,1.7,63.75 -3976,46,30,2.5,111.05,1.7,63.75 -3977,46,30,2.5,111.05,1.7,63.75 -3978,46,30,2.5,111.05,1.7,63.75 -3979,46,30,2.5,111.05,1.7,63.75 -3980,46,30,2.5,111.05,1.7,63.75 -3981,46,30,2.5,111.05,1.7,63.75 -3982,46,30,2.5,111.05,1.7,63.75 -3983,46,30,2.5,111.05,1.7,63.75 -3984,46,30,2.5,111.05,1.7,63.75 -3985,46,30,2.5,111.05,1.7,63.75 -3986,46,30,2.5,111.05,1.7,63.75 -3987,46,30,2.5,111.05,1.7,63.75 -3988,46,30,2.5,111.05,1.7,63.75 -3989,46,30,2.5,111.05,1.7,63.75 -3990,46,30,2.5,111.05,1.7,63.75 -3991,46,30,2.5,111.05,1.7,63.75 -3992,46,30,2.5,111.05,1.7,63.75 -3993,46,30,2.5,111.05,1.7,63.75 -3994,46,30,2.5,111.05,1.7,63.75 -3995,46,30,2.5,111.05,1.7,63.75 -3996,46,30,2.5,111.05,1.7,63.75 -3997,46,30,2.5,111.05,1.7,63.75 -3998,46,30,2.5,111.05,1.7,63.75 -3999,46,30,2.5,111.05,1.7,63.75 -4000,46,30,2.5,111.05,1.7,63.75 -4001,46,30,2.5,111.05,1.7,63.75 -4002,46,30,2.5,111.05,1.7,63.75 -4003,46,30,2.5,111.05,1.7,63.75 -4004,46,30,2.5,111.05,1.7,63.75 -4005,46,30,2.5,111.05,1.7,63.75 -4006,46,30,2.5,111.05,1.7,63.75 -4007,46,30,2.5,111.05,1.7,63.75 -4008,46,30,2.5,111.05,1.7,63.75 -4009,46,30,2.5,111.05,1.7,63.75 -4010,46,30,2.5,111.05,1.7,63.75 -4011,46,30,2.5,111.05,1.7,63.75 -4012,46,30,2.5,111.05,1.7,63.75 -4013,46,30,2.5,111.05,1.7,63.75 -4014,46,30,2.5,111.05,1.7,63.75 -4015,46,30,2.5,111.05,1.7,63.75 -4016,46,30,2.5,111.05,1.7,63.75 -4017,46,30,2.5,111.05,1.7,63.75 -4018,46,30,2.5,111.05,1.7,63.75 -4019,46,30,2.5,111.05,1.7,63.75 -4020,46,30,2.5,111.05,1.7,63.75 -4021,46,30,2.5,111.05,1.7,63.75 -4022,46,30,2.5,111.05,1.7,63.75 -4023,46,30,2.5,111.05,1.7,63.75 -4024,46,30,2.5,111.05,1.7,63.75 -4025,46,30,2.5,111.05,1.7,63.75 -4026,46,30,2.5,111.05,1.7,63.75 -4027,46,30,2.5,111.05,1.7,63.75 -4028,46,30,2.5,111.05,1.7,63.75 -4029,46,30,2.5,111.05,1.7,63.75 -4030,46,30,2.5,111.05,1.7,63.75 -4031,46,30,2.5,111.05,1.7,63.75 -4032,46,30,2.5,111.05,1.7,63.75 -4033,46,30,2.5,111.05,1.7,63.75 -4034,46,30,2.5,111.05,1.7,63.75 -4035,46,30,2.5,111.05,1.7,63.75 -4036,46,30,2.5,111.05,1.7,63.75 -4037,46,30,2.5,111.05,1.7,63.75 -4038,46,30,2.5,111.05,1.7,63.75 -4039,46,30,2.5,111.05,1.7,63.75 -4040,46,30,2.5,111.05,1.7,63.75 -4041,46,30,2.5,111.05,1.7,63.75 -4042,46,30,2.5,111.05,1.7,63.75 -4043,46,30,2.5,111.05,1.7,63.75 -4044,46,30,2.5,111.05,1.7,63.75 -4045,46,30,2.5,111.05,1.7,63.75 -4046,46,30,2.5,111.05,1.7,63.75 -4047,46,30,2.5,111.05,1.7,63.75 -4048,46,30,2.5,111.05,1.7,63.75 -4049,46,30,2.5,111.05,1.7,63.75 -4050,46,30,2.5,111.05,1.7,63.75 -4051,46,30,2.5,111.05,1.7,63.75 -4052,46,30,2.5,111.05,1.7,63.75 -4053,46,30,2.5,111.05,1.7,63.75 -4054,46,30,2.5,111.05,1.7,63.75 -4055,46,30,2.5,111.05,1.7,63.75 -4056,46,30,2.5,111.05,1.7,63.75 -4057,46,30,2.5,111.05,1.7,63.75 -4058,46,30,2.5,111.05,1.7,63.75 -4059,46,30,2.5,111.05,1.7,63.75 -4060,46,30,2.5,111.05,1.7,63.75 -4061,46,30,2.5,111.05,1.7,63.75 -4062,46,30,2.5,111.05,1.7,63.75 -4063,46,30,2.5,111.05,1.7,63.75 -4064,46,30,2.5,111.05,1.7,63.75 -4065,46,30,2.5,111.05,1.7,63.75 -4066,46,30,2.5,111.05,1.7,63.75 -4067,46,30,2.5,111.05,1.7,63.75 -4068,46,30,2.5,111.05,1.7,63.75 -4069,46,30,2.5,111.05,1.7,63.75 -4070,46,30,2.5,111.05,1.7,63.75 -4071,46,30,2.5,111.05,1.7,63.75 -4072,46,30,2.5,111.05,1.7,63.75 -4073,46,30,2.5,111.05,1.7,63.75 -4074,46,30,2.5,111.05,1.7,63.75 -4075,46,30,2.5,111.05,1.7,63.75 -4076,46,30,2.5,111.05,1.7,63.75 -4077,46,30,2.5,111.05,1.7,63.75 -4078,46,30,2.5,111.05,1.7,63.75 -4079,46,30,2.5,111.05,1.7,63.75 -4080,46,30,2.5,111.05,1.7,63.75 -4081,46,30,2.5,111.05,1.7,63.75 -4082,46,30,2.5,111.05,1.7,63.75 -4083,46,30,2.5,111.05,1.7,63.75 -4084,46,30,2.5,111.05,1.7,63.75 -4085,46,30,2.5,111.05,1.7,63.75 -4086,46,30,2.5,111.05,1.7,63.75 -4087,46,30,2.5,111.05,1.7,63.75 -4088,46,30,2.5,111.05,1.7,63.75 -4089,46,30,2.5,111.05,1.7,63.75 -4090,46,30,2.5,111.05,1.7,63.75 -4091,46,30,2.5,111.05,1.7,63.75 -4092,46,30,2.5,111.05,1.7,63.75 -4093,46,30,2.5,111.05,1.7,63.75 -4094,46,30,2.5,111.05,1.7,63.75 -4095,46,30,2.5,111.05,1.7,63.75 -4096,46,30,2.5,111.05,1.7,63.75 -4097,46,30,2.5,111.05,1.7,63.75 -4098,46,30,2.5,111.05,1.7,63.75 -4099,46,30,2.5,111.05,1.7,63.75 -4100,46,30,2.5,111.05,1.7,63.75 -4101,46,30,2.5,111.05,1.7,63.75 -4102,46,30,2.5,111.05,1.7,63.75 -4103,46,30,2.5,111.05,1.7,63.75 -4104,46,30,2.5,111.05,1.7,63.75 -4105,46,30,2.5,111.05,1.7,63.75 -4106,46,30,2.5,111.05,1.7,63.75 -4107,46,30,2.5,111.05,1.7,63.75 -4108,46,30,2.5,111.05,1.7,63.75 -4109,46,30,2.5,111.05,1.7,63.75 -4110,46,30,2.5,111.05,1.7,63.75 -4111,46,30,2.5,111.05,1.7,63.75 -4112,46,30,2.5,111.05,1.7,63.75 -4113,46,30,2.5,111.05,1.7,63.75 -4114,46,30,2.5,111.05,1.7,63.75 -4115,46,30,2.5,111.05,1.7,63.75 -4116,46,30,2.5,111.05,1.7,63.75 -4117,46,30,2.5,111.05,1.7,63.75 -4118,46,30,2.5,111.05,1.7,63.75 -4119,46,30,2.5,111.05,1.7,63.75 -4120,46,30,2.5,111.05,1.7,63.75 -4121,46,30,2.5,111.05,1.7,63.75 -4122,46,30,2.5,111.05,1.7,63.75 -4123,46,30,2.5,111.05,1.7,63.75 -4124,46,30,2.5,111.05,1.7,63.75 -4125,46,30,2.5,111.05,1.7,63.75 -4126,46,30,2.5,111.05,1.7,63.75 -4127,46,30,2.5,111.05,1.7,63.75 -4128,46,30,2.5,111.05,1.7,63.75 -4129,46,30,2.5,111.05,1.7,63.75 -4130,46,30,2.5,111.05,1.7,63.75 -4131,46,30,2.5,111.05,1.7,63.75 -4132,46,30,2.5,111.05,1.7,63.75 -4133,46,30,2.5,111.05,1.7,63.75 -4134,46,30,2.5,111.05,1.7,63.75 -4135,46,30,2.5,111.05,1.7,63.75 -4136,46,30,2.5,111.05,1.7,63.75 -4137,46,30,2.5,111.05,1.7,63.75 -4138,46,30,2.5,111.05,1.7,63.75 -4139,46,30,2.5,111.05,1.7,63.75 -4140,46,30,2.5,111.05,1.7,63.75 -4141,46,30,2.5,111.05,1.7,63.75 -4142,46,30,2.5,111.05,1.7,63.75 -4143,46,30,2.5,111.05,1.7,63.75 -4144,46,30,2.5,111.05,1.7,63.75 -4145,46,30,2.5,111.05,1.7,63.75 -4146,46,30,2.5,111.05,1.7,63.75 -4147,46,30,2.5,111.05,1.7,63.75 -4148,46,30,2.5,111.05,1.7,63.75 -4149,46,30,2.5,111.05,1.7,63.75 -4150,46,30,2.5,111.05,1.7,63.75 -4151,46,30,2.5,111.05,1.7,63.75 -4152,46,30,2.5,111.05,1.7,63.75 -4153,46,30,2.5,111.05,1.7,63.75 -4154,46,30,2.5,111.05,1.7,63.75 -4155,46,30,2.5,111.05,1.7,63.75 -4156,46,30,2.5,111.05,1.7,63.75 -4157,46,30,2.5,111.05,1.7,63.75 -4158,46,30,2.5,111.05,1.7,63.75 -4159,46,30,2.5,111.05,1.7,63.75 -4160,46,30,2.5,111.05,1.7,63.75 -4161,46,30,2.5,111.05,1.7,63.75 -4162,46,30,2.5,111.05,1.7,63.75 -4163,46,30,2.5,111.05,1.7,63.75 -4164,46,30,2.5,111.05,1.7,63.75 -4165,46,30,2.5,111.05,1.7,63.75 -4166,46,30,2.5,111.05,1.7,63.75 -4167,46,30,2.5,111.05,1.7,63.75 -4168,46,30,2.5,111.05,1.7,63.75 -4169,46,30,2.5,111.05,1.7,63.75 -4170,46,30,2.5,111.05,1.7,63.75 -4171,46,30,2.5,111.05,1.7,63.75 -4172,46,30,2.5,111.05,1.7,63.75 -4173,46,30,2.5,111.05,1.7,63.75 -4174,46,30,2.5,111.05,1.7,63.75 -4175,46,30,2.5,111.05,1.7,63.75 -4176,46,30,2.5,111.05,1.7,63.75 -4177,46,30,2.5,111.05,1.7,63.75 -4178,46,30,2.5,111.05,1.7,63.75 -4179,46,30,2.5,111.05,1.7,63.75 -4180,46,30,2.5,111.05,1.7,63.75 -4181,46,30,2.5,111.05,1.7,63.75 -4182,46,30,2.5,111.05,1.7,63.75 -4183,46,30,2.5,111.05,1.7,63.75 -4184,46,30,2.5,111.05,1.7,63.75 -4185,46,30,2.5,111.05,1.7,63.75 -4186,46,30,2.5,111.05,1.7,63.75 -4187,46,30,2.5,111.05,1.7,63.75 -4188,46,30,2.5,111.05,1.7,63.75 -4189,46,30,2.5,111.05,1.7,63.75 -4190,46,30,2.5,111.05,1.7,63.75 -4191,46,30,2.5,111.05,1.7,63.75 -4192,46,30,2.5,111.05,1.7,63.75 -4193,46,30,2.5,111.05,1.7,63.75 -4194,46,30,2.5,111.05,1.7,63.75 -4195,46,30,2.5,111.05,1.7,63.75 -4196,46,30,2.5,111.05,1.7,63.75 -4197,46,30,2.5,111.05,1.7,63.75 -4198,46,30,2.5,111.05,1.7,63.75 -4199,46,30,2.5,111.05,1.7,63.75 -4200,46,30,2.5,111.05,1.7,63.75 -4201,46,30,2.5,111.05,1.7,63.75 -4202,46,30,2.5,111.05,1.7,63.75 -4203,46,30,2.5,111.05,1.7,63.75 -4204,46,30,2.5,111.05,1.7,63.75 -4205,46,30,2.5,111.05,1.7,63.75 -4206,46,30,2.5,111.05,1.7,63.75 -4207,46,30,2.5,111.05,1.7,63.75 -4208,46,30,2.5,111.05,1.7,63.75 -4209,46,30,2.5,111.05,1.7,63.75 -4210,46,30,2.5,111.05,1.7,63.75 -4211,46,30,2.5,111.05,1.7,63.75 -4212,46,30,2.5,111.05,1.7,63.75 -4213,46,30,2.5,111.05,1.7,63.75 -4214,46,30,2.5,111.05,1.7,63.75 -4215,46,30,2.5,111.05,1.7,63.75 -4216,46,30,2.5,111.05,1.7,63.75 -4217,46,30,2.5,111.05,1.7,63.75 -4218,46,30,2.5,111.05,1.7,63.75 -4219,46,30,2.5,111.05,1.7,63.75 -4220,46,30,2.5,111.05,1.7,63.75 -4221,46,30,2.5,111.05,1.7,63.75 -4222,46,30,2.5,111.05,1.7,63.75 -4223,46,30,2.5,111.05,1.7,63.75 -4224,46,30,2.5,111.05,1.7,63.75 -4225,46,30,2.5,111.05,1.7,63.75 -4226,46,30,2.5,111.05,1.7,63.75 -4227,46,30,2.5,111.05,1.7,63.75 -4228,46,30,2.5,111.05,1.7,63.75 -4229,46,30,2.5,111.05,1.7,63.75 -4230,46,30,2.5,111.05,1.7,63.75 -4231,46,30,2.5,111.05,1.7,63.75 -4232,46,30,2.5,111.05,1.7,63.75 -4233,46,30,2.5,111.05,1.7,63.75 -4234,46,30,2.5,111.05,1.7,63.75 -4235,46,30,2.5,111.05,1.7,63.75 -4236,46,30,2.5,111.05,1.7,63.75 -4237,46,30,2.5,111.05,1.7,63.75 -4238,46,30,2.5,111.05,1.7,63.75 -4239,46,30,2.5,111.05,1.7,63.75 -4240,46,30,2.5,111.05,1.7,63.75 -4241,46,30,2.5,111.05,1.7,63.75 -4242,46,30,2.5,111.05,1.7,63.75 -4243,46,30,2.5,111.05,1.7,63.75 -4244,46,30,2.5,111.05,1.7,63.75 -4245,46,30,2.5,111.05,1.7,63.75 -4246,46,30,2.5,111.05,1.7,63.75 -4247,46,30,2.5,111.05,1.7,63.75 -4248,46,30,2.5,111.05,1.7,63.75 -4249,46,30,2.5,111.05,1.7,63.75 -4250,46,30,2.5,111.05,1.7,63.75 -4251,46,30,2.5,111.05,1.7,63.75 -4252,46,30,2.5,111.05,1.7,63.75 -4253,46,30,2.5,111.05,1.7,63.75 -4254,46,30,2.5,111.05,1.7,63.75 -4255,46,30,2.5,111.05,1.7,63.75 -4256,46,30,2.5,111.05,1.7,63.75 -4257,46,30,2.5,111.05,1.7,63.75 -4258,46,30,2.5,111.05,1.7,63.75 -4259,46,30,2.5,111.05,1.7,63.75 -4260,46,30,2.5,111.05,1.7,63.75 -4261,46,30,2.5,111.05,1.7,63.75 -4262,46,30,2.5,111.05,1.7,63.75 -4263,46,30,2.5,111.05,1.7,63.75 -4264,46,30,2.5,111.05,1.7,63.75 -4265,46,30,2.5,111.05,1.7,63.75 -4266,46,30,2.5,111.05,1.7,63.75 -4267,46,30,2.5,111.05,1.7,63.75 -4268,46,30,2.5,111.05,1.7,63.75 -4269,46,30,2.5,111.05,1.7,63.75 -4270,46,30,2.5,111.05,1.7,63.75 -4271,46,30,2.5,111.05,1.7,63.75 -4272,46,30,2.5,111.05,1.7,63.75 -4273,46,30,2.5,111.05,1.7,63.75 -4274,46,30,2.5,111.05,1.7,63.75 -4275,46,30,2.5,111.05,1.7,63.75 -4276,46,30,2.5,111.05,1.7,63.75 -4277,46,30,2.5,111.05,1.7,63.75 -4278,46,30,2.5,111.05,1.7,63.75 -4279,46,30,2.5,111.05,1.7,63.75 -4280,46,30,2.5,111.05,1.7,63.75 -4281,46,30,2.5,111.05,1.7,63.75 -4282,46,30,2.5,111.05,1.7,63.75 -4283,46,30,2.5,111.05,1.7,63.75 -4284,46,30,2.5,111.05,1.7,63.75 -4285,46,30,2.5,111.05,1.7,63.75 -4286,46,30,2.5,111.05,1.7,63.75 -4287,46,30,2.5,111.05,1.7,63.75 -4288,46,30,2.5,111.05,1.7,63.75 -4289,46,30,2.5,111.05,1.7,63.75 -4290,46,30,2.5,111.05,1.7,63.75 -4291,46,30,2.5,111.05,1.7,63.75 -4292,46,30,2.5,111.05,1.7,63.75 -4293,46,30,2.5,111.05,1.7,63.75 -4294,46,30,2.5,111.05,1.7,63.75 -4295,46,30,2.5,111.05,1.7,63.75 -4296,46,30,2.5,111.05,1.7,63.75 -4297,46,30,2.5,111.05,1.7,63.75 -4298,46,30,2.5,111.05,1.7,63.75 -4299,46,30,2.5,111.05,1.7,63.75 -4300,46,30,2.5,111.05,1.7,63.75 -4301,46,30,2.5,111.05,1.7,63.75 -4302,46,30,2.5,111.05,1.7,63.75 -4303,46,30,2.5,111.05,1.7,63.75 -4304,46,30,2.5,111.05,1.7,63.75 -4305,46,30,2.5,111.05,1.7,63.75 -4306,46,30,2.5,111.05,1.7,63.75 -4307,46,30,2.5,111.05,1.7,63.75 -4308,46,30,2.5,111.05,1.7,63.75 -4309,46,30,2.5,111.05,1.7,63.75 -4310,46,30,2.5,111.05,1.7,63.75 -4311,46,30,2.5,111.05,1.7,63.75 -4312,46,30,2.5,111.05,1.7,63.75 -4313,46,30,2.5,111.05,1.7,63.75 -4314,46,30,2.5,111.05,1.7,63.75 -4315,46,30,2.5,111.05,1.7,63.75 -4316,46,30,2.5,111.05,1.7,63.75 -4317,46,30,2.5,111.05,1.7,63.75 -4318,46,30,2.5,111.05,1.7,63.75 -4319,46,30,2.5,111.05,1.7,63.75 -4320,46,30,2.5,111.05,1.7,63.75 -4321,46,30,2.5,111.05,1.7,63.75 -4322,46,30,2.5,111.05,1.7,63.75 -4323,46,30,2.5,111.05,1.7,63.75 -4324,46,30,2.5,111.05,1.7,63.75 -4325,46,30,2.5,111.05,1.7,63.75 -4326,46,30,2.5,111.05,1.7,63.75 -4327,46,30,2.5,111.05,1.7,63.75 -4328,46,30,2.5,111.05,1.7,63.75 -4329,46,30,2.5,111.05,1.7,63.75 -4330,46,30,2.5,111.05,1.7,63.75 -4331,46,30,2.5,111.05,1.7,63.75 -4332,46,30,2.5,111.05,1.7,63.75 -4333,46,30,2.5,111.05,1.7,63.75 -4334,46,30,2.5,111.05,1.7,63.75 -4335,46,30,2.5,111.05,1.7,63.75 -4336,46,30,2.5,111.05,1.7,63.75 -4337,46,30,2.5,111.05,1.7,63.75 -4338,46,30,2.5,111.05,1.7,63.75 -4339,46,30,2.5,111.05,1.7,63.75 -4340,46,30,2.5,111.05,1.7,63.75 -4341,46,30,2.5,111.05,1.7,63.75 -4342,46,30,2.5,111.05,1.7,63.75 -4343,46,30,2.5,111.05,1.7,63.75 -4344,46,30,2.5,111.05,1.7,63.75 -4345,46,30,2.5,111.05,1.7,63.75 -4346,46,30,2.5,111.05,1.7,63.75 -4347,46,30,2.5,111.05,1.7,63.75 -4348,46,30,2.5,111.05,1.7,63.75 -4349,46,30,2.5,111.05,1.7,63.75 -4350,46,30,2.5,111.05,1.7,63.75 -4351,46,30,2.5,111.05,1.7,63.75 -4352,46,30,2.5,111.05,1.7,63.75 -4353,46,30,2.5,111.05,1.7,63.75 -4354,46,30,2.5,111.05,1.7,63.75 -4355,46,30,2.5,111.05,1.7,63.75 -4356,46,30,2.5,111.05,1.7,63.75 -4357,46,30,2.5,111.05,1.7,63.75 -4358,46,30,2.5,111.05,1.7,63.75 -4359,46,30,2.5,111.05,1.7,63.75 -4360,46,30,2.5,111.05,1.7,63.75 -4361,46,30,2.5,111.05,1.7,63.75 -4362,46,30,2.5,111.05,1.7,63.75 -4363,46,30,2.5,111.05,1.7,63.75 -4364,46,30,2.5,111.05,1.7,63.75 -4365,46,30,2.5,111.05,1.7,63.75 -4366,46,30,2.5,111.05,1.7,63.75 -4367,46,30,2.5,111.05,1.7,63.75 -4368,46,30,2.5,111.05,1.7,63.75 -4369,46,30,2.5,111.05,1.7,63.75 -4370,46,30,2.5,111.05,1.7,63.75 -4371,46,30,2.5,111.05,1.7,63.75 -4372,46,30,2.5,111.05,1.7,63.75 -4373,46,30,2.5,111.05,1.7,63.75 -4374,46,30,2.5,111.05,1.7,63.75 -4375,46,30,2.5,111.05,1.7,63.75 -4376,46,30,2.5,111.05,1.7,63.75 -4377,46,30,2.5,111.05,1.7,63.75 -4378,46,30,2.5,111.05,1.7,63.75 -4379,46,30,2.5,111.05,1.7,63.75 -4380,46,30,2.5,111.05,1.7,63.75 -4381,46,30,2.5,111.05,1.7,63.75 -4382,46,30,2.5,111.05,1.7,63.75 -4383,46,30,2.5,111.05,1.7,63.75 -4384,46,30,2.5,111.05,1.7,63.75 -4385,46,30,2.5,111.05,1.7,63.75 -4386,46,30,2.5,111.05,1.7,63.75 -4387,46,30,2.5,111.05,1.7,63.75 -4388,46,30,2.5,111.05,1.7,63.75 -4389,46,30,2.5,111.05,1.7,63.75 -4390,46,30,2.5,111.05,1.7,63.75 -4391,46,30,2.5,111.05,1.7,63.75 -4392,46,30,2.5,111.05,1.7,63.75 -4393,46,30,2.5,111.05,1.7,63.75 -4394,46,30,2.5,111.05,1.7,63.75 -4395,46,30,2.5,111.05,1.7,63.75 -4396,46,30,2.5,111.05,1.7,63.75 -4397,46,30,2.5,111.05,1.7,63.75 -4398,46,30,2.5,111.05,1.7,63.75 -4399,46,30,2.5,111.05,1.7,63.75 -4400,46,30,2.5,111.05,1.7,63.75 -4401,46,30,2.5,111.05,1.7,63.75 -4402,46,30,2.5,111.05,1.7,63.75 -4403,46,30,2.5,111.05,1.7,63.75 -4404,46,30,2.5,111.05,1.7,63.75 -4405,46,30,2.5,111.05,1.7,63.75 -4406,46,30,2.5,111.05,1.7,63.75 -4407,46,30,2.5,111.05,1.7,63.75 -4408,46,30,2.5,111.05,1.7,63.75 -4409,46,30,2.5,111.05,1.7,63.75 -4410,46,30,2.5,111.05,1.7,63.75 -4411,46,30,2.5,111.05,1.7,63.75 -4412,46,30,2.5,111.05,1.7,63.75 -4413,46,30,2.5,111.05,1.7,63.75 -4414,46,30,2.5,111.05,1.7,63.75 -4415,46,30,2.5,111.05,1.7,63.75 -4416,46,30,2.5,111.05,1.7,63.75 -4417,46,30,2.5,111.05,1.7,63.75 -4418,46,30,2.5,111.05,1.7,63.75 -4419,46,30,2.5,111.05,1.7,63.75 -4420,46,30,2.5,111.05,1.7,63.75 -4421,46,30,2.5,111.05,1.7,63.75 -4422,46,30,2.5,111.05,1.7,63.75 -4423,46,30,2.5,111.05,1.7,63.75 -4424,46,30,2.5,111.05,1.7,63.75 -4425,46,30,2.5,111.05,1.7,63.75 -4426,46,30,2.5,111.05,1.7,63.75 -4427,46,30,2.5,111.05,1.7,63.75 -4428,46,30,2.5,111.05,1.7,63.75 -4429,46,30,2.5,111.05,1.7,63.75 -4430,46,30,2.5,111.05,1.7,63.75 -4431,46,30,2.5,111.05,1.7,63.75 -4432,46,30,2.5,111.05,1.7,63.75 -4433,46,30,2.5,111.05,1.7,63.75 -4434,46,30,2.5,111.05,1.7,63.75 -4435,46,30,2.5,111.05,1.7,63.75 -4436,46,30,2.5,111.05,1.7,63.75 -4437,46,30,2.5,111.05,1.7,63.75 -4438,46,30,2.5,111.05,1.7,63.75 -4439,46,30,2.5,111.05,1.7,63.75 -4440,46,30,2.5,111.05,1.7,63.75 -4441,46,30,2.5,111.05,1.7,63.75 -4442,46,30,2.5,111.05,1.7,63.75 -4443,46,30,2.5,111.05,1.7,63.75 -4444,46,30,2.5,111.05,1.7,63.75 -4445,46,30,2.5,111.05,1.7,63.75 -4446,46,30,2.5,111.05,1.7,63.75 -4447,46,30,2.5,111.05,1.7,63.75 -4448,46,30,2.5,111.05,1.7,63.75 -4449,46,30,2.5,111.05,1.7,63.75 -4450,46,30,2.5,111.05,1.7,63.75 -4451,46,30,2.5,111.05,1.7,63.75 -4452,46,30,2.5,111.05,1.7,63.75 -4453,46,30,2.5,111.05,1.7,63.75 -4454,46,30,2.5,111.05,1.7,63.75 -4455,46,30,2.5,111.05,1.7,63.75 -4456,46,30,2.5,111.05,1.7,63.75 -4457,46,30,2.5,111.05,1.7,63.75 -4458,46,30,2.5,111.05,1.7,63.75 -4459,46,30,2.5,111.05,1.7,63.75 -4460,46,30,2.5,111.05,1.7,63.75 -4461,46,30,2.5,111.05,1.7,63.75 -4462,46,30,2.5,111.05,1.7,63.75 -4463,46,30,2.5,111.05,1.7,63.75 -4464,46,30,2.5,111.05,1.7,63.75 -4465,46,30,2.5,111.05,1.7,63.75 -4466,46,30,2.5,111.05,1.7,63.75 -4467,46,30,2.5,111.05,1.7,63.75 -4468,46,30,2.5,111.05,1.7,63.75 -4469,46,30,2.5,111.05,1.7,63.75 -4470,46,30,2.5,111.05,1.7,63.75 -4471,46,30,2.5,111.05,1.7,63.75 -4472,46,30,2.5,111.05,1.7,63.75 -4473,46,30,2.5,111.05,1.7,63.75 -4474,46,30,2.5,111.05,1.7,63.75 -4475,46,30,2.5,111.05,1.7,63.75 -4476,46,30,2.5,111.05,1.7,63.75 -4477,46,30,2.5,111.05,1.7,63.75 -4478,46,30,2.5,111.05,1.7,63.75 -4479,46,30,2.5,111.05,1.7,63.75 -4480,46,30,2.5,111.05,1.7,63.75 -4481,46,30,2.5,111.05,1.7,63.75 -4482,46,30,2.5,111.05,1.7,63.75 -4483,46,30,2.5,111.05,1.7,63.75 -4484,46,30,2.5,111.05,1.7,63.75 -4485,46,30,2.5,111.05,1.7,63.75 -4486,46,30,2.5,111.05,1.7,63.75 -4487,46,30,2.5,111.05,1.7,63.75 -4488,46,30,2.5,111.05,1.7,63.75 -4489,46,30,2.5,111.05,1.7,63.75 -4490,46,30,2.5,111.05,1.7,63.75 -4491,46,30,2.5,111.05,1.7,63.75 -4492,46,30,2.5,111.05,1.7,63.75 -4493,46,30,2.5,111.05,1.7,63.75 -4494,46,30,2.5,111.05,1.7,63.75 -4495,46,30,2.5,111.05,1.7,63.75 -4496,46,30,2.5,111.05,1.7,63.75 -4497,46,30,2.5,111.05,1.7,63.75 -4498,46,30,2.5,111.05,1.7,63.75 -4499,46,30,2.5,111.05,1.7,63.75 -4500,46,30,2.5,111.05,1.7,63.75 -4501,46,30,2.5,111.05,1.7,63.75 -4502,46,30,2.5,111.05,1.7,63.75 -4503,46,30,2.5,111.05,1.7,63.75 -4504,46,30,2.5,111.05,1.7,63.75 -4505,46,30,2.5,111.05,1.7,63.75 -4506,46,30,2.5,111.05,1.7,63.75 -4507,46,30,2.5,111.05,1.7,63.75 -4508,46,30,2.5,111.05,1.7,63.75 -4509,46,30,2.5,111.05,1.7,63.75 -4510,46,30,2.5,111.05,1.7,63.75 -4511,46,30,2.5,111.05,1.7,63.75 -4512,46,30,2.5,111.05,1.7,63.75 -4513,46,30,2.5,111.05,1.7,63.75 -4514,46,30,2.5,111.05,1.7,63.75 -4515,46,30,2.5,111.05,1.7,63.75 -4516,46,30,2.5,111.05,1.7,63.75 -4517,46,30,2.5,111.05,1.7,63.75 -4518,46,30,2.5,111.05,1.7,63.75 -4519,46,30,2.5,111.05,1.7,63.75 -4520,46,30,2.5,111.05,1.7,63.75 -4521,46,30,2.5,111.05,1.7,63.75 -4522,46,30,2.5,111.05,1.7,63.75 -4523,46,30,2.5,111.05,1.7,63.75 -4524,46,30,2.5,111.05,1.7,63.75 -4525,46,30,2.5,111.05,1.7,63.75 -4526,46,30,2.5,111.05,1.7,63.75 -4527,46,30,2.5,111.05,1.7,63.75 -4528,46,30,2.5,111.05,1.7,63.75 -4529,46,30,2.5,111.05,1.7,63.75 -4530,46,30,2.5,111.05,1.7,63.75 -4531,46,30,2.5,111.05,1.7,63.75 -4532,46,30,2.5,111.05,1.7,63.75 -4533,46,30,2.5,111.05,1.7,63.75 -4534,46,30,2.5,111.05,1.7,63.75 -4535,46,30,2.5,111.05,1.7,63.75 -4536,46,30,2.5,111.05,1.7,63.75 -4537,46,30,2.5,111.05,1.7,63.75 -4538,46,30,2.5,111.05,1.7,63.75 -4539,46,30,2.5,111.05,1.7,63.75 -4540,46,30,2.5,111.05,1.7,63.75 -4541,46,30,2.5,111.05,1.7,63.75 -4542,46,30,2.5,111.05,1.7,63.75 -4543,46,30,2.5,111.05,1.7,63.75 -4544,46,30,2.5,111.05,1.7,63.75 -4545,46,30,2.5,111.05,1.7,63.75 -4546,46,30,2.5,111.05,1.7,63.75 -4547,46,30,2.5,111.05,1.7,63.75 -4548,46,30,2.5,111.05,1.7,63.75 -4549,46,30,2.5,111.05,1.7,63.75 -4550,46,30,2.5,111.05,1.7,63.75 -4551,46,30,2.5,111.05,1.7,63.75 -4552,46,30,2.5,111.05,1.7,63.75 -4553,46,30,2.5,111.05,1.7,63.75 -4554,46,30,2.5,111.05,1.7,63.75 -4555,46,30,2.5,111.05,1.7,63.75 -4556,46,30,2.5,111.05,1.7,63.75 -4557,46,30,2.5,111.05,1.7,63.75 -4558,46,30,2.5,111.05,1.7,63.75 -4559,46,30,2.5,111.05,1.7,63.75 -4560,46,30,2.5,111.05,1.7,63.75 -4561,46,30,2.5,111.05,1.7,63.75 -4562,46,30,2.5,111.05,1.7,63.75 -4563,46,30,2.5,111.05,1.7,63.75 -4564,46,30,2.5,111.05,1.7,63.75 -4565,46,30,2.5,111.05,1.7,63.75 -4566,46,30,2.5,111.05,1.7,63.75 -4567,46,30,2.5,111.05,1.7,63.75 -4568,46,30,2.5,111.05,1.7,63.75 -4569,46,30,2.5,111.05,1.7,63.75 -4570,46,30,2.5,111.05,1.7,63.75 -4571,46,30,2.5,111.05,1.7,63.75 -4572,46,30,2.5,111.05,1.7,63.75 -4573,46,30,2.5,111.05,1.7,63.75 -4574,46,30,2.5,111.05,1.7,63.75 -4575,46,30,2.5,111.05,1.7,63.75 -4576,46,30,2.5,111.05,1.7,63.75 -4577,46,30,2.5,111.05,1.7,63.75 -4578,46,30,2.5,111.05,1.7,63.75 -4579,46,30,2.5,111.05,1.7,63.75 -4580,46,30,2.5,111.05,1.7,63.75 -4581,46,30,2.5,111.05,1.7,63.75 -4582,46,30,2.5,111.05,1.7,63.75 -4583,46,30,2.5,111.05,1.7,63.75 -4584,46,30,2.5,111.05,1.7,63.75 -4585,46,30,2.5,111.05,1.7,63.75 -4586,46,30,2.5,111.05,1.7,63.75 -4587,46,30,2.5,111.05,1.7,63.75 -4588,46,30,2.5,111.05,1.7,63.75 -4589,46,30,2.5,111.05,1.7,63.75 -4590,46,30,2.5,111.05,1.7,63.75 -4591,46,30,2.5,111.05,1.7,63.75 -4592,46,30,2.5,111.05,1.7,63.75 -4593,46,30,2.5,111.05,1.7,63.75 -4594,46,30,2.5,111.05,1.7,63.75 -4595,46,30,2.5,111.05,1.7,63.75 -4596,46,30,2.5,111.05,1.7,63.75 -4597,46,30,2.5,111.05,1.7,63.75 -4598,46,30,2.5,111.05,1.7,63.75 -4599,46,30,2.5,111.05,1.7,63.75 -4600,46,30,2.5,111.05,1.7,63.75 -4601,46,30,2.5,111.05,1.7,63.75 -4602,46,30,2.5,111.05,1.7,63.75 -4603,46,30,2.5,111.05,1.7,63.75 -4604,46,30,2.5,111.05,1.7,63.75 -4605,46,30,2.5,111.05,1.7,63.75 -4606,46,30,2.5,111.05,1.7,63.75 -4607,46,30,2.5,111.05,1.7,63.75 -4608,46,30,2.5,111.05,1.7,63.75 -4609,46,30,2.5,111.05,1.7,63.75 -4610,46,30,2.5,111.05,1.7,63.75 -4611,46,30,2.5,111.05,1.7,63.75 -4612,46,30,2.5,111.05,1.7,63.75 -4613,46,30,2.5,111.05,1.7,63.75 -4614,46,30,2.5,111.05,1.7,63.75 -4615,46,30,2.5,111.05,1.7,63.75 -4616,46,30,2.5,111.05,1.7,63.75 -4617,46,30,2.5,111.05,1.7,63.75 -4618,46,30,2.5,111.05,1.7,63.75 -4619,46,30,2.5,111.05,1.7,63.75 -4620,46,30,2.5,111.05,1.7,63.75 -4621,46,30,2.5,111.05,1.7,63.75 -4622,46,30,2.5,111.05,1.7,63.75 -4623,46,30,2.5,111.05,1.7,63.75 -4624,46,30,2.5,111.05,1.7,63.75 -4625,46,30,2.5,111.05,1.7,63.75 -4626,46,30,2.5,111.05,1.7,63.75 -4627,46,30,2.5,111.05,1.7,63.75 -4628,46,30,2.5,111.05,1.7,63.75 -4629,46,30,2.5,111.05,1.7,63.75 -4630,46,30,2.5,111.05,1.7,63.75 -4631,46,30,2.5,111.05,1.7,63.75 -4632,46,30,2.5,111.05,1.7,63.75 -4633,46,30,2.5,111.05,1.7,63.75 -4634,46,30,2.5,111.05,1.7,63.75 -4635,46,30,2.5,111.05,1.7,63.75 -4636,46,30,2.5,111.05,1.7,63.75 -4637,46,30,2.5,111.05,1.7,63.75 -4638,46,30,2.5,111.05,1.7,63.75 -4639,46,30,2.5,111.05,1.7,63.75 -4640,46,30,2.5,111.05,1.7,63.75 -4641,46,30,2.5,111.05,1.7,63.75 -4642,46,30,2.5,111.05,1.7,63.75 -4643,46,30,2.5,111.05,1.7,63.75 -4644,46,30,2.5,111.05,1.7,63.75 -4645,46,30,2.5,111.05,1.7,63.75 -4646,46,30,2.5,111.05,1.7,63.75 -4647,46,30,2.5,111.05,1.7,63.75 -4648,46,30,2.5,111.05,1.7,63.75 -4649,46,30,2.5,111.05,1.7,63.75 -4650,46,30,2.5,111.05,1.7,63.75 -4651,46,30,2.5,111.05,1.7,63.75 -4652,46,30,2.5,111.05,1.7,63.75 -4653,46,30,2.5,111.05,1.7,63.75 -4654,46,30,2.5,111.05,1.7,63.75 -4655,46,30,2.5,111.05,1.7,63.75 -4656,46,30,2.5,111.05,1.7,63.75 -4657,46,30,2.5,111.05,1.7,63.75 -4658,46,30,2.5,111.05,1.7,63.75 -4659,46,30,2.5,111.05,1.7,63.75 -4660,46,30,2.5,111.05,1.7,63.75 -4661,46,30,2.5,111.05,1.7,63.75 -4662,46,30,2.5,111.05,1.7,63.75 -4663,46,30,2.5,111.05,1.7,63.75 -4664,46,30,2.5,111.05,1.7,63.75 -4665,46,30,2.5,111.05,1.7,63.75 -4666,46,30,2.5,111.05,1.7,63.75 -4667,46,30,2.5,111.05,1.7,63.75 -4668,46,30,2.5,111.05,1.7,63.75 -4669,46,30,2.5,111.05,1.7,63.75 -4670,46,30,2.5,111.05,1.7,63.75 -4671,46,30,2.5,111.05,1.7,63.75 -4672,46,30,2.5,111.05,1.7,63.75 -4673,46,30,2.5,111.05,1.7,63.75 -4674,46,30,2.5,111.05,1.7,63.75 -4675,46,30,2.5,111.05,1.7,63.75 -4676,46,30,2.5,111.05,1.7,63.75 -4677,46,30,2.5,111.05,1.7,63.75 -4678,46,30,2.5,111.05,1.7,63.75 -4679,46,30,2.5,111.05,1.7,63.75 -4680,46,30,2.5,111.05,1.7,63.75 -4681,46,30,2.5,111.05,1.7,63.75 -4682,46,30,2.5,111.05,1.7,63.75 -4683,46,30,2.5,111.05,1.7,63.75 -4684,46,30,2.5,111.05,1.7,63.75 -4685,46,30,2.5,111.05,1.7,63.75 -4686,46,30,2.5,111.05,1.7,63.75 -4687,46,30,2.5,111.05,1.7,63.75 -4688,46,30,2.5,111.05,1.7,63.75 -4689,46,30,2.5,111.05,1.7,63.75 -4690,46,30,2.5,111.05,1.7,63.75 -4691,46,30,2.5,111.05,1.7,63.75 -4692,46,30,2.5,111.05,1.7,63.75 -4693,46,30,2.5,111.05,1.7,63.75 -4694,46,30,2.5,111.05,1.7,63.75 -4695,46,30,2.5,111.05,1.7,63.75 -4696,46,30,2.5,111.05,1.7,63.75 -4697,46,30,2.5,111.05,1.7,63.75 -4698,46,30,2.5,111.05,1.7,63.75 -4699,46,30,2.5,111.05,1.7,63.75 -4700,46,30,2.5,111.05,1.7,63.75 -4701,46,30,2.5,111.05,1.7,63.75 -4702,46,30,2.5,111.05,1.7,63.75 -4703,46,30,2.5,111.05,1.7,63.75 -4704,46,30,2.5,111.05,1.7,63.75 -4705,46,30,2.5,111.05,1.7,63.75 -4706,46,30,2.5,111.05,1.7,63.75 -4707,46,30,2.5,111.05,1.7,63.75 -4708,46,30,2.5,111.05,1.7,63.75 -4709,46,30,2.5,111.05,1.7,63.75 -4710,46,30,2.5,111.05,1.7,63.75 -4711,46,30,2.5,111.05,1.7,63.75 -4712,46,30,2.5,111.05,1.7,63.75 -4713,46,30,2.5,111.05,1.7,63.75 -4714,46,30,2.5,111.05,1.7,63.75 -4715,46,30,2.5,111.05,1.7,63.75 -4716,46,30,2.5,111.05,1.7,63.75 -4717,46,30,2.5,111.05,1.7,63.75 -4718,46,30,2.5,111.05,1.7,63.75 -4719,46,30,2.5,111.05,1.7,63.75 -4720,46,30,2.5,111.05,1.7,63.75 -4721,46,30,2.5,111.05,1.7,63.75 -4722,46,30,2.5,111.05,1.7,63.75 -4723,46,30,2.5,111.05,1.7,63.75 -4724,46,30,2.5,111.05,1.7,63.75 -4725,46,30,2.5,111.05,1.7,63.75 -4726,46,30,2.5,111.05,1.7,63.75 -4727,46,30,2.5,111.05,1.7,63.75 -4728,46,30,2.5,111.05,1.7,63.75 -4729,46,30,2.5,111.05,1.7,63.75 -4730,46,30,2.5,111.05,1.7,63.75 -4731,46,30,2.5,111.05,1.7,63.75 -4732,46,30,2.5,111.05,1.7,63.75 -4733,46,30,2.5,111.05,1.7,63.75 -4734,46,30,2.5,111.05,1.7,63.75 -4735,46,30,2.5,111.05,1.7,63.75 -4736,46,30,2.5,111.05,1.7,63.75 -4737,46,30,2.5,111.05,1.7,63.75 -4738,46,30,2.5,111.05,1.7,63.75 -4739,46,30,2.5,111.05,1.7,63.75 -4740,46,30,2.5,111.05,1.7,63.75 -4741,46,30,2.5,111.05,1.7,63.75 -4742,46,30,2.5,111.05,1.7,63.75 -4743,46,30,2.5,111.05,1.7,63.75 -4744,46,30,2.5,111.05,1.7,63.75 -4745,46,30,2.5,111.05,1.7,63.75 -4746,46,30,2.5,111.05,1.7,63.75 -4747,46,30,2.5,111.05,1.7,63.75 -4748,46,30,2.5,111.05,1.7,63.75 -4749,46,30,2.5,111.05,1.7,63.75 -4750,46,30,2.5,111.05,1.7,63.75 -4751,46,30,2.5,111.05,1.7,63.75 -4752,46,30,2.5,111.05,1.7,63.75 -4753,46,30,2.5,111.05,1.7,63.75 -4754,46,30,2.5,111.05,1.7,63.75 -4755,46,30,2.5,111.05,1.7,63.75 -4756,46,30,2.5,111.05,1.7,63.75 -4757,46,30,2.5,111.05,1.7,63.75 -4758,46,30,2.5,111.05,1.7,63.75 -4759,46,30,2.5,111.05,1.7,63.75 -4760,46,30,2.5,111.05,1.7,63.75 -4761,46,30,2.5,111.05,1.7,63.75 -4762,46,30,2.5,111.05,1.7,63.75 -4763,46,30,2.5,111.05,1.7,63.75 -4764,46,30,2.5,111.05,1.7,63.75 -4765,46,30,2.5,111.05,1.7,63.75 -4766,46,30,2.5,111.05,1.7,63.75 -4767,46,30,2.5,111.05,1.7,63.75 -4768,46,30,2.5,111.05,1.7,63.75 -4769,46,30,2.5,111.05,1.7,63.75 -4770,46,30,2.5,111.05,1.7,63.75 -4771,46,30,2.5,111.05,1.7,63.75 -4772,46,30,2.5,111.05,1.7,63.75 -4773,46,30,2.5,111.05,1.7,63.75 -4774,46,30,2.5,111.05,1.7,63.75 -4775,46,30,2.5,111.05,1.7,63.75 -4776,46,30,2.5,111.05,1.7,63.75 -4777,46,30,2.5,111.05,1.7,63.75 -4778,46,30,2.5,111.05,1.7,63.75 -4779,46,30,2.5,111.05,1.7,63.75 -4780,46,30,2.5,111.05,1.7,63.75 -4781,46,30,2.5,111.05,1.7,63.75 -4782,46,30,2.5,111.05,1.7,63.75 -4783,46,30,2.5,111.05,1.7,63.75 -4784,46,30,2.5,111.05,1.7,63.75 -4785,46,30,2.5,111.05,1.7,63.75 -4786,46,30,2.5,111.05,1.7,63.75 -4787,46,30,2.5,111.05,1.7,63.75 -4788,46,30,2.5,111.05,1.7,63.75 -4789,46,30,2.5,111.05,1.7,63.75 -4790,46,30,2.5,111.05,1.7,63.75 -4791,46,30,2.5,111.05,1.7,63.75 -4792,46,30,2.5,111.05,1.7,63.75 -4793,46,30,2.5,111.05,1.7,63.75 -4794,46,30,2.5,111.05,1.7,63.75 -4795,46,30,2.5,111.05,1.7,63.75 -4796,46,30,2.5,111.05,1.7,63.75 -4797,46,30,2.5,111.05,1.7,63.75 -4798,46,30,2.5,111.05,1.7,63.75 -4799,46,30,2.5,111.05,1.7,63.75 -4800,46,30,2.5,111.05,1.7,63.75 -4801,46,30,2.5,111.05,1.7,63.75 -4802,46,30,2.5,111.05,1.7,63.75 -4803,46,30,2.5,111.05,1.7,63.75 -4804,46,30,2.5,111.05,1.7,63.75 -4805,46,30,2.5,111.05,1.7,63.75 -4806,46,30,2.5,111.05,1.7,63.75 -4807,46,30,2.5,111.05,1.7,63.75 -4808,46,30,2.5,111.05,1.7,63.75 -4809,46,30,2.5,111.05,1.7,63.75 -4810,46,30,2.5,111.05,1.7,63.75 -4811,46,30,2.5,111.05,1.7,63.75 -4812,46,30,2.5,111.05,1.7,63.75 -4813,46,30,2.5,111.05,1.7,63.75 -4814,46,30,2.5,111.05,1.7,63.75 -4815,46,30,2.5,111.05,1.7,63.75 -4816,46,30,2.5,111.05,1.7,63.75 -4817,46,30,2.5,111.05,1.7,63.75 -4818,46,30,2.5,111.05,1.7,63.75 -4819,46,30,2.5,111.05,1.7,63.75 -4820,46,30,2.5,111.05,1.7,63.75 -4821,46,30,2.5,111.05,1.7,63.75 -4822,46,30,2.5,111.05,1.7,63.75 -4823,46,30,2.5,111.05,1.7,63.75 -4824,46,30,2.5,111.05,1.7,63.75 -4825,46,30,2.5,111.05,1.7,63.75 -4826,46,30,2.5,111.05,1.7,63.75 -4827,46,30,2.5,111.05,1.7,63.75 -4828,46,30,2.5,111.05,1.7,63.75 -4829,46,30,2.5,111.05,1.7,63.75 -4830,46,30,2.5,111.05,1.7,63.75 -4831,46,30,2.5,111.05,1.7,63.75 -4832,46,30,2.5,111.05,1.7,63.75 -4833,46,30,2.5,111.05,1.7,63.75 -4834,46,30,2.5,111.05,1.7,63.75 -4835,46,30,2.5,111.05,1.7,63.75 -4836,46,30,2.5,111.05,1.7,63.75 -4837,46,30,2.5,111.05,1.7,63.75 -4838,46,30,2.5,111.05,1.7,63.75 -4839,46,30,2.5,111.05,1.7,63.75 -4840,46,30,2.5,111.05,1.7,63.75 -4841,46,30,2.5,111.05,1.7,63.75 -4842,46,30,2.5,111.05,1.7,63.75 -4843,46,30,2.5,111.05,1.7,63.75 -4844,46,30,2.5,111.05,1.7,63.75 -4845,46,30,2.5,111.05,1.7,63.75 -4846,46,30,2.5,111.05,1.7,63.75 -4847,46,30,2.5,111.05,1.7,63.75 -4848,46,30,2.5,111.05,1.7,63.75 -4849,46,30,2.5,111.05,1.7,63.75 -4850,46,30,2.5,111.05,1.7,63.75 -4851,46,30,2.5,111.05,1.7,63.75 -4852,46,30,2.5,111.05,1.7,63.75 -4853,46,30,2.5,111.05,1.7,63.75 -4854,46,30,2.5,111.05,1.7,63.75 -4855,46,30,2.5,111.05,1.7,63.75 -4856,46,30,2.5,111.05,1.7,63.75 -4857,46,30,2.5,111.05,1.7,63.75 -4858,46,30,2.5,111.05,1.7,63.75 -4859,46,30,2.5,111.05,1.7,63.75 -4860,46,30,2.5,111.05,1.7,63.75 -4861,46,30,2.5,111.05,1.7,63.75 -4862,46,30,2.5,111.05,1.7,63.75 -4863,46,30,2.5,111.05,1.7,63.75 -4864,46,30,2.5,111.05,1.7,63.75 -4865,46,30,2.5,111.05,1.7,63.75 -4866,46,30,2.5,111.05,1.7,63.75 -4867,46,30,2.5,111.05,1.7,63.75 -4868,46,30,2.5,111.05,1.7,63.75 -4869,46,30,2.5,111.05,1.7,63.75 -4870,46,30,2.5,111.05,1.7,63.75 -4871,46,30,2.5,111.05,1.7,63.75 -4872,46,30,2.5,111.05,1.7,63.75 -4873,46,30,2.5,111.05,1.7,63.75 -4874,46,30,2.5,111.05,1.7,63.75 -4875,46,30,2.5,111.05,1.7,63.75 -4876,46,30,2.5,111.05,1.7,63.75 -4877,46,30,2.5,111.05,1.7,63.75 -4878,46,30,2.5,111.05,1.7,63.75 -4879,46,30,2.5,111.05,1.7,63.75 -4880,46,30,2.5,111.05,1.7,63.75 -4881,46,30,2.5,111.05,1.7,63.75 -4882,46,30,2.5,111.05,1.7,63.75 -4883,46,30,2.5,111.05,1.7,63.75 -4884,46,30,2.5,111.05,1.7,63.75 -4885,46,30,2.5,111.05,1.7,63.75 -4886,46,30,2.5,111.05,1.7,63.75 -4887,46,30,2.5,111.05,1.7,63.75 -4888,46,30,2.5,111.05,1.7,63.75 -4889,46,30,2.5,111.05,1.7,63.75 -4890,46,30,2.5,111.05,1.7,63.75 -4891,46,30,2.5,111.05,1.7,63.75 -4892,46,30,2.5,111.05,1.7,63.75 -4893,46,30,2.5,111.05,1.7,63.75 -4894,46,30,2.5,111.05,1.7,63.75 -4895,46,30,2.5,111.05,1.7,63.75 -4896,46,30,2.5,111.05,1.7,63.75 -4897,46,30,2.5,111.05,1.7,63.75 -4898,46,30,2.5,111.05,1.7,63.75 -4899,46,30,2.5,111.05,1.7,63.75 -4900,46,30,2.5,111.05,1.7,63.75 -4901,46,30,2.5,111.05,1.7,63.75 -4902,46,30,2.5,111.05,1.7,63.75 -4903,46,30,2.5,111.05,1.7,63.75 -4904,46,30,2.5,111.05,1.7,63.75 -4905,46,30,2.5,111.05,1.7,63.75 -4906,46,30,2.5,111.05,1.7,63.75 -4907,46,30,2.5,111.05,1.7,63.75 -4908,46,30,2.5,111.05,1.7,63.75 -4909,46,30,2.5,111.05,1.7,63.75 -4910,46,30,2.5,111.05,1.7,63.75 -4911,46,30,2.5,111.05,1.7,63.75 -4912,46,30,2.5,111.05,1.7,63.75 -4913,46,30,2.5,111.05,1.7,63.75 -4914,46,30,2.5,111.05,1.7,63.75 -4915,46,30,2.5,111.05,1.7,63.75 -4916,46,30,2.5,111.05,1.7,63.75 -4917,46,30,2.5,111.05,1.7,63.75 -4918,46,30,2.5,111.05,1.7,63.75 -4919,46,30,2.5,111.05,1.7,63.75 -4920,46,30,2.5,111.05,1.7,63.75 -4921,46,30,2.5,111.05,1.7,63.75 -4922,46,30,2.5,111.05,1.7,63.75 -4923,46,30,2.5,111.05,1.7,63.75 -4924,46,30,2.5,111.05,1.7,63.75 -4925,46,30,2.5,111.05,1.7,63.75 -4926,46,30,2.5,111.05,1.7,63.75 -4927,46,30,2.5,111.05,1.7,63.75 -4928,46,30,2.5,111.05,1.7,63.75 -4929,46,30,2.5,111.05,1.7,63.75 -4930,46,30,2.5,111.05,1.7,63.75 -4931,46,30,2.5,111.05,1.7,63.75 -4932,46,30,2.5,111.05,1.7,63.75 -4933,46,30,2.5,111.05,1.7,63.75 -4934,46,30,2.5,111.05,1.7,63.75 -4935,46,30,2.5,111.05,1.7,63.75 -4936,46,30,2.5,111.05,1.7,63.75 -4937,46,30,2.5,111.05,1.7,63.75 -4938,46,30,2.5,111.05,1.7,63.75 -4939,46,30,2.5,111.05,1.7,63.75 -4940,46,30,2.5,111.05,1.7,63.75 -4941,46,30,2.5,111.05,1.7,63.75 -4942,46,30,2.5,111.05,1.7,63.75 -4943,46,30,2.5,111.05,1.7,63.75 -4944,46,30,2.5,111.05,1.7,63.75 -4945,46,30,2.5,111.05,1.7,63.75 -4946,46,30,2.5,111.05,1.7,63.75 -4947,46,30,2.5,111.05,1.7,63.75 -4948,46,30,2.5,111.05,1.7,63.75 -4949,46,30,2.5,111.05,1.7,63.75 -4950,46,30,2.5,111.05,1.7,63.75 -4951,46,30,2.5,111.05,1.7,63.75 -4952,46,30,2.5,111.05,1.7,63.75 -4953,46,30,2.5,111.05,1.7,63.75 -4954,46,30,2.5,111.05,1.7,63.75 -4955,46,30,2.5,111.05,1.7,63.75 -4956,46,30,2.5,111.05,1.7,63.75 -4957,46,30,2.5,111.05,1.7,63.75 -4958,46,30,2.5,111.05,1.7,63.75 -4959,46,30,2.5,111.05,1.7,63.75 -4960,46,30,2.5,111.05,1.7,63.75 -4961,46,30,2.5,111.05,1.7,63.75 -4962,46,30,2.5,111.05,1.7,63.75 -4963,46,30,2.5,111.05,1.7,63.75 -4964,46,30,2.5,111.05,1.7,63.75 -4965,46,30,2.5,111.05,1.7,63.75 -4966,46,30,2.5,111.05,1.7,63.75 -4967,46,30,2.5,111.05,1.7,63.75 -4968,46,30,2.5,111.05,1.7,63.75 -4969,46,30,2.5,111.05,1.7,63.75 -4970,46,30,2.5,111.05,1.7,63.75 -4971,46,30,2.5,111.05,1.7,63.75 -4972,46,30,2.5,111.05,1.7,63.75 -4973,46,30,2.5,111.05,1.7,63.75 -4974,46,30,2.5,111.05,1.7,63.75 -4975,46,30,2.5,111.05,1.7,63.75 -4976,46,30,2.5,111.05,1.7,63.75 -4977,46,30,2.5,111.05,1.7,63.75 -4978,46,30,2.5,111.05,1.7,63.75 -4979,46,30,2.5,111.05,1.7,63.75 -4980,46,30,2.5,111.05,1.7,63.75 -4981,46,30,2.5,111.05,1.7,63.75 -4982,46,30,2.5,111.05,1.7,63.75 -4983,46,30,2.5,111.05,1.7,63.75 -4984,46,30,2.5,111.05,1.7,63.75 -4985,46,30,2.5,111.05,1.7,63.75 -4986,46,30,2.5,111.05,1.7,63.75 -4987,46,30,2.5,111.05,1.7,63.75 -4988,46,30,2.5,111.05,1.7,63.75 -4989,46,30,2.5,111.05,1.7,63.75 -4990,46,30,2.5,111.05,1.7,63.75 -4991,46,30,2.5,111.05,1.7,63.75 -4992,46,30,2.5,111.05,1.7,63.75 -4993,46,30,2.5,111.05,1.7,63.75 -4994,46,30,2.5,111.05,1.7,63.75 -4995,46,30,2.5,111.05,1.7,63.75 -4996,46,30,2.5,111.05,1.7,63.75 -4997,46,30,2.5,111.05,1.7,63.75 -4998,46,30,2.5,111.05,1.7,63.75 -4999,46,30,2.5,111.05,1.7,63.75 -5000,46,30,2.5,111.05,1.7,63.75 -5001,46,30,2.5,111.05,1.7,63.75 -5002,46,30,2.5,111.05,1.7,63.75 -5003,46,30,2.5,111.05,1.7,63.75 -5004,46,30,2.5,111.05,1.7,63.75 -5005,46,30,2.5,111.05,1.7,63.75 -5006,46,30,2.5,111.05,1.7,63.75 -5007,46,30,2.5,111.05,1.7,63.75 -5008,46,30,2.5,111.05,1.7,63.75 -5009,46,30,2.5,111.05,1.7,63.75 -5010,46,30,2.5,111.05,1.7,63.75 -5011,46,30,2.5,111.05,1.7,63.75 -5012,46,30,2.5,111.05,1.7,63.75 -5013,46,30,2.5,111.05,1.7,63.75 -5014,46,30,2.5,111.05,1.7,63.75 -5015,46,30,2.5,111.05,1.7,63.75 -5016,46,30,2.5,111.05,1.7,63.75 -5017,46,30,2.5,111.05,1.7,63.75 -5018,46,30,2.5,111.05,1.7,63.75 -5019,46,30,2.5,111.05,1.7,63.75 -5020,46,30,2.5,111.05,1.7,63.75 -5021,46,30,2.5,111.05,1.7,63.75 -5022,46,30,2.5,111.05,1.7,63.75 -5023,46,30,2.5,111.05,1.7,63.75 -5024,46,30,2.5,111.05,1.7,63.75 -5025,46,30,2.5,111.05,1.7,63.75 -5026,46,30,2.5,111.05,1.7,63.75 -5027,46,30,2.5,111.05,1.7,63.75 -5028,46,30,2.5,111.05,1.7,63.75 -5029,46,30,2.5,111.05,1.7,63.75 -5030,46,30,2.5,111.05,1.7,63.75 -5031,46,30,2.5,111.05,1.7,63.75 -5032,46,30,2.5,111.05,1.7,63.75 -5033,46,30,2.5,111.05,1.7,63.75 -5034,46,30,2.5,111.05,1.7,63.75 -5035,46,30,2.5,111.05,1.7,63.75 -5036,46,30,2.5,111.05,1.7,63.75 -5037,46,30,2.5,111.05,1.7,63.75 -5038,46,30,2.5,111.05,1.7,63.75 -5039,46,30,2.5,111.05,1.7,63.75 -5040,46,30,2.5,111.05,1.7,63.75 -5041,46,30,2.5,111.05,1.7,63.75 -5042,46,30,2.5,111.05,1.7,63.75 -5043,46,30,2.5,111.05,1.7,63.75 -5044,46,30,2.5,111.05,1.7,63.75 -5045,46,30,2.5,111.05,1.7,63.75 -5046,46,30,2.5,111.05,1.7,63.75 -5047,46,30,2.5,111.05,1.7,63.75 -5048,46,30,2.5,111.05,1.7,63.75 -5049,46,30,2.5,111.05,1.7,63.75 -5050,46,30,2.5,111.05,1.7,63.75 -5051,46,30,2.5,111.05,1.7,63.75 -5052,46,30,2.5,111.05,1.7,63.75 -5053,46,30,2.5,111.05,1.7,63.75 -5054,46,30,2.5,111.05,1.7,63.75 -5055,46,30,2.5,111.05,1.7,63.75 -5056,46,30,2.5,111.05,1.7,63.75 -5057,46,30,2.5,111.05,1.7,63.75 -5058,46,30,2.5,111.05,1.7,63.75 -5059,46,30,2.5,111.05,1.7,63.75 -5060,46,30,2.5,111.05,1.7,63.75 -5061,46,30,2.5,111.05,1.7,63.75 -5062,46,30,2.5,111.05,1.7,63.75 -5063,46,30,2.5,111.05,1.7,63.75 -5064,46,30,2.5,111.05,1.7,63.75 -5065,46,30,2.5,111.05,1.7,63.75 -5066,46,30,2.5,111.05,1.7,63.75 -5067,46,30,2.5,111.05,1.7,63.75 -5068,46,30,2.5,111.05,1.7,63.75 -5069,46,30,2.5,111.05,1.7,63.75 -5070,46,30,2.5,111.05,1.7,63.75 -5071,46,30,2.5,111.05,1.7,63.75 -5072,46,30,2.5,111.05,1.7,63.75 -5073,46,30,2.5,111.05,1.7,63.75 -5074,46,30,2.5,111.05,1.7,63.75 -5075,46,30,2.5,111.05,1.7,63.75 -5076,46,30,2.5,111.05,1.7,63.75 -5077,46,30,2.5,111.05,1.7,63.75 -5078,46,30,2.5,111.05,1.7,63.75 -5079,46,30,2.5,111.05,1.7,63.75 -5080,46,30,2.5,111.05,1.7,63.75 -5081,46,30,2.5,111.05,1.7,63.75 -5082,46,30,2.5,111.05,1.7,63.75 -5083,46,30,2.5,111.05,1.7,63.75 -5084,46,30,2.5,111.05,1.7,63.75 -5085,46,30,2.5,111.05,1.7,63.75 -5086,46,30,2.5,111.05,1.7,63.75 -5087,46,30,2.5,111.05,1.7,63.75 -5088,46,30,2.5,111.05,1.7,63.75 -5089,46,30,2.5,111.05,1.7,63.75 -5090,46,30,2.5,111.05,1.7,63.75 -5091,46,30,2.5,111.05,1.7,63.75 -5092,46,30,2.5,111.05,1.7,63.75 -5093,46,30,2.5,111.05,1.7,63.75 -5094,46,30,2.5,111.05,1.7,63.75 -5095,46,30,2.5,111.05,1.7,63.75 -5096,46,30,2.5,111.05,1.7,63.75 -5097,46,30,2.5,111.05,1.7,63.75 -5098,46,30,2.5,111.05,1.7,63.75 -5099,46,30,2.5,111.05,1.7,63.75 -5100,46,30,2.5,111.05,1.7,63.75 -5101,46,30,2.5,111.05,1.7,63.75 -5102,46,30,2.5,111.05,1.7,63.75 -5103,46,30,2.5,111.05,1.7,63.75 -5104,46,30,2.5,111.05,1.7,63.75 -5105,46,30,2.5,111.05,1.7,63.75 -5106,46,30,2.5,111.05,1.7,63.75 -5107,46,30,2.5,111.05,1.7,63.75 -5108,46,30,2.5,111.05,1.7,63.75 -5109,46,30,2.5,111.05,1.7,63.75 -5110,46,30,2.5,111.05,1.7,63.75 -5111,46,30,2.5,111.05,1.7,63.75 -5112,46,30,2.5,111.05,1.7,63.75 -5113,46,30,2.5,111.05,1.7,63.75 -5114,46,30,2.5,111.05,1.7,63.75 -5115,46,30,2.5,111.05,1.7,63.75 -5116,46,30,2.5,111.05,1.7,63.75 -5117,46,30,2.5,111.05,1.7,63.75 -5118,46,30,2.5,111.05,1.7,63.75 -5119,46,30,2.5,111.05,1.7,63.75 -5120,46,30,2.5,111.05,1.7,63.75 -5121,46,30,2.5,111.05,1.7,63.75 -5122,46,30,2.5,111.05,1.7,63.75 -5123,46,30,2.5,111.05,1.7,63.75 -5124,46,30,2.5,111.05,1.7,63.75 -5125,46,30,2.5,111.05,1.7,63.75 -5126,46,30,2.5,111.05,1.7,63.75 -5127,46,30,2.5,111.05,1.7,63.75 -5128,46,30,2.5,111.05,1.7,63.75 -5129,46,30,2.5,111.05,1.7,63.75 -5130,46,30,2.5,111.05,1.7,63.75 -5131,46,30,2.5,111.05,1.7,63.75 -5132,46,30,2.5,111.05,1.7,63.75 -5133,46,30,2.5,111.05,1.7,63.75 -5134,46,30,2.5,111.05,1.7,63.75 -5135,46,30,2.5,111.05,1.7,63.75 -5136,46,30,2.5,111.05,1.7,63.75 -5137,46,30,2.5,111.05,1.7,63.75 -5138,46,30,2.5,111.05,1.7,63.75 -5139,46,30,2.5,111.05,1.7,63.75 -5140,46,30,2.5,111.05,1.7,63.75 -5141,46,30,2.5,111.05,1.7,63.75 -5142,46,30,2.5,111.05,1.7,63.75 -5143,46,30,2.5,111.05,1.7,63.75 -5144,46,30,2.5,111.05,1.7,63.75 -5145,46,30,2.5,111.05,1.7,63.75 -5146,46,30,2.5,111.05,1.7,63.75 -5147,46,30,2.5,111.05,1.7,63.75 -5148,46,30,2.5,111.05,1.7,63.75 -5149,46,30,2.5,111.05,1.7,63.75 -5150,46,30,2.5,111.05,1.7,63.75 -5151,46,30,2.5,111.05,1.7,63.75 -5152,46,30,2.5,111.05,1.7,63.75 -5153,46,30,2.5,111.05,1.7,63.75 -5154,46,30,2.5,111.05,1.7,63.75 -5155,46,30,2.5,111.05,1.7,63.75 -5156,46,30,2.5,111.05,1.7,63.75 -5157,46,30,2.5,111.05,1.7,63.75 -5158,46,30,2.5,111.05,1.7,63.75 -5159,46,30,2.5,111.05,1.7,63.75 -5160,46,30,2.5,111.05,1.7,63.75 -5161,46,30,2.5,111.05,1.7,63.75 -5162,46,30,2.5,111.05,1.7,63.75 -5163,46,30,2.5,111.05,1.7,63.75 -5164,46,30,2.5,111.05,1.7,63.75 -5165,46,30,2.5,111.05,1.7,63.75 -5166,46,30,2.5,111.05,1.7,63.75 -5167,46,30,2.5,111.05,1.7,63.75 -5168,46,30,2.5,111.05,1.7,63.75 -5169,46,30,2.5,111.05,1.7,63.75 -5170,46,30,2.5,111.05,1.7,63.75 -5171,46,30,2.5,111.05,1.7,63.75 -5172,46,30,2.5,111.05,1.7,63.75 -5173,46,30,2.5,111.05,1.7,63.75 -5174,46,30,2.5,111.05,1.7,63.75 -5175,46,30,2.5,111.05,1.7,63.75 -5176,46,30,2.5,111.05,1.7,63.75 -5177,46,30,2.5,111.05,1.7,63.75 -5178,46,30,2.5,111.05,1.7,63.75 -5179,46,30,2.5,111.05,1.7,63.75 -5180,46,30,2.5,111.05,1.7,63.75 -5181,46,30,2.5,111.05,1.7,63.75 -5182,46,30,2.5,111.05,1.7,63.75 -5183,46,30,2.5,111.05,1.7,63.75 -5184,46,30,2.5,111.05,1.7,63.75 -5185,46,30,2.5,111.05,1.7,63.75 -5186,46,30,2.5,111.05,1.7,63.75 -5187,46,30,2.5,111.05,1.7,63.75 -5188,46,30,2.5,111.05,1.7,63.75 -5189,46,30,2.5,111.05,1.7,63.75 -5190,46,30,2.5,111.05,1.7,63.75 -5191,46,30,2.5,111.05,1.7,63.75 -5192,46,30,2.5,111.05,1.7,63.75 -5193,46,30,2.5,111.05,1.7,63.75 -5194,46,30,2.5,111.05,1.7,63.75 -5195,46,30,2.5,111.05,1.7,63.75 -5196,46,30,2.5,111.05,1.7,63.75 -5197,46,30,2.5,111.05,1.7,63.75 -5198,46,30,2.5,111.05,1.7,63.75 -5199,46,30,2.5,111.05,1.7,63.75 -5200,46,30,2.5,111.05,1.7,63.75 -5201,46,30,2.5,111.05,1.7,63.75 -5202,46,30,2.5,111.05,1.7,63.75 -5203,46,30,2.5,111.05,1.7,63.75 -5204,46,30,2.5,111.05,1.7,63.75 -5205,46,30,2.5,111.05,1.7,63.75 -5206,46,30,2.5,111.05,1.7,63.75 -5207,46,30,2.5,111.05,1.7,63.75 -5208,46,30,2.5,111.05,1.7,63.75 -5209,46,30,2.5,111.05,1.7,63.75 -5210,46,30,2.5,111.05,1.7,63.75 -5211,46,30,2.5,111.05,1.7,63.75 -5212,46,30,2.5,111.05,1.7,63.75 -5213,46,30,2.5,111.05,1.7,63.75 -5214,46,30,2.5,111.05,1.7,63.75 -5215,46,30,2.5,111.05,1.7,63.75 -5216,46,30,2.5,111.05,1.7,63.75 -5217,46,30,2.5,111.05,1.7,63.75 -5218,46,30,2.5,111.05,1.7,63.75 -5219,46,30,2.5,111.05,1.7,63.75 -5220,46,30,2.5,111.05,1.7,63.75 -5221,46,30,2.5,111.05,1.7,63.75 -5222,46,30,2.5,111.05,1.7,63.75 -5223,46,30,2.5,111.05,1.7,63.75 -5224,46,30,2.5,111.05,1.7,63.75 -5225,46,30,2.5,111.05,1.7,63.75 -5226,46,30,2.5,111.05,1.7,63.75 -5227,46,30,2.5,111.05,1.7,63.75 -5228,46,30,2.5,111.05,1.7,63.75 -5229,46,30,2.5,111.05,1.7,63.75 -5230,46,30,2.5,111.05,1.7,63.75 -5231,46,30,2.5,111.05,1.7,63.75 -5232,46,30,2.5,111.05,1.7,63.75 -5233,46,30,2.5,111.05,1.7,63.75 -5234,46,30,2.5,111.05,1.7,63.75 -5235,46,30,2.5,111.05,1.7,63.75 -5236,46,30,2.5,111.05,1.7,63.75 -5237,46,30,2.5,111.05,1.7,63.75 -5238,46,30,2.5,111.05,1.7,63.75 -5239,46,30,2.5,111.05,1.7,63.75 -5240,46,30,2.5,111.05,1.7,63.75 -5241,46,30,2.5,111.05,1.7,63.75 -5242,46,30,2.5,111.05,1.7,63.75 -5243,46,30,2.5,111.05,1.7,63.75 -5244,46,30,2.5,111.05,1.7,63.75 -5245,46,30,2.5,111.05,1.7,63.75 -5246,46,30,2.5,111.05,1.7,63.75 -5247,46,30,2.5,111.05,1.7,63.75 -5248,46,30,2.5,111.05,1.7,63.75 -5249,46,30,2.5,111.05,1.7,63.75 -5250,46,30,2.5,111.05,1.7,63.75 -5251,46,30,2.5,111.05,1.7,63.75 -5252,46,30,2.5,111.05,1.7,63.75 -5253,46,30,2.5,111.05,1.7,63.75 -5254,46,30,2.5,111.05,1.7,63.75 -5255,46,30,2.5,111.05,1.7,63.75 -5256,46,30,2.5,111.05,1.7,63.75 -5257,46,30,2.5,111.05,1.7,63.75 -5258,46,30,2.5,111.05,1.7,63.75 -5259,46,30,2.5,111.05,1.7,63.75 -5260,46,30,2.5,111.05,1.7,63.75 -5261,46,30,2.5,111.05,1.7,63.75 -5262,46,30,2.5,111.05,1.7,63.75 -5263,46,30,2.5,111.05,1.7,63.75 -5264,46,30,2.5,111.05,1.7,63.75 -5265,46,30,2.5,111.05,1.7,63.75 -5266,46,30,2.5,111.05,1.7,63.75 -5267,46,30,2.5,111.05,1.7,63.75 -5268,46,30,2.5,111.05,1.7,63.75 -5269,46,30,2.5,111.05,1.7,63.75 -5270,46,30,2.5,111.05,1.7,63.75 -5271,46,30,2.5,111.05,1.7,63.75 -5272,46,30,2.5,111.05,1.7,63.75 -5273,46,30,2.5,111.05,1.7,63.75 -5274,46,30,2.5,111.05,1.7,63.75 -5275,46,30,2.5,111.05,1.7,63.75 -5276,46,30,2.5,111.05,1.7,63.75 -5277,46,30,2.5,111.05,1.7,63.75 -5278,46,30,2.5,111.05,1.7,63.75 -5279,46,30,2.5,111.05,1.7,63.75 -5280,46,30,2.5,111.05,1.7,63.75 -5281,46,30,2.5,111.05,1.7,63.75 -5282,46,30,2.5,111.05,1.7,63.75 -5283,46,30,2.5,111.05,1.7,63.75 -5284,46,30,2.5,111.05,1.7,63.75 -5285,46,30,2.5,111.05,1.7,63.75 -5286,46,30,2.5,111.05,1.7,63.75 -5287,46,30,2.5,111.05,1.7,63.75 -5288,46,30,2.5,111.05,1.7,63.75 -5289,46,30,2.5,111.05,1.7,63.75 -5290,46,30,2.5,111.05,1.7,63.75 -5291,46,30,2.5,111.05,1.7,63.75 -5292,46,30,2.5,111.05,1.7,63.75 -5293,46,30,2.5,111.05,1.7,63.75 -5294,46,30,2.5,111.05,1.7,63.75 -5295,46,30,2.5,111.05,1.7,63.75 -5296,46,30,2.5,111.05,1.7,63.75 -5297,46,30,2.5,111.05,1.7,63.75 -5298,46,30,2.5,111.05,1.7,63.75 -5299,46,30,2.5,111.05,1.7,63.75 -5300,46,30,2.5,111.05,1.7,63.75 -5301,46,30,2.5,111.05,1.7,63.75 -5302,46,30,2.5,111.05,1.7,63.75 -5303,46,30,2.5,111.05,1.7,63.75 -5304,46,30,2.5,111.05,1.7,63.75 -5305,46,30,2.5,111.05,1.7,63.75 -5306,46,30,2.5,111.05,1.7,63.75 -5307,46,30,2.5,111.05,1.7,63.75 -5308,46,30,2.5,111.05,1.7,63.75 -5309,46,30,2.5,111.05,1.7,63.75 -5310,46,30,2.5,111.05,1.7,63.75 -5311,46,30,2.5,111.05,1.7,63.75 -5312,46,30,2.5,111.05,1.7,63.75 -5313,46,30,2.5,111.05,1.7,63.75 -5314,46,30,2.5,111.05,1.7,63.75 -5315,46,30,2.5,111.05,1.7,63.75 -5316,46,30,2.5,111.05,1.7,63.75 -5317,46,30,2.5,111.05,1.7,63.75 -5318,46,30,2.5,111.05,1.7,63.75 -5319,46,30,2.5,111.05,1.7,63.75 -5320,46,30,2.5,111.05,1.7,63.75 -5321,46,30,2.5,111.05,1.7,63.75 -5322,46,30,2.5,111.05,1.7,63.75 -5323,46,30,2.5,111.05,1.7,63.75 -5324,46,30,2.5,111.05,1.7,63.75 -5325,46,30,2.5,111.05,1.7,63.75 -5326,46,30,2.5,111.05,1.7,63.75 -5327,46,30,2.5,111.05,1.7,63.75 -5328,46,30,2.5,111.05,1.7,63.75 -5329,46,30,2.5,111.05,1.7,63.75 -5330,46,30,2.5,111.05,1.7,63.75 -5331,46,30,2.5,111.05,1.7,63.75 -5332,46,30,2.5,111.05,1.7,63.75 -5333,46,30,2.5,111.05,1.7,63.75 -5334,46,30,2.5,111.05,1.7,63.75 -5335,46,30,2.5,111.05,1.7,63.75 -5336,46,30,2.5,111.05,1.7,63.75 -5337,46,30,2.5,111.05,1.7,63.75 -5338,46,30,2.5,111.05,1.7,63.75 -5339,46,30,2.5,111.05,1.7,63.75 -5340,46,30,2.5,111.05,1.7,63.75 -5341,46,30,2.5,111.05,1.7,63.75 -5342,46,30,2.5,111.05,1.7,63.75 -5343,46,30,2.5,111.05,1.7,63.75 -5344,46,30,2.5,111.05,1.7,63.75 -5345,46,30,2.5,111.05,1.7,63.75 -5346,46,30,2.5,111.05,1.7,63.75 -5347,46,30,2.5,111.05,1.7,63.75 -5348,46,30,2.5,111.05,1.7,63.75 -5349,46,30,2.5,111.05,1.7,63.75 -5350,46,30,2.5,111.05,1.7,63.75 -5351,46,30,2.5,111.05,1.7,63.75 -5352,46,30,2.5,111.05,1.7,63.75 -5353,46,30,2.5,111.05,1.7,63.75 -5354,46,30,2.5,111.05,1.7,63.75 -5355,46,30,2.5,111.05,1.7,63.75 -5356,46,30,2.5,111.05,1.7,63.75 -5357,46,30,2.5,111.05,1.7,63.75 -5358,46,30,2.5,111.05,1.7,63.75 -5359,46,30,2.5,111.05,1.7,63.75 -5360,46,30,2.5,111.05,1.7,63.75 -5361,46,30,2.5,111.05,1.7,63.75 -5362,46,30,2.5,111.05,1.7,63.75 -5363,46,30,2.5,111.05,1.7,63.75 -5364,46,30,2.5,111.05,1.7,63.75 -5365,46,30,2.5,111.05,1.7,63.75 -5366,46,30,2.5,111.05,1.7,63.75 -5367,46,30,2.5,111.05,1.7,63.75 -5368,46,30,2.5,111.05,1.7,63.75 -5369,46,30,2.5,111.05,1.7,63.75 -5370,46,30,2.5,111.05,1.7,63.75 -5371,46,30,2.5,111.05,1.7,63.75 -5372,46,30,2.5,111.05,1.7,63.75 -5373,46,30,2.5,111.05,1.7,63.75 -5374,46,30,2.5,111.05,1.7,63.75 -5375,46,30,2.5,111.05,1.7,63.75 -5376,46,30,2.5,111.05,1.7,63.75 -5377,46,30,2.5,111.05,1.7,63.75 -5378,46,30,2.5,111.05,1.7,63.75 -5379,46,30,2.5,111.05,1.7,63.75 -5380,46,30,2.5,111.05,1.7,63.75 -5381,46,30,2.5,111.05,1.7,63.75 -5382,46,30,2.5,111.05,1.7,63.75 -5383,46,30,2.5,111.05,1.7,63.75 -5384,46,30,2.5,111.05,1.7,63.75 -5385,46,30,2.5,111.05,1.7,63.75 -5386,46,30,2.5,111.05,1.7,63.75 -5387,46,30,2.5,111.05,1.7,63.75 -5388,46,30,2.5,111.05,1.7,63.75 -5389,46,30,2.5,111.05,1.7,63.75 -5390,46,30,2.5,111.05,1.7,63.75 -5391,46,30,2.5,111.05,1.7,63.75 -5392,46,30,2.5,111.05,1.7,63.75 -5393,46,30,2.5,111.05,1.7,63.75 -5394,46,30,2.5,111.05,1.7,63.75 -5395,46,30,2.5,111.05,1.7,63.75 -5396,46,30,2.5,111.05,1.7,63.75 -5397,46,30,2.5,111.05,1.7,63.75 -5398,46,30,2.5,111.05,1.7,63.75 -5399,46,30,2.5,111.05,1.7,63.75 -5400,46,30,2.5,111.05,1.7,63.75 -5401,46,30,2.5,111.05,1.7,63.75 -5402,46,30,2.5,111.05,1.7,63.75 -5403,46,30,2.5,111.05,1.7,63.75 -5404,46,30,2.5,111.05,1.7,63.75 -5405,46,30,2.5,111.05,1.7,63.75 -5406,46,30,2.5,111.05,1.7,63.75 -5407,46,30,2.5,111.05,1.7,63.75 -5408,46,30,2.5,111.05,1.7,63.75 -5409,46,30,2.5,111.05,1.7,63.75 -5410,46,30,2.5,111.05,1.7,63.75 -5411,46,30,2.5,111.05,1.7,63.75 -5412,46,30,2.5,111.05,1.7,63.75 -5413,46,30,2.5,111.05,1.7,63.75 -5414,46,30,2.5,111.05,1.7,63.75 -5415,46,30,2.5,111.05,1.7,63.75 -5416,46,30,2.5,111.05,1.7,63.75 -5417,46,30,2.5,111.05,1.7,63.75 -5418,46,30,2.5,111.05,1.7,63.75 -5419,46,30,2.5,111.05,1.7,63.75 -5420,46,30,2.5,111.05,1.7,63.75 -5421,46,30,2.5,111.05,1.7,63.75 -5422,46,30,2.5,111.05,1.7,63.75 -5423,46,30,2.5,111.05,1.7,63.75 -5424,46,30,2.5,111.05,1.7,63.75 -5425,46,30,2.5,111.05,1.7,63.75 -5426,46,30,2.5,111.05,1.7,63.75 -5427,46,30,2.5,111.05,1.7,63.75 -5428,46,30,2.5,111.05,1.7,63.75 -5429,46,30,2.5,111.05,1.7,63.75 -5430,46,30,2.5,111.05,1.7,63.75 -5431,46,30,2.5,111.05,1.7,63.75 -5432,46,30,2.5,111.05,1.7,63.75 -5433,46,30,2.5,111.05,1.7,63.75 -5434,46,30,2.5,111.05,1.7,63.75 -5435,46,30,2.5,111.05,1.7,63.75 -5436,46,30,2.5,111.05,1.7,63.75 -5437,46,30,2.5,111.05,1.7,63.75 -5438,46,30,2.5,111.05,1.7,63.75 -5439,46,30,2.5,111.05,1.7,63.75 -5440,46,30,2.5,111.05,1.7,63.75 -5441,46,30,2.5,111.05,1.7,63.75 -5442,46,30,2.5,111.05,1.7,63.75 -5443,46,30,2.5,111.05,1.7,63.75 -5444,46,30,2.5,111.05,1.7,63.75 -5445,46,30,2.5,111.05,1.7,63.75 -5446,46,30,2.5,111.05,1.7,63.75 -5447,46,30,2.5,111.05,1.7,63.75 -5448,46,30,2.5,111.05,1.7,63.75 -5449,46,30,2.5,111.05,1.7,63.75 -5450,46,30,2.5,111.05,1.7,63.75 -5451,46,30,2.5,111.05,1.7,63.75 -5452,46,30,2.5,111.05,1.7,63.75 -5453,46,30,2.5,111.05,1.7,63.75 -5454,46,30,2.5,111.05,1.7,63.75 -5455,46,30,2.5,111.05,1.7,63.75 -5456,46,30,2.5,111.05,1.7,63.75 -5457,46,30,2.5,111.05,1.7,63.75 -5458,46,30,2.5,111.05,1.7,63.75 -5459,46,30,2.5,111.05,1.7,63.75 -5460,46,30,2.5,111.05,1.7,63.75 -5461,46,30,2.5,111.05,1.7,63.75 -5462,46,30,2.5,111.05,1.7,63.75 -5463,46,30,2.5,111.05,1.7,63.75 -5464,46,30,2.5,111.05,1.7,63.75 -5465,46,30,2.5,111.05,1.7,63.75 -5466,46,30,2.5,111.05,1.7,63.75 -5467,46,30,2.5,111.05,1.7,63.75 -5468,46,30,2.5,111.05,1.7,63.75 -5469,46,30,2.5,111.05,1.7,63.75 -5470,46,30,2.5,111.05,1.7,63.75 -5471,46,30,2.5,111.05,1.7,63.75 -5472,46,30,2.5,111.05,1.7,63.75 -5473,46,30,2.5,111.05,1.7,63.75 -5474,46,30,2.5,111.05,1.7,63.75 -5475,46,30,2.5,111.05,1.7,63.75 -5476,46,30,2.5,111.05,1.7,63.75 -5477,46,30,2.5,111.05,1.7,63.75 -5478,46,30,2.5,111.05,1.7,63.75 -5479,46,30,2.5,111.05,1.7,63.75 -5480,46,30,2.5,111.05,1.7,63.75 -5481,46,30,2.5,111.05,1.7,63.75 -5482,46,30,2.5,111.05,1.7,63.75 -5483,46,30,2.5,111.05,1.7,63.75 -5484,46,30,2.5,111.05,1.7,63.75 -5485,46,30,2.5,111.05,1.7,63.75 -5486,46,30,2.5,111.05,1.7,63.75 -5487,46,30,2.5,111.05,1.7,63.75 -5488,46,30,2.5,111.05,1.7,63.75 -5489,46,30,2.5,111.05,1.7,63.75 -5490,46,30,2.5,111.05,1.7,63.75 -5491,46,30,2.5,111.05,1.7,63.75 -5492,46,30,2.5,111.05,1.7,63.75 -5493,46,30,2.5,111.05,1.7,63.75 -5494,46,30,2.5,111.05,1.7,63.75 -5495,46,30,2.5,111.05,1.7,63.75 -5496,46,30,2.5,111.05,1.7,63.75 -5497,46,30,2.5,111.05,1.7,63.75 -5498,46,30,2.5,111.05,1.7,63.75 -5499,46,30,2.5,111.05,1.7,63.75 -5500,46,30,2.5,111.05,1.7,63.75 -5501,46,30,2.5,111.05,1.7,63.75 -5502,46,30,2.5,111.05,1.7,63.75 -5503,46,30,2.5,111.05,1.7,63.75 -5504,46,30,2.5,111.05,1.7,63.75 -5505,46,30,2.5,111.05,1.7,63.75 -5506,46,30,2.5,111.05,1.7,63.75 -5507,46,30,2.5,111.05,1.7,63.75 -5508,46,30,2.5,111.05,1.7,63.75 -5509,46,30,2.5,111.05,1.7,63.75 -5510,46,30,2.5,111.05,1.7,63.75 -5511,46,30,2.5,111.05,1.7,63.75 -5512,46,30,2.5,111.05,1.7,63.75 -5513,46,30,2.5,111.05,1.7,63.75 -5514,46,30,2.5,111.05,1.7,63.75 -5515,46,30,2.5,111.05,1.7,63.75 -5516,46,30,2.5,111.05,1.7,63.75 -5517,46,30,2.5,111.05,1.7,63.75 -5518,46,30,2.5,111.05,1.7,63.75 -5519,46,30,2.5,111.05,1.7,63.75 -5520,46,30,2.5,111.05,1.7,63.75 -5521,46,30,2.5,111.05,1.7,63.75 -5522,46,30,2.5,111.05,1.7,63.75 -5523,46,30,2.5,111.05,1.7,63.75 -5524,46,30,2.5,111.05,1.7,63.75 -5525,46,30,2.5,111.05,1.7,63.75 -5526,46,30,2.5,111.05,1.7,63.75 -5527,46,30,2.5,111.05,1.7,63.75 -5528,46,30,2.5,111.05,1.7,63.75 -5529,46,30,2.5,111.05,1.7,63.75 -5530,46,30,2.5,111.05,1.7,63.75 -5531,46,30,2.5,111.05,1.7,63.75 -5532,46,30,2.5,111.05,1.7,63.75 -5533,46,30,2.5,111.05,1.7,63.75 -5534,46,30,2.5,111.05,1.7,63.75 -5535,46,30,2.5,111.05,1.7,63.75 -5536,46,30,2.5,111.05,1.7,63.75 -5537,46,30,2.5,111.05,1.7,63.75 -5538,46,30,2.5,111.05,1.7,63.75 -5539,46,30,2.5,111.05,1.7,63.75 -5540,46,30,2.5,111.05,1.7,63.75 -5541,46,30,2.5,111.05,1.7,63.75 -5542,46,30,2.5,111.05,1.7,63.75 -5543,46,30,2.5,111.05,1.7,63.75 -5544,46,30,2.5,111.05,1.7,63.75 -5545,46,30,2.5,111.05,1.7,63.75 -5546,46,30,2.5,111.05,1.7,63.75 -5547,46,30,2.5,111.05,1.7,63.75 -5548,46,30,2.5,111.05,1.7,63.75 -5549,46,30,2.5,111.05,1.7,63.75 -5550,46,30,2.5,111.05,1.7,63.75 -5551,46,30,2.5,111.05,1.7,63.75 -5552,46,30,2.5,111.05,1.7,63.75 -5553,46,30,2.5,111.05,1.7,63.75 -5554,46,30,2.5,111.05,1.7,63.75 -5555,46,30,2.5,111.05,1.7,63.75 -5556,46,30,2.5,111.05,1.7,63.75 -5557,46,30,2.5,111.05,1.7,63.75 -5558,46,30,2.5,111.05,1.7,63.75 -5559,46,30,2.5,111.05,1.7,63.75 -5560,46,30,2.5,111.05,1.7,63.75 -5561,46,30,2.5,111.05,1.7,63.75 -5562,46,30,2.5,111.05,1.7,63.75 -5563,46,30,2.5,111.05,1.7,63.75 -5564,46,30,2.5,111.05,1.7,63.75 -5565,46,30,2.5,111.05,1.7,63.75 -5566,46,30,2.5,111.05,1.7,63.75 -5567,46,30,2.5,111.05,1.7,63.75 -5568,46,30,2.5,111.05,1.7,63.75 -5569,46,30,2.5,111.05,1.7,63.75 -5570,46,30,2.5,111.05,1.7,63.75 -5571,46,30,2.5,111.05,1.7,63.75 -5572,46,30,2.5,111.05,1.7,63.75 -5573,46,30,2.5,111.05,1.7,63.75 -5574,46,30,2.5,111.05,1.7,63.75 -5575,46,30,2.5,111.05,1.7,63.75 -5576,46,30,2.5,111.05,1.7,63.75 -5577,46,30,2.5,111.05,1.7,63.75 -5578,46,30,2.5,111.05,1.7,63.75 -5579,46,30,2.5,111.05,1.7,63.75 -5580,46,30,2.5,111.05,1.7,63.75 -5581,46,30,2.5,111.05,1.7,63.75 -5582,46,30,2.5,111.05,1.7,63.75 -5583,46,30,2.5,111.05,1.7,63.75 -5584,46,30,2.5,111.05,1.7,63.75 -5585,46,30,2.5,111.05,1.7,63.75 -5586,46,30,2.5,111.05,1.7,63.75 -5587,46,30,2.5,111.05,1.7,63.75 -5588,46,30,2.5,111.05,1.7,63.75 -5589,46,30,2.5,111.05,1.7,63.75 -5590,46,30,2.5,111.05,1.7,63.75 -5591,46,30,2.5,111.05,1.7,63.75 -5592,46,30,2.5,111.05,1.7,63.75 -5593,46,30,2.5,111.05,1.7,63.75 -5594,46,30,2.5,111.05,1.7,63.75 -5595,46,30,2.5,111.05,1.7,63.75 -5596,46,30,2.5,111.05,1.7,63.75 -5597,46,30,2.5,111.05,1.7,63.75 -5598,46,30,2.5,111.05,1.7,63.75 -5599,46,30,2.5,111.05,1.7,63.75 -5600,46,30,2.5,111.05,1.7,63.75 -5601,46,30,2.5,111.05,1.7,63.75 -5602,46,30,2.5,111.05,1.7,63.75 -5603,46,30,2.5,111.05,1.7,63.75 -5604,46,30,2.5,111.05,1.7,63.75 -5605,46,30,2.5,111.05,1.7,63.75 -5606,46,30,2.5,111.05,1.7,63.75 -5607,46,30,2.5,111.05,1.7,63.75 -5608,46,30,2.5,111.05,1.7,63.75 -5609,46,30,2.5,111.05,1.7,63.75 -5610,46,30,2.5,111.05,1.7,63.75 -5611,46,30,2.5,111.05,1.7,63.75 -5612,46,30,2.5,111.05,1.7,63.75 -5613,46,30,2.5,111.05,1.7,63.75 -5614,46,30,2.5,111.05,1.7,63.75 -5615,46,30,2.5,111.05,1.7,63.75 -5616,46,30,2.5,111.05,1.7,63.75 -5617,46,30,2.5,111.05,1.7,63.75 -5618,46,30,2.5,111.05,1.7,63.75 -5619,46,30,2.5,111.05,1.7,63.75 -5620,46,30,2.5,111.05,1.7,63.75 -5621,46,30,2.5,111.05,1.7,63.75 -5622,46,30,2.5,111.05,1.7,63.75 -5623,46,30,2.5,111.05,1.7,63.75 -5624,46,30,2.5,111.05,1.7,63.75 -5625,46,30,2.5,111.05,1.7,63.75 -5626,46,30,2.5,111.05,1.7,63.75 -5627,46,30,2.5,111.05,1.7,63.75 -5628,46,30,2.5,111.05,1.7,63.75 -5629,46,30,2.5,111.05,1.7,63.75 -5630,46,30,2.5,111.05,1.7,63.75 -5631,46,30,2.5,111.05,1.7,63.75 -5632,46,30,2.5,111.05,1.7,63.75 -5633,46,30,2.5,111.05,1.7,63.75 -5634,46,30,2.5,111.05,1.7,63.75 -5635,46,30,2.5,111.05,1.7,63.75 -5636,46,30,2.5,111.05,1.7,63.75 -5637,46,30,2.5,111.05,1.7,63.75 -5638,46,30,2.5,111.05,1.7,63.75 -5639,46,30,2.5,111.05,1.7,63.75 -5640,46,30,2.5,111.05,1.7,63.75 -5641,46,30,2.5,111.05,1.7,63.75 -5642,46,30,2.5,111.05,1.7,63.75 -5643,46,30,2.5,111.05,1.7,63.75 -5644,46,30,2.5,111.05,1.7,63.75 -5645,46,30,2.5,111.05,1.7,63.75 -5646,46,30,2.5,111.05,1.7,63.75 -5647,46,30,2.5,111.05,1.7,63.75 -5648,46,30,2.5,111.05,1.7,63.75 -5649,46,30,2.5,111.05,1.7,63.75 -5650,46,30,2.5,111.05,1.7,63.75 -5651,46,30,2.5,111.05,1.7,63.75 -5652,46,30,2.5,111.05,1.7,63.75 -5653,46,30,2.5,111.05,1.7,63.75 -5654,46,30,2.5,111.05,1.7,63.75 -5655,46,30,2.5,111.05,1.7,63.75 -5656,46,30,2.5,111.05,1.7,63.75 -5657,46,30,2.5,111.05,1.7,63.75 -5658,46,30,2.5,111.05,1.7,63.75 -5659,46,30,2.5,111.05,1.7,63.75 -5660,46,30,2.5,111.05,1.7,63.75 -5661,46,30,2.5,111.05,1.7,63.75 -5662,46,30,2.5,111.05,1.7,63.75 -5663,46,30,2.5,111.05,1.7,63.75 -5664,46,30,2.5,111.05,1.7,63.75 -5665,46,30,2.5,111.05,1.7,63.75 -5666,46,30,2.5,111.05,1.7,63.75 -5667,46,30,2.5,111.05,1.7,63.75 -5668,46,30,2.5,111.05,1.7,63.75 -5669,46,30,2.5,111.05,1.7,63.75 -5670,46,30,2.5,111.05,1.7,63.75 -5671,46,30,2.5,111.05,1.7,63.75 -5672,46,30,2.5,111.05,1.7,63.75 -5673,46,30,2.5,111.05,1.7,63.75 -5674,46,30,2.5,111.05,1.7,63.75 -5675,46,30,2.5,111.05,1.7,63.75 -5676,46,30,2.5,111.05,1.7,63.75 -5677,46,30,2.5,111.05,1.7,63.75 -5678,46,30,2.5,111.05,1.7,63.75 -5679,46,30,2.5,111.05,1.7,63.75 -5680,46,30,2.5,111.05,1.7,63.75 -5681,46,30,2.5,111.05,1.7,63.75 -5682,46,30,2.5,111.05,1.7,63.75 -5683,46,30,2.5,111.05,1.7,63.75 -5684,46,30,2.5,111.05,1.7,63.75 -5685,46,30,2.5,111.05,1.7,63.75 -5686,46,30,2.5,111.05,1.7,63.75 -5687,46,30,2.5,111.05,1.7,63.75 -5688,46,30,2.5,111.05,1.7,63.75 -5689,46,30,2.5,111.05,1.7,63.75 -5690,46,30,2.5,111.05,1.7,63.75 -5691,46,30,2.5,111.05,1.7,63.75 -5692,46,30,2.5,111.05,1.7,63.75 -5693,46,30,2.5,111.05,1.7,63.75 -5694,46,30,2.5,111.05,1.7,63.75 -5695,46,30,2.5,111.05,1.7,63.75 -5696,46,30,2.5,111.05,1.7,63.75 -5697,46,30,2.5,111.05,1.7,63.75 -5698,46,30,2.5,111.05,1.7,63.75 -5699,46,30,2.5,111.05,1.7,63.75 -5700,46,30,2.5,111.05,1.7,63.75 -5701,46,30,2.5,111.05,1.7,63.75 -5702,46,30,2.5,111.05,1.7,63.75 -5703,46,30,2.5,111.05,1.7,63.75 -5704,46,30,2.5,111.05,1.7,63.75 -5705,46,30,2.5,111.05,1.7,63.75 -5706,46,30,2.5,111.05,1.7,63.75 -5707,46,30,2.5,111.05,1.7,63.75 -5708,46,30,2.5,111.05,1.7,63.75 -5709,46,30,2.5,111.05,1.7,63.75 -5710,46,30,2.5,111.05,1.7,63.75 -5711,46,30,2.5,111.05,1.7,63.75 -5712,46,30,2.5,111.05,1.7,63.75 -5713,46,30,2.5,111.05,1.7,63.75 -5714,46,30,2.5,111.05,1.7,63.75 -5715,46,30,2.5,111.05,1.7,63.75 -5716,46,30,2.5,111.05,1.7,63.75 -5717,46,30,2.5,111.05,1.7,63.75 -5718,46,30,2.5,111.05,1.7,63.75 -5719,46,30,2.5,111.05,1.7,63.75 -5720,46,30,2.5,111.05,1.7,63.75 -5721,46,30,2.5,111.05,1.7,63.75 -5722,46,30,2.5,111.05,1.7,63.75 -5723,46,30,2.5,111.05,1.7,63.75 -5724,46,30,2.5,111.05,1.7,63.75 -5725,46,30,2.5,111.05,1.7,63.75 -5726,46,30,2.5,111.05,1.7,63.75 -5727,46,30,2.5,111.05,1.7,63.75 -5728,46,30,2.5,111.05,1.7,63.75 -5729,46,30,2.5,111.05,1.7,63.75 -5730,46,30,2.5,111.05,1.7,63.75 -5731,46,30,2.5,111.05,1.7,63.75 -5732,46,30,2.5,111.05,1.7,63.75 -5733,46,30,2.5,111.05,1.7,63.75 -5734,46,30,2.5,111.05,1.7,63.75 -5735,46,30,2.5,111.05,1.7,63.75 -5736,46,30,2.5,111.05,1.7,63.75 -5737,46,30,2.5,111.05,1.7,63.75 -5738,46,30,2.5,111.05,1.7,63.75 -5739,46,30,2.5,111.05,1.7,63.75 -5740,46,30,2.5,111.05,1.7,63.75 -5741,46,30,2.5,111.05,1.7,63.75 -5742,46,30,2.5,111.05,1.7,63.75 -5743,46,30,2.5,111.05,1.7,63.75 -5744,46,30,2.5,111.05,1.7,63.75 -5745,46,30,2.5,111.05,1.7,63.75 -5746,46,30,2.5,111.05,1.7,63.75 -5747,46,30,2.5,111.05,1.7,63.75 -5748,46,30,2.5,111.05,1.7,63.75 -5749,46,30,2.5,111.05,1.7,63.75 -5750,46,30,2.5,111.05,1.7,63.75 -5751,46,30,2.5,111.05,1.7,63.75 -5752,46,30,2.5,111.05,1.7,63.75 -5753,46,30,2.5,111.05,1.7,63.75 -5754,46,30,2.5,111.05,1.7,63.75 -5755,46,30,2.5,111.05,1.7,63.75 -5756,46,30,2.5,111.05,1.7,63.75 -5757,46,30,2.5,111.05,1.7,63.75 -5758,46,30,2.5,111.05,1.7,63.75 -5759,46,30,2.5,111.05,1.7,63.75 -5760,46,30,2.5,111.05,1.7,63.75 -5761,46,30,2.5,111.05,1.7,63.75 -5762,46,30,2.5,111.05,1.7,63.75 -5763,46,30,2.5,111.05,1.7,63.75 -5764,46,30,2.5,111.05,1.7,63.75 -5765,46,30,2.5,111.05,1.7,63.75 -5766,46,30,2.5,111.05,1.7,63.75 -5767,46,30,2.5,111.05,1.7,63.75 -5768,46,30,2.5,111.05,1.7,63.75 -5769,46,30,2.5,111.05,1.7,63.75 -5770,46,30,2.5,111.05,1.7,63.75 -5771,46,30,2.5,111.05,1.7,63.75 -5772,46,30,2.5,111.05,1.7,63.75 -5773,46,30,2.5,111.05,1.7,63.75 -5774,46,30,2.5,111.05,1.7,63.75 -5775,46,30,2.5,111.05,1.7,63.75 -5776,46,30,2.5,111.05,1.7,63.75 -5777,46,30,2.5,111.05,1.7,63.75 -5778,46,30,2.5,111.05,1.7,63.75 -5779,46,30,2.5,111.05,1.7,63.75 -5780,46,30,2.5,111.05,1.7,63.75 -5781,46,30,2.5,111.05,1.7,63.75 -5782,46,30,2.5,111.05,1.7,63.75 -5783,46,30,2.5,111.05,1.7,63.75 -5784,46,30,2.5,111.05,1.7,63.75 -5785,46,30,2.5,111.05,1.7,63.75 -5786,46,30,2.5,111.05,1.7,63.75 -5787,46,30,2.5,111.05,1.7,63.75 -5788,46,30,2.5,111.05,1.7,63.75 -5789,46,30,2.5,111.05,1.7,63.75 -5790,46,30,2.5,111.05,1.7,63.75 -5791,46,30,2.5,111.05,1.7,63.75 -5792,46,30,2.5,111.05,1.7,63.75 -5793,46,30,2.5,111.05,1.7,63.75 -5794,46,30,2.5,111.05,1.7,63.75 -5795,46,30,2.5,111.05,1.7,63.75 -5796,46,30,2.5,111.05,1.7,63.75 -5797,46,30,2.5,111.05,1.7,63.75 -5798,46,30,2.5,111.05,1.7,63.75 -5799,46,30,2.5,111.05,1.7,63.75 -5800,46,30,2.5,111.05,1.7,63.75 -5801,46,30,2.5,111.05,1.7,63.75 -5802,46,30,2.5,111.05,1.7,63.75 -5803,46,30,2.5,111.05,1.7,63.75 -5804,46,30,2.5,111.05,1.7,63.75 -5805,46,30,2.5,111.05,1.7,63.75 -5806,46,30,2.5,111.05,1.7,63.75 -5807,46,30,2.5,111.05,1.7,63.75 -5808,46,30,2.5,111.05,1.7,63.75 -5809,46,30,2.5,111.05,1.7,63.75 -5810,46,30,2.5,111.05,1.7,63.75 -5811,46,30,2.5,111.05,1.7,63.75 -5812,46,30,2.5,111.05,1.7,63.75 -5813,46,30,2.5,111.05,1.7,63.75 -5814,46,30,2.5,111.05,1.7,63.75 -5815,46,30,2.5,111.05,1.7,63.75 -5816,46,30,2.5,111.05,1.7,63.75 -5817,46,30,2.5,111.05,1.7,63.75 -5818,46,30,2.5,111.05,1.7,63.75 -5819,46,30,2.5,111.05,1.7,63.75 -5820,46,30,2.5,111.05,1.7,63.75 -5821,46,30,2.5,111.05,1.7,63.75 -5822,46,30,2.5,111.05,1.7,63.75 -5823,46,30,2.5,111.05,1.7,63.75 -5824,46,30,2.5,111.05,1.7,63.75 -5825,46,30,2.5,111.05,1.7,63.75 -5826,46,30,2.5,111.05,1.7,63.75 -5827,46,30,2.5,111.05,1.7,63.75 -5828,46,30,2.5,111.05,1.7,63.75 -5829,46,30,2.5,111.05,1.7,63.75 -5830,46,30,2.5,111.05,1.7,63.75 -5831,46,30,2.5,111.05,1.7,63.75 -5832,46,30,2.5,111.05,1.7,63.75 -5833,46,30,2.5,111.05,1.7,63.75 -5834,46,30,2.5,111.05,1.7,63.75 -5835,46,30,2.5,111.05,1.7,63.75 -5836,46,30,2.5,111.05,1.7,63.75 -5837,46,30,2.5,111.05,1.7,63.75 -5838,46,30,2.5,111.05,1.7,63.75 -5839,46,30,2.5,111.05,1.7,63.75 -5840,46,30,2.5,111.05,1.7,63.75 -5841,46,30,2.5,111.05,1.7,63.75 -5842,46,30,2.5,111.05,1.7,63.75 -5843,46,30,2.5,111.05,1.7,63.75 -5844,46,30,2.5,111.05,1.7,63.75 -5845,46,30,2.5,111.05,1.7,63.75 -5846,46,30,2.5,111.05,1.7,63.75 -5847,46,30,2.5,111.05,1.7,63.75 -5848,46,30,2.5,111.05,1.7,63.75 -5849,46,30,2.5,111.05,1.7,63.75 -5850,46,30,2.5,111.05,1.7,63.75 -5851,46,30,2.5,111.05,1.7,63.75 -5852,46,30,2.5,111.05,1.7,63.75 -5853,46,30,2.5,111.05,1.7,63.75 -5854,46,30,2.5,111.05,1.7,63.75 -5855,46,30,2.5,111.05,1.7,63.75 -5856,46,30,2.5,111.05,1.7,63.75 -5857,46,30,2.5,111.05,1.7,63.75 -5858,46,30,2.5,111.05,1.7,63.75 -5859,46,30,2.5,111.05,1.7,63.75 -5860,46,30,2.5,111.05,1.7,63.75 -5861,46,30,2.5,111.05,1.7,63.75 -5862,46,30,2.5,111.05,1.7,63.75 -5863,46,30,2.5,111.05,1.7,63.75 -5864,46,30,2.5,111.05,1.7,63.75 -5865,46,30,2.5,111.05,1.7,63.75 -5866,46,30,2.5,111.05,1.7,63.75 -5867,46,30,2.5,111.05,1.7,63.75 -5868,46,30,2.5,111.05,1.7,63.75 -5869,46,30,2.5,111.05,1.7,63.75 -5870,46,30,2.5,111.05,1.7,63.75 -5871,46,30,2.5,111.05,1.7,63.75 -5872,46,30,2.5,111.05,1.7,63.75 -5873,46,30,2.5,111.05,1.7,63.75 -5874,46,30,2.5,111.05,1.7,63.75 -5875,46,30,2.5,111.05,1.7,63.75 -5876,46,30,2.5,111.05,1.7,63.75 -5877,46,30,2.5,111.05,1.7,63.75 -5878,46,30,2.5,111.05,1.7,63.75 -5879,46,30,2.5,111.05,1.7,63.75 -5880,46,30,2.5,111.05,1.7,63.75 -5881,46,30,2.5,111.05,1.7,63.75 -5882,46,30,2.5,111.05,1.7,63.75 -5883,46,30,2.5,111.05,1.7,63.75 -5884,46,30,2.5,111.05,1.7,63.75 -5885,46,30,2.5,111.05,1.7,63.75 -5886,46,30,2.5,111.05,1.7,63.75 -5887,46,30,2.5,111.05,1.7,63.75 -5888,46,30,2.5,111.05,1.7,63.75 -5889,46,30,2.5,111.05,1.7,63.75 -5890,46,30,2.5,111.05,1.7,63.75 -5891,46,30,2.5,111.05,1.7,63.75 -5892,46,30,2.5,111.05,1.7,63.75 -5893,46,30,2.5,111.05,1.7,63.75 -5894,46,30,2.5,111.05,1.7,63.75 -5895,46,30,2.5,111.05,1.7,63.75 -5896,46,30,2.5,111.05,1.7,63.75 -5897,46,30,2.5,111.05,1.7,63.75 -5898,46,30,2.5,111.05,1.7,63.75 -5899,46,30,2.5,111.05,1.7,63.75 -5900,46,30,2.5,111.05,1.7,63.75 -5901,46,30,2.5,111.05,1.7,63.75 -5902,46,30,2.5,111.05,1.7,63.75 -5903,46,30,2.5,111.05,1.7,63.75 -5904,46,30,2.5,111.05,1.7,63.75 -5905,46,30,2.5,111.05,1.7,63.75 -5906,46,30,2.5,111.05,1.7,63.75 -5907,46,30,2.5,111.05,1.7,63.75 -5908,46,30,2.5,111.05,1.7,63.75 -5909,46,30,2.5,111.05,1.7,63.75 -5910,46,30,2.5,111.05,1.7,63.75 -5911,46,30,2.5,111.05,1.7,63.75 -5912,46,30,2.5,111.05,1.7,63.75 -5913,46,30,2.5,111.05,1.7,63.75 -5914,46,30,2.5,111.05,1.7,63.75 -5915,46,30,2.5,111.05,1.7,63.75 -5916,46,30,2.5,111.05,1.7,63.75 -5917,46,30,2.5,111.05,1.7,63.75 -5918,46,30,2.5,111.05,1.7,63.75 -5919,46,30,2.5,111.05,1.7,63.75 -5920,46,30,2.5,111.05,1.7,63.75 -5921,46,30,2.5,111.05,1.7,63.75 -5922,46,30,2.5,111.05,1.7,63.75 -5923,46,30,2.5,111.05,1.7,63.75 -5924,46,30,2.5,111.05,1.7,63.75 -5925,46,30,2.5,111.05,1.7,63.75 -5926,46,30,2.5,111.05,1.7,63.75 -5927,46,30,2.5,111.05,1.7,63.75 -5928,46,30,2.5,111.05,1.7,63.75 -5929,46,30,2.5,111.05,1.7,63.75 -5930,46,30,2.5,111.05,1.7,63.75 -5931,46,30,2.5,111.05,1.7,63.75 -5932,46,30,2.5,111.05,1.7,63.75 -5933,46,30,2.5,111.05,1.7,63.75 -5934,46,30,2.5,111.05,1.7,63.75 -5935,46,30,2.5,111.05,1.7,63.75 -5936,46,30,2.5,111.05,1.7,63.75 -5937,46,30,2.5,111.05,1.7,63.75 -5938,46,30,2.5,111.05,1.7,63.75 -5939,46,30,2.5,111.05,1.7,63.75 -5940,46,30,2.5,111.05,1.7,63.75 -5941,46,30,2.5,111.05,1.7,63.75 -5942,46,30,2.5,111.05,1.7,63.75 -5943,46,30,2.5,111.05,1.7,63.75 -5944,46,30,2.5,111.05,1.7,63.75 -5945,46,30,2.5,111.05,1.7,63.75 -5946,46,30,2.5,111.05,1.7,63.75 -5947,46,30,2.5,111.05,1.7,63.75 -5948,46,30,2.5,111.05,1.7,63.75 -5949,46,30,2.5,111.05,1.7,63.75 -5950,46,30,2.5,111.05,1.7,63.75 -5951,46,30,2.5,111.05,1.7,63.75 -5952,46,30,2.5,111.05,1.7,63.75 -5953,46,30,2.5,111.05,1.7,63.75 -5954,46,30,2.5,111.05,1.7,63.75 -5955,46,30,2.5,111.05,1.7,63.75 -5956,46,30,2.5,111.05,1.7,63.75 -5957,46,30,2.5,111.05,1.7,63.75 -5958,46,30,2.5,111.05,1.7,63.75 -5959,46,30,2.5,111.05,1.7,63.75 -5960,46,30,2.5,111.05,1.7,63.75 -5961,46,30,2.5,111.05,1.7,63.75 -5962,46,30,2.5,111.05,1.7,63.75 -5963,46,30,2.5,111.05,1.7,63.75 -5964,46,30,2.5,111.05,1.7,63.75 -5965,46,30,2.5,111.05,1.7,63.75 -5966,46,30,2.5,111.05,1.7,63.75 -5967,46,30,2.5,111.05,1.7,63.75 -5968,46,30,2.5,111.05,1.7,63.75 -5969,46,30,2.5,111.05,1.7,63.75 -5970,46,30,2.5,111.05,1.7,63.75 -5971,46,30,2.5,111.05,1.7,63.75 -5972,46,30,2.5,111.05,1.7,63.75 -5973,46,30,2.5,111.05,1.7,63.75 -5974,46,30,2.5,111.05,1.7,63.75 -5975,46,30,2.5,111.05,1.7,63.75 -5976,46,30,2.5,111.05,1.7,63.75 -5977,46,30,2.5,111.05,1.7,63.75 -5978,46,30,2.5,111.05,1.7,63.75 -5979,46,30,2.5,111.05,1.7,63.75 -5980,46,30,2.5,111.05,1.7,63.75 -5981,46,30,2.5,111.05,1.7,63.75 -5982,46,30,2.5,111.05,1.7,63.75 -5983,46,30,2.5,111.05,1.7,63.75 -5984,46,30,2.5,111.05,1.7,63.75 -5985,46,30,2.5,111.05,1.7,63.75 -5986,46,30,2.5,111.05,1.7,63.75 -5987,46,30,2.5,111.05,1.7,63.75 -5988,46,30,2.5,111.05,1.7,63.75 -5989,46,30,2.5,111.05,1.7,63.75 -5990,46,30,2.5,111.05,1.7,63.75 -5991,46,30,2.5,111.05,1.7,63.75 -5992,46,30,2.5,111.05,1.7,63.75 -5993,46,30,2.5,111.05,1.7,63.75 -5994,46,30,2.5,111.05,1.7,63.75 -5995,46,30,2.5,111.05,1.7,63.75 -5996,46,30,2.5,111.05,1.7,63.75 -5997,46,30,2.5,111.05,1.7,63.75 -5998,46,30,2.5,111.05,1.7,63.75 -5999,46,30,2.5,111.05,1.7,63.75 -6000,46,30,2.5,111.05,1.7,63.75 diff --git a/EC-GN-JA-PCF/.svn/pristine/ff/ff406d08d84f4e651ba42a2c25882683d5424a9b.svn-base b/EC-GN-JA-PCF/.svn/pristine/ff/ff406d08d84f4e651ba42a2c25882683d5424a9b.svn-base deleted file mode 100644 index 90ddfc7..0000000 --- a/EC-GN-JA-PCF/.svn/pristine/ff/ff406d08d84f4e651ba42a2c25882683d5424a9b.svn-base +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################ -## User provided environment variables -############################################################################ - -#epicsEnvSet("EPICS_CA_SERVER_PORT", "5064") -#epicsEnvSet("EPICS_CA_ADDR_LIST", "") -#epicsEnvSet("EPICS_CA_AUTO_ADDR_LIST", "YES") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/.svn/wc.db b/EC-GN-JA-PCF/.svn/wc.db deleted file mode 100644 index 7e0fbe8..0000000 Binary files a/EC-GN-JA-PCF/.svn/wc.db and /dev/null differ diff --git a/EC-GN-JA-PCF/info.log b/EC-GN-JA-PCF/info.log deleted file mode 100644 index 7202e19..0000000 --- a/EC-GN-JA-PCF/info.log +++ /dev/null @@ -1 +0,0 @@ -Last SDD Generation: Tue May 13 15:59:51 UTC 2025 diff --git a/EC-GN-JA-PCF/pom.xml b/EC-GN-JA-PCF/pom.xml deleted file mode 100755 index 926c122..0000000 --- a/EC-GN-JA-PCF/pom.xml +++ /dev/null @@ -1,87 +0,0 @@ - - -4.0.0 -org.iter.codac.units -EC-GN -codac -1.0.0 -CODAC Core System EC-GN subsystem -CODAC Core System EC-GN subsystem -http://www.iter.org/ - - - -subsystem -iandc -%(/opt/tools/get-vcs-url.sh --path=${project.basedir}) - - - - -org.iter.codac.units -maven-iter-settings -6.3.0 - - - - - -ferrog - -unit owner - - - - - - - -compile - - - -org.apache.maven.plugins -maven-iter-plugin -true - - - -src -${project.artifactId} -${project.version} -${project.description} - - -${rpm.vcs.url} - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/pom_13-05-25_15-59-1747151989_659047792.xml b/EC-GN-JA-PCF/pom_13-05-25_15-59-1747151989_659047792.xml deleted file mode 100755 index 926c122..0000000 --- a/EC-GN-JA-PCF/pom_13-05-25_15-59-1747151989_659047792.xml +++ /dev/null @@ -1,87 +0,0 @@ - - -4.0.0 -org.iter.codac.units -EC-GN -codac -1.0.0 -CODAC Core System EC-GN subsystem -CODAC Core System EC-GN subsystem -http://www.iter.org/ - - - -subsystem -iandc -%(/opt/tools/get-vcs-url.sh --path=${project.basedir}) - - - - -org.iter.codac.units -maven-iter-settings -6.3.0 - - - - - -ferrog - -unit owner - - - - - - - -compile - - - -org.apache.maven.plugins -maven-iter-plugin -true - - - -src -${project.artifactId} -${project.version} -${project.description} - - -${rpm.vcs.url} - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/sdd.xml b/EC-GN-JA-PCF/sdd.xml deleted file mode 100755 index ed94286..0000000 --- a/EC-GN-JA-PCF/sdd.xml +++ /dev/null @@ -1,23557 +0,0 @@ - - - - - -52 - - - -EC-GN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10.136.136.101 - - -52RF01-PSH-4410 - - - - -52RF01-PCF-4210.codac.iter.org - - -52RF01-PCF-4210.codac.iter.org-R1 - - -52RF01-PCF-4210.codac.iter.org-R1 - - - - - -10.136.136.13-T1 - - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEAALL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-RESET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-TAIUTC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMN - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DEVNAME - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DRIVER - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEMAX - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTENUM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-HBDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-LVL_ERRS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SERIAL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNCLOST - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:DIO4900-YON - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-MST-TRIG - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-MODE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-ERR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-NAME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-ELAPSED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-ID - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV1 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV2 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV3 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV5 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV6 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV7 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV8 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OV - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YSTA-GAOP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:DIO4900-YON - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-MST-TRIG - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-MODE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-ERR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -string -configuration - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-NAME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-ELAPSED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-ID - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV1 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV2 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV3 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV5 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV6 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV7 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV8 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YSTA-GBOP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-CTRP - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PSU0000-YSTA-MOD - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-CONF-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-RECONF - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SW-TRIG - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RST-FLT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD1-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD2-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD3-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD4-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RDY-TOUT - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY1PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY2PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YSTA-MPSS - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTRP - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD4 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST1R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST2R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST3R - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-HV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-SW - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CTRP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YFLT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YSTA - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-MANM - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-MSP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-P - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-HVON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-SWON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-PREP-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-HV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-SW - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CTRP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YFLT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YSTA - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-MANM - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-MSP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-P - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-HVON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-SWON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-PREP-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-HV - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-SW - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CTRP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YFLT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YSTA - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-MANM - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF-MSP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-HVON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-SWON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-PREP-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-HV - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-SW - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CTRP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YFLT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YSTA - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-MANM - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF-MSP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-HVON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-SWON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-PREP-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-COFF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-MOD - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-SW - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-TYSTA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-YFLT - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-MANM - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF-MSP - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-DT-HVON - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-EREF-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-HVON-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-PREP-WF - - - - - - - - - - -iocEC-GN-PSH0PCF -PCFCORE IOC -epicsioc -IOC - - - -52RF01-PCF-4210 - -iocEC-GN-PCF0SYSM -PCFSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0SYSM -PSHSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0CUB -PSHCUB IOC -epicsioc -IOC - - - - - - diff --git a/EC-GN-JA-PCF/sdd_13-05-25_15-59-1747151989_678406675.xml b/EC-GN-JA-PCF/sdd_13-05-25_15-59-1747151989_678406675.xml deleted file mode 100755 index ed94286..0000000 --- a/EC-GN-JA-PCF/sdd_13-05-25_15-59-1747151989_678406675.xml +++ /dev/null @@ -1,23557 +0,0 @@ - - - - - -52 - - - -EC-GN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -10.136.136.101 - - -52RF01-PSH-4410 - - - - -52RF01-PCF-4210.codac.iter.org - - -52RF01-PCF-4210.codac.iter.org-R1 - - -52RF01-PCF-4210.codac.iter.org-R1 - - - - - -10.136.136.13-T1 - - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-ACQ - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-CONF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-MODE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOSTSP - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAICF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-LDAOCF - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEAALL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-RESET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-TAIUTC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-DMSG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-NS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-SR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6259-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AIPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISMPL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AISR - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AITB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOPU - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-AOTB - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAIMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-CHAOMO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-POST - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-PRET - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCH - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCCO - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCLK - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-SCTY - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6368-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-0-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-FILTINT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP3 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP4 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-POWERP5 - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIINPROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIOUTROUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPCHANGE - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIPWDG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-RTSIWDGTRIG - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6528-1-WDGTOUT - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMN - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BDTMS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-BLKTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DEVNAME - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-DRIVER - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTEMAX - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-FTENUM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-HBDTM - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-LVL_ERRS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SERIAL - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-STATUS - - - -true -EC-GN-HWCF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNC - - - -true -EC-GN-HWCF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-HWCF:6683-0-SYNCLOST - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:DIO4900-YON - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-AO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DI-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DO-SIMM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-MST-TRIG - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-MODE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2810-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2820-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MOE2830-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:MRF2910-ET-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-ERR - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-CSV-NAME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-ELAPSED - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-ID - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GAF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF:STAT-SM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GAF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GAF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV1 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV2 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV3 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV5 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV6 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV7 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-RV8 - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OC - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YFLT-OV - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YSTA-GAOP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP - - - -true -EC-GN-P01-GAFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GAFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:DIO4900-YON - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-AO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOAD - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-LOADED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DI-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DO-SIMM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-MST-TRIG - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-MODE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHORT-PULSE - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-TRIG-SOUR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2810-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2820-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MOE2830-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:MRF2910-ET-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-BEAMON-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-ERR - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -string -configuration - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-CSV-NAME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-ELAPSED - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREHEAT-TIME - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-PREP-TIME-WF - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK1 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-FLNK2 - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-ID - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SHOT-PLOT - - - -true -EC-GN-P01-GBF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF:STAT-SM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-RST - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-STAT - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-TR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-ERROR - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-IDN - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-AMP - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-FREQ - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OFFS - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-CALC - - - -true -EC-GN-P01-GBF-CCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-LOC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-REM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-RST - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-MANM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-ERROR - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -string -state - -string -STRING40 -320 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-IDN - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-FHPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-ERR - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-GCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-MANM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-SIMM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-ERR - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-PREP-WF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF - - - -true -EC-GN-P01-GBF-MCPS -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV1 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV2 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV3 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV5 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV6 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV7 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-RV8 - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YSTA-GBOP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP - - - -true -EC-GN-P01-GBFP -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GBFP:FMC4310-YTRP2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-CTRP - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GA3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB1 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB2 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PCF4210-YTS-GB3 - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:PSU0000-YSTA-MOD - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-CONF-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-RECONF - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SW-TRIG - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RST-FLT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-LEN-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-MODE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -discrete multi-state -configuration - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-DAQ-STAT - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD1-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD2-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD3-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -continuous -state - -uint -ULONG -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-MD4-LIM - - - -true -EC-GN-P01-GPF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPF:STAT-RDY-TOUT - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY1PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-GY2PRM - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-CON-OPGY2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-RV3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YON-CCPS2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YSTA-MPSS - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTRP - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD1 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD2 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD3 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-MD4 - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST1R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST2R - - - -true -EC-GN-P01-GPS -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-GPS:PLC4110-YTS-ST3R - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-HV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CON-SW - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-CTRP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YFLT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-YSTA - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-MANM - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-MSP - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-EREF-P - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-ET-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:PSU3000-IT-WF - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-HVON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-DT-SWON - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA1F:STAT-PREP-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-HV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CON-SW - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-CTRP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YFLT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-YSTA - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-MANM - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-MSP - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-EREF-P - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-ET-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:PSU4000-IT-WF - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-HVON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-DT-SWON - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-EREF-CONV - - - -true -EC-GN-P01-PA2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PA2F:STAT-PREP-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-HV - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CON-SW - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-CTRP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YFLT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-YSTA - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-MANM - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-EREF-MSP - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-ET-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:PSU1000-IT-WF - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-HVON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-DT-SWON - - - -true -EC-GN-P01-PB1F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB1F:STAT-PREP-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-HV - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CON-SW - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-CTRP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YFLT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-YSTA - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-MANM - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-EREF-MSP - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-ET-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:PSU2000-IT-WF - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-HVON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-DT-SWON - - - -true -EC-GN-P01-PB2F -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PB2F:STAT-PREP-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-COFF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-MOD - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -configuration - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-CON-SW - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-TYSTA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-YFLT - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -discrete two-state -state - -uint -UCHAR -8 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-MANM - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -configuration - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-EREF-MSP - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-ET-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GA-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:PSU0000-IT-GB-WF - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -countinuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-DT-HVON - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-EREF-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-HVON-CALC - - - -true -EC-GN-P01-PMF -conventional -PON -0 -true -continuous -state - -float -FLOAT -32 - - -0.0 - -volatile - - - - - - - - - - - - - -false - - - -52RF01-PCF-4210 - - -iocEC-GN-PSH0PCF -EC-GN-P01-PMF:STAT-PREP-WF - - - - - - - - - - -iocEC-GN-PSH0PCF -PCFCORE IOC -epicsioc -IOC - - - -52RF01-PCF-4210 - -iocEC-GN-PCF0SYSM -PCFSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0SYSM -PSHSYSM IOC -epicsioc -IOC - - - -52RF01-PSH-4410 - -iocEC-GN-PSH0CUB -PSHCUB IOC -epicsioc -IOC - - - - - - diff --git a/EC-GN-JA-PCF/src/main/beast/EC-beast.xml b/EC-GN-JA-PCF/src/main/beast/EC-beast.xml deleted file mode 100644 index 595af96..0000000 --- a/EC-GN-JA-PCF/src/main/beast/EC-beast.xml +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - -Connection or frame of the communication for 4110 configuration and state is invalid -true -0 - -4110 communication failed -
The connection for configuration and state to 4110 was broken or the frame is not correct
-
- -Causes related to the alarm -
Timestamp update error (TIME) -Data block header, footer or length mismatch (FERROR) -Data block version mismatch (FVERS) -Data block alive counter update error (ALIVEC) -Frame lost due (FLOST) -PLC communication broken (CFGSTAT) -Lost a redundant CPU (CPU0-ALIVE, CPU1-ALIVE)
-
- -Corrective action -
Check whether the PLC is running\n Check whether network is ok\n Contact maintenance service (if needed)
-
- -4110 State Comm. Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-PLCHLTS_Alarm.opi "CBS1=EC, CBS2=GN, PP=01, NNNN=4110, TTT=PLC, PPPP=52RF, ALARM_PV=EC-GN-SYSM-52RF-01:PLC4110-PLCHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=PLC communication failed, ALARM_GUIDANCE1_DETAILS=The connection for configuration and state to PLC is broken or the frame is not correct."
-
-
- -Connection or frame of the communication for PLC Event is invalid -true -0 - -PLC Event communication failed -
The connection for event to PLC was broken or the frame is not correct
-
- -Causes related to the alarm -
Event Frame count update error (FRAMEC) -PLC Event communication broken (EVTSTAT)
-
- -Corrective action -
Check whether the PLC is running\n Check whether network is ok\n Contact maintenance service (if needed)
-
- -PLC Event Comm. Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-EVTHLTS_Alarm.opi "CBS1=EC, CBS2=GN, CBS3=SYSM, PP=01, NNNN=4110, TTT=PLC, PPPP=52RF, ALARM_PV=EC-GN-SYSM-52RF-01:PLC4110-EVTHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=PLC Event communication failed, ALARM_GUIDANCE1_DETAILS=The connection for event to PLC was broken or the frame is not correct."
-
-
- -Any one of CPU, MEM, Disk, FD, Process of the host is in alarm state -true -0 - -System is an abnormal state -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - one of CPU, Disk, Memory, FD load is high or necessary process has been stopped -2 - two of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped -3 - three of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped
-
- -Corrective action -
If any load remains high continuously, contact maintenance service. -In addition, check if the necessary processes are running
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIHI 100 - - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI - -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SHLT_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PCF, NNNN=4210, ALARM_PV=EC-GN-SYSM-52RF-01:PCF4210-SHLT, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD / Process of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
- -Any one of CPU, MEM, Disk or FD of the host is in alarm state -true -0 - -System resource utilization is high -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - CPU utilization high (CPUUTL) : CPU utilization is high -2 - Memory utilization high (MEMUTL) : Memory utilization is high -3 - CPU, Mem util high (CPUUTL, MEMUTL) : CPU and Memory utilizations are high -4 - Disk utilization high (DISKUTL) : Disk utilizations are high -5 - CPU, Disk util high (CPUUTL,DISKUTL) : CPU and Disk utilizations are high -6 - Mem, Disk util high (MEMUTL,DISKUTL) : Memory and Disk utilizations are high -7 - CPU, Mem, Disk util high (CPUUTL,MEMUTL,DISKUTL) : CPU/Memory/Disk utilizations are high -8 - FD utilization high (FDUTL) : FD utilization is high -9 - CPU, FD util high (CPUUTL,FDUTL) : CPU and FD are in alarm state -10 - Mem, FD util high (MEMUTL,FDUTL) : Memory and FD are in alarm state -11 - CPU, Mem, FD alarm (CPUUTL,MEMUTL,FDUTL) : CPU/Memory/FD are in alarm state -12 - Disk, FD util high (DISKUTL,FDUTL) : Disk and FD are in alarm state -13 - CPU, Disk, FD alarm (CPUUTL,DISKUTL,FDUTL) : CPU/Disk/FD are in alarm state -14 - Mem, Disk, FD alarm (MEMUTL,DISKUTL,FDUTL) : Memory/Disk/FD are in alarm state -15 - CPU,Mem,Disk,FD alarm (CPUUTL,MEMUTL,DISKUTL,FDUTL) : CPU/Memory/Disk/FD alarm
-
- -Corrective action -
If any load remains high continuously, contact maintenance service
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIHI 100 - - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SYSHLTS_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PCF, NNNN=4210, ALARM_PV=EC-GN-SYSM-52RF-01:PCF4210-SYSHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
- -Current state of TCNd and the synchronization state of the device -true -0 - -System time synchronization is not fully operational -
If status is N/A, then check that tcnd is running. -If status is not operational for some time, please contact maintenance service.
-
- -Documentation TCNd -
firefox file:///opt/codac/doc/pdf/TCNd_User_Manual.pdf
-
- -TCNd Sync. Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-TSTATUS_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PCF, NNNN=4210, ALARM_PV=EC-GN-SYSM-52RF-01:PCF4210-TSTATUS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System clock synchronization with respect to ITER time, ALARM_GUIDANCE1_DETAILS=The computer system clock is synchronized to ITER time using the TCN daemon (TCNd) component of CODAC Core SYstem. Please see TCNd User Manual (ITER_D_MUYNT6 - /opt/codac/doc/pdf/TCNd_User_Manual.pdf). -The clock synchronization has been detected to have been in an abnormal state. i.e. STATUS different from 'Operational' after two minutes of uptime."
-
-
- -Any one of CPU, MEM, Disk, FD, Process of the host is in alarm state -true -0 - -System is an abnormal state -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - one of CPU, Disk, Memory, FD load is high or necessary process has been stopped -2 - two of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped -3 - three of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped
-
- -Corrective action -
If any load remains high continuously, contact maintenance service. -In addition, check if the necessary processes are running
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIHI 100 - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SHLT_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PSH, NNNN=4410, ALARM_PV=EC-GN-SYSM-52RF-01:PSH4410-SHLT, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD / Process of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
- -Any one of CPU, MEM, Disk or FD of the host is in alarm state -true -0 - -System resource utilization is high -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - CPU utilization high (CPUUTL) : CPU utilization is high -2 - Memory utilization high (MEMUTL) : Memory utilization is high -3 - CPU, Mem util high (CPUUTL, MEMUTL) : CPU and Memory utilizations are high -4 - Disk utilization high (DISKUTL) : Disk utilizations are high -5 - CPU, Disk util high (CPUUTL,DISKUTL) : CPU and Disk utilizations are high -6 - Mem, Disk util high (MEMUTL,DISKUTL) : Memory and Disk utilizations are high -7 - CPU, Mem, Disk util high (CPUUTL,MEMUTL,DISKUTL) : CPU/Memory/Disk utilizations are high -8 - FD utilization high (FDUTL) : FD utilization is high -9 - CPU, FD util high (CPUUTL,FDUTL) : CPU and FD are in alarm state -10 - Mem, FD util high (MEMUTL,FDUTL) : Memory and FD are in alarm state -11 - CPU, Mem, FD alarm (CPUUTL,MEMUTL,FDUTL) : CPU/Memory/FD are in alarm state -12 - Disk, FD util high (DISKUTL,FDUTL) : Disk and FD are in alarm state -13 - CPU, Disk, FD alarm (CPUUTL,DISKUTL,FDUTL) : CPU/Disk/FD are in alarm state -14 - Mem, Disk, FD alarm (MEMUTL,DISKUTL,FDUTL) : Memory/Disk/FD are in alarm state -15 - CPU,Mem,Disk,FD alarm (CPUUTL,MEMUTL,DISKUTL,FDUTL) : CPU/Memory/Disk/FD alarm
-
- -Corrective action -
If any load remains high continuously, contact maintenance service
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIHI 100 - - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SYSHLTS_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PSH, NNNN=4410, ALARM_PV=EC-GN-SYSM-52RF-01:PSH4410-SYSHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - -
-
-
\ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/beauty/EC-beauty.xml b/EC-GN-JA-PCF/src/main/beauty/EC-beauty.xml deleted file mode 100755 index ebe75ef..0000000 --- a/EC-GN-JA-PCF/src/main/beauty/EC-beauty.xml +++ /dev/null @@ -1,242 +0,0 @@ - - - - -EC-GN-SYSM - -EC-GN-SYSM-52RF-01:PLC4110-CFGWRCNTR -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PLC4110-PLCHLTS -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PLC4110-EVTHLTS -1.0 -0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-BTIME - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CCSV - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CORE-DBDLC - 10.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CORE-DBRECC - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CORE-STTOD - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CPUUTL - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-DISKUTL - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-EPICSV - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-HOSTNAME - 1.0 -0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-MEMUTL - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-NRBPS - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-NSBPS - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SHLT - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSHLTS - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSM-DBDLC - 10.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSM-DBRECC - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSM-STTOD - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-TDEVICE - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-TOFFSET - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-TSTATUS - 1.0 - 0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-BTIME -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-CCSV -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-CPUUTL -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-DISKUTL -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-EPICSV -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-HOSTNAME -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-MEMUTL -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-NRBPS -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-NSBPS -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-SHLT -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-SYSHLTS -1.0 -0.0 - - - -EC-GN-HWCF - - -EC-GN-P01-GAF - - -EC-GN-P01-GAF-CCPS - - -EC-GN-P01-GAF-FHPS - - -EC-GN-P01-GAF-GCPS - - -EC-GN-P01-GAF-MCPS - - -EC-GN-P01-GAFP - - -EC-GN-P01-GBF - - -EC-GN-P01-GBF-CCPS - - -EC-GN-P01-GBF-FHPS - - -EC-GN-P01-GBF-GCPS - - -EC-GN-P01-GBF-MCPS - - -EC-GN-P01-GBFP - - -EC-GN-P01-GPF - - -EC-GN-P01-GPS - - -EC-GN-P01-PA1F - - -EC-GN-P01-PA2F - - -EC-GN-P01-PB1F - - -EC-GN-P01-PB2F - - -EC-GN-P01-PMF - - diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-HWCF_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-HWCF_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-HWCF_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-CCPS_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-CCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-CCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-FHPS_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-FHPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-FHPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-GCPS_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-GCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-GCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-MCPS_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-MCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF-MCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAFP_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAFP_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAFP_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GAF_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-CCPS_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-CCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-CCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-FHPS_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-FHPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-FHPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-GCPS_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-GCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-GCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-MCPS_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-MCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF-MCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBFP_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBFP_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBFP_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GBF_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GPF_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GPF_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GPF_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GPS_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-GPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PA1F_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PA1F_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PA1F_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PA2F_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PA2F_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PA2F_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PB1F_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PB1F_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PB1F_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PB2F_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PB2F_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PB2F_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PMF_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PMF_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01-PMF_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN-P01_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC-GN_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC_Mimic.opi b/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/src/main/boy/empty/ITER-EC_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation.xml deleted file mode 100755 index 2b1cfbe..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-HWCF.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-HWCF.xml deleted file mode 100755 index 12eb6c5..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-HWCF.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-CCPS.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-CCPS.xml deleted file mode 100755 index f0c1369..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-CCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-FHPS.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-FHPS.xml deleted file mode 100755 index 0645fab..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-FHPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-GCPS.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-GCPS.xml deleted file mode 100755 index 30d6e02..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-GCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-MCPS.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-MCPS.xml deleted file mode 100755 index 7868875..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF-MCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF.xml deleted file mode 100755 index 07012f8..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAF.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAFP.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAFP.xml deleted file mode 100755 index 3c42493..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GAFP.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-CCPS.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-CCPS.xml deleted file mode 100755 index e761be7..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-CCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-FHPS.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-FHPS.xml deleted file mode 100755 index aed4fec..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-FHPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-GCPS.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-GCPS.xml deleted file mode 100755 index 3799297..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-GCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-MCPS.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-MCPS.xml deleted file mode 100755 index b958fd0..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF-MCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF.xml deleted file mode 100755 index 0e1b217..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBF.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBFP.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBFP.xml deleted file mode 100755 index 2ce42cd..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GBFP.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GPF.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GPF.xml deleted file mode 100755 index 761e26b..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GPF.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GPS.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GPS.xml deleted file mode 100755 index c6da874..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-GPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PA1F.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PA1F.xml deleted file mode 100755 index 13fdc95..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PA1F.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PA2F.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PA2F.xml deleted file mode 100755 index f143ef0..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PA2F.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PB1F.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PB1F.xml deleted file mode 100755 index 16a1375..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PB1F.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PB2F.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PB2F.xml deleted file mode 100755 index 2c215fe..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PB2F.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PMF.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PMF.xml deleted file mode 100755 index 5f84ca9..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01-PMF.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01.xml deleted file mode 100755 index 1d1e6ee..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN-P01.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN.xml deleted file mode 100755 index c2d11a9..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC-GN.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC.xml b/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC.xml deleted file mode 100755 index 3be2fb2..0000000 --- a/EC-GN-JA-PCF/src/main/boy/navigation/Navigation_EC.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-CubicleDetails.opi b/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-CubicleDetails.opi deleted file mode 100755 index a3e2747..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-CubicleDetails.opi +++ /dev/null @@ -1,415 +0,0 @@ - - - - Display - - true - EC - GN - SYSM - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - false - - - - false - -1 - -1 - - - - - true - Grouping Container - - true - - true - 0 - - true - - 2 - groupHeading - - - - true - - false - false - false - - false - - 0 - - - - - - - 0 - - 1243 - 50 - - - - - - true - 1 - true - - 13 - CubicleDetailsLabel - - false - false - false - - true - false - - - - - - - Label - false - Cubicle Details: - - IO Normal - - 40 - 0 - - 2 - - - - 0 - - 55 - true - - 6 - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-CUB_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 200 - 45 - - - - - true - 1 - true - - 13 - CubicleDetailsLabel - - false - false - false - - true - false - - - - - - - Label - false - $(CUB_LOC) - - IO Normal - - 40 - 0 - - 2 - - - - 0 - - 55 - true - - 600 - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - (ºC) - - - - - - - - - - - - 1 - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-CY1 - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-CY2 - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-FAN - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-TT - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-SHLT - - - 1000 - CubicleDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1000 - 0 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 100 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 125 - - 6 - - - - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 0 - - true - - 26 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 4 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 4 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-F0-PCFDetails.opi b/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-F0-PCFDetails.opi deleted file mode 100755 index 7c58c4c..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-F0-PCFDetails.opi +++ /dev/null @@ -1,1471 +0,0 @@ - - - - Display - - true - F0 - 52RF01-PCF-4210 - EC-GN-SYSM - 52RF - 01 - 4210 - PCF - - false - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - false - - - - false - -1 - -1 - - - - - true - Grouping Container - - true - - true - 6 - - true - - 2 - groupHeading - - false - false - false - - - - - true - false - - 0 - - - - - - - 0 - - - - - - 1243 - 50 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SystemDetailsLabel - - - false - false - false - - - false - System Information: - - true - 1 - true - Label - 40 - true - - 6 - 55 - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-SYS_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 200 - 45 - - - true - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - (°C) - picmg-sensors - - - - - - - (°C) - picmg-sensors - - - - - - - (°C) - picmg-sensors - - - - - - - (MB) - sysmon - - - - - - - (MB) - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (KB) - sysmon - - - - - - - (KB) - sysmon - - - - - - - (%) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon-tcnd - - - - - - - - sysmon - - - - - - - (ns) - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - (s) - sysmon-tcnd - - - - - - - - sysmon-tcnd - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-BTIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CAV1 - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CCSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CTEMPAVG - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CTEMPMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CTEMPMIN - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EPICSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-HOSTNAME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-IPADDR - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-KERNELV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NRBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NSBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-OSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCLST - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCSTS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SHLT - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TDEVICE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TMAXOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TMEANOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TMINOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TOFFSET - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TSTATUS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TSTDOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TUPTIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TVERSION - - - 600 - SystemDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - Template Name - 100 - no - - - false - - 2 - - - - 5 - - 125 - - 6 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - COREIOCDetailsLabel - - - false - false - false - - - false - CORE IOC: - - true - 1 - true - Label - 40 - true - - 1600 - 55 - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-IOC_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 1800 - 45 - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-SVPORT - - - 600 - COREIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 125 - - 1600 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SYSMIOCDetailsLabel - - - false - false - false - - - false - SYSM IOC: - - true - 1 - true - Label - 40 - true - - 6 - 750 - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-SVPORT - - - 600 - SYSMIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 6 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLCIOCDetailsLabel - - - false - false - false - - - false - Others: - - true - 1 - true - Label - 40 - true - - 1600 - 750 - - - - true - - - - - - - 600 - PLCIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 1600 - - - - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 6 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 4 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 4 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-H0-PSHDetails.opi b/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-H0-PSHDetails.opi deleted file mode 100755 index fb0fc2e..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-H0-PSHDetails.opi +++ /dev/null @@ -1,1405 +0,0 @@ - - - - Display - - true - H0 - 52RF01-PSH-4410 - EC-GN-SYSM - 52RF - 01 - 4410 - PSH - false - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - - false - - - - false - -1 - -1 - - - - - - - - true - Grouping Container - - true - - true - 0 - - true - - 2 - - false - false - false - - groupHeading - - - - true - false - - 0 - - - - - - - 0 - - - - - - - 1243 - 50 - - - - - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SystemDetailsLabel - - - false - false - false - - - false - System Information: - - true - 1 - true - Label - 40 - true - - 6 - 55 - - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-SYS_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 200 - 45 - - - - true - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - (MB) - sysmon - - - - - - - (MB) - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (KB) - sysmon - - - - - - - (KB) - sysmon - - - - - - - (%) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-BTIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CAV1 - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CCSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EPICSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-HOSTNAME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-IPADDR - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-KERNELV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NRBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NSBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-OSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCLST - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCSTS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SHLT - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TIME - - - 600 - SystemDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - Template Name - 100 - no - - - false - - 2 - - - - 5 - - 125 - - 6 - - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - COREIOCDetailsLabel - - - false - false - false - - - false - CORE IOC: - - true - 1 - true - Label - 40 - true - - 1600 - 55 - - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-IOC_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 1800 - 45 - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-SVPORT - - - 600 - COREIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 125 - - 1600 - - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SYSMIOCDetailsLabel - - - false - false - false - - - false - SYSM IOC: - - true - 1 - true - Label - 40 - true - - 6 - 750 - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-SVPORT - - - 600 - SYSMIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 6 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLCIOCDetailsLabel - - - false - false - false - - - false - Others: - - true - 1 - true - Label - 40 - true - - 1600 - 750 - - - - - true - - - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-SVPORT - - - 600 - PLCIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 1600 - - - - - - - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 0 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 1 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 1 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-P0-PLCDetails.opi b/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-P0-PLCDetails.opi deleted file mode 100755 index 4de6bdb..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM-P0-PLCDetails.opi +++ /dev/null @@ -1,707 +0,0 @@ - - - - Display - - true - P0 - 52RF01-PLC-4110 - EC-GN-SYSM - 52RF - 01 - 4110 - PLC - EC - GN - SYSM - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - - false - - - - false - -1 - -1 - - - - - - - true - Grouping Container - - true - - true - 6 - - true - - 2 - - false - false - false - - groupHeading - - - - true - false - - 0 - - - - - - - 0 - - 1243 - 50 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Configuration Control: - - - false - false - false - - - false - Configuration Control: - - true - 1 - true - Label - 40 - true - - 6 - 90 - - - - - false - true - - - - 0 - false - - - - 0 - 2 - Are you sure you want to do this? - 0 - true - true - - IO Label - - false - - - - 38 - false - boolButton$(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGWRCNTR - - - - Check Configuration - - - - Configuration OK - - 0 - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGWRCNTR - - 0 - - - false - false - false - - - true - 1 - true - true - true - $(pv_name) $(pv_value) - true - Boolean Button - 210 - - 250 - 90 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLC Variable Communication: - - - false - false - false - - - false - PLC Variable Communication: - - true - 1 - true - Label - 40 - true - - 6 - 240 - - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-PLC_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) - $(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 400 - 230 - - - - - true - - - - - - - - - - - 1 - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGBC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGSTAT - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-ALIVE - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-MASTER - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-RUN - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-VALID - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-ALIVE - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-MASTER - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-RUN - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-VALID - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FERROR - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FLENGTH - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FLOST - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FVERS - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SIM-NOPLC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TIME - - - - 300 - GeneralTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 2000 - 6 - - - Name - 250 - no - - - Value - 280 - no - - - Status - 200 - no - - - Severity - 140 - no - - - false - - 2 - - - - 4 - - 290 - - 6 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLC Command Communication: - - - false - false - false - - - false - PLC Command Communication: - - true - 1 - true - Label - 40 - true - - 6 - 640 - - - - - - - true - - - - - - - - - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CMDBC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CMDSTAT - - - - 300 - GeneralTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 2000 - 6 - - - Name - 250 - no - - - Value - 280 - no - - - Status - 200 - no - - - Severity - 140 - no - - - false - - 2 - - - - 4 - - 690 - - 6 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLC Event Communication: - - - false - false - false - - - false - PLC Event Communication: - - true - 1 - true - Label - 40 - true - - 6 - 1040 - - - - - - - true - - - - - - - - - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EFLOST - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EVTBC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EVTSTAT - - - - 300 - GeneralTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 2000 - 6 - - - Name - 250 - no - - - Value - 280 - no - - - Status - 200 - no - - - Severity - 140 - no - - - false - - 2 - - - - 4 - - 1090 - - 6 - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 6 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 1 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 1 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM.opi b/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM.opi deleted file mode 100755 index 3a20916..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/EC-GN-SYSM.opi +++ /dev/null @@ -1,619 +0,0 @@ - - - - Display - - true - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - - false - - - - false - -1 - -1 - - - - - - - - true - Grouping Container - - true - - true - 6 - - true - - 2 - - false - false - false - - groupHeading - - - - true - false - - 0 - - - - - - - 0 - - 1243 - 50 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Label Template - - - false - false - false - - - false - Cubicles - - true - 1 - true - Label - 40 - true - - 6 - 54 - - - - - - true - - - - - - - - 1 - - - - - - - - 200 - EC-GN-SYSM - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1400 - 6 - - - Name - 50 - no - - - Physical Name - 120 - - - - Description - 120 - no - - - Cubicle health summary - 100 - no - - - PLC health summary - 100 - no - - - Location - 100 - no - - - Macro PPPP - 0 - no - - - Macro PP - 0 - no - - - Macro NNNN - 0 - no - - - false - - 2 - - - - 7 - - 90 - - 6 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Label Template - - - false - false - false - - - false - PLCs - - true - 1 - true - Label - 26 - true - - 6 - 320 - - - - - - true - - - - P0 - 52RF01-PLC-4110 - - - - - - - - - - - - 1 - - - - - EC-GN-SYSM-52RF-01:PLC4110-PLCHLTS -EC-GN-SYSM-52RF-01:PLC4110-EVTHLTS -EC-GN-SYSM-52RF-01:PLC4110-FRAMEC - - - - - 200 - EC-GN-SYSM - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1400 - 6 - - - Name - 50 - no - - - Physical Name - 120 - - - - Description - 120 - no - - - PLC health summary - 100 - no - - - ALIVEC - 100 - no - - - Event health summary - 100 - no - - - FRAMEC - 100 - no - - - false - - 2 - - - - 5 - - 350 - - 6 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Label Template - - - false - false - false - - - false - Control Units - - true - 1 - true - Label - 59 - true - - 6 - 570 - - - - - - true - - - - H0 - 52RF01-PSH-4410 - - - - - - Plant System Host - - - - - F0 - 52RF01-PCF-4210 - - - - - - Fast Controller - - - - - - - 1 - - - - EC-GN-SYSM-52RF-01:PCF4210-SYSHLTS -EC-GN-SYSM-52RF-01:PSH4410-SYSHLTS - - - - - - 300 - EC-GN-SYSM - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1400 - 6 - - - Name - 50 - no - - - Physical Name - 120 - - - - Description - 120 - no - - - Controller health summary - 150 - no - - - PSH0CORE IOC health summary - 100 - no - - - Controller IOC health summary - 100 - no - - - PLC IOC health summary - 100 - no - - - Type - 100 - no - - - false - - 2 - - - - 7 - - 600 - - 6 - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 6 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1400 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 1 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 1 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/AlarmShortFormat.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/AlarmShortFormat.js deleted file mode 100644 index 5141753..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/AlarmShortFormat.js +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright (c) : 2010-2019 ITER Organization, -CS 90 046 -13067 St. Paul-lez-Durance Cedex -France - -This product is part of ITER CODAC software. -For the terms and conditions of redistribution or use of this software -refer to the file ITER-LICENSE.TXT located in the top level directory -of the distribution package. -*/ - - -importPackage(Packages.org.csstudio.opibuilder.scriptUtil); - -var t = new Date(PVUtil.getTimeInMilliseconds(pvs[0])).toTimeString(); -var st = t.split(" "); - -widget.setPropertyValue("on_label", st[0]); -widget.setPropertyValue("off_label", st[0]); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CUDetailsTableSelectionMonitor.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CUDetailsTableSelectionMonitor.js deleted file mode 100644 index b4a5c3f..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CUDetailsTableSelectionMonitor.js +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("SystemDetailsTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-SYS_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.js deleted file mode 100644 index e6c9edb..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.js +++ /dev/null @@ -1,51 +0,0 @@ - -importClass(Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); - -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var selectedrow= table.getSelection(); - var cuName=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - var plcIocHlts =selectedrow[0][6]; - var cuType=selectedrow[0][7]; -// change $(CU) substitution - macroInput = DataUtil.createMacrosInput(true) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("CU_TYPE", cuType) - if (plcIocHlts == "") { - macroInput.put("SHOW_PLC_IOC", "false") - } - else { - macroInput.put("SHOW_PLC_IOC", "true") - } - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if (cuType == "POC with CA") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-POCWithCADetails.opi", 1, macroInput) - } - else if (cuType == "POC without CA") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-POCWithoutCADetails.opi", 1, macroInput) - } - else if (cuType == "Plant System Host") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-PSHDetails.opi", 1, macroInput) - } - else if (cuType == "Fast Controller") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-PCFDetails.opi", 1, macroInput) - } - else if (cuType == "Server") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-SRVDetails.opi", 1, macroInput) - } - else { - ScriptUtil.openOPI(widget, fct_name+"-CtrlUnitDetails.opi", 1, macroInput) - } - - } -}; - -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.py deleted file mode 100644 index 3a90691..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.py +++ /dev/null @@ -1,38 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuName="" - phyName="" - plcIocHlts ="" - cuType="" - for row in selection: - phyName=row[1] - cuName=row[0] - plcIocHlts=row[6] - cuType=row[7]; -# change $(CU) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("CU_TYPE", cuType) - if plcIocHlts == "": - macroInput.put("SHOW_PLC_IOC", "false") - else: - macroInput.put("SHOW_PLC_IOC", "true") - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if cuType == "POC with CA": - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-POCWithCADetails.opi", 1, macroInput) - elif cuType == "POC without CA": - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-POCWithoutCADetails.opi", 1, macroInput) - else: - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CtrlUnitDetails.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.js deleted file mode 100644 index 4b14a4a..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.js +++ /dev/null @@ -1,23 +0,0 @@ -importClass(Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil); - -var table = widget.getTable(); -var fct_name = widget.getPropertyValue("name"); - -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var selectedrow= table.getSelection(); - var cuIndex=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - - // change $(CU_INDEX) substitution - var macroInput = DataUtil.createMacrosInput(true); - macroInput.put("CUB", cuIndex); - macroInput.put("PHY_NAME", phyName); - macroInput.put("FCT_NAME", fct_name); - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(widget, fct_name+"-"+cuIndex+"-CubicleContents.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.py deleted file mode 100644 index 2bd84d4..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.py +++ /dev/null @@ -1,24 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuIndex="" - phyName="" - for row in selection: - cuIndex=row[0]; - phyName=row[1] - # change $(CU_INDEX) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CUB", cuIndex) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-"+cuIndex+"-CubicleContents.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesDetailsTableSelectionMonitor.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesDetailsTableSelectionMonitor.js deleted file mode 100644 index 76c1402..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesDetailsTableSelectionMonitor.js +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("CubicleDetailsTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-CUB_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.js deleted file mode 100644 index efa63e1..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.js +++ /dev/null @@ -1,31 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - - var selectedrow= table.getSelection(); - var cuIndex=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - var loc=selectedrow[0][5]; - var pppp=selectedrow[0][6]; - var pp=selectedrow[0][7]; - var nnnn=selectedrow[0][8]; - - var macroInput = DataUtil.createMacrosInput(true) - macroInput.put("CUB", cuIndex) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("PPPP", pppp) - macroInput.put("PP", pp) - macroInput.put("NNNN", nnnn) - macroInput.put("CUB_LOC", "Location: "+loc) - - ScriptUtil.openOPI(widget, fct_name+"-CubicleDetails.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.py deleted file mode 100644 index ff9821d..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.py +++ /dev/null @@ -1,24 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuIndex="" - phyName="" - for row in selection: - cuIndex=row[0]; - phyName=row[1] - # change $(CU_INDEX) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CUB", cuIndex) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CubicleDetails.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayAlarmsInRow.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayAlarmsInRow.py deleted file mode 100644 index 2c60bb7..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayAlarmsInRow.py +++ /dev/null @@ -1,14 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - -import datetime - -pv = pvs[0] - -s = PVUtil.getTimeInMilliseconds(pv) -t = datetime.datetime.fromtimestamp(float(s)/1000.) - -format = "%H:%M:%S" - -widget.setPropertyValue("on_label", t.strftime(format)) -widget.setPropertyValue("off_label", t.strftime(format)) diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.js deleted file mode 100644 index 884f5e7..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.js +++ /dev/null @@ -1,57 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); - -var table = widget.getTable(); - -//Fill PV Name only once -if (widget.getVar("firstTime") == null) { - widget.setVar("firstTime", true); - // Fill table only with non EGU pv's - for (var i=0;pv=pvs[i];i++) { - // earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().trim()); - if (!pv.isConnected()) { - table.setCellText(i/2, 1, "Disconnected"); - } - } - // Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if (widget.getPropertyValue("name") == 'PLCIOCDetailsTable') { - if (display.getMacroValue("SHOW_PLC_IOC") == "true") { - widget.setPropertyValue("visible", "true"); - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true"); - } - } -} -//find index of the trigger PV -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -var pvValue = PVUtil.getString(triggerPV).trim(); -var eugValue = table.getCellText(i, 4); -if (eugValue != "") { - pvValue = pvValue+" "+eugValue; -} -table.setCellText(i, 1, pvValue); -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).trim()); -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).trim()); - -var s = PVUtil.getSeverity(triggerPV); - -color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} - - -table.setCellBackground(i, 3, color); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.py deleted file mode 100644 index 8a24ff6..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.py +++ /dev/null @@ -1,49 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil -# from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -table = widget.getTable() - -#Fill PV Name only once -if widget.getVar("firstTime") == None: - widget.setVar("firstTime", True) - i=0 - # Fill table only with non EGU pv's - for pv in pvs: - # earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().strip()) - if not pv.isConnected(): - table.setCellText(i/2, 1, "Disconnected") - i+=1 - # Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if widget.getPropertyValue("name") == 'PLCIOCDetailsTable': - if display.getMacroValue("SHOW_PLC_IOC") == "true": - widget.setPropertyValue("visible", "true") - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true") - -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -pvValue = PVUtil.getString(triggerPV).strip(); -eugValue = table.getCellText(i, 4); -if eugValue != "": - pvValue = pvValue+" "+eugValue; -table.setCellText(i, 1, pvValue) -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).strip()) -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).strip()) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i, 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.js deleted file mode 100644 index 6a59a92..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.js +++ /dev/null @@ -1,92 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -// from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -var func = display.getPropertyValue("name"); -var type = widget.getPropertyValue("name"); -var widgetType = "ellipse"; -var varName = "XXXXXXX"; - -if (type.indexOf("PSH") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("PCF") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("SRV") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("PLC") != -1) { - varName = "-PLCHLTS"; -} -if (type.indexOf("COM") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("CHS") != -1) { - varName = "-SYSHLTS"; -} -// if ("IOM" in type.indexOf() != -1) { -// varName = "-BS"; -if (type.indexOf("CUB") != -1) { - varName = "-CUBHLTS"; -} -if (type.indexOf("Box") != -1) { - widgetType = "rectangle"; -} - -if (triggerPV.getName().indexOf(varName) != -1) { -// ConsoleUtil.writeInfo("Trigger PV found) { " +triggerPV.getName()); - - var s = PVUtil.getSeverity(triggerPV); - - color = ColorFontUtil.WHITE; - if( s == 0) { - color = ColorFontUtil.GREEN; - } - else if( s == 1) { - color = ColorFontUtil.RED; - } - else if( s == 2) { - color = ColorFontUtil.YELLOW; - } - else if( s == 3) { - color = ColorFontUtil.PINK; - } - - if ("ellipse" == widgetType) { - widget.setPropertyValue("foreground_color", color); - } - - var tooltip = PVUtil.getString(triggerPV); - widget.setPropertyValue("tooltip", tooltip); -} - -if (type.indexOf("IOM") != -1) { - if (triggerPV.getName().indexOf(".SIMM") == -1) { - var s = PVUtil.getSeverity(triggerPV); - var color = ColorFontUtil.WHITE; - if( s == 0) { - color = ColorFontUtil.GREEN; - } - else if( s == 1) { - color = ColorFontUtil.RED; - } - else if( s == 2) { - color = ColorFontUtil.YELLOW; - } - else if( s == 3) { - color = ColorFontUtil.PINK; - } - else if( s == 4) { - color = ColorFontUtil.GREEN; - } - - widget.setPropertyValue("foreground_color", color); - - var tooltip = PVUtil.getString(triggerPV); - widget.setPropertyValue("tooltip", tooltip); - } -} - - - diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.py deleted file mode 100644 index 30565c2..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.py +++ /dev/null @@ -1,71 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil -# from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -func = display.getPropertyValue("name") -type = widget.getPropertyValue("name") -widgetType = "ellipse"; -varName = "XXXXXXX"; - -if "PSH" in type: - varName = "-SYSHLTS"; -if "PCF" in type: - varName = "-SYSHLTS"; -if "SRV" in type: - varName = "-SYSHLTS"; -if "PLC" in type: - varName = "-PLCHLTS"; -if "COM" in type: - varName = "-SYSHLTS"; -if "CHS" in type: - varName = "-SYSHLTS"; -# if "IOM" in type: -# varName = "-BS"; -if "CUB" in type: - varName = "-CUBHLTS"; -if "Box" in type: - widgetType = "rectangle"; - -if varName in triggerPV.getName(): -# ConsoleUtil.writeInfo("Trigger PV found: " +triggerPV.getName()); - - s = PVUtil.getSeverity(triggerPV) - - color = ColorFontUtil.WHITE - if s == 0: - color = ColorFontUtil.GREEN - elif s == 1: - color = ColorFontUtil.RED - elif s == 2: - color = ColorFontUtil.YELLOW - elif s == 3: - color = ColorFontUtil.PINK - elif s == 4: - color = ColorFontUtil.GREEN - - if "ellipse" == widgetType: - widget.setPropertyValue("foreground_color", color) - - tooltip = PVUtil.getString(triggerPV) - widget.setPropertyValue("tooltip", tooltip) - -if "IOM" in type: - if ".SIMM" not in triggerPV.getName(): - - s = PVUtil.getSeverity(triggerPV) - color = ColorFontUtil.WHITE - if s == 0: - color = ColorFontUtil.GREEN - elif s == 1: - color = ColorFontUtil.RED - elif s == 2: - color = ColorFontUtil.YELLOW - elif s == 3: - color = ColorFontUtil.PINK - elif s == 4: - color = ColorFontUtil.GREEN - - widget.setPropertyValue("foreground_color", color) - - tooltip = PVUtil.getString(triggerPV) - widget.setPropertyValue("tooltip", tooltip) \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.js deleted file mode 100644 index 7136451..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.js +++ /dev/null @@ -1,57 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var nbColPVs=2; -// find index of the trigger PV -var i=0; -while (i< pvs.length) { -if(pvs[i].isConnected()==true){ - - -var s = PVUtil.getSeverity(pvs[i]); -}else{ - -var s =3; -} - -var color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} -else if( s == 4) { - color = ColorFontUtil.GREEN; -} - - -if (pvs[i].getName().indexOf("-CUBHLTS") != -1) { - if(pvs[i].isConnected()==true){ - table.setCellText(i/nbColPVs, 3, PVUtil.getString(pvs[i])); - }else{ - table.setCellText(i/nbColPVs, 3, "disconnected"); - } - table.setCellBackground(i/nbColPVs, 3, color); -} -if (pvs[i].getName().indexOf("-PLCHLTS") != -1) { -if(pvs[i].isConnected()==true){ - table.setCellText(i/nbColPVs, 4, PVUtil.getString(pvs[i])); - }else{ - table.setCellText(i/nbColPVs, 4, "disconnected"); - } - table.setCellBackground(i/nbColPVs, 4, color); -} -i=i+1; -} diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.py deleted file mode 100644 index c3eaa05..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.py +++ /dev/null @@ -1,31 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() -nbColPVs=2 -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK -elif s == 4: - color = ColorFontUtil.GREEN -# table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color) -if "-CUBHLTS" in triggerPV.getName(): - table.setCellText(i/nbColPVs, 3, PVUtil.getString(triggerPV)) - table.setCellBackground(i/nbColPVs, 3, color) -if "-PLCHLTS" in triggerPV.getName(): - table.setCellText(i/nbColPVs, 4, PVUtil.getString(triggerPV)) - table.setCellBackground(i/nbColPVs, 4, color) diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.js deleted file mode 100644 index 2502e17..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.js +++ /dev/null @@ -1,55 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); - - -var table = widget.getTable(); - -//Fill PV Name only once -if (widget.getVar("firstTime") == null) -{ - widget.setVar("firstTime", true); - - for (var i=0;pv=pvs[i];i++) { - // earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().trim()) - if (!pv.isConnected()) { - table.setCellText(i, 1, "Disconnected"); - } - } - // Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if (widget.getPropertyValue("name") == 'PLCIOCDetailsTable') { - if (display.getMacroValue("SHOW_PLC_IOC") == "true") { - widget.setPropertyValue("visible", "true"); - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true"); - } - } -} - - -//find index of the trigger PV -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -table.setCellText(i, 1, PVUtil.getString(triggerPV).trim()); -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).trim()); -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).trim()); - -var s = PVUtil.getSeverity(triggerPV); - -var color = ColorFontUtil.WHITE -color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} -table.setCellBackground(i, 3, color); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.py deleted file mode 100644 index a0574c6..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.py +++ /dev/null @@ -1,45 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() - -#Fill PV Name only once -if widget.getVar("firstTime") == None: - widget.setVar("firstTime", True) - i=0 - for pv in pvs: - # earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().strip()) - if not pv.isConnected(): - table.setCellText(i, 1, "Disconnected") - i+=1 - # Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if widget.getPropertyValue("name") == 'PLCIOCDetailsTable': - if display.getMacroValue("SHOW_PLC_IOC") == "true": - widget.setPropertyValue("visible", "true") - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true") - - -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -table.setCellText(i, 1, PVUtil.getString(triggerPV).strip()) -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).strip()) -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).strip()) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i, 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInOverview.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInOverview.js deleted file mode 100644 index e3d7232..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInOverview.js +++ /dev/null @@ -1,74 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil.*); - -var table = widget.getTable(); -var func = display.getPropertyValue("name"); - -var i = 0; -var row = 0; -var col = 3; -// ConsoleUtil.writeInfo("Trigger PV : " + triggerPV.getName()); -while (triggerPV != pvs[i]) { -// ConsoleUtil.writeInfo("pvs[i] : " + pvs[i].getName()); - if (col == 5) { - if (pvs[i+1].getName().indexOf("PLC-IOCHLTS") != -1) { - col = col+1; - } - else { - col = 3 - row = row+1; - } - } - else if (col == 3) { - if ( (pvs[i+1].getName().indexOf("-SYSHLTS") != -1) || (pvs[i+1].getName().indexOf("-HLTS") != -1)) { - col = 3; - row = row+1; - } - else if (pvs[i+1].getName().indexOf("-IOCHLTS") != -1) { - if (pvs[i+1].getName().indexOf("CORE-IOCHLTS") != -1) { - col = 4; - } - else { - col = 5; - } - } - else { - col += 1; - if (col > 5) { - row += 1; - col = 3; - } - } - } - else { - col += 1; - if (col > 6) { - row += 1; - col = 3; - } - } - i += 1; -} - -table.setCellText(row, col, PVUtil.getString(triggerPV)) - -var s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if( s == 0) { - color = ColorFontUtil.GREEN -} -else if( s == 1) { - color = ColorFontUtil.RED -} -else if( s == 2) { - color = ColorFontUtil.YELLOW -} -else if( s == 3) { - color = ColorFontUtil.PINK -} -else if( s == 3) { - color = ColorFontUtil.PINK -} -table.setCellBackground(row, col, color) diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInOverview.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInOverview.py deleted file mode 100644 index fde230a..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInOverview.py +++ /dev/null @@ -1,55 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil -from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -table = widget.getTable() -func = display.getPropertyValue("name") - -i = 0 -row = 0 -col = 3 -# ConsoleUtil.writeInfo("Trigger PV : " + triggerPV.getName()); -while triggerPV != pvs[i]: -# ConsoleUtil.writeInfo("pvs[i] : " + pvs[i].getName()); - if col == 5: - if "PLC-IOCHLTS" in pvs[i+1].getName(): - col = col+1 - else: - col = 3 - row = row+1 - elif col == 3: - if "-SYSHLTS" in pvs[i+1].getName() or "-HLTS" in pvs[i+1].getName(): - col =3 - row = row+1 - elif "-IOCHLTS" in pvs[i+1].getName(): - if "CORE-IOCHLTS" in pvs[i+1].getName(): - col = 4 - else: - col = 5 - else: - col += 1 - if col > 5: - row += 1 - col = 3 - else: - col += 1 - if col > 6: - row += 1 - col = 3 - i += 1 - -table.setCellText(row, col, PVUtil.getString(triggerPV)) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(row, col, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.js deleted file mode 100644 index 20f083d..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.js +++ /dev/null @@ -1,34 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil.*); - -var table = widget.getTable(); -var nbColPVs=4; - -//find index of the trigger PV - -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -table.setCellText(i/nbColPVs, i%nbColPVs +3, PVUtil.getString(triggerPV)); - -var s = PVUtil.getSeverity(triggerPV); - -var color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} - -table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color); - diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.py deleted file mode 100644 index 28e8d36..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.py +++ /dev/null @@ -1,26 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() -nbColPVs=4 -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -table.setCellText(i/nbColPVs, i%nbColPVs +3, PVUtil.getString(triggerPV)) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.js deleted file mode 100644 index a94ca00..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.js +++ /dev/null @@ -1,31 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); - - -var table = widget.getTable(); -var nbColPVs=3; -//find index of the trigger PV -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -table.setCellText(i/nbColPVs, i%nbColPVs +3, PVUtil.getString(triggerPV)); - -var s = PVUtil.getSeverity(triggerPV); - -var color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} - -table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.py deleted file mode 100644 index a127b25..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.py +++ /dev/null @@ -1,27 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() -nbColPVs = 3 -#find index of the trigger PV -i = 0 -while triggerPV != pvs[i]: - i += 1 - - -table.setCellText(i / nbColPVs, i % nbColPVs + 3, PVUtil.getString(triggerPV)) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i / nbColPVs, i % nbColPVs + 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/IOCDetailsTableSelectionMonitor.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/IOCDetailsTableSelectionMonitor.js deleted file mode 100644 index 7e7b51c..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/IOCDetailsTableSelectionMonitor.js +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("SystemDetailsTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-IOC_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/PLCDetailsTableSelectionMonitor.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/PLCDetailsTableSelectionMonitor.js deleted file mode 100644 index dc1af0c..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/PLCDetailsTableSelectionMonitor.js +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("GeneralTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-PLC_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/PLCsTableSelectionMonitor.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/PLCsTableSelectionMonitor.js deleted file mode 100644 index 5598c54..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/PLCsTableSelectionMonitor.js +++ /dev/null @@ -1,29 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); - -var selectionListener = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var selectedrow= table.getSelection(); - var cuName=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - - var macroInput = DataUtil.createMacrosInput(true); - macroInput.put("CU", cuName); - macroInput.put("PHY_NAME", phyName); - macroInput.put("FCT_NAME", fct_name); - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if (cuName.indexOf("P") == 0) { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-PLCDetails.opi", 1, macroInput); - } - else { - ScriptUtil.openOPI(widget, fct_name+"-CubiclePLCDetails.opi", 0, macroInput); - } - } -}; -table.addSelectionChangedListener(selectionListener); - diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/PLCsTableSelectionMonitor.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/PLCsTableSelectionMonitor.py deleted file mode 100644 index 0f8c3a7..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/PLCsTableSelectionMonitor.py +++ /dev/null @@ -1,27 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuName="" - phyName="" - for row in selection: - phyName=row[1] - cuName=row[0]; - # change $(CU) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if cuName.startswith('P'): - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-PLCDetails.opi", 1, macroInput) - else: - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CubiclePLCDetails.opi", 0, macroInput) -table.addSelectionChangedListener(SelectionListener()) \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ServersTableSelectionMonitor.js b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ServersTableSelectionMonitor.js deleted file mode 100644 index c36ff86..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ServersTableSelectionMonitor.js +++ /dev/null @@ -1,26 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - - var selectedrow= table.getSelection(); - var cuName=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - - // change $(CU) substitution - var macroInput = DataUtil.createMacrosInput(true); - macroInput.put("CU", cuName); - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name); - macroInput.put("SHOW_PLC_IOC", "false"); - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(widget, fct_name+"-"+cuName+"-SRVDetails.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ServersTableSelectionMonitor.py b/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ServersTableSelectionMonitor.py deleted file mode 100644 index bf77d44..0000000 --- a/EC-GN-JA-PCF/src/main/boy/sysm/scripts/ServersTableSelectionMonitor.py +++ /dev/null @@ -1,26 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuName="" - phyName="" - for row in selection: - phyName=row[1] - cuName=row[0] - - # change $(CU) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("SHOW_PLC_IOC", "false") - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CtrlUnitDetails.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.cpp b/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.cpp deleted file mode 100644 index ac3464d..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.cpp +++ /dev/null @@ -1,366 +0,0 @@ -/** - * @file JAEPICSCAInput.cpp - * @brief Source file for class JAEPICSCAInput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 JAEPICSCAInput (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include "JAEPICSCAInput.h" - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "MemoryMapInputBroker.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -namespace MARTe { -/** - * @brief Callback function for the ca_create_subscription. Single point of access which - * delegates the events to the corresponding JAEPICSPV instance. - */ -static FastPollingMutexSem eventCallbackFastMux; -/*lint -e{1746} function must match required prototype and thus cannot be changed to constant reference.*/ -void JAEPICSCAInputEventCallback(struct event_handler_args const args) { - (void) eventCallbackFastMux.FastLock(); - PVWrapper *pv = static_cast(args.usr); - if (pv != NULL_PTR(PVWrapper *)) { - (void) MemoryOperationsHelper::Copy(pv->memory, args.dbr, pv->memorySize); - } - eventCallbackFastMux.FastUnLock(); -} -} -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -JAEPICSCAInput::JAEPICSCAInput() : - DataSourceI(), EmbeddedServiceMethodBinderI(), executor(*this) { - pvs = NULL_PTR(PVWrapper *); - stackSize = THREADS_DEFAULT_STACKSIZE * 4u; - cpuMask = 0xffu; - eventCallbackFastMux.Create(); -} - -/*lint -e{1551} must stop the SingleThreadService in the destructor.*/ -JAEPICSCAInput::~JAEPICSCAInput() { - if (!executor.Stop()) { - if (!executor.Stop()) { - REPORT_ERROR(ErrorManagement::FatalError, "Could not stop SingleThreadService."); - } - } - (void) eventCallbackFastMux.FastLock(); - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - if (pvs[n].memory != NULL_PTR(void *)) { - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].memory); - } - } - delete[] pvs; - } - eventCallbackFastMux.FastUnLock(); -} - -bool JAEPICSCAInput::Initialise(StructuredDataI & data) { - bool ok = DataSourceI::Initialise(data); - if (ok) { - if (!data.Read("CPUs", cpuMask)) { - REPORT_ERROR(ErrorManagement::Information, "No CPUs defined. Using default = %d", cpuMask); - } - if (!data.Read("StackSize", stackSize)) { - REPORT_ERROR(ErrorManagement::Information, "No StackSize defined. Using default = %d", stackSize); - } - executor.SetStackSize(stackSize); - executor.SetCPUMask(cpuMask); - } - if (ok) { - ok = data.MoveRelative("Signals"); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Could not move to the Signals section"); - } - if (ok) { - ok = data.Copy(originalSignalInformation); - } - if (ok) { - ok = originalSignalInformation.MoveToRoot(); - } - //Do not allow to add signals in run-time - if (ok) { - ok = signalsDatabase.MoveRelative("Signals"); - } - if (ok) { - ok = signalsDatabase.Write("Locked", 1u); - } - if (ok) { - ok = signalsDatabase.MoveToAncestor(1u); - } - } - if (ok) { - ok = data.MoveToAncestor(1u); - } - return ok; -} - -bool JAEPICSCAInput::SetConfiguredDatabase(StructuredDataI & data) { - bool ok = DataSourceI::SetConfiguredDatabase(data); - //Check the signal index of the timing signal. - uint32 nOfSignals = GetNumberOfSignals(); - if (ok) { - ok = (nOfSignals > 0u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one signal shall be defined"); - } - } - if (ok) { - //Do not allow samples - uint32 functionNumberOfSignals = 0u; - uint32 n; - if (GetFunctionNumberOfSignals(InputSignals, 0u, functionNumberOfSignals)) { - for (n = 0u; (n < functionNumberOfSignals) && (ok); n++) { - uint32 nSamples; - ok = GetFunctionSignalSamples(InputSignals, 0u, n, nSamples); - if (ok) { - ok = (nSamples == 1u); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The number of samples shall be exactly 1"); - } - } - } - } - if (ok) { - pvs = new PVWrapper[nOfSignals]; - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - pvs[n].memory = NULL_PTR(void *); - } - for (n = 0u; (n < nOfSignals) && (ok); n++) { - //Note that the RealTimeApplicationConfigurationBuilder is allowed to change the order of the signals w.r.t. to the originalSignalInformation - StreamString orderedSignalName; - ok = GetSignalName(n, orderedSignalName); - if (ok) { - //Have to mix and match between the original setting of the DataSource signal - //and the ones which are later added by the RealTimeApplicationConfigurationBuilder - ok = originalSignalInformation.MoveRelative(orderedSignalName.Buffer()); - } - StreamString pvName; - if (ok) { - ok = originalSignalInformation.Read("PVName", pvName); - if (!ok) { - uint32 nn = n; - REPORT_ERROR(ErrorManagement::ParametersError, "No PVName specified for signal at index %d", nn); - } - } - TypeDescriptor td = GetSignalType(n); - if (ok) { - (void) StringHelper::CopyN(&pvs[n].pvName[0], pvName.Buffer(), PV_NAME_MAX_SIZE); - if (td == CharString) { - pvs[n].pvType = DBR_STRING; - } - else if (td == Character8Bit) { - pvs[n].pvType = DBR_STRING; - } - else if (td == SignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == UnsignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == SignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == UnsignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == SignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == UnsignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == Float32Bit) { - pvs[n].pvType = DBR_FLOAT; - } - else if (td == Float64Bit) { - pvs[n].pvType = DBR_DOUBLE; - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Type %s is not supported", TypeDescriptor::GetTypeNameFromTypeDescriptor(td)); - ok = false; - } - } - uint32 numberOfElements = 1u; - if (ok) { - ok = GetSignalNumberOfElements(n, numberOfElements); - } - if (ok) { - if (pvs[n].pvType == DBR_STRING) { - ok = (numberOfElements == 40u); - } - if (!ok) { - //Could support arrays of strings with multiples of char8[40] - REPORT_ERROR(ErrorManagement::ParametersError, "Strings shall be defined with 40 elements char8[40]. Arrays of strings are not currently supported"); - } - } - if (ok) { - pvs[n].numberOfElements = numberOfElements; - } - if (ok) { - pvs[n].memorySize = td.numberOfBits; - pvs[n].memorySize /= 8u; - pvs[n].memorySize *= numberOfElements; - pvs[n].memory = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - ok = originalSignalInformation.MoveToAncestor(1u); - } - } - } - - if (ok) { - ok = (executor.Start() == ErrorManagement::NoError); - } - return ok; -} - -bool JAEPICSCAInput::AllocateMemory() { - return true; -} - -uint32 JAEPICSCAInput::GetNumberOfMemoryBuffers() { - return 1u; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The signalAddress is independent of the bufferIdx.*/ -bool JAEPICSCAInput::GetSignalMemoryBuffer(const uint32 signalIdx, const uint32 bufferIdx, void*& signalAddress) { - bool ok = (pvs != NULL_PTR(PVWrapper *)); - if (ok) { - ok = (signalIdx < GetNumberOfSignals()); - } - if (ok) { - //lint -e{613} pvs cannot as otherwise ok would be false - signalAddress = pvs[signalIdx].memory; - } - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The brokerName only depends on the direction */ -const char8* JAEPICSCAInput::GetBrokerName(StructuredDataI& data, const SignalDirection direction) { - const char8* brokerName = ""; - if (direction == InputSignals) { - brokerName = "MemoryMapInputBroker"; - } - return brokerName; -} - -bool JAEPICSCAInput::GetInputBrokers(ReferenceContainer& inputBrokers, const char8* const functionName, void* const gamMemPtr) { - ReferenceT broker("MemoryMapInputBroker"); - bool ok = broker->Init(InputSignals, *this, functionName, gamMemPtr); - if (ok) { - ok = inputBrokers.Insert(broker); - } - - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: OutputBrokers are not supported. Function returns false irrespectively of the parameters.*/ -bool JAEPICSCAInput::GetOutputBrokers(ReferenceContainer& outputBrokers, const char8* const functionName, void* const gamMemPtr) { - return false; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: NOOP at StateChange, independently of the function parameters.*/ -bool JAEPICSCAInput::PrepareNextState(const char8* const currentStateName, const char8* const nextStateName) { - return true; -} - -ErrorManagement::ErrorType JAEPICSCAInput::Execute(ExecutionInfo& info) { - ErrorManagement::ErrorType err = ErrorManagement::NoError; - if (info.GetStage() == ExecutionInfo::StartupStage) { - (void) eventCallbackFastMux.FastLock(); - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_context_create(ca_enable_preemptive_callback) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_enable_preemptive_callback failed"); - } - - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_create_channel(&pvs[n].pvName[0], NULL_PTR(caCh *), NULL_PTR(void *), 20u, &pvs[n].pvChid) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_create_channel failed for PV with name %s", pvs[n].pvName); - } - if (err.ErrorsCleared()) { - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_create_subscription(pvs[n].pvType, pvs[n].numberOfElements, pvs[n].pvChid, DBE_VALUE, &JAEPICSCAInputEventCallback, &pvs[n], - &pvs[n].pvEvid) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_create_subscription failed for PV %s", pvs[n].pvName); - } - } - } - } - eventCallbackFastMux.FastUnLock(); - } - else if (info.GetStage() != ExecutionInfo::BadTerminationStage) { - Sleep::Sec(1.0F); - } - else { - (void) eventCallbackFastMux.FastLock(); - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - (void) ca_clear_subscription(pvs[n].pvEvid); - (void) ca_clear_event(pvs[n].pvEvid); - (void) ca_clear_channel(pvs[n].pvChid); - } - } - ca_detach_context(); - ca_context_destroy(); - eventCallbackFastMux.FastUnLock(); - } - - return err; -} - -uint32 JAEPICSCAInput::GetStackSize() const { - return stackSize; -} - -uint32 JAEPICSCAInput::GetCPUMask() const { - return cpuMask; -} - -bool JAEPICSCAInput::Synchronise() { - return false; -} - -CLASS_REGISTER(JAEPICSCAInput, "1.0") - -} - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.h b/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.h deleted file mode 100644 index 3a5071d..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.h +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @file EPICSCAInput.h - * @brief Header file for class EPICSCAInput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAInput - * 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 JAEPICSCAINPUT_H_ -#define JAEPICSCAINPUT_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" -#include "EmbeddedServiceMethodBinderI.h" -#include "EventSem.h" -#include "SingleThreadService.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -/** - * Maximum size that a PV name may have - */ -/*lint -esym(551, MARTe::PV_NAME_MAX_SIZE) the symbol is used to define the size of PVWrapper below*/ -const uint32 PV_NAME_MAX_SIZE = 64u; - -/** - * Wraps a PV - */ -struct PVWrapper { - /** - * The channel identifier - */ - chid pvChid; - /** - * The event identifier - */ - evid pvEvid; - /** - * The PV type - */ - chtype pvType; - /** - * The memory of the signal associated to this channel - */ - void *memory; - void *previousValue; - /** - * The number of elements > 0 - */ - uint32 numberOfElements; - /** - * The memory size - */ - uint32 memorySize; - /** - * The PV name - */ - char8 pvName[PV_NAME_MAX_SIZE]; -}; - -/** - * @brief A DataSource which allows to retrieved data from any number of PVs using the EPICS channel access client protocol. - * Data is asynchronously retrieved using ca_create_subscriptions in the context of a different thread (w.r.t. to the real-time thread). - * - * The configuration syntax is (names are only given as an example): - * - *
- * +EPICSCAInput_1 = {
- *     Class = JAEPICSCA::JAEPICSCAInput
- *     StackSize = 1048576 //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u
- *     CPUs = 0xff //Optional the affinity of the EmbeddedThread (where the EPICS context is attached).
- *     Signals = {
- *          PV1 = { //At least one shall be defined
- *             PVName = My::PV1 //Compulsory. Name of the PV.
- *             Type = uint32 //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, uint64, int64, float32 and float64
- *             NumberOfElements = 1 //Arrays also supported
- *          }
- *          ...
- *     }
- * }
- *
- * 
- */ -class JAEPICSCAInput: public DataSourceI, public EmbeddedServiceMethodBinderI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Default constructor. NOOP. - */ - JAEPICSCAInput(); - - /** - * @brief Destructor. - * @details TODO. - */ - virtual ~JAEPICSCAInput(); - - /** - * @brief See DataSourceI::AllocateMemory. NOOP. - * @return true. - */ - virtual bool AllocateMemory(); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @return 1. - */ - virtual uint32 GetNumberOfMemoryBuffers(); - - /** - * @brief See DataSourceI::GetSignalMemoryBuffer. - * @pre - * SetConfiguredDatabase - */ - virtual bool GetSignalMemoryBuffer(const uint32 signalIdx, - const uint32 bufferIdx, - void *&signalAddress); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @details Only InputSignals are supported. - * @return MemoryMapInputBroker. - */ - virtual const char8 *GetBrokerName(StructuredDataI &data, - const SignalDirection direction); - - /** - * @brief See DataSourceI::GetInputBrokers. - * @details adds a memory MemoryMapInputBroker instance to the inputBrokers - * @return true. - */ - virtual bool GetInputBrokers(ReferenceContainer &inputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::GetOutputBrokers. - * @return false. - */ - virtual bool GetOutputBrokers(ReferenceContainer &outputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::PrepareNextState. NOOP. - * @return true. - */ - virtual bool PrepareNextState(const char8 * const currentStateName, - const char8 * const nextStateName); - - /** - * @brief Loads and verifies the configuration parameters detailed in the class description. - * @return true if all the mandatory parameters are correctly specified and if the specified optional parameters have valid values. - */ - virtual bool Initialise(StructuredDataI & data); - - /** - * @brief Final verification of all the parameters. Setup of the memory required to hold all the signals. - * @details This method verifies that all the parameters requested by the GAMs interacting with this DataSource - * are valid and consistent with the parameters set during the initialisation phase. - * In particular the following conditions shall be met: - * - All the signals have the PVName defined - * - All the signals have one of the following types: uint32, int32, float32 or float64. - * @return true if all the parameters are valid and the conditions above are met. - */ - virtual bool SetConfiguredDatabase(StructuredDataI & data); - - /** - * @brief Gets the affinity of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - * @return the the affinity of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - */ - uint32 GetCPUMask() const; - - /** - * @brief Gets the stack size of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - * @return the stack size of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - */ - uint32 GetStackSize() const; - - /** - * @brief Provides the context to execute all the EPICS relevant calls. - * @details Executes in the context of a spawned thread the following EPICS calls: - * ca_context_create, ca_create_channel, ca_create_subscription, ca_clear_subscription, - * ca_clear_event, ca_clear_channel, ca_detach_context and ca_context_destroy - * @return ErrorManagement::NoError if all the EPICS calls return without any error. - */ - virtual ErrorManagement::ErrorType Execute(ExecutionInfo & info); - - /** - * @brief See DataSourceI::Synchronise. - * @return false. - */ - virtual bool Synchronise(); - - /** - * @brief Registered as the ca_create_subscription callback function. - * It calls updates the memory of the corresponding PV variable. - */ - friend void JAEPICSCAInputEventCallback(struct event_handler_args args); - -private: - - /** - * List of PVs. - */ - PVWrapper *pvs; - - /** - * The CPU mask for the executor - */ - uint32 cpuMask; - - /** - * The stack size - */ - uint32 stackSize; - - /** - * The EmbeddedThread where the ca_pend_event is executed. - */ - SingleThreadService executor; - - /** - * Stores the configuration information received at Initialise. - */ - ConfigurationDatabase originalSignalInformation; -}; -} - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* EPICSCADATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp b/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp deleted file mode 100644 index 951ed07..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp +++ /dev/null @@ -1,375 +0,0 @@ -/** - * @file EPICSCAOutput.cpp - * @brief Source file for class EPICSCAOutput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAOutput (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include "JAEPICSCAOutput.h" - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "MemoryMapAsyncOutputBroker.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -JAEPICSCAOutput::JAEPICSCAOutput() : - DataSourceI() { - pvs = NULL_PTR(PVWrapper *); - stackSize = THREADS_DEFAULT_STACKSIZE * 4u; - cpuMask = 0xffu; - numberOfBuffers = 0u; - ignoreBufferOverrun = 1u; - threadContextSet = false; -} - -/*lint -e{1551} must free the memory allocated to the different PVs.*/ -JAEPICSCAOutput::~JAEPICSCAOutput() { - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - if (pvs[n].pvChid != NULL_PTR(chid)) { - (void) ca_clear_channel(pvs[n].pvChid); - } - if (pvs[n].memory != NULL_PTR(void *)) { - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].memory); - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].previousValue); - } - } - delete[] pvs; - } -} - -bool JAEPICSCAOutput::Initialise(StructuredDataI & data) { - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("NumberOfBuffers", numberOfBuffers); - - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "NumberOfBuffers shall be specified"); - } - } - if (ok) { - if (!data.Read("CPUs", cpuMask)) { - REPORT_ERROR(ErrorManagement::Information, "No CPUs defined. Using default = %d", cpuMask); - } - if (!data.Read("StackSize", stackSize)) { - REPORT_ERROR(ErrorManagement::Information, "No StackSize defined. Using default = %d", stackSize); - } - if (!data.Read("IgnoreBufferOverrun", ignoreBufferOverrun)) { - REPORT_ERROR(ErrorManagement::Information, "No IgnoreBufferOverrun defined. Using default = %d", ignoreBufferOverrun); - } - - } - if (ok) { - ok = data.MoveRelative("Signals"); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Could not move to the Signals section"); - } - if (ok) { - ok = data.Copy(originalSignalInformation); - } - if (ok) { - ok = originalSignalInformation.MoveToRoot(); - } - //Do not allow to add signals in run-time - if (ok) { - ok = signalsDatabase.MoveRelative("Signals"); - } - if (ok) { - ok = signalsDatabase.Write("Locked", 1u); - } - if (ok) { - ok = signalsDatabase.MoveToAncestor(1u); - } - } - if (ok) { - ok = data.MoveToAncestor(1u); - } - return ok; -} - -bool JAEPICSCAOutput::SetConfiguredDatabase(StructuredDataI & data) { - bool ok = DataSourceI::SetConfiguredDatabase(data); - //Check the signal index of the timing signal. - uint32 nOfSignals = GetNumberOfSignals(); - if (ok) { - ok = (nOfSignals > 0u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one signal shall be defined"); - } - } - if (ok) { - //Do not allow samples - uint32 functionNumberOfSignals = 0u; - uint32 n; - if (GetFunctionNumberOfSignals(OutputSignals, 0u, functionNumberOfSignals)) { - for (n = 0u; (n < functionNumberOfSignals) && (ok); n++) { - uint32 nSamples; - ok = GetFunctionSignalSamples(OutputSignals, 0u, n, nSamples); - if (ok) { - ok = (nSamples == 1u); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The number of samples shall be exactly 1"); - } - } - } - } - //Only one and one GAM allowed to interact with this DataSourceI - if (ok) { - ok = (GetNumberOfFunctions() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Exactly one Function allowed to interact with this DataSourceI"); - } - } - - if (ok) { - pvs = new PVWrapper[nOfSignals]; - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - pvs[n].memory = NULL_PTR(void *); //value to write PV - pvs[n].previousValue = NULL_PTR(void *); //written value - pvs[n].pvChid = NULL_PTR(chid); - - } - for (n = 0u; (n < nOfSignals) && (ok); n++) { - //Note that the RealTimeApplicationConfigurationBuilder is allowed to change the order of the signals w.r.t. to the originalSignalInformation - StreamString orderedSignalName; - ok = GetSignalName(n, orderedSignalName); - if (ok) { - //Have to mix and match between the original setting of the DataSource signal - //and the ones which are later added by the RealTimeApplicationConfigurationBuilder - ok = originalSignalInformation.MoveRelative(orderedSignalName.Buffer()); - } - StreamString pvName; - if (ok) { - ok = originalSignalInformation.Read("PVName", pvName); - if (!ok) { - uint32 nn = n; - REPORT_ERROR(ErrorManagement::ParametersError, "No PVName specified for signal at index %d", nn); - } - } - TypeDescriptor td = GetSignalType(n); - - if (ok) { - (void) StringHelper::CopyN(&pvs[n].pvName[0], pvName.Buffer(), PV_NAME_MAX_SIZE); - if (td == CharString) { - pvs[n].pvType = DBR_STRING; - } - else if (td == Character8Bit) { - pvs[n].pvType = DBR_STRING; - } - else if (td == SignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == UnsignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == SignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == UnsignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == SignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == UnsignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == Float32Bit) { - pvs[n].pvType = DBR_FLOAT; - } - else if (td == Float64Bit) { - pvs[n].pvType = DBR_DOUBLE; - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Type %s is not supported", TypeDescriptor::GetTypeNameFromTypeDescriptor(td)); - ok = false; - } - } - uint32 numberOfElements = 1u; - if (ok) { - ok = GetSignalNumberOfElements(n, numberOfElements); - } - if (ok) { - if (pvs[n].pvType == DBR_STRING) { - ok = (numberOfElements == 40u); - } - if (!ok) { - //Could support arrays of strings with multiples of char8[40] - REPORT_ERROR(ErrorManagement::ParametersError, - "Strings shall be defined with 40 elements char8[40]. Arrays of strings are not currently supported"); - } - } - if (ok) { - pvs[n].numberOfElements = numberOfElements; - } - if (ok) { - pvs[n].memorySize = td.numberOfBits; - pvs[n].memorySize /= 8u; - pvs[n].memorySize *= numberOfElements; - pvs[n].memory = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - pvs[n].previousValue = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - ok = originalSignalInformation.MoveToAncestor(1u); - } - } - } - return ok; -} - -bool JAEPICSCAOutput::AllocateMemory() { - return true; -} - -uint32 JAEPICSCAOutput::GetNumberOfMemoryBuffers() { - return 1u; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The signalAddress is independent of the bufferIdx.*/ -bool JAEPICSCAOutput::GetSignalMemoryBuffer(const uint32 signalIdx, const uint32 bufferIdx, void*& signalAddress) { - bool ok = (pvs != NULL_PTR(PVWrapper *)); - if (ok) { - ok = (signalIdx < GetNumberOfSignals()); - } - if (ok) { - //lint -e{613} pvs cannot as otherwise ok would be false - signalAddress = pvs[signalIdx].memory; - } - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The brokerName only depends on the direction */ -const char8* JAEPICSCAOutput::GetBrokerName(StructuredDataI& data, const SignalDirection direction) { - const char8* brokerName = ""; - if (direction == OutputSignals) { - brokerName = "MemoryMapAsyncOutputBroker"; - } - return brokerName; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: InputBrokers are not supported. Function returns false irrespectively of the parameters.*/ -bool JAEPICSCAOutput::GetInputBrokers(ReferenceContainer& inputBrokers, const char8* const functionName, void* const gamMemPtr) { - return false; -} - -bool JAEPICSCAOutput::GetOutputBrokers(ReferenceContainer& outputBrokers, const char8* const functionName, void* const gamMemPtr) { - ReferenceT broker("MemoryMapAsyncOutputBroker"); - bool ok = broker->InitWithBufferParameters(OutputSignals, *this, functionName, gamMemPtr, numberOfBuffers, cpuMask, stackSize); - if (ok) { - ok = outputBrokers.Insert(broker); - broker->SetIgnoreBufferOverrun(ignoreBufferOverrun == 1u); - } - - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: NOOP at StateChange, independently of the function parameters.*/ -bool JAEPICSCAOutput::PrepareNextState(const char8* const currentStateName, const char8* const nextStateName) { - return true; -} - -uint32 JAEPICSCAOutput::GetStackSize() const { - return stackSize; -} - -uint32 JAEPICSCAOutput::GetCPUMask() const { - return cpuMask; -} - -uint32 JAEPICSCAOutput::GetNumberOfBuffers() const { - return numberOfBuffers; -} - -bool JAEPICSCAOutput::Synchronise() { - bool ok = true; - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (!threadContextSet) { - ok = (ca_context_create(ca_enable_preemptive_callback) == ECA_NORMAL); - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_enable_preemptive_callback failed"); - } - threadContextSet = ok; - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - ok = (ca_create_channel(&pvs[n].pvName[0], NULL_PTR(caCh *), NULL_PTR(void *), 20u, &pvs[n].pvChid) == ECA_NORMAL); - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_create_channel failed for PV with name %s", pvs[n].pvName); - } - } - } - } - - //Allow to write event at the first time! - if (threadContextSet) { - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - bool isNewValue = true; - if (pvs[n].pvType == DBR_STRING) { - if(strcmp((char*)pvs[n].memory,(char*)pvs[n].previousValue)==0){ - isNewValue = false; - continue; - } - if(isNewValue){ - ok = (ca_put(pvs[n].pvType, pvs[n].pvChid, pvs[n].memory) == ECA_NORMAL); - memcpy(pvs[n].previousValue,pvs[n].memory, pvs[n].numberOfElements); - } - } - else { - if(memcmp(pvs[n].memory, pvs[n].previousValue, pvs[n].numberOfElements)==0){ - isNewValue = false; - continue; - } - if(isNewValue){ - ok = (ca_array_put(pvs[n].pvType, pvs[n].numberOfElements, pvs[n].pvChid, pvs[n].memory) == ECA_NORMAL); - memcpy(pvs[n].previousValue, pvs[n].memory, pvs[n].numberOfElements); - } - } - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_put failed for PV: %s", pvs[n].pvName); - } - (void) ca_pend_io(0.1); - } - } - } - - return ok; -} - -bool JAEPICSCAOutput::IsIgnoringBufferOverrun() const { - return (ignoreBufferOverrun == 1u); -} - -CLASS_REGISTER(JAEPICSCAOutput, "1.0") - -} - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.h b/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.h deleted file mode 100644 index 5c2de87..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.h +++ /dev/null @@ -1,233 +0,0 @@ -/** - * @file EPICSCAOutput.h - * @brief Header file for class EPICSCAOutput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAOutput - * 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 JAEPICSCAOutput_H_ -#define JAEPICSCAOutput_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" -#include "JAEPICSCAInput.h" -#include "EmbeddedServiceMethodBinderI.h" -#include "EventSem.h" -#include "SingleThreadService.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -//Maximum size that a PV name may have - -/** - * @brief A DataSource which allows to output data into any number of PVs using the EPICS channel access client protocol. - * Data is asynchronously ca_put in the context of a different thread (w.r.t. to the real-time thread). - * - * The configuration syntax is (names are only given as an example): - * - *
- * +EPICSCAOutput_1 = {
- *     Class = EPICSCA::EPICSCAOutput
- *     StackSize = 1048576 //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u
- *     CPUs = 0xff //Optional the affinity of the EmbeddedThread (where the EPICS context is attached).
- *     IgnoreBufferOverrun = 1 //Optional. If true no error will be triggered when the thread that writes into EPICS does not consume the data fast enough.
- *     NumberOfBuffers = 10 //Compulsory. Number of buffers in a circular buffer that asynchronously writes the PV values. Each buffer is capable of holding a copy of all the DataSourceI signals.
- *     Signals = {
- *          PV1 = { //At least one shall be defined
- *             PVName = My::PV1 //Compulsory. Name of the PV.
- *             Type = uint32 //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, float32 and float64
- *          }
- *          ...
- *     }
- * }
- *
- * 
- */ -class JAEPICSCAOutput: public DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Default constructor. NOOP. - */ - JAEPICSCAOutput(); - - /** - * @brief Destructor. - * @details TODO. - */ - virtual ~JAEPICSCAOutput(); - - /** - * @brief See DataSourceI::AllocateMemory. NOOP. - * @return true. - */ - virtual bool AllocateMemory(); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @return 1. - */ - virtual uint32 GetNumberOfMemoryBuffers(); - - /** - * @brief See DataSourceI::GetSignalMemoryBuffer. - * @pre - * SetConfiguredDatabase - */ - virtual bool GetSignalMemoryBuffer(const uint32 signalIdx, - const uint32 bufferIdx, - void *&signalAddress); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @details Only OutputSignals are supported. - * @return MemoryMapAsyncOutputBroker. - */ - virtual const char8 *GetBrokerName(StructuredDataI &data, - const SignalDirection direction); - - /** - * @brief See DataSourceI::GetInputBrokers. - * @return false. - */ - virtual bool GetInputBrokers(ReferenceContainer &inputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::GetOutputBrokers. - * @details adds a memory MemoryMapOutputBroker instance to the outputBrokers - * @return true. - */ - virtual bool GetOutputBrokers(ReferenceContainer &outputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::PrepareNextState. NOOP. - * @return true. - */ - virtual bool PrepareNextState(const char8 * const currentStateName, - const char8 * const nextStateName); - - /** - * @brief Loads and verifies the configuration parameters detailed in the class description. - * @return true if all the mandatory parameters are correctly specified and if the specified optional parameters have valid values. - */ - virtual bool Initialise(StructuredDataI & data); - - /** - * @brief Final verification of all the parameters. Setup of the memory required to hold all the signals. - * @details This method verifies that all the parameters requested by the GAMs interacting with this DataSource - * are valid and consistent with the parameters set during the initialisation phase. - * In particular the following conditions shall be met: - * - All the signals have the PVName defined - * - All the signals have one of the following types: uint32, int32, float32 or float64. - * @return true if all the parameters are valid and the conditions above are met. - */ - virtual bool SetConfiguredDatabase(StructuredDataI & data); - - /** - * @brief Gets the affinity of the thread which is going to be used to asynchronously write data with ca_put. - * @return the affinity of the thread which is going to be used to asynchronously write data with ca_put. - */ - uint32 GetCPUMask() const; - - /** - * @brief Gets the stack size of the thread which is going to be used to asynchronously write data with ca_put. - * @return the stack size of the thread which is going to be used to asynchronously write data with ca_put. - */ - uint32 GetStackSize() const; - - /** - * @brief Gets the number of buffers in the circular buffer that asynchronously writes the PV values. - * @return the number of buffers in the circular buffer that asynchronously writes the PV values. - */ - uint32 GetNumberOfBuffers() const; - - /** - * @brief Provides the context to execute all the EPICS ca_put calls. - * @details Executes in the context of the MemoryMapAsyncOutputBroker thread the following EPICS calls: - * ca_context_create, ca_create_channel, ca_create_subscription, ca_clear_subscription, - * ca_clear_event, ca_clear_channel, ca_detach_context and ca_context_destroy - * @return true if all the EPICS calls return without any error. - */ - virtual bool Synchronise(); - - /** - * @brief Gets if buffer overruns is being ignored (i.e. the consumer thread which writes into EPICS is not consuming the data fast enough). - * @return if true no error is to be triggered when there is a buffer overrun. - */ - bool IsIgnoringBufferOverrun() const; - - -private: - /** - * List of PVs. - */ - PVWrapper *pvs; - - /** - * The CPU mask for the executor - */ - uint32 cpuMask; - - /** - * The stack size - */ - uint32 stackSize; - - /** - * Stores the configuration information received at Initialise. - */ - ConfigurationDatabase originalSignalInformation; - - /** - * The number of buffers for the circular buffer that flushes data into EPICS - */ - uint32 numberOfBuffers; - - /** - * True once the epics thread context is set - */ - bool threadContextSet; - - /** - * If true no error will be triggered when the data cannot be consumed by the thread doing the caputs. - */ - uint32 ignoreBufferOverrun; -}; -} - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* EPICSCADATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/Makefile.gcc deleted file mode 100644 index 1c65faf..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/Makefile.gcc +++ /dev/null @@ -1,29 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc - -LIBRARIES += -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)/ -lca diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/Makefile.inc deleted file mode 100644 index 435df16..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/JAEPICSCA/Makefile.inc +++ /dev/null @@ -1,58 +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=JAEPICSCAOutput.x JAEPICSCAInput.x - -PACKAGE=DataSources - -ROOT_DIR=../../../../obj -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -INCLUDES += -I. -INCLUDES += -I$(EPICS_BASE)/include/ -INCLUDES += -I$(EPICS_BASE)/include/os/Linux/ -INCLUDES += -I$(EPICS_BASE)/include/compiler/gcc/ -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/Scheduler/L5GAMs - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAEPICSCA$(LIBEXT) \ - $(BUILD_DIR)/JAEPICSCA$(DLLEXT) - echo $(OBJS) - -include depends.$(TARGET) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/Makefile b/EC-GN-JA-PCF/src/main/c++/DataSources/Makefile deleted file mode 100644 index fa87195..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/Makefile +++ /dev/null @@ -1,28 +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 $ -# -############################################################# -export TARGET=x86-linux - -include Makefile.gcc \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/DataSources/Makefile.gcc deleted file mode 100644 index e0a2fc4..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/Makefile.gcc +++ /dev/null @@ -1,26 +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. -# -############################################################# - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/DataSources/Makefile.inc deleted file mode 100644 index 59ce9d2..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/Makefile.inc +++ /dev/null @@ -1,42 +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 $ -# -############################################################# -SPB = RandomDataSource.x NI6528.x JAEPICSCA.x - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=../../../obj -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/Makefile.gcc deleted file mode 100644 index 29201d0..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/Makefile.gcc +++ /dev/null @@ -1,30 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc - -LIBRARIES += -L$(CODAC_ROOT)/lib/ -lpxi6528 - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/Makefile.inc deleted file mode 100644 index 24ebd5d..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/Makefile.inc +++ /dev/null @@ -1,53 +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=NI6528.x - -PACKAGE=DataSources - -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 -INCLUDES += -I$(CODAC_ROOT)/include/ - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/NI6528$(LIBEXT) \ - $(BUILD_DIR)/NI6528$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/NI6528.cpp b/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/NI6528.cpp deleted file mode 100644 index 49f62b1..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/NI6528.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @file NI6528.cpp - * @brief Source file for class NI6528 - * @date 01/03/2017 - * @author Andre Neto - * - * @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 NI6528 (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include -#include -#include -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "CompilerTypes.h" -#include "NI6528.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -NI6528::NI6528() : - MARTe::DataSourceI() { - using namespace MARTe; - previousValue = 0u; - value = 0u; - port = 0u; - boardFileDescriptor = 0; -} - -NI6528::~NI6528() { - using namespace MARTe; - (void) pxi6528_close_device(boardFileDescriptor); -} - -bool NI6528::SetConfiguredDatabase(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = (DataSourceI::SetConfiguredDatabase(data)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "DataSourceI::SetConfiguredDatabas() failed"); - } - if (ok) { - ok = (GetNumberOfSignals() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetNumberOfSignals() != 1u"); - } - } - if (ok) { - ok = (GetSignalType(0u) == UnsignedInteger8Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetSignalType(0u) != UnsignedInteger8Bit"); - } - } - - return ok; -} - -bool NI6528::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("Port", port); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The Port shall be specified"); - } - } - if (ok) { - ok = data.Read("DeviceName", deviceName); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The DeviceName shall be specified"); - } - } - int32 ret = pxi6528_open_device(&boardFileDescriptor, deviceName.Buffer(), O_NONBLOCK); - ok = (ret == 0); - if (!ok) { - StreamString err = strerror(-ret); - REPORT_ERROR(ErrorManagement::FatalError, "Could not open device (%s) : %s", deviceName.Buffer(), err.Buffer()); - } - return ok; -} - -bool NI6528::Synchronise() { - using namespace MARTe; - if(previousValue != value){ - int32 ret = (pxi6528_write_port(boardFileDescriptor, port, value) > 0); - previousValue = value; - bool ok = (ret > -1); - if (!ok) { - StreamString err = strerror(-ret); - REPORT_ERROR(ErrorManagement::FatalError, "Could not write to device (%s) : %s", deviceName.Buffer(), err.Buffer()); - } - } - - return true; -} - -bool NI6528::AllocateMemory() { - return true; -} - -bool NI6528::GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress) { - signalAddress = &value; - return true; -} - -const MARTe::char8 *NI6528::GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction) { - using namespace MARTe; - return "MemoryMapSynchronisedOutputBroker"; -} - -bool NI6528::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - return true; -} - -CLASS_REGISTER(NI6528, "1.0") - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/NI6528.h b/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/NI6528.h deleted file mode 100644 index 7074477..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/NI6528/NI6528.h +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file NI6528.h - * @brief Header file for class NI6528 - * @date 07/06/2018 - * @author Andre Neto - * - * @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 NI6528 - * 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 RANDOM_DATASOURCE_H_ -#define RANDOM_DATASOURCE_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief NI6528 simplified data source implementation. - * - * The configuration syntax is (names and signal quantities are only given as an example): - * +NI6528 = { - * Class = NI6528 - * DeviceName = "/dev/pxi6528.0" //Mandatory - * Port = 0 //The port where to write - * Signals = { - * currentValue = {Type = uint8} - * bitmask = {Type = uint8} - * Value = {Type = uint8} - * } - * } - */ -class NI6528: public MARTe::DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Constructor. NOOP. - */ -NI6528 (); - - /** - * @brief Destructor. NOOP. - */ - virtual ~NI6528(); - - /** - * @brief The configuration data detailed in the class description - * @return true if all the compulsory parameters are set. - */ - virtual bool Initialise(MARTe::StructuredDataI & data); - - /** - * @brief Verifies that at most one signal has been set with the correct type (i.e. any integer). - * @return true if the above conditions are met. - */ - virtual bool SetConfiguredDatabase(MARTe::StructuredDataI & data); - - /** - * @brief @see DataSourceI::Synchronise - */ - virtual bool Synchronise(); - - /** - * @brief @see DataSourceI::AllocateMemory - */ - virtual bool AllocateMemory(); - - /** - * @brief @see DataSourceI::GetSignalMemoryBuffer - */ - virtual bool GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress); - - /** - * @return "MemoryMapSynchronisedInputBroker" - */ - virtual const MARTe::char8 *GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction); - - /** - * @brief NOOP - */ - virtual bool PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName); - -private: - /** - * The previous value to write. - */ - MARTe::uint8 previousValue; - - /** - * The bitmask to write value. (new value) = (current value) || (bitmask) && (write value) - */ - MARTe::uint8 bitmask; - - /** - * The value to write. - */ - MARTe::uint8 value; - - /** - * The port number - */ - MARTe::uint32 port; - - /** - * The board file descriptor - */ - pxi6528_device_t boardFileDescriptor; - - /** - * The device name - */ - MARTe::StreamString deviceName; -}; - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* RANDOM_DATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/Makefile.inc deleted file mode 100644 index 0833f11..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/Makefile.inc +++ /dev/null @@ -1,53 +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=RandomDataSource.x - -PACKAGE=DataSources - -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)/RandomDataSource$(LIBEXT) \ - $(BUILD_DIR)/RandomDataSource$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/RandomDataSource.cpp b/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/RandomDataSource.cpp deleted file mode 100644 index bcfc0b0..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/RandomDataSource.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/** - * @file RandomDataSource.cpp - * @brief Source file for class RandomDataSource - * @date 01/03/2017 - * @author Andre Neto - * - * @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 RandomDataSource (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 "AdvancedErrorManagement.h" -#include "CompilerTypes.h" -#include "RandomDataSource.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -RandomDataSource::RandomDataSource() : - MARTe::DataSourceI() { - using namespace MARTe; - seed = 0u; - signalPtr = NULL_PTR(MARTe::char8 *); - signalTypeDescriptor = UnsignedInteger8Bit; -} - -RandomDataSource::~RandomDataSource() { - using namespace MARTe; - if (signalPtr) { - delete[] signalPtr; - } -} - -bool RandomDataSource::SetConfiguredDatabase(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = (DataSourceI::SetConfiguredDatabase(data)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "DataSourceI::SetConfiguredDatabas() failed"); - } - if (ok) { - ok = (GetNumberOfSignals() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetNumberOfSignals() != 1u"); - } - } - if (ok) { - signalTypeDescriptor = GetSignalType(0u); - ok = (signalTypeDescriptor.type == UnsignedInteger); - if (!ok) { - ok = (signalTypeDescriptor.type == SignedInteger); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetSignalType(0u) != Un/SignedInteger"); - } - } - - return ok; -} - -bool RandomDataSource::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("Seed", seed); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The Seed shall be specified"); - } - } - - return ok; -} - -bool RandomDataSource::Synchronise() { - using namespace MARTe; - - if (signalTypeDescriptor.numberOfBits == 8u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 16u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 32u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 64u) { - GetValue(); - } - - return true; -} - -bool RandomDataSource::AllocateMemory() { - signalPtr = new MARTe::char8[signalTypeDescriptor.numberOfBits]; - return true; -} - -bool RandomDataSource::GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress) { - signalAddress = &signalPtr[0]; - return true; -} - -const MARTe::char8 *RandomDataSource::GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction) { - using namespace MARTe; - - static bool firstTime = true; - const char8 * broker;// = NULL_PTR(const char8 *); - if (firstTime) { - broker = "MemoryMapSynchronisedInputBroker"; - } - else { - firstTime = false; - broker = "MemoryMapInputBroker"; - } - return broker; -} - -bool RandomDataSource::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - return true; -} - -CLASS_REGISTER(RandomDataSource, "1.0") - diff --git a/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/RandomDataSource.h b/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/RandomDataSource.h deleted file mode 100644 index 11cade5..0000000 --- a/EC-GN-JA-PCF/src/main/c++/DataSources/RandomDataSource/RandomDataSource.h +++ /dev/null @@ -1,137 +0,0 @@ -/** - * @file RandomDataSource.h - * @brief Header file for class RandomDataSource - * @date 07/06/2018 - * @author Andre Neto - * - * @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 RandomDataSource - * 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 RANDOM_DATASOURCE_H_ -#define RANDOM_DATASOURCE_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief DataDource which generates random numbers against a given seed. - * - * The configuration syntax is (names and signal quantities are only given as an example): - * +RandomDataSource = { - * Class = RandomDataSource - * Seed = 8 //Seed against which the the seed will be generated. Note that each signal - * Signals = { - * Random1 = { //Maximum one signal - * Type = uint64 //All the integer types are supported - * } - * } - * } - */ -class RandomDataSource: public MARTe::DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Constructor. NOOP. - */ -RandomDataSource (); - - /** - * @brief Destructor. NOOP. - */ - virtual ~RandomDataSource(); - - /** - * @brief The configuration data detailed in the class description - * @return true if all the compulsory parameters are set. - */ - virtual bool Initialise(MARTe::StructuredDataI & data); - - /** - * @brief Verifies that at most one signal has been set with the correct type (i.e. any integer). - * @return true if the above conditions are met. - */ - virtual bool SetConfiguredDatabase(MARTe::StructuredDataI & data); - - /** - * @brief @see DataSourceI::Synchronise - */ - virtual bool Synchronise(); - - /** - * @brief @see DataSourceI::AllocateMemory - */ - virtual bool AllocateMemory(); - - /** - * @brief @see DataSourceI::GetSignalMemoryBuffer - */ - virtual bool GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress); - - /** - * @return "MemoryMapSynchronisedInputBroker" - */ - virtual const MARTe::char8 *GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction); - - /** - * @brief NOOP - */ - virtual bool PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName); - -private: - /** - * The seed to compute the signals. - */ - MARTe::uint32 seed; - - /** - * The signal pointer - */ - MARTe::char8 *signalPtr; - - /** - * The signal type descriptor. - */ - MARTe::TypeDescriptor signalTypeDescriptor; - - /** - * Compute the random value - */ - template - void GetValue(); - -}; - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ -template -void RandomDataSource::GetValue() { - *(reinterpret_cast(&signalPtr[0u])) = static_cast(rand_r(&seed)); -} - -#endif /* RANDOM_DATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.cpp deleted file mode 100644 index dd322b8..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/** - * @file JABitReverseGAM.cpp - * @brief Source file for class JABitReverseGAM - * @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 JABitReverseGAM (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 "JABitReverseGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JABitReverseGAM::JABitReverseGAM() { - //Input signals. - input1 = NULL_PTR(MARTe::uint8 *); - - //Output signals. - output1= NULL_PTR(MARTe::uint8 *); -} - -JABitReverseGAM::~JABitReverseGAM() { -} - -bool JABitReverseGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - return ok; -} - -bool JABitReverseGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JABitReverseGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 1u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One input signals shall be defined"); - } - // Do type check for input signals. - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - ok = ((inputType == UnsignedInteger8Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger8Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - } - } - // Do type cast. - if (ok) { - input1 = reinterpret_cast(GetInputSignalMemory(0)); - - output1 = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JABitReverseGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - *output1 = ~(*input1); - return true; -} - -CLASS_REGISTER(JABitReverseGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.h deleted file mode 100644 index 1d2bbcf..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @file JABitReverseGAM.h - * @brief Header file for class JABitReverseGAM - * @date Mar 18, 2020 - * @author kuchida - * - * @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 JABitReverseGAM - * 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_JABitReverseGAM_H_ -#define GAMS_JABitReverseGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JABitReverseGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JABitReverseGAM(); - - virtual ~JABitReverseGAM(); - - 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 - - // Input signals - MARTe::uint8 *input1; - - // Output signals - MARTe::uint8 *output1; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JABitReverseGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/Makefile.inc deleted file mode 100644 index 8847378..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitReverseGAM/Makefile.inc +++ /dev/null @@ -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=JABitReverseGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JABitReverseGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitReverseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/JABitSumGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/JABitSumGAM.cpp deleted file mode 100644 index 7c75cd1..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/JABitSumGAM.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file JABitSumGAM.cpp - * @brief Source file for class JABitSumGAM - * @date Feb 10, 2020 - * @author kuchida - * - * @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 JABitSumGAM (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 "JABitSumGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JABitSumGAM::JABitSumGAM() { - //Input signals. - input0 = NULL_PTR(MARTe::uint32 *); - input1 = NULL_PTR(MARTe::uint32 *); - input2 = NULL_PTR(MARTe::uint32 *); - input3 = NULL_PTR(MARTe::uint32 *); - input4 = NULL_PTR(MARTe::uint32 *); - input5 = NULL_PTR(MARTe::uint32 *); - input6 = NULL_PTR(MARTe::uint32 *); - input7 = NULL_PTR(MARTe::uint32 *); - - //Output signals. - output= NULL_PTR(MARTe::uint8 *); -} - -JABitSumGAM::~JABitSumGAM() { -} - -bool JABitSumGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (!ok){ - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "ParametersError in init."); - } - return ok; -} - -bool JABitSumGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JABitSumGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 8u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Eight input signals shall be defined"); - } - // Do type check for input signals. - 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()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = (outputType == UnsignedInteger8Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - } - } - // Do type cast. - if (ok) { - input0 = reinterpret_cast(GetInputSignalMemory(0)); - input1 = reinterpret_cast(GetInputSignalMemory(1)); - input2 = reinterpret_cast(GetInputSignalMemory(2)); - input3 = reinterpret_cast(GetInputSignalMemory(3)); - input4 = reinterpret_cast(GetInputSignalMemory(4)); - input5 = reinterpret_cast(GetInputSignalMemory(5)); - input6 = reinterpret_cast(GetInputSignalMemory(6)); - input7 = reinterpret_cast(GetInputSignalMemory(7)); - - output = reinterpret_cast(GetOutputSignalMemory(0)); - } - - return ok; -} - -bool JABitSumGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - *output = *input0 + *input1*2 + *input2*4 + *input3*8 + *input4*16 + - *input5*32 + *input6*64 + *input7*128; - - return true; -} - -CLASS_REGISTER(JABitSumGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/JABitSumGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/JABitSumGAM.h deleted file mode 100644 index 462f62b..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/JABitSumGAM.h +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @file JABitSumGAM.h - * @brief Header file for class JABitSumGAM - * @date Feb 10, 2020 - * @author kuchida - * - * @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 JABitSumGAM - * 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_JABitSumGAM_H_ -#define GAMS_JABitSumGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "stdio.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JABitSumGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JABitSumGAM(); - - virtual ~JABitSumGAM(); - - 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: - // Input signals - MARTe::uint32 *input0; - MARTe::uint32 *input1; - MARTe::uint32 *input2; - MARTe::uint32 *input3; - MARTe::uint32 *input4; - MARTe::uint32 *input5; - MARTe::uint32 *input6; - MARTe::uint32 *input7; - - // Output signals - MARTe::uint8 *output; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JABitSumGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/Makefile.inc deleted file mode 100644 index f57063b..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JABitSumGAM/Makefile.inc +++ /dev/null @@ -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=JABitSumGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JABitSumGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitSumGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp deleted file mode 100644 index 99ba1f5..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp +++ /dev/null @@ -1,309 +0,0 @@ -/** - * @file JAConditionalSignalUpdateGAM.cpp - * @brief Source file for class JAConditionalSignalUpdateGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAConditionalSignalUpdateGAM (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 "JAConditionalSignalUpdateGAM.h" -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAConditionalSignalUpdateGAM::JAConditionalSignalUpdateGAM() { - inputSignals = NULL_PTR(void **); - inputSignalTypes = NULL_PTR(MARTe::TypeDescriptor *); - values = NULL_PTR(MARTe::uint32 *); - valuesCount = 0u; - outputSignals = NULL_PTR(MARTe::uint32 **); - defaultValues = NULL_PTR(MARTe::uint32 **); - needsReset = false; - expectedValues = NULL_PTR(MARTe::uint32 *); - expectedValuesCount = 0u; - operation = And; - comparators = NULL_PTR(ComparisonMode *); -} - -JAConditionalSignalUpdateGAM::~JAConditionalSignalUpdateGAM() { - if (outputSignals != NULL_PTR(MARTe::uint32 **)) { - delete[] outputSignals; - } - if (inputSignals != NULL_PTR(void **)) { - delete[] inputSignals; - } - if (inputSignalTypes != NULL_PTR(MARTe::TypeDescriptor *)) { - delete[] inputSignalTypes; - } - if (values != NULL_PTR(MARTe::uint32 *)) { - delete[] values; - } - if (comparators != NULL_PTR(ComparisonMode *)) { - delete[] comparators; - } - if (defaultValues != NULL_PTR(MARTe::uint32 **)) { - delete[] defaultValues; - } -} - -bool JAConditionalSignalUpdateGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - // Read expected values. - AnyType valuesArray = data.GetType("ExpectedValues"); - - if (valuesArray.GetDataPointer() != NULL) { - expectedValuesCount = valuesArray.GetNumberOfElements(0u); - - expectedValues = new uint32[expectedValuesCount]; - - Vector valuesVector(expectedValues, expectedValuesCount); - ok = (data.Read("ExpectedValues", valuesVector)); - } - } - if (ok) { - // Read comparators. - AnyType comparatorsArray = data.GetType("Comparators"); - if (comparatorsArray.GetDataPointer() != NULL) { - uint32 count; - if (ok) { - count = comparatorsArray.GetNumberOfElements(0u); - ok = count == expectedValuesCount; - } - if (ok) { - comparators = new ComparisonMode[count]; - StreamString* comp = new StreamString[count]; - Vector compVector(comp, count); - - ok = (data.Read("Comparators", compVector)); - - if (ok) { - for (uint32 i = 0; i < count; ++i) { - if (comp[i] == "EQUALS") { - comparators[i] = Equals; - } else if (comp[i] == "NOT") { - comparators[i] = Not; - } else if (comp[i] == "GREATER") { - comparators[i] = Greater; - } else if (comp[i] == "EQUALS_OR_GREATER") { - comparators[i] = EqualsOrGreater; - } else if (comp[i] == "LESS") { - comparators[i] = Less; - } else if (comp[i] == "EQUALS_OR_LESS") { - comparators[i] = EqualsOrLess; - } else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Comparator %s is not defined.", comp[i].Buffer()); - } - } - } - delete[] comp; - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } else { - // Create default comparators (equals) when they aren't provided in the configuration. - comparators = new ComparisonMode[expectedValuesCount]; - for (uint32 i = 0; i < expectedValuesCount; ++i) { - comparators[i] = Equals; - } - } - } - if (ok) { - MARTe::StreamString operationStr; - if (data.Read("Operation", operationStr)) { - if (operationStr == "AND") { - operation = And; - } - else if (operationStr == "OR") { - operation = Or; - } - else if (operationStr == "NOR") { - operation = Nor; - } - else if (operationStr == "XOR") { - operation = Xor; - } - else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Operation %s is not defined", operationStr.Buffer()); - } - } - } - if (ok) { - // Read output signal values to be set. - AnyType valuesArray = data.GetType("Values"); - ok = (valuesArray.GetDataPointer() != NULL); - - if (ok) { - valuesCount = valuesArray.GetNumberOfElements(0u); - ok = valuesCount > 0u; - } - if (ok) { - values = new uint32[valuesCount]; - - Vector valuesVector(values, valuesCount); - ok = (data.Read("Values", valuesVector)); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Values shall be defined."); - } - } - return ok; -} - -bool JAConditionalSignalUpdateGAM::Setup() { - using namespace MARTe; - bool ok = numberOfInputSignals == (expectedValuesCount + numberOfOutputSignals); - if (ok) { - inputSignals = new void*[expectedValuesCount]; - defaultValues = new uint32*[numberOfOutputSignals]; - uint32 i; - for (i = 0u; i < expectedValuesCount; i++) { - inputSignals[i] = GetInputSignalMemory(i); - } - for (; i < numberOfInputSignals; i++) { - defaultValues[i - expectedValuesCount] = reinterpret_cast(GetInputSignalMemory(i)); - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be equal to number " - "of expected values plus number of output signals."); - } - if (ok) { - inputSignalTypes = new TypeDescriptor[expectedValuesCount]; - uint32 i; - for (i = 0u; (i < expectedValuesCount) && (ok); i++) { - inputSignalTypes[i] = GetSignalType(InputSignals, i); - ok = ((inputSignalTypes[i] == UnsignedInteger32Bit) || (inputSignalTypes[i] == UnsignedInteger16Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint16", signalName.Buffer()); - } - } - } - if (ok) { - ok = numberOfOutputSignals == valuesCount; - if (ok) { - ok = numberOfOutputSignals > 0u; - if (ok) { - outputSignals = new uint32*[numberOfOutputSignals]; - uint32 i; - for (i = 0u; i < numberOfOutputSignals; i++) { - outputSignals[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one output signal shall be defined"); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of output signals shall be the same as " - "number of provided values."); - } - } - - return ok; -} - -bool JAConditionalSignalUpdateGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - needsReset = false; - return true; -} - -bool JAConditionalSignalUpdateGAM::Execute() { - if (!needsReset) { - bool eventDetected = expectedValuesCount == 0; - if (!eventDetected) { - if (operation == Or) { - MARTe::uint32 j; - for (j = 0; (j < expectedValuesCount) && (!eventDetected); j++) { - eventDetected = Compare(j); - } - } - else if (operation == Nor) { - MARTe::uint32 j; - for (j = 0; (j < expectedValuesCount) && (!eventDetected); j++) { - eventDetected = Compare(j); - } - eventDetected = !eventDetected; - } - else if (operation == And) { - MARTe::uint32 j; - eventDetected = Compare(0); - for (j = 1; (j < expectedValuesCount); j++) { - eventDetected &= Compare(j); - } - } - else if (operation == Xor) { - MARTe::uint32 j; - MARTe::uint32 eventDetectedUint32; - if (inputSignalTypes[0] == MARTe::UnsignedInteger32Bit) { - eventDetectedUint32 = *static_cast(inputSignals[0]); - } - else { - eventDetectedUint32 = *static_cast(inputSignals[0]); - } - for (j = 1; (j < expectedValuesCount); j++) { - eventDetectedUint32 ^= Compare(j); - } - eventDetected = (eventDetectedUint32 == 1u); - } - } - if (eventDetected) { - needsReset = true; - MARTe::uint32 i; - for (i = 0u; i < numberOfOutputSignals; ++i) { - *outputSignals[i] = values[i]; - MARTe::StreamString signalName; - (void) GetSignalName(MARTe::OutputSignals, i, signalName); - } - } - else { - MARTe::uint32 i; - for (i = 0u; i < numberOfOutputSignals; ++i) { - *outputSignals[i] = *defaultValues[i]; - } - } - } - return true; -} - -bool JAConditionalSignalUpdateGAM::Compare(MARTe::uint32 index) { - if (inputSignalTypes[index] == MARTe::UnsignedInteger32Bit) { - return Compare(index); - } - return Compare(index); -} - -CLASS_REGISTER(JAConditionalSignalUpdateGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h deleted file mode 100644 index 2cf5c5d..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h +++ /dev/null @@ -1,180 +0,0 @@ -/** - * @file JAConditionalSignalUpdateGAM.h - * @brief Header file for class JAConditionalSignalUpdateGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAConditionalSignalUpdateGAM - * 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_JACONDITIONALSIGNALUPDATEGAM_H_ -#define GAMS_JACONDITIONALSIGNALUPDATEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that writes predefined values to output signals when a condition is met. - * If there are no conditional signals provided, the condition is presumed to be met. - * - * +ASYNCShotlengthControlGAM = { - * Class = JAConditionalSignalUpdateGAM - * Operation = OR // Logical operation performed between conditional signals - * // Supported values: AND, OR, XOR, NOR - * // Default: AND - * ExpectedValues = {1 1} // Values to which conditional signals will be compared. - * Comparators = {EQUALS EQUALS} // Operator between conditional signal an expected value - * // Supported values: EQUALS, NOT, GREATER, EQUALS_OR_GREATER, LESS, EQUALS_OR_LESS - * // Default: EQUALS - * Values = {0 3} // Values that will be written to output signals when condition is met. - * InputSignals = { - * // Conditional Signals - * SHOTLEN_FLAG = { - * DataSource = DDB1 - * Type = uint32 - * } - * MODE_SHOTLEN_FLAG = { - * DataSource = DDB1 - * Type = uint32 - * } - * // Default values (set to output signals before the condition is met) - * APS_SWON = { // APS_SWON will keep the value from previous state. - * DataSource = DDB1 - * Type = uint32 - * } - * BPS_SWON_DEFAULT = { // BPS_SWON will be set to 7 before condition is met. - * DataSource = DDB1 - * Type = uint32 - * Default = 7 - * } - * } - * OutputSignals = { - * APS_SWON = { - * DataSource = DDB1 - * Type = uint32 - * } - * BPS_SWON = { - * DataSource = DDB1 - * Type = uint32 - * } - * } - * } - */ -class JAConditionalSignalUpdateGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAConditionalSignalUpdateGAM(); - - virtual ~JAConditionalSignalUpdateGAM(); - - 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: - /** - * @brief Does the input signal at provided index have the expected value. - * @param[in] index of the signal. - * @return true if the signal has expected value. - */ - bool Compare(MARTe::uint32 index); - - template - bool Compare(MARTe::uint32 index); - - enum OperationMode { - And, Or, Xor, Nor - }; - - enum ComparisonMode { - Equals, Not, Greater, EqualsOrGreater, Less, EqualsOrLess - }; - - // Input signals - void **inputSignals; - - MARTe::TypeDescriptor *inputSignalTypes; - - // Condition operation. - OperationMode operation; - - // Array of expected values of input signals. - MARTe::uint32* expectedValues; - - // Expected values count (must be equal to numberOfInputSignals) - MARTe::uint32 expectedValuesCount; - - // Array of comparators - ComparisonMode* comparators; - - // Values to be written on output signals when input signal has the expected value. - MARTe::uint32 *values; - - // Number of values (must be equal to numberOfOutputSignals) - MARTe::uint32 valuesCount; - - // Output signals - MARTe::uint32 **outputSignals; - - // Default values of output signals - MARTe::uint32 **defaultValues; - - // Were output signals already set and we are waiting for a state change before they are set again. - bool needsReset; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -template -bool JAConditionalSignalUpdateGAM::Compare(MARTe::uint32 index) { - switch (comparators[index]) { - case Equals: - return *static_cast(inputSignals[index]) == static_cast(expectedValues[index]); - case Not: - return *static_cast(inputSignals[index]) != static_cast(expectedValues[index]); - case Greater: - return *static_cast(inputSignals[index]) > static_cast(expectedValues[index]); - case EqualsOrGreater: - return *static_cast(inputSignals[index]) >= static_cast(expectedValues[index]); - case Less: - return *static_cast(inputSignals[index]) < static_cast(expectedValues[index]); - default: // case EqualsOrLess: - return *static_cast(inputSignals[index]) <= static_cast(expectedValues[index]); - } -} - -#endif /* GAMS_JACONDITIONALSIGNALUPDATEGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc deleted file mode 100644 index 5853027..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc +++ /dev/null @@ -1,53 +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=JAConditionalSignalUpdateGAM.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)/JAConditionalSignalUpdateGAM$(LIBEXT) \ - $(BUILD_DIR)/JAConditionalSignalUpdateGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/JAMessageGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/JAMessageGAM.cpp deleted file mode 100644 index 50ca308..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/JAMessageGAM.cpp +++ /dev/null @@ -1,347 +0,0 @@ -/** - * @file JAMessageGAM.cpp - * @brief Source file for class JAMessageGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAMessageGAM (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 "AdvancedErrorManagement.h" -#include "JAMessageGAM.h" -#include "MessageI.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -template -bool Compare(JAMessageGAM::ComparisonMode comparator, void *inputSignal, U expectedValue) { - switch (comparator) { - case JAMessageGAM::Equals: - return *static_cast(inputSignal) == expectedValue; - case JAMessageGAM::Not: - return *static_cast(inputSignal) != expectedValue; - case JAMessageGAM::Greater: - return *static_cast(inputSignal) > expectedValue; - case JAMessageGAM::EqualsOrGreater: - return *static_cast(inputSignal) >= expectedValue; - case JAMessageGAM::Less: - return *static_cast(inputSignal) < expectedValue; - default: // case EqualsOrLess: - return *static_cast(inputSignal) <= expectedValue; - } -} - -JAMessageGAM::JAMessageGAM() { - inputSignals = NULL_PTR(void **); - inputSignalTypes = NULL_PTR(MARTe::TypeDescriptor *); - operation = And; - needsReset = false; - expectedValuesInt = NULL_PTR(MARTe::uint64 *); - expectedValuesFloat = NULL_PTR(MARTe::float64 *); - intValuesCount = 0u; - floatValuesCount = 0u; - comparators = NULL_PTR(ComparisonMode *); -} - -JAMessageGAM::~JAMessageGAM() { - if (inputSignals != NULL_PTR(void **)) { - delete[] inputSignals; - } - if (inputSignalTypes != NULL_PTR(MARTe::TypeDescriptor *)) { - delete[] inputSignalTypes; - } - if (expectedValuesInt != NULL_PTR(MARTe::uint64 *)) { - delete[] expectedValuesInt; - } - if (expectedValuesFloat != NULL_PTR(MARTe::float64 *)) { - delete[] expectedValuesFloat; - } - if (comparators != NULL_PTR(ComparisonMode *)) { - delete[] comparators; - } -} - -bool JAMessageGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - // Read expected integer values. - AnyType valuesArray = data.GetType("ExpectedIntValues"); - bool intValuesProvided = (valuesArray.GetDataPointer() != NULL); - - if (intValuesProvided) { - intValuesCount = valuesArray.GetNumberOfElements(0u); - } - if (intValuesProvided) { - expectedValuesInt = new uint64[intValuesCount]; - - Vector valuesVector(expectedValuesInt, intValuesCount); - ok = (data.Read("ExpectedIntValues", valuesVector)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Failed to read ExpectedIntValues."); - return ok; - } - } - // Read expected float values. - valuesArray = data.GetType("ExpectedFloatValues"); - bool floatValuesProvided = (valuesArray.GetDataPointer() != NULL); - - if (floatValuesProvided) { - floatValuesCount = valuesArray.GetNumberOfElements(0u); - } - if (floatValuesProvided) { - expectedValuesFloat = new float64[floatValuesCount]; - - Vector valuesVector(expectedValuesFloat, floatValuesCount); - ok = (data.Read("ExpectedFloatValues", valuesVector)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Failed to read ExpectedFloatValues."); - return ok; - } - } - - ok = (floatValuesCount + intValuesCount) > 0u; - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "ExpectedFloatValues and or ExpectedIntValues shall be defined."); - } - } - if (ok) { - // Read comparators. - AnyType comparatorsArray = data.GetType("Comparators"); - if (comparatorsArray.GetDataPointer() != NULL) { - uint32 count = comparatorsArray.GetNumberOfElements(0u); - ok = count == (intValuesCount + floatValuesCount); - if (ok) { - comparators = new ComparisonMode[count]; - StreamString* comp = new StreamString[count]; - Vector compVector(comp, count); - - ok = (data.Read("Comparators", compVector)); - - if (ok) { - for (uint32 i = 0; i < count; ++i) { - if (comp[i] == "EQUALS") { - comparators[i] = Equals; - } else if (comp[i] == "NOT") { - comparators[i] = Not; - } else if (comp[i] == "GREATER") { - comparators[i] = Greater; - } else if (comp[i] == "EQUALS_OR_GREATER") { - comparators[i] = EqualsOrGreater; - } else if (comp[i] == "LESS") { - comparators[i] = Less; - } else if (comp[i] == "EQUALS_OR_LESS") { - comparators[i] = EqualsOrLess; - } else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Comparator %s is not defined.", comp[i].Buffer()); - } - } - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } else { - uint32 count = intValuesCount + floatValuesCount; - if (ok) { - // Create default comparators (equals) when they aren't provided in the configuration. - comparators = new ComparisonMode[count]; - for (uint32 i = 0; i < count; ++i) { - comparators[i] = Equals; - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } - } - if (ok) { - MARTe::StreamString operationStr; - if (data.Read("Operation", operationStr)) { - if (operationStr == "AND") { - operation = And; - } - else if (operationStr == "OR") { - operation = Or; - } - else if (operationStr == "NOR") { - operation = Nor; - } - else if (operationStr == "XOR") { - operation = Xor; - } - else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Operation %s is not defined", operationStr.Buffer()); - } - } - } - if (ok) { - ok = (Size() == 1); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "A Message object shall be added to this container"); - } - } - if (ok) { - eventMsg = Get(0); - ok = (eventMsg.IsValid()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "A valid Message shall be added to this container"); - } - } - return ok; -} - -bool JAMessageGAM::Setup() { - using namespace MARTe; - bool ok = numberOfInputSignals == (intValuesCount + floatValuesCount); - if (ok) { - ok = numberOfInputSignals > 0u; - if (ok) { - inputSignals = new void*[numberOfInputSignals]; - uint32 i; - for (i = 0u; i < numberOfInputSignals; i++) { - inputSignals[i] = GetInputSignalMemory(i); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one input signal shall be defined"); - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be the same as " - "number of expected values."); - } - if (ok) { - inputSignalTypes = new TypeDescriptor[numberOfInputSignals]; - uint32 i; - for (i = 0u; (i < numberOfInputSignals) && (ok); i++) { - TypeDescriptor inputType = GetSignalType(InputSignals, i); - inputSignalTypes[i] = inputType; - ok = (inputType == UnsignedInteger32Bit) || (inputType == SignedInteger32Bit) || - (inputType == UnsignedInteger16Bit) || (inputType == SignedInteger16Bit) || - (inputType == UnsignedInteger8Bit) || (inputType == SignedInteger8Bit) || - (inputType == Float64Bit) || (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as 32/16/8 bit signed/unsigned integer " - "or as 64/32 float.", signalName.Buffer()); - } - } - } - - return ok; -} - -bool JAMessageGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - needsReset = false; - return true; -} - -bool JAMessageGAM::Execute() { - using namespace MARTe; - bool ok = true; - bool eventDetected = false; - uint32 inputPortIndex = 0; - uint32 intIndex = 0; - uint32 floatIndex = 0; - if (operation == Or) { - for (inputPortIndex = 0; (inputPortIndex < numberOfInputSignals) && (!eventDetected); inputPortIndex++) { - eventDetected = Compare(inputPortIndex, floatIndex, intIndex); - } - } - else if (operation == Nor) { - for (inputPortIndex = 0; (inputPortIndex < numberOfInputSignals) && (!eventDetected); inputPortIndex++) { - eventDetected = Compare(inputPortIndex, floatIndex, intIndex); - } - eventDetected = !eventDetected; - } - else if (operation == And) { - eventDetected = Compare(0, floatIndex, intIndex); - for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals); inputPortIndex++) { - eventDetected &= Compare(inputPortIndex, floatIndex, intIndex); - } - } - else if (operation == Xor) { - uint32 eventDetectedUInt32 = Compare(inputPortIndex, floatIndex, intIndex); - for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals); inputPortIndex++) { - eventDetectedUInt32 ^= Compare(inputPortIndex, floatIndex, intIndex); - } - eventDetected = (eventDetectedUInt32 == 1u); - } - if (eventDetected) { - if (!needsReset) { - ok = (MessageI::SendMessage(eventMsg, this) == ErrorManagement::NoError); - needsReset = true; - } - } - return ok; -} - -bool JAMessageGAM::Compare(MARTe::uint32 inputPortIndex, MARTe::uint32 &floatValueIndex, MARTe::uint32 &intValueIndex) { - using namespace MARTe; - bool ret = false; - if (inputSignalTypes[inputPortIndex] == UnsignedInteger32Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger32Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == UnsignedInteger16Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger16Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == UnsignedInteger8Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger8Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == Float64Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesFloat[floatValueIndex]); - ++floatValueIndex; - } - else { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesFloat[floatValueIndex]); - ++floatValueIndex; - } - return ret; -} - -CLASS_REGISTER(JAMessageGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/JAMessageGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/JAMessageGAM.h deleted file mode 100644 index 0cdb315..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/JAMessageGAM.h +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @file JAMessageGAM.h - * @brief Header file for class JAMessageGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAMessageGAM - * 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_JAMESSAGEGAM_H_ -#define GAMS_JAMESSAGEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that sends a message when input signals have expected values. Message will not be sent multiple - * times without first changing the application state. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- * +MessageGAM = {
- *      Class = JAMessageGAM
- *      Operation = AND // Accepted values are: AND, OR, XOR, NOR. Default value is AND.
- *      ExpectedIntValues = {1 10} // Expected values for input signals of integral type.
- *      ExpectedFloatValues = {3.5} // Expected values for float signals of floting point type.
- *      Comparators = {EQUALS GREATER NOT} // Accepted values are: EQUALS, NOT, GREATER, EQUALS_OR_GREATER, LESS, EQUALS_OR_LESS
- *                                         // Comparators element is optional. Default comparator is EQUALS.
- *      InputSignals = {
- *          Sig1 = {
- *              DataSource = EPICSCAInput
- *              Type = uint32
- *          }
- *          Sig2 = {
- *              DataSource = EPICSCAInput
- *              Type = float32
- *          }
- *          Sig3 = {
- *              DataSource = EPICSCAInput
- *              Type = uint32
- *          }
- *      }
- *      +Event = { // Message to be sent when condition is true.
- *          Class = Message
- *          Destination = StateMachine
- *          Function = GoDisabled
- *      }
- *  }
- * 
- * This example will send Event message when Sig1 == 1 && Sig2 > 3.5 && Sig3 != 10 - */ -class JAMessageGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAMessageGAM(); - - virtual ~JAMessageGAM(); - - 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); - - enum ComparisonMode { - Equals, Not, Greater, EqualsOrGreater, Less, EqualsOrLess - }; - -private: - /** - * @brief Does the input signal at provided index have the expected value. - * @param[in] index of the signal. - * @param[out] floatValueIndex lookup index for expected float values array. - * @param[out] intValueIndex lookup index for expected integer values array. - * @return true if the signal has expected value. - */ - bool Compare(MARTe::uint32 index, MARTe::uint32 &floatValueIndex, MARTe::uint32 &intValueIndex); - - enum OperationMode { - And, Or, Xor, Nor - }; - - // Input signals - void **inputSignals; - - MARTe::TypeDescriptor *inputSignalTypes; - - // Condition operation. - OperationMode operation; - - // Message to be sent when conditions are met. - MARTe::ReferenceT eventMsg; - - // Was the message already sent and we are waiting for a state change before next message can be sent. - bool needsReset; - - // Array of expected integer values of input signals. - MARTe::uint64* expectedValuesInt; - - // Array of expected float values for input signals. - MARTe::float64* expectedValuesFloat; - - // Expected integer values count (must be equal to numberOfInputSignals - floatValuesCount) - MARTe::uint32 intValuesCount; - - // Expected integer values count (must be equal to numberOfInputSignals - floatValuesCount) - MARTe::uint32 floatValuesCount; - - // Array of comparators - ComparisonMode* comparators; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAMESSAGEGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/Makefile.inc deleted file mode 100644 index e2e2415..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAMessageGAM/Makefile.inc +++ /dev/null @@ -1,53 +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=JAMessageGAM.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)/JAMessageGAM$(LIBEXT) \ - $(BUILD_DIR)/JAMessageGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.cpp deleted file mode 100644 index c55e6d0..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/** - * @file JAModeControlGAM.cpp - * @brief Source file for class JAModeControlGAM - * @date Jan, 2019 - * @author kuchida - * - * @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 JAModeControlGAM (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 "JAModeControlGAM.h" -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAModeControlGAM::JAModeControlGAM() { - inputSignals = NULL_PTR(MARTe::uint32 **); - outputSignal = NULL_PTR(MARTe::uint32 *); - pulseLengthLimit = 360000000u; - resetRemainingTime = true; - previousState = 0u; -} - -JAModeControlGAM::~JAModeControlGAM() { - if (inputSignals != NULL_PTR(MARTe::uint32 **)) { - delete[] inputSignals; - } -} - -bool JAModeControlGAM::Initialise(MARTe::StructuredDataI & data) { - /* read hard coded on cfg file parameter values by using key name. */ - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JAModeControlGAM::Setup() { - /* read GAM Input signal */ - using namespace MARTe; - /* read 4 mode bits and 4 shot length limit values */ - - bool ok = numberOfInputSignals == 11; - if (ok) { - uint32 i; - for (i = 0u; (i < numberOfInputSignals) && (ok); i++) { - TypeDescriptor inputType = GetSignalType(InputSignals, i); - ok = inputType == UnsignedInteger32Bit; - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "InputSignel %s shall be defined as uint32", signalName.Buffer()); - } - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Eleven input signals shall be defined."); - } - if (ok) { - ok = numberOfOutputSignals == 1; - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "One output signal shall be defined."); - } - else { - TypeDescriptor type = GetSignalType(OutputSignals, 0); - ok = type == UnsignedInteger32Bit; - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 0, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - } - if (ok) { - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - inputSignals = new uint32*[numberOfInputSignals]; - uint32 i; - for (i = 0u; i < 11; i++) { - inputSignals[i] = reinterpret_cast(GetInputSignalMemory(i)); - } - } - return ok; -} - -bool JAModeControlGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - *outputSignal = 0u; - previousState = 0u; - resetRemainingTime = true; - return true; -} - -bool JAModeControlGAM::Execute() { - using namespace MARTe; - //When RT state goes to RFON state, update the limit. - if(previousState == 0u && *inputSignals[8] == 1u && resetRemainingTime) { - rfonTime = *inputSignals[9]; - resetRemainingTime = false; - pulseLengthLimit = CalcPulseLengthLimit(inputSignals); - 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)) { - *outputSignal = 0u; - return true; - } else if(*inputSignals[9] == 1u){ - resetRemainingTime = true; - *outputSignal = 1u; - } - - previousState = *inputSignals[8]; - return true; -} - - -MARTe::uint32 JAModeControlGAM::CalcPulseLengthLimit(MARTe::uint32 **inputSignals) { - if (*inputSignals[0] == 1) { - return *inputSignals[1]; - } else if (*inputSignals[2] == 1) { - return *inputSignals[3]; - } else if (*inputSignals[4] == 1) { - return *inputSignals[5]; - } else if (*inputSignals[6] == 1) { - return *inputSignals[7]; - } else { - return 3600000000;//us - } -} - - -CLASS_REGISTER(JAModeControlGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.h deleted file mode 100644 index e9041ce..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.h +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @file JAModeControlGAM.h - * @brief Header file for class JAModeControlGAM - * @date Jan, 2019 - * @author kuchida - * - * @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 JAModeControlGAM - * 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_JAMODECONTROLGAM_H_ -#define GAMS_JAMODECONTROLGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that check the pulse lenght limit. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +ModeLimitGAM = {
- *           Class = JAModeControlGAM
- *           InputSignals = {
- *               PLC_MODE1 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD1_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE2 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD2_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE3 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD3_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE4 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD4_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               RFON = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint32
- *               }
- *               Time = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               HVInjection = {
- *               	DataSource = RealTimeThreadAsyncBridge
- *               	Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               MODE_SHOTLEN_FLAG = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *       }
- * 
- * If MODE1 is ON and Time is exceed MD1_SHOTLEN_LIM, MODE_SHOTLEN_FLAG become ON. - */ - -class JAModeControlGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAModeControlGAM(); - - virtual ~JAModeControlGAM(); - - 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: - - MARTe::uint32 CalcPulseLengthLimit(MARTe::uint32 **inputSignals); - - // Input signals - MARTe::uint32 **inputSignals; - - // Output signals - MARTe::uint32 *outputSignal; - - // Calculated pulse lenght limit. - MARTe::uint32 pulseLengthLimit; - - // Amount of time passed per execution cycle. - MARTe::uint32 rfonTime; - - // reset flag - bool resetRemainingTime; - MARTe::uint32 previousState; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAMODECONTROLGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/Makefile.inc deleted file mode 100644 index 2654a66..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAModeControlGAM/Makefile.inc +++ /dev/null @@ -1,52 +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=JAModeControlGAM.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)/JAModeControlGAM$(LIBEXT) \ - $(BUILD_DIR)/JAModeControlGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp deleted file mode 100644 index 06de1df..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp +++ /dev/null @@ -1,460 +0,0 @@ -/** - * @file JAPreProgrammedGAM.cpp - * @brief Source file for class JAPreProgrammedGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAPreProgrammedGAM (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 "AdvancedErrorManagement.h" -#include "CLASSMETHODREGISTER.h" -#include "File.h" -#include "JAPreProgrammedGAM.h" -#include "MessageI.h" -#include "RegisteredMethodsMessageFilter.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -// How often output signals are updated. -const MARTe::uint32 cycleMs = 10u; - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAPreProgrammedGAM::JAPreProgrammedGAM() : - GAM() { - using namespace MARTe; - filenameSignalIndex = 0u; - timeSignal = NULL_PTR(MARTe::int32 *); - loadTriggerSignal = NULL_PTR(MARTe::uint32 *); - fhpsrefSignal = NULL_PTR(MARTe::float32 *); - rfonStateSignal = NULL_PTR(MARTe::uint32 *); - - valueSignals = NULL_PTR(MARTe::float32 **); - preProgrammedValues = NULL_PTR(MARTe::float32 **); - preProgrammedTime = NULL_PTR(MARTe::int32 *); - fileLoadedSignal = NULL_PTR(MARTe::uint32 *); - fileLoadErrorOutput = NULL_PTR(MARTe::uint32 *); - - startTime = 0u; - numberOfPreProgrammedValues = 0u; - numberOfPreProgrammedTimeRows = 0u; - currentRow = 0u; - mode = None; - preProgrammedExecutaionPeriodMs = 0u; - msCounter = 0u; - preProgrammedRow = 0u; - resetOutputSignals = false; - readOnce = true; -} - -JAPreProgrammedGAM::~JAPreProgrammedGAM() { - DeleteArrays(); - if (valueSignals != NULL_PTR(MARTe::float32 **)) { - delete[] valueSignals; - } -} - -bool JAPreProgrammedGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("Directory", directory); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - if (ok) { - ok = data.Read("PreProgrammedPeriodMs", preProgrammedExecutaionPeriodMs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - return ok; -} - -bool JAPreProgrammedGAM::Setup() { - using namespace MARTe; - //Signal number check. - bool ok = (numberOfInputSignals == 4u); - if (ok) { - ok = (numberOfOutputSignals > 2u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "At least two output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Four input signals with the filename and file load trigger shall be defined"); - } - //Input signals type consistency check. - if (ok) { - StreamString signalName = "Filename"; - ok = GetSignalIndex(InputSignals, filenameSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Filename input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, filenameSignalIndex); - ok = (inputType == CharString); - if (!ok) { - ok = (inputType == Character8Bit); - } - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, filenameSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as string", signalName.Buffer()); - } - } - } - if (ok) { - StreamString signalName = "CSV_LOAD"; - uint32 loadSignalIndex; - ok = GetSignalIndex(InputSignals, loadSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "CSV_LOAD input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, loadSignalIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, loadSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } else { - loadTriggerSignal = reinterpret_cast(GetInputSignalMemory(loadSignalIndex)); - } - } - } - if (ok) { - StreamString signalName = "FHPS_REF"; - uint32 fhpsrefIndex; - ok = GetSignalIndex(InputSignals, fhpsrefIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "FHPS_REF input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, fhpsrefIndex); - ok = (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, fhpsrefIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - fhpsrefSignal = reinterpret_cast(GetInputSignalMemory(fhpsrefIndex)); - } - } - } - if (ok) { - StreamString signalName = "RFON"; - uint32 rfonIndex; - ok = GetSignalIndex(InputSignals, rfonIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "RFON input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, rfonIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, rfonIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - rfonStateSignal = reinterpret_cast(GetInputSignalMemory(rfonIndex)); - } - } - } - - //Output signals type check. - if (ok) { - TypeDescriptor timeType = GetSignalType(OutputSignals, 0); - ok = (timeType == SignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, 0, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as int32", signalName.Buffer()); - } - - uint32 i; - for (i = 1u; (i <= 6) && (ok); i++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, i); - ok = (outputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, i, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } - } - - if (ok) { - TypeDescriptor fileLoadedType = GetSignalType(OutputSignals, 7u); - ok = (fileLoadedType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 6u, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - if (ok) { - TypeDescriptor fileLoadErrorOutputType = GetSignalType(OutputSignals, 8u); - ok = (fileLoadErrorOutputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 7u, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - } - - //Register signal memory - if (ok) { - timeSignal = reinterpret_cast(GetOutputSignalMemory(0)); - valueSignals = new float32*[6u]; - uint32 i; - for (i = 1u; i <= 6u; i++) { - valueSignals[i - 1] = reinterpret_cast(GetOutputSignalMemory(i)); - } - fileLoadedSignal = reinterpret_cast(GetOutputSignalMemory(7u)); - fileLoadErrorOutput = reinterpret_cast(GetOutputSignalMemory(8u)); - } - return ok; -} - -bool JAPreProgrammedGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - bool ok = true; - if (strcmp(nextStateName, "WaitReady") == 0) { - mode = LoadFileMode; - resetOutputSignals = true; - // Reset read once flag when reentering WaitReady state. - readOnce = true; - } else if (strcmp(nextStateName, "WaitPermit") == 0) { - mode = LoadFileMode; - resetOutputSignals = true; - currentRow = 0u; - } else if (strcmp(nextStateName, "WaitHVON_PREP") == 0 || strcmp(nextStateName, "WaitHVON_SDN_PREP") == 0) { - ok = numberOfPreProgrammedTimeRows > 0; - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::IllegalOperation, "Entering PreProgrammed mode without any waveform data."); - } - mode = PreProgrammedMode; - msCounter = cycleMs; - currentRow = 0u; - } else { - mode = None; - } - return ok; -} - -bool JAPreProgrammedGAM::LoadFile() { - using namespace MARTe; - - DeleteArrays(); - - bool ok = true; - - const MARTe::char8 * const filenameSignal = reinterpret_cast(GetInputSignalMemory(filenameSignalIndex)); - //Prepare full path to the configuration file. - StreamString filename = directory; - filename += DIRECTORY_SEPARATOR; - filename += filenameSignal; - REPORT_ERROR(MARTe::ErrorManagement::Debug, "Opening file %s", filename.Buffer()); - - //parse prepro configuration file into two arrays(time, values). - File f; - ok = f.Open(filename.Buffer(), BasicFile::ACCESS_MODE_R); - if (ok) { - //Count up number of file Rows. - numberOfPreProgrammedTimeRows = 0u; - StreamString tokenLine; - while (f.GetLine(tokenLine)) { - if (tokenLine[0] != '#' && tokenLine[0] != '-') { - numberOfPreProgrammedTimeRows++; - } - tokenLine = ""; - } - //Count up number of file lines - numberOfPreProgrammedValues = 0u; - f.Seek(0); - uint32 t = 0u; - tokenLine = ""; - while ((ok) && (f.GetLine(tokenLine))) { - // Skip comment line and minus time - if (tokenLine[0] == '#' || tokenLine[0] == '-') { - tokenLine = ""; - continue; - } - // Prepare two arrays at first. - if (numberOfPreProgrammedValues == 0) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - while (tokenLine.GetToken(token, ",", ignored)) { - numberOfPreProgrammedValues++; - token = ""; - } -REPORT_ERROR(MARTe::ErrorManagement::ParametersError,"numberOfPreProgrammedVal %d", numberOfPreProgrammedValues); - ok = (numberOfPreProgrammedValues == 7u);//From time row to FHPS row. - numberOfPreProgrammedValues -= 1u; //From MHVPS row to FHPS row. - if (ok) { - preProgrammedTime = new int32[numberOfPreProgrammedTimeRows]; - preProgrammedValues = new float32*[numberOfPreProgrammedTimeRows]; - uint32 j; - for (j = 0u; j < numberOfPreProgrammedTimeRows; j++) { - preProgrammedValues[j] = new float32[numberOfPreProgrammedValues]; - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, - "Number of columns in csv file (%d) is not consistent with the number of output signals (%d)", - numberOfPreProgrammedValues, 6u); - *fileLoadErrorOutput = 1; - } - } - // Add loaded data into two arrays. - if (ok) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - uint32 idx = 0u; - while (tokenLine.GetToken(token, ",", ignored)) { - if (idx == 0u) { - preProgrammedTime[t] = atoi(token.Buffer()); - if (t == 0 && preProgrammedTime[0] != 0) { - REPORT_ERROR(MARTe::ErrorManagement::Debug, "Prepro start from none zero time."); - } - } - else { - ok = ((idx - 1) < numberOfPreProgrammedValues); - if (ok) { - preProgrammedValues[t][idx - 1] = static_cast(atof(token.Buffer())); - } - else { - REPORT_ERROR(MARTe::ErrorManagement::FatalError, "Number of columns in csv file is not consistent with the number of output signals in line %d", t); - *fileLoadErrorOutput = 1; - } - } - token = ""; - idx++; - } - t++; - } - tokenLine = ""; - } - f.Close(); - } - if (ok) { - currentRow = 0u; - } - else { - numberOfPreProgrammedTimeRows = 0u; - REPORT_ERROR(ErrorManagement::Warning, "Failed to read waveform data from file."); - *fileLoadErrorOutput = 2; - } - return ok; -} - -bool JAPreProgrammedGAM::Execute() { - using namespace MARTe; - bool ok = true; - - switch (mode) { - case LoadFileMode: { - if (*loadTriggerSignal == 1u) { - if (readOnce) { - *fileLoadErrorOutput = 0; - *fileLoadedSignal = LoadFile() ? 1 : 0; - readOnce = false; - } - } else { - // Reset read once flag when loadTriggerSignal is reset. - readOnce = true; - } - - if (resetOutputSignals) { - // Write default values to output signals - *timeSignal = 0u; - *valueSignals[FHPS-1] = *fhpsrefSignal; - resetOutputSignals = false; - } else { - *valueSignals[FHPS-1] = *fhpsrefSignal; //copy input(2) to val_arr(4) - } - } break; - - case PreProgrammedMode: { - ok = numberOfPreProgrammedTimeRows > 0; - - //add 20210105. Before RFON, prepro setpoints should be same as the values listed at csv first line. - if (ok && *rfonStateSignal == 0) { - uint32 j; - for (j = 0u; j < FHPS; j++) { - *valueSignals[j] = preProgrammedValues[0][j]; - } - } - //end 20210105 - - if (ok && currentRow < numberOfPreProgrammedTimeRows && *rfonStateSignal == 1) { - if (msCounter >= cycleMs) { - msCounter -= cycleMs; - int32 currentTime = preProgrammedTime[currentRow]; - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Write Time at %d",currentRow); - // Write to output signals - *timeSignal = currentTime; - uint32 j; - for (j = 0u; j < FHPS; j++) { - *valueSignals[j] = preProgrammedValues[currentRow][j]; - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Write Value %f at row %d",preProgrammedValues[currentRow][j], currentRow); - } - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Writing pre programmed data for time %d", currentTime); - - // Update row - ++currentRow; - } - msCounter += preProgrammedExecutaionPeriodMs; - } - } break; - default: - // Nothing to do. - REPORT_ERROR(MARTe::ErrorManagement::Warning, "Unhandled mode."); - break; - } - return ok; -} - -void JAPreProgrammedGAM::DeleteArrays() { - if (preProgrammedValues != NULL_PTR(MARTe::float32 **)) { - MARTe::uint32 i; - for (i = 0u; i < numberOfPreProgrammedValues; i++) { - delete preProgrammedValues[i]; - } - delete[] preProgrammedValues; - } - if (preProgrammedTime != NULL_PTR(MARTe::int32 *)) { - delete[] preProgrammedTime; - } -} - -CLASS_REGISTER(JAPreProgrammedGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h deleted file mode 100644 index 4226fef..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h +++ /dev/null @@ -1,187 +0,0 @@ -/** - * @file JAPreProgrammedGAM.h - * @brief Header file for class JAPreProgrammedGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAPreProgrammedGAM - * 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_JAPREPROGRAMMEDGAM_H_ -#define GAMS_JAPREPROGRAMMEDGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that update PS output value for pre-programmed operation. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +PreProgrammedGAM = {
- *           Class = JAPreProgrammedGAM
- *           Directory = "../Configurations" // Directory which has pre-pro configuration file.
- *           PreProgrammedPeriodMs = 1       // RFON state is executed every millisecond.
- *           InputSignals = {
- *               CSV_LOAD = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               Filename = {
- *                   Alias = CSV_NAME
- *                   DataSource = EPICSCAInput
- *               }
- *               FHPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               RFON = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               GYA_PREHEAT_TIME = {
- *                   DataSource = DDB1
- *                   Type = int32
- *               }
- *               MHVPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               BPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               APS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               MCPS_TRG_CURR_SET = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               GCPS_TRG_CURR_SET = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               FHPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               CSV_LOADED = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               CSV_ERR = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *       }
- * 
- * - */ - -class JAPreProgrammedGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAPreProgrammedGAM(); - - virtual ~JAPreProgrammedGAM(); - - 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: - bool LoadFile(); - - void DeleteArrays(); - - //Parameters - MARTe::StreamString directory; //Location for prepro configuration file. - MARTe::uint32 preProgrammedExecutaionPeriodMs; // Time between to execution cycles in milliseconds in pre-programmed mode. - - //Input Signals - MARTe::uint32 *loadTriggerSignal; //index:0 - MARTe::uint32 filenameSignalIndex;//index:1 - MARTe::float32 *fhpsrefSignal; //index:2 - MARTe::uint32 *rfonStateSignal; //index:3 - - //Output Signals - MARTe::int32 *timeSignal; //index:0 - MARTe::float32 **valueSignals; //index:1-5 = BPS,APS,MC,GC,FHPS - MARTe::uint32 *fileLoadedSignal; //index:6 - MARTe::uint32 *fileLoadErrorOutput;//index:7 - - //Internal variables - MARTe::int32 *preProgrammedTime; - MARTe::float32 **preProgrammedValues; - - MARTe::uint32 startTime; - - //Number of columns in csv, EXCLUDING the time - MARTe::uint32 numberOfPreProgrammedValues; //is 5.(BPS, APS, MC, GC, FHPS) - MARTe::uint32 numberOfPreProgrammedTimeRows; //This start from t=0 row. - MARTe::uint32 currentRow; - - // Number of milliseconds since the last time output signals were updated. - MARTe::uint32 msCounter; - - // Row number where the pre-programmed data begins (time == 0). - MARTe::uint32 preProgrammedRow; - - enum OperationMode { - LoadFileMode, PreProgrammedMode, None - }; - enum PreProTableDefinition { - Time, MHVPS, BPS, APS, MCPS, GCPS, FHPS - }; - - OperationMode mode; - - bool resetOutputSignals; - - // Flag determining whether file should be read (so it isn't read multiple time) - bool readOnce; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAPREPROGRAMMEDGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/Makefile.inc deleted file mode 100644 index 587d4b8..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAPreProgrammedGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JAPreProgrammedGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(LIBEXT) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp deleted file mode 100644 index 56f9b18..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp +++ /dev/null @@ -1,411 +0,0 @@ -/** - * @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(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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - modulation = reinterpret_cast(GetInputSignalMemory(11)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h deleted file mode 100644 index e968f39..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h +++ /dev/null @@ -1,262 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp deleted file mode 100644 index 55983f1..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp +++ /dev/null @@ -1,409 +0,0 @@ -/** - * @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(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 == 13u); - 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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - modulation = reinterpret_cast(GetInputSignalMemory(11)); - pauseSet = reinterpret_cast(GetInputSignalMemory(12)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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; - if (modulation) p4Value += 32; - if (pauseSet) p4Value += 1; - //*outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value); - *outputSignalNI6528P4 = ~p4Value; - return true; -} - -CLASS_REGISTER(JARTStateMachineGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h deleted file mode 100644 index 876d64e..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h +++ /dev/null @@ -1,264 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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; - // Input signal for pause signal set pv. - MARTe::uint32 *pauseSet; - - // 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_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp deleted file mode 100644 index 71c7669..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp +++ /dev/null @@ -1,402 +0,0 @@ -/** - * @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(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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h deleted file mode 100644 index e59f3fa..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/Makefile.inc deleted file mode 100644 index 234a3d6..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARTStateMachineGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JARTStateMachineGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/JARampupGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/JARampupGAM.cpp deleted file mode 100644 index 98003a2..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/JARampupGAM.cpp +++ /dev/null @@ -1,295 +0,0 @@ -/** - * @file JARampupGAM.cpp - * @brief Source file for class JARampupGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JARampupGAM (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 "AdvancedErrorManagement.h" -#include "JARampupGAM.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JARampupGAM::JARampupGAM() : GAM() { - current_setpoint = NULL_PTR(MARTe::float32 *); - target_value = NULL_PTR(MARTe::float32 *); - rampup_time = NULL_PTR(MARTe::float32 *); - start = NULL_PTR(MARTe::uint32 *); - standby = NULL_PTR(MARTe::uint32 *); - isAuto = NULL_PTR(MARTe::uint32 *); - FHPS_PrePro = NULL_PTR(MARTe::float32 *); - - output = NULL_PTR(MARTe::float32 *); - state = NULL_PTR(MARTe::uint32 *); - - rampup_rate = 0.0f; - inRampup = false; - resetFlag = true; - inWaitHVON = false; - inWaitStandby = false; -} - -JARampupGAM::~JARampupGAM() { -} - -bool JARampupGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JARampupGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 7u); - if (ok) { - ok = (numberOfOutputSignals == 2u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Two output signals shall be defined."); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Six input signals shall be defined."); - } - uint32 currentspvIndex; - uint32 targetvIndex; - uint32 timeIndex; - uint32 startIndex; - uint32 standbyIndex; - uint32 isAutoIndex; - uint32 fhpsPreProIndex; - - if (ok) { - StreamString signalName = "Currspv"; - ok = GetSignalIndex(InputSignals, currentspvIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Currspv input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, currentspvIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Currspv shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Targetv"; - ok = GetSignalIndex(InputSignals, targetvIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Targetv input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, targetvIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Targetv shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Time"; - ok = GetSignalIndex(InputSignals, timeIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Time input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, timeIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Time shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Start"; - ok = GetSignalIndex(InputSignals, startIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Start input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, startIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Start shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "PLC_STANDBY"; - ok = GetSignalIndex(InputSignals, standbyIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLC_STANDBY input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, standbyIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLC_STANDBY shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "MANUAL_AUTO"; - ok = GetSignalIndex(InputSignals, isAutoIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "MANUAL_AUTO input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, isAutoIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "MANUAL_AUTO shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "FHPS_PrePro"; - ok = GetSignalIndex(InputSignals, fhpsPreProIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "FHPS_PrePro input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, fhpsPreProIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal FHPS_PrePro shall be defined as float32."); - } - } - } - - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 0); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Output shall be defined as float32."); - } - } - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 1); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal state shall be defined as float32."); - } - } - - if (ok) { - current_setpoint = reinterpret_cast(GetInputSignalMemory(currentspvIndex)); - target_value = reinterpret_cast(GetInputSignalMemory(targetvIndex)); - rampup_time = reinterpret_cast(GetInputSignalMemory(timeIndex)); - start = reinterpret_cast(GetInputSignalMemory(startIndex)); - standby = reinterpret_cast(GetInputSignalMemory(standbyIndex)); - isAuto = reinterpret_cast(GetInputSignalMemory(isAutoIndex)); - FHPS_PrePro = reinterpret_cast(GetInputSignalMemory(fhpsPreProIndex)); - - output = reinterpret_cast(GetOutputSignalMemory(0)); - state = reinterpret_cast(GetOutputSignalMemory(1)); - } - return ok; -} - -bool JARampupGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName){ - if(strcmp(nextStateName, "WaitHVON_PREP")==0 || strcmp(nextStateName, "WaitHVON_SDN_PREP")==0 || - strcmp(nextStateName, "WaitHVON")==0 || strcmp(nextStateName, "WaitHVON_SDN")==0){ - inWaitHVON = true; - inWaitStandby = false; - } else{ - inWaitHVON = false; - if(strcmp(nextStateName,"WaitStandby")==0 ){ - inWaitStandby = true; - } else { - inWaitStandby = false; - } - } - return true; -} - -bool JARampupGAM::Execute() { - using namespace MARTe; - if(!inWaitHVON){ - if (*target_value <= 0.0f || *standby == 0u) { - *output = 0.0f; - rampup_rate = 0.0f; - if(*target_value <= 0.0f){ - *state = 3u; - } else { - *state = 0u; - } - return true; - } - - if(*start == 1u && *isAuto==0u){ //isAuto = 1.Manual, 0.auto-rampup. - inRampup = true; - resetFlag = true; - *output = 0.0f; //Enable if it should start always zero. - } - - // Calcrate new rampup rate. - if(*rampup_time != 0 && resetFlag == true){ - rampup_rate = (*target_value - *current_setpoint) / *rampup_time/1000.0f; // Volt/msec - resetFlag = false; - } - - // Update Parameter - if(*standby == 1u ){ - if(*isAuto == 1u){ - if (inWaitStandby){ - *output = *target_value; - } else{ - *output = *FHPS_PrePro; - } - //*output = *target_value; - *state = 0u; - return true; - } - else if (inRampup){ - if (*output + rampup_rate < *target_value && *rampup_time != 0){ - *output = *output + rampup_rate; - *state = 1u; - } else { - *output = *target_value; - *state = 2u; - inRampup = false; - } - } - } - return true; - } else { - if(*isAuto == 0){ - *output = *FHPS_PrePro; - } else{ - *output = *target_value; - } - return true; - } -} - -CLASS_REGISTER(JARampupGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/JARampupGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/JARampupGAM.h deleted file mode 100644 index 3c6e012..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/JARampupGAM.h +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @file JARampupGAM.h - * @brief Header file for class JARampupGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JARampupGAM - * 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_JARampupGAM_H_ -#define GAMS_JARampupGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that rampup output value with specified target value and duration. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *      +FHPSRampupGAM = {
- *         Class = JARampupGAM
- *         InputSignals = {
- *             Currspv = {
- *                 Alias = FHPS_REF
- *                 DataSource = DDB1
- *                 Type = float32
- *             }
- *             Targetv = {
- *                 Alias = FHPS_AUTO_TAGV
- *                 DataSource = EPICSCAInput
- *                 Type = float32
- *             }
- *             Time = {
- *                 Alias = FHPS_AUTO_TIME
- *                 DataSource = EPICSCAInput
- *                 Type = float32
- *             }
- *             Start = {
- *                 Alias = FHPS_AUTO_START
- *                 DataSource = EPICSCAInput
- *                 Type = uint32
- *             }
- *         }
- *         OutputSignals = {
- *             FHPS_REF = {
- *                 DataSource = DDB1
- *                 Type = float32
- *             }
- *         }
- *       }
- *  
- * 
- * - */ - -class JARampupGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JARampupGAM(); - - virtual ~JARampupGAM(); - - 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: - // Input signal containing current current_setpoint - MARTe::float32 *current_setpoint; - - // Input signal containing the frequency of the waveform. - MARTe::float32 *target_value; - - // Input signal containing the amplitude of the waveform. - MARTe::float32 *rampup_time; - - // Input signal containing CCPS_ON_REQUEST - MARTe::uint32 *start; - - // Input signal PLC_STANDBY - MARTe::uint32 *standby; - - // MANUAL AUTO button - MARTe::uint32 *isAuto; - - // Input signal - MARTe::float32 *FHPS_PrePro; - - // Output - MARTe::float32 *output; - // State output - MARTe::uint32 *state; //0:NotOperation, 1:InOperation, 2:Finish, 3:Error - - // Internal variables - MARTe::float32 rampup_rate; - bool inRampup; - bool resetFlag; - bool inWaitHVON; - bool inWaitStandby; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JARampupGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/Makefile.inc deleted file mode 100644 index 9bf127b..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JARampupGAM/Makefile.inc +++ /dev/null @@ -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=JARampupGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARampupGAM$(LIBEXT) \ - $(BUILD_DIR)/JARampupGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp deleted file mode 100644 index d164e89..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp +++ /dev/null @@ -1,361 +0,0 @@ -/** - * @file JASDNRTStateMachineGAM.cpp - * @brief Source file for class JASDNRTStateMachineGAM - * @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 JASDNRTStateMachineGAM (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 "JASDNRTStateMachineGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASDNRTStateMachineGAM::JASDNRTStateMachineGAM() { - currentState = WaitTrigger; // Set Entry state. - plcOnTime = 0; // Triggered time holder. - sdnTriggerTime = 0; - //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 *); - 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 *); - sdnCommand = NULL_PTR(MARTe::uint16 *); - - // 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; -} - -JASDNRTStateMachineGAM::~JASDNRTStateMachineGAM() { -} - -bool JASDNRTStateMachineGAM::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 JASDNRTStateMachineGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - - return true; -} - -bool JASDNRTStateMachineGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 11u); - if (ok) { - ok = (numberOfOutputSignals == 8u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Seven output signals shall be defined"); - } - } - 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 || inputType == UnsignedInteger16Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint16", 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) { - currentTime = reinterpret_cast(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - sdnCommand = reinterpret_cast(GetInputSignalMemory(10)); - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - *shotCounter = 0; - } - return ok; -} - -bool JASDNRTStateMachineGAM::Execute() { - using namespace MARTe; - if (currentState == WaitTrigger) { - - //State Transition condition - if ((*triggerSignal == conditionTrigger)) { - REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence in SDN mode."); - plcOnTime = *currentTime; //Save pulse start time. - *outputBeamON = 0; - //State transition. - currentState = SwitchingHVPS_HVON; - } - } - else if (currentState == SwitchingHVPS_HVON) { - - //Actions in this state. - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *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; - 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; - REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal."); - } - - *outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time. - if (bps_hvon_is_on && aps_hvon_is_on){ - *outputHVArmed = 0; - currentState = WaitSDNTrigger; - } - - } - else if (currentState == WaitSDNTrigger) { - - // Action in this state - *outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time. - - // State change conditions - if (*sdnCommand == 1){ - sdnTriggerTime = *currentTime; - currentState = SwitchingHVPS_SWON; - } - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *outputSignal = 0; - currentState = HVTerminate; - } - } - else if (currentState == SwitchingHVPS_SWON) { - - //Actions in this state. - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *outputSignal = 0; - currentState = HVTerminate; - } - - if (*currentTime >= (sdnTriggerTime + *triggerDelay_bps_swon) && bps_swon_is_on==false){ - //Do action - *outputSignal += bps_swon; - 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; - 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; - apsSwonTime = *currentTime; - 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 = 0; - } - - //State transition condition - if (aps_swon_is_on){ - currentState = RFON; - *outputRFON = 0; - *shotCounter += 1; - REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON"); - } - } - else if (currentState == RFON) { - - //SDN command processing. - if (*sdnCommand == 4 && aps_swon_is_on) { - *outputSignal -= aps_swon; - aps_swon_is_on = false; - REPORT_ERROR(ErrorManagement::Debug, "sdn command was 4"); - } - if (*sdnCommand == 3 && !aps_swon_is_on) { - *outputSignal += aps_swon; - 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"); - } else if (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen)){ - 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; - bps_hvon_is_on = false; - bps_swon_is_on = false; - REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime); - } - *outputRFON = 0; - *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::Information, "state was changed to HVTerminate"); - } - } - else if (currentState == HVTerminate) { - - //Action in this state. - *outputBeamON = 1; - *outputHVArmed = 1; - *outputHVInjection = 1; - *outputRFON = 1; - - // State transition condition. - if (*currentTime - apsSwoffTime >= turn_off_delay){ - *outputSignal = 0; - } - if (*triggerSignal == false){ - //Check PLC_ON is reset - currentState = WaitTrigger; - *outputSignal = 0; - REPORT_ERROR(ErrorManagement::Debug, "state was changed to WaitTrigger"); - } - } - - return true; -} - -CLASS_REGISTER(JASDNRTStateMachineGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h deleted file mode 100644 index 91b4199..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h +++ /dev/null @@ -1,250 +0,0 @@ -/** - * @file JARTStateMachineGAM.h - * @brief Header file for class JASDNRTStateMachineGAM - * @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_JASDNRTSTATEMACHINEGAM_H_ -#define GAMS_JASDNRTSTATEMACHINEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM provides real-time state machine that communicate with SDN packet. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +GAMSDNRealTimeStateMachine = {
- *           Class = JASDNRTStateMachineGAM
- *           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
- *               }
- *               Command = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint16
- *               }
- *           }
- *           OutputSignals = {
- *               Value = {
- *                   //DataSource = NI6259
- *                   DataSource = Display
- *                   Type = uint32
- *                   Trigger = 1
- *               }
- *               BeamON = {
- *                   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
- *               }
- *           }
- *       }
- * 
- * - */ - -class JASDNRTStateMachineGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASDNRTStateMachineGAM(); - - virtual ~JASDNRTStateMachineGAM(); - - 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_HVON = 1, - WaitSDNTrigger = 2, - SwitchingHVPS_SWON = 3, - RFON = 4, - HVTerminate = 5 - }; - - //The current rtState - JARealTimeState currentState; - - ///////////////////////////////////////////////// - // Static parameter given by cfg File - ///////////////////////////////////////////////// - //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; - - ///////////////////////////////////////////////// - // Input signals - ///////////////////////////////////////////////// - //The trigger signal (PLC_ON) - MARTe::uint32 *triggerSignal; - //Time signal (Time from TimerGAM) - 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 SDN commands. - MARTe::uint16 *sdnCommand; - - ///////////////////////////////////////////////////////////// - // 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; - - ////////////////////////////// - //Internal Parameters - ////////////////////////////// - //PLC_ON time holder - MARTe::uint32 plcOnTime; - //APS_SWON time holder - MARTe::uint32 apsSwonTime; - MARTe::uint32 apsSwoffTime; - - //PS turn off delay - MARTe::uint32 turn_off_delay; - - //SDN trigger command arrival time. - MARTe::uint32 sdnTriggerTime; - //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; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASDNRTSTATEMACHINEGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.inc deleted file mode 100644 index 50056e0..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.inc +++ /dev/null @@ -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=JASDNRTStateMachineGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/JASampleGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/JASampleGAM.cpp deleted file mode 100644 index 62ab62d..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/JASampleGAM.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/** - * @file JASampleGAM.cpp - * @brief Source file for class JASampleGAM - * @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 JASampleGAM (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 "JASampleGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASampleGAM::JASampleGAM() { - // initialize member variables. - param1 = 0; - param2 = 0; - - //Input signals. - input1 = NULL_PTR(MARTe::uint32 *); - input2 = NULL_PTR(MARTe::float32 *); - //Output signals. - output1= NULL_PTR(MARTe::uint32 *); - output2 = NULL_PTR(MARTe::float32 *); - -} - -JASampleGAM::~JASampleGAM() { -} - -bool JASampleGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("param1", param1); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The param1 shall be specified"); - } - } - if (ok) { - ok = data.Read("param2", param2); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The param2 shall be specified"); - } - } - return ok; -} - -bool JASampleGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JASampleGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 2u); - if (ok) { - ok = (numberOfOutputSignals == 2u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two output signals shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two input signals shall be defined"); - } - // Do type check for input signals. - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - ok = ((inputType == UnsignedInteger32Bit) || (inputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or flaot32", signalName.Buffer()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger32Bit) || (outputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or float32", signalName.Buffer()); - } - } - } - - // Signal id can get by signal name in configuration file - if (ok) { - StreamString signalName = "InputXXX"; //Variable name in configuration file. - uint32 signalxxxIndex; //Index is copied to this variable by using signal name. - ok = GetSignalIndex(InputSignals, signalxxxIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "InputXXX input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, signalxxxIndex); - ok = (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, signalxxxIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - inputXXX = reinterpret_cast(GetInputSignalMemory(signalxxxIndex)); - } - } - } - - // Do type cast. with explicit signal id. - if (ok) { - input1 = reinterpret_cast(GetInputSignalMemory(0)); - input2 = reinterpret_cast(GetInputSignalMemory(1)); - - output1 = reinterpret_cast(GetOutputSignalMemory(0)); - output2 = reinterpret_cast(GetOutputSignalMemory(1)); - - } - return ok; -} - -bool JASampleGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - REPORT_ERROR(ErrorManagement::Information, "input1 is %d.", *input1); - REPORT_ERROR(ErrorManagement::Information, "input2 is %f.", *input2); - REPORT_ERROR(ErrorManagement::Information, "inputXXX is %f.", *inputXXX); - - REPORT_ERROR(ErrorManagement::Information, "maltiply param value to input."); - - *output1 = *input1 * param1; - *output2 = *input2 * param2; - - REPORT_ERROR(ErrorManagement::Information, "output1 is %d.", *output1); - REPORT_ERROR(ErrorManagement::Information, "output2 is %f.", *output2); - - return true; -} - -CLASS_REGISTER(JASampleGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/JASampleGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/JASampleGAM.h deleted file mode 100644 index 53f06ad..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/JASampleGAM.h +++ /dev/null @@ -1,122 +0,0 @@ -/** - * @file JASampleGAM.h - * @brief Header file for class JASampleGAM - * @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 JASampleGAM - * 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_JASampleGAM_H_ -#define GAMS_JASampleGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief GAM Sample Usage. - * @details Sample - * - * The configuration syntax is: - * - *
- * +SampleGAM = {
- *     Class = JASampleGAM
- *     InputSignals = {
- *         Input1 = {
- *             DataSource = "DDB"
- *             Type = uint32
- *             Default = 0
- *         }
- *         Input2 = {
- *             DataSource = "DDB"
- *             Type = float32
- *             Default = 100
- *         }
- *         InputXXX = {
- *             DataSource = "DDB"
- *             Type = float32
- *             NumberOfElements = 1
- *         }
- *     }
- *     OutputSignals = {
- *         Output1 = {
- *             DataSource = "DDB"
- *             Type = uint32
- *             Default = 0
- *         }
- *         Output2 = {
- *             DataSource = "DDB"
- *             Type = int32
- *             Default = 100
- *         }
- *     }
- * }
- * 
- */ - - -class JASampleGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASampleGAM(); - - virtual ~JASampleGAM(); - - 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: - //GAM fixed parameters. - MARTe::uint32 param1; - MARTe::float32 param2; - - // Input signals - MARTe::uint32 *input1; - MARTe::float32 *input2; - MARTe::float32 *inputXXX; - - // Output signals - MARTe::uint32 *output1; - MARTe::float32 *output2; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASampleGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/Makefile.inc deleted file mode 100644 index a95be67..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASampleGAM/Makefile.inc +++ /dev/null @@ -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=JARTSampleGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARTSampleGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTSampleGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp deleted file mode 100644 index 3ab70d0..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/** - * @file JASourceChoiseGAM.cpp - * @brief Source file for class JASourceChoiseGAM - * @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 JASourceChoiseGAM (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 "JASourceChoiseGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASourceChoiseGAM::JASourceChoiseGAM() { - // initialize member variables. - numberOfPVs = 0; -} - -JASourceChoiseGAM::~JASourceChoiseGAM() { -} - -bool JASourceChoiseGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("numberOfPVs", numberOfPVs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The numberOfPVs parameter shall be specified"); - } - } - return ok; -} - -bool JASourceChoiseGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JASourceChoiseGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == numberOfPVs*3u); - if (ok) { - ok = (numberOfOutputSignals == numberOfPVs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "%d *3 output signals shall be defined", numberOfPVs); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "%d input signals shall be defined", numberOfPVs); - } - // Do type check for input signals. - int int_num = 0; - int float_num = 0; - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - if(inputType == UnsignedInteger32Bit){ - int_num++; - } else if (inputType == Float32Bit) { - float_num++; - } else { - ok = false; - }; - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or flaot32", signalName.Buffer()); - } - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger32Bit) || (outputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or float32", signalName.Buffer()); - } - } - } - // Set memory - inputUInt32.resize(numberOfPVs*2); - inputFloat32.resize(numberOfPVs*2); - choise.resize(numberOfPVs); - outputUInt32.resize(numberOfPVs); - outputFloat32.resize(numberOfPVs); - - prevUInt32.resize(numberOfPVs*2); - prevFloat32.resize(numberOfPVs*2); - - if(ok){ - for(uint32 i=0; i(GetInputSignalMemory(3*i)); - inputUInt32[2*i+1] = reinterpret_cast(GetInputSignalMemory(3*i+1)); - choise[i] = reinterpret_cast(GetInputSignalMemory(3*i+2)); - outputUInt32[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } else if(inputType == Float32Bit){ - inputFloat32[2*i] = reinterpret_cast(GetInputSignalMemory(3*i)); - inputFloat32[2*i+1] = reinterpret_cast(GetInputSignalMemory(3*i+1)); - choise[i] = reinterpret_cast(GetInputSignalMemory(3*i+2)); - outputFloat32[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } - prevUInt32[2*i] = 0; - prevUInt32[2*i+1] = 0; - prevFloat32[2*i] = 0; - prevFloat32[2*i+1] = 0; - } - } - return ok; -} - -bool JASourceChoiseGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - - for (uint32 i=0; i < numberOfPVs; i++){ - if(*choise[i]==0){ - if(outputUInt32[i]){ - if(prevUInt32[i*2] != *inputUInt32[i*2]){ - *outputUInt32[i] = *inputUInt32[i*2]; - prevUInt32[i*2] = *inputUInt32[i*2]; - prevUInt32[1+i*2] = *inputUInt32[1+i*2]; - } - } else if(outputFloat32[i]){ - if(prevFloat32[i*2] != *inputFloat32[i*2]){ - *outputFloat32[i] = *inputFloat32[i*2]; - prevFloat32[i*2] = *inputFloat32[i*2]; - prevFloat32[1+i*2] = *inputFloat32[1+i*2]; - } - } - } else { - if(outputUInt32[i]){ - if(prevUInt32[1+i*2] != *inputUInt32[1+i*2]){ - *outputUInt32[i] = *inputUInt32[1+i*2]; - prevUInt32[i*2] = *inputUInt32[i*2]; - prevUInt32[1+i*2] = *inputUInt32[1+i*2]; - } - } else if (outputFloat32[i]){ - if(prevFloat32[1+i*2] != *inputFloat32[1+i*2]){ - *outputFloat32[i] = *inputFloat32[1+i*2]; - prevFloat32[i*2] = *inputFloat32[i*2]; - prevFloat32[1+i*2] = *inputFloat32[1+i*2]; - } - } - } - } - return true; -} - -CLASS_REGISTER(JASourceChoiseGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h deleted file mode 100644 index 2a4cd80..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @file JASourceChoiseGAM.h - * @brief Header file for class JASourceChoiseGAM - * @date Mar 04, 2019 - * @author kuchida - * - * @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 JASourceChoiseGAM - * 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_JASourceChoiseGAM_H_ -#define GAMS_JASourceChoiseGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JASourceChoiseGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASourceChoiseGAM(); - - virtual ~JASourceChoiseGAM(); - - 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 - //GAM fixed parameters. - MARTe::uint32 numberOfPVs; - - // Input signals - std::vector inputUInt32; - std::vector inputFloat32; - std::vector choise; - - // Output signals - std::vector outputUInt32; - std::vector outputFloat32; - - // Previous Input value - std::vector prevUInt32; - std::vector prevFloat32; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASourceChoiseGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/Makefile.inc deleted file mode 100644 index 52d83e4..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JASourceChoiseGAM/Makefile.inc +++ /dev/null @@ -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=JASourceChoiseGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JASourceChoiseGAM$(LIBEXT) \ - $(BUILD_DIR)/JASourceChoiseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp deleted file mode 100644 index 1d3f9c1..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/** - * @file JATerminalInterfaceGAM.cpp - * @brief Source file for class JATerminalInterfaceGAM - * @date Feb 19, 2019 - * @author kuchida - * - * @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 JATerminalInterfaceGAM (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 "JATerminalInterfaceGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JATerminalInterfaceGAM::JATerminalInterfaceGAM() { - - // Fixed GAM input - aps_hvon_term = 0; - - // Parameters which get from Input signals. - mhvps_hvon = NULL_PTR(MARTe::uint32 *); - aps_hvon = NULL_PTR(MARTe::uint32 *); - aps_swon = NULL_PTR(MARTe::uint32 *); - bps_hvon = NULL_PTR(MARTe::uint32 *); - bps_swon = NULL_PTR(MARTe::uint32 *); - - stateMachineOutput = NULL_PTR(MARTe::uint32 *); - - // write out target. - outputSignalNI6259 = NULL_PTR(MARTe::uint32 *); - outputSignalNI6528P3 = NULL_PTR(MARTe::uint8 *); - outputSignalNI6528P4 = NULL_PTR(MARTe::uint8 *); - - aps_hvon_state = 0; - aps_swon_state = 0; - mhvps_hvon_state = 0; - bps_hvon_state = 0; - bps_swon_state = 0; - p3Value = 0; - p4Value = 0; -} - -JATerminalInterfaceGAM::~JATerminalInterfaceGAM() { -} - -bool JATerminalInterfaceGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("mhvps_hvon_term", mhvps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The mhvps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("aps_hvon_term", aps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("aps_swon_term", aps_swon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_swon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("bps_hvon_term", bps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("bps_swon_term", bps_swon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_swon_term shall be specified"); - } - } - return ok; -} - -bool JATerminalInterfaceGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - - return true; -} - -bool JATerminalInterfaceGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 9u); - if (ok) { - ok = (numberOfOutputSignals == 3u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Three output signals shall be defined"); - } - } - 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 || inputType == UnsignedInteger8Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint8", 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 or uint8", signalName.Buffer()); - } - } - } - if (ok) { - //mhvps_manm = reinterpret_cast(GetInputSignalMemory(0)); - mhvps_hvon = reinterpret_cast(GetInputSignalMemory(0)); - //aps_manm = reinterpret_cast(GetInputSignalMemory(2)); - aps_hvon = reinterpret_cast(GetInputSignalMemory(1)); - aps_swon = reinterpret_cast(GetInputSignalMemory(2)); - //bps_manm = reinterpret_cast(GetInputSignalMemory(5)); - bps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - bps_swon = reinterpret_cast(GetInputSignalMemory(4)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(5)); - stateMachineOutput = reinterpret_cast(GetInputSignalMemory(6)); - ni6528p3Value = reinterpret_cast(GetInputSignalMemory(7)); - ni6528p4Value = reinterpret_cast(GetInputSignalMemory(8)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(0)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(1)); - outputSignalNI6528P4 = reinterpret_cast(GetOutputSignalMemory(2)); - - } - return ok; -} - -bool JATerminalInterfaceGAM::Execute() { - using namespace MARTe; - uint8 sm = *stateMachineOutput; - - - //Update HVPS state - aps_hvon_state = ((sm >> (0))&1); - aps_swon_state = ((sm >> (4))&1); - mhvps_hvon_state = ((sm >> (2))&1); - bps_hvon_state = ((sm >> (1))&1); - bps_swon_state = ((sm >> (3))&1); - - if(*short_pulse_mode == 1){ - p3Value = 1*aps_hvon_state + 8*bps_hvon_state +16*bps_swon_state; - *outputSignalNI6259 = 1*aps_swon_state; - //uint8 ni6528p3ValueTemp = 0;//*ni6528p3Value; - //ni6528p3ValueTemp &= ~(1<<2); //Does not turn on ni6258 aps switch - //Update terminal value - //*outputSignalNI6528P3 = ~(ni6528p3ValueTemp | p3Value); - *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; - //REPORT_ERROR(ErrorManagement::Debug, "long pulse mode with p3: %d.", p3Value); - } - - p4Value = 8*mhvps_hvon_state; - *outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value); - return true; -} - -CLASS_REGISTER(JATerminalInterfaceGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h deleted file mode 100644 index 773cbd6..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h +++ /dev/null @@ -1,157 +0,0 @@ -/** - * @file JATerminalInterfaceGAM.h - * @brief Header file for class JATerminalInterfaceGAM - * @date Feb 19, 2020 - * @author kuchida - * - * @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 JATerminalInterfaceGAM - * 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_JATerminalInterfaceGAM_H_ -#define GAMS_JATerminalInterfaceGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM calculates one output value by comparing input value and fixed parameters. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- * 
- *         +terminalInterfaceGAM = {
- *           Class = JATerminalInterfaceGAM
- *           mhvps_hvon_term = 4
- *           aps_hvon_term = 1
- *           aps_swon_term = 16
- *           bps_hvon_term = 2
- *           bps_swon_term = 8
- *           InputSignals = {
- *               MHVPS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               APS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               APS_SWON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               BPS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               BPS_SWON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               Value = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               Value = {
- *                   DataSource = NI6259
- *                   Type = uint32
- *                   Trigger = 1
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -class JATerminalInterfaceGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JATerminalInterfaceGAM(); - - virtual ~JATerminalInterfaceGAM(); - - 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: - // Fixed GAM input - MARTe::uint32 mhvps_hvon_term; - MARTe::uint32 aps_hvon_term; - MARTe::uint32 aps_swon_term; - MARTe::uint32 bps_hvon_term; - MARTe::uint32 bps_swon_term; - - // Input signals - //MARTe::uint32 *mhvps_manm; - MARTe::uint32 *mhvps_hvon; - - //MARTe::uint32 *aps_manm; - MARTe::uint32 *aps_hvon; - MARTe::uint32 *aps_swon; - - //MARTe::uint32 *bps_manm; - MARTe::uint32 *bps_hvon; - MARTe::uint32 *bps_swon; - - MARTe::uint32 *short_pulse_mode; - - MARTe::uint32 *stateMachineOutput; - MARTe::uint8 *ni6528p3Value; - MARTe::uint8 *ni6528p4Value; - - // Output signals - MARTe::uint32 *outputSignalNI6259; - MARTe::uint8 *outputSignalNI6528P3; - MARTe::uint8 *outputSignalNI6528P4; - - 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; - MARTe::uint8 p3Value; - MARTe::uint8 p4Value; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JATerminalInterfaceGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.inc deleted file mode 100644 index 0f3e2aa..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.inc +++ /dev/null @@ -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=JATerminalInterfaceGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(LIBEXT) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp deleted file mode 100644 index 7004a1f..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp +++ /dev/null @@ -1,178 +0,0 @@ -/** - * @file JATriangleWaveGAM.cpp - * @brief Source file for class JATriangleWaveGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JATriangleWaveGAM (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 "AdvancedErrorManagement.h" -#include "JATriangleWaveGAM.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -MARTe::float32 absFloat(MARTe::float32 x) { - if (x < 0.0f) { - return -x; - } - return x; -} - -JATriangleWaveGAM::JATriangleWaveGAM() { - frequency = NULL_PTR(MARTe::float32 *); - amplitude = NULL_PTR(MARTe::float32 *); - offset = NULL_PTR(MARTe::float32 *); - plcStandby = NULL_PTR(MARTe::uint32 *); - waveOutput = NULL_PTR(MARTe::float32 *); - time = 0.0f; -} - -JATriangleWaveGAM::~JATriangleWaveGAM() { -} - -bool JATriangleWaveGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JATriangleWaveGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 4u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "One output signal shall be defined."); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Four input signals shall be defined."); - } - uint32 freqIndex; - uint32 ampIndex; - uint32 offsetIndex; - uint32 plcStandbyIndex; - if (ok) { - StreamString signalName = "Frequency"; - ok = GetSignalIndex(InputSignals, freqIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Frequency input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, freqIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Frequency shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Amplitude"; - ok = GetSignalIndex(InputSignals, ampIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Amplitude input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, ampIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Amplitude shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Offset"; - ok = GetSignalIndex(InputSignals, offsetIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Offset input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, offsetIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Offset shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "PLCSTANDBY"; - ok = GetSignalIndex(InputSignals, plcStandbyIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLCSTANDBY input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, plcStandbyIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLCSTANDBY shall be defined as uint32."); - } - } - } - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 0); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Amplitude shall be defined as float32."); - } - } - if (ok) { - frequency = reinterpret_cast(GetInputSignalMemory(freqIndex)); - amplitude = reinterpret_cast(GetInputSignalMemory(ampIndex)); - offset = reinterpret_cast(GetInputSignalMemory(offsetIndex)); - plcStandby = reinterpret_cast(GetInputSignalMemory(plcStandbyIndex)); - waveOutput = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JATriangleWaveGAM::Execute() { - using namespace MARTe; - // If frequency is not set, output 0. - if (*frequency <= 0.0f || *plcStandby == 0u) { - *waveOutput = 0.0f; - return true; - } - // Increase the current time. - ++time; - // Calculate the period in milliseconds - float32 periodMs = 1000.0 / *frequency; - // Make sure the time is on [0, periodMs] interval. - while (time > periodMs) { - time -= periodMs; - } - // Formula: - // f(x) = |x - 0.5| * 2 * amplitude - // where x is between 0 and 1 - *waveOutput = absFloat((time / periodMs) - 0.5f) * 2.0f * (*amplitude) + *offset; - return true; -} - -CLASS_REGISTER(JATriangleWaveGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h deleted file mode 100644 index 22e34c3..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file JATriangleWaveGAM.h - * @brief Header file for class JATriangleWaveGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JATriangleWaveGAM - * 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_JATRIANGLEWAVEGAM_H_ -#define GAMS_JATRIANGLEWAVEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM provides triangular waveform output within 1kHz thread. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *      +CCPSWaveformGAM = {
- *           Class = JATriangleWaveGAM
- *           InputSignals = {
- *               Offset = {
- *                   Alias = OFFSET
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               Frequency = {
- *                   Alias = CCPS_OUTPUT_FREQ
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               Amplitude = {
- *                   Alias = CCPS_OUTPUT_AMP
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               PLCCCPSON = {
- *                   Alias = PLC_CCPSON
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
-  *              READY = {
- *                   Alias = PLC_READY
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               CCPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -class JATriangleWaveGAM : public MARTe::GAM { -public: - CLASS_REGISTER_DECLARATION() - - JATriangleWaveGAM(); - - virtual ~JATriangleWaveGAM(); - - virtual bool Initialise(MARTe::StructuredDataI & data); - - virtual bool Setup(); - - virtual bool Execute(); -private: - // Input signal containing the frequency of the waveform. - MARTe::float32 *frequency; - - // Input signal containing the amplitude of the waveform. - MARTe::float32 *amplitude; - - // Input signal cantaining the offset of the waveform. - MARTe::float32 *offset; - - // Input signal containing CCPS_ON_REQUEST - //MARTe::uint32 *plcccpson; - - // Input signal condition CCPS_READY - //MARTe::uint32 *plcReady; - - // Input signal condition CCPS_STANDBY - MARTe::uint32 *plcStandby; - - MARTe::float32 *waveOutput; - - MARTe::float32 time; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JATRIANGLEWAVEGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/Makefile.inc deleted file mode 100644 index 495d6ae..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JATriangleWaveGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JATriangleWaveGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JATriangleWaveGAM$(LIBEXT) \ - $(BUILD_DIR)/JATriangleWaveGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp b/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp deleted file mode 100644 index b26b6bd..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp +++ /dev/null @@ -1,317 +0,0 @@ -/** - * @file JAWFRecordGAM.cpp - * @brief Source file for class JAWFRecordGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAWFRecordGAM (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 "JAWFRecordGAM.h" - -#include "AdvancedErrorManagement.h" -#include "CLASSMETHODREGISTER.h" -#include "File.h" -#include "MessageI.h" -#include "RegisteredMethodsMessageFilter.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -// How often output signals are updated. -const MARTe::uint32 cycleMs = 10u; - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAWFRecordGAM::JAWFRecordGAM() : - GAM() { - filenameSignalIndex = 0u; - timeSignal = NULL_PTR(MARTe::int32 *); - loadTriggerSignal = NULL_PTR(MARTe::uint32 *); - valueSignals = NULL_PTR(MARTe::float32 **); - maxElements = 0u; - readOnce = true; -} - -JAWFRecordGAM::~JAWFRecordGAM() { - if (valueSignals != NULL_PTR(MARTe::float32 **)) { - delete[] valueSignals; - } -} - -bool JAWFRecordGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("Directory", directory); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - return ok; -} - -bool JAWFRecordGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 2u); - if (ok) { - ok = (numberOfOutputSignals > 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "At least two output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two input signal with the filename and file load trigger shall be defined"); - } - if (ok) { - StreamString signalName = "Filename"; - ok = GetSignalIndex(InputSignals, filenameSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Filename input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, filenameSignalIndex); - ok = (inputType == CharString); - if (!ok) { - ok = (inputType == Character8Bit); - } - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, filenameSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as string", signalName.Buffer()); - } - } - } - if (ok) { - StreamString signalName = "CSV_LOAD"; - uint32 loadSignalIndex; - ok = GetSignalIndex(InputSignals, loadSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "CSV_LOAD input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, loadSignalIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, loadSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } else { - loadTriggerSignal = reinterpret_cast(GetInputSignalMemory(loadSignalIndex)); - } - } - } - if (ok) { - TypeDescriptor timeType = GetSignalType(OutputSignals, 0); - - ok = (timeType == SignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, 0, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as int32", signalName.Buffer()); - } - - uint32 i; - for (i = 1u; (i < numberOfOutputSignals) && (ok); i++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, i); - ok = (outputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, i, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } - else { - uint32 dimentionsCount; - ok = GetSignalNumberOfDimensions(OutputSignals, 0u, dimentionsCount); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Output signals shall have 1 dimension."); - } - else { - uint32 elementsCount; - ok = GetSignalNumberOfElements(OutputSignals, 0u, elementsCount); - if (maxElements == 0) { - maxElements = elementsCount; - } - else { - ok = (maxElements == elementsCount); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Output signals shall have consistent number of elements."); - } - } - } - } - } - } - if (ok) { - valueSignals = new float32*[numberOfOutputSignals - 1u]; - uint32 i; - for (i = 1u; i < numberOfOutputSignals; i++) { - valueSignals[i - 1] = reinterpret_cast(GetOutputSignalMemory(i)); - } - timeSignal = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JAWFRecordGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - if (strcmp(nextStateName, "WaitReady") == 0) { - // Reset read once flag when reentering WaitReady state. - readOnce = true; - } - return true; -} - -void JAWFRecordGAM::LoadFile() { - using namespace MARTe; - - bool ok = true; - - const char8 * const filenameSignal = reinterpret_cast(GetInputSignalMemory(filenameSignalIndex)); - StreamString filename = directory; - filename += DIRECTORY_SEPARATOR; - filename += filenameSignal; - REPORT_ERROR(ErrorManagement::Debug, "Opening file %s", filename.Buffer()); - - File f; - ok = f.Open(filename.Buffer(), BasicFile::ACCESS_MODE_R); - - uint32 numberOfPreProgrammedTimeRows = 0u; - int32 *preProgrammedTime; - float32 **preProgrammedValues; - uint32 numberOfPreProgrammedValues = 0u; - - if (ok) { - StreamString tokenLine; - while (f.GetLine(tokenLine)) { - if (tokenLine[0] != '#') { - numberOfPreProgrammedTimeRows++; - } - tokenLine = ""; - } - f.Seek(0); - uint32 t = 0u; - tokenLine = ""; - while ((ok) && (f.GetLine(tokenLine))) { - if (tokenLine[0] == '#') { - tokenLine = ""; - continue; - } - if (numberOfPreProgrammedValues == 0) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - while (tokenLine.GetToken(token, ",", ignored)) { - numberOfPreProgrammedValues++; - token = ""; - } - ok = numberOfPreProgrammedValues == numberOfOutputSignals; - // Remove time from pre-programmed values count. - numberOfPreProgrammedValues -= 1u; - if (ok) { - preProgrammedTime = new int32[maxElements]; - memset(preProgrammedTime, 0, maxElements * sizeof(int32)); - preProgrammedValues = new float32*[numberOfPreProgrammedValues]; - uint32 j; - for (j = 0u; j < numberOfPreProgrammedValues; j++) { - preProgrammedValues[j] = new float32[maxElements]; - memset(preProgrammedValues[j], 0, maxElements * sizeof(float32)); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Number of columns in csv file (%d) is not consistent with the number of output signals (%d)", numberOfPreProgrammedValues, - numberOfOutputSignals - 1u); - } - } - if (ok) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - uint32 idx = 0u; - while (tokenLine.GetToken(token, ",", ignored)) { - if (idx == 0u) { - preProgrammedTime[t] = atoi(token.Buffer()); - } - else { - ok = ((idx - 1) < numberOfPreProgrammedValues); - if (ok) { - preProgrammedValues[idx - 1][t] = static_cast(atof(token.Buffer())); - } - else { - REPORT_ERROR(ErrorManagement::FatalError, "Number of columns in csv file is not consistent with the number of output signals in line %d", t); - } - } - token = ""; - idx++; - } - t++; - } - tokenLine = ""; - } - f.Close(); - } else { - REPORT_ERROR(ErrorManagement::Debug, "Cannot open the file %s", filename.Buffer()); - return; - } - if (numberOfPreProgrammedTimeRows > maxElements) { - REPORT_ERROR(ErrorManagement::Warning, "Only %d (out of %d) of pre-programmed values will be written to waveform record.", - maxElements, numberOfPreProgrammedTimeRows); - } - ok = MemoryOperationsHelper::Copy(timeSignal, preProgrammedTime, maxElements * sizeof(int32)); - uint32 i; - for (i = 0u; (i < numberOfPreProgrammedValues) && (ok); ++i) { - ok = MemoryOperationsHelper::Copy(valueSignals[i], preProgrammedValues[i], maxElements * sizeof(float32)); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::Warning, "Failed to write data to waveform record."); - } - - if (preProgrammedValues != NULL_PTR(float32 **)) { - uint32 i; - for (i = 0u; i < numberOfPreProgrammedValues; i++) { - delete preProgrammedValues[i]; - } - delete[] preProgrammedValues; - } - if (preProgrammedTime != NULL_PTR(int32 *)) { - delete[] preProgrammedTime; - } -} - -bool JAWFRecordGAM::Execute() { - if (*loadTriggerSignal == 1u) { - if (readOnce) { - LoadFile(); - readOnce = false; - } - } else { - // Reset read once flag when loadTriggerSignal is reset. - readOnce = true; - } - return true; -} - -CLASS_REGISTER(JAWFRecordGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.h b/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.h deleted file mode 100644 index ee22c1a..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.h +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file JAWFRecordGAM.h - * @brief Header file for class JAWFRecordGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAWFRecordGAM - * 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_JAWFRECORDGAM_H_ -#define GAMS_JAWFRECORDGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that is used for pre-programmed operation. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *       +WFRecordGAM = {
- *           Class = JAWFRecordGAM
- *           Directory = "../Configurations" 
- *           InputSignals = {
- *               CSV_LOAD = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               Filename = {
- *                   Alias = CSV_NAME
- *                   DataSource = EPICSCAInput
- *               }
- *           }
- *           OutputSignals = {
- *               PREP_TIME_WF = {
- *                   DataSource = DDB1
- *               }
- * *             MHVPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               BPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               APS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               MCPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               GCPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               FHPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *           }
- *       }
- * 
- * - */ - -class JAWFRecordGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAWFRecordGAM(); - - virtual ~JAWFRecordGAM(); - - 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: - void LoadFile(); - - MARTe::uint32 filenameSignalIndex; - - MARTe::uint32 *loadTriggerSignal; - - MARTe::StreamString directory; - - MARTe::float32 **valueSignals; - - MARTe::int32 *timeSignal; - - MARTe::uint32 maxElements; - - // Flag determining whether file should be read (so it isn't read multiple time) - bool readOnce; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAWFRECORDGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/Makefile.inc deleted file mode 100644 index 608ea6c..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/JAWFRecordGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JAWFRecordGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAWFRecordGAM$(LIBEXT) \ - $(BUILD_DIR)/JAWFRecordGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/Makefile b/EC-GN-JA-PCF/src/main/c++/GAMs/Makefile deleted file mode 100644 index 61a2101..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/Makefile +++ /dev/null @@ -1,28 +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 $ -# -############################################################# -export TARGET=x86-linux - -include Makefile.gcc diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/Makefile.gcc b/EC-GN-JA-PCF/src/main/c++/GAMs/Makefile.gcc deleted file mode 100644 index e0a2fc4..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/Makefile.gcc +++ /dev/null @@ -1,26 +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. -# -############################################################# - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/src/main/c++/GAMs/Makefile.inc b/EC-GN-JA-PCF/src/main/c++/GAMs/Makefile.inc deleted file mode 100644 index 8dfc149..0000000 --- a/EC-GN-JA-PCF/src/main/c++/GAMs/Makefile.inc +++ /dev/null @@ -1,45 +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 $ -# -############################################################# - -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 - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=../../../obj -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/Gyrotron01DAN.cpp b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/Gyrotron01DAN.cpp deleted file mode 100644 index 46ae827..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/Gyrotron01DAN.cpp +++ /dev/null @@ -1,639 +0,0 @@ -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp-sdn/main/c++/prog/prog.cpp.template $ - * $Id: prog.cpp.template 83098 2018-01-08 13:23:38Z cesnikt $ - * - * Project : CODAC Core System - * - * Description : GyrotronDAN program - * - * Author : codac-dev - * - * Copyright (c) : 2010-2018 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* header files */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#define float32_t float32_t1 -#include -#undef float32_t - -#include -#include -#include -#include -#include -#include - -#include - -// global variables -static bool __terminate = false; -char pxie6368_0_ai_fd[] = "/dev/pxie-6368.0.ai"; // ai segment -char pxie6368_0_device[] = "/dev/pxie-6368.0"; // device descriptor - -typedef struct { - int daq_smpl_rate; - int daq_mode; - double daq_smpl_st_dly; - double daq_len; - double daq_pub_dly; -} daq_parameters; - -void signal_handler(int signal) { - log_info("Received signal '%d' to terminate", signal); - __terminate = true; -}; - -// DAN parameter reload function ------------------------------------------------ -int reload_daq_conf(int *aifd, int *ai_chan_fd, daq_parameters *daq_p) { - std::cout << "reload_daq_conf was called \n"; - - // Common variables - int retval; - unsigned long number_of_samples; - int chan_num = 10; // Channel number to add. - uint32_t sample_period_divisor; - uint32_t base_clock = 100000000; // TB3:100MHz, TB2:100 kHz - uint32_t pre_samples = 1000; - uint32_t post_samples = 1000; - char str[40]; - xseries_ai_conf_t conf; // ai segment configuraton data - - // calculate sampling period divisor - if (daq_p->daq_smpl_rate != 0) { - sample_period_divisor = base_clock / daq_p->daq_smpl_rate; - } else { - return 0; - } - - // Stop ai segment---------------------------------------------------------------------- - retval = xseries_stop_ai(*aifd); - if (retval) { - log_error("ai segment stop failed.\n"); - } else { - log_info("ai segment stopped.\n"); - } - - // reset ai segment--------------------------------------------------------------------- - retval = xseries_reset_ai(*aifd); - if (retval) { - log_error("ai segment reset failed.\n"); - return -1; - } - - // Configure AI segment mode ------------------------------------------------------------ - switch (daq_p->daq_mode) { - case 0: - conf = xseries_software_timed_ai(); - log_info("software_timed mode.\n"); - break; - case 1: - conf = xseries_finite_ai(number_of_samples); - log_info("finite mode.\n"); - break; - case 2: - conf = xseries_retriggerable_finite_ai(number_of_samples); - log_info("retriggerable_finite mode.\n"); - break; - case 3: - conf = xseries_continuous_ai(); - log_info("continuous mode.\n"); - break; - case 4: - conf = xseries_reference_ai(pre_samples, post_samples); - log_info("reference mode.\n"); - break; - } - - // disable external gate - retval = xseries_set_ai_external_gate(&conf, - XSERIES_AI_EXTERNAL_GATE_DISABLED, // No external pause signal - XSERIES_AI_POLARITY_ACTIVE_LOW_OR_FALLING_EDGE); // Don't care - if (retval) { - log_error("Cannot set gate trigger.\n"); - return -1; - } - - // select start trigger (START1 signal) - retval = xseries_set_ai_start_trigger(&conf, - XSERIES_AI_START_TRIGGER_SW_PULSE, // Set the line to software-driven - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, // Make line active on rising... - 1); // ... edge (not high level) - if (retval) { - log_error("Cannot set start trigger.\n"); - return -1; - } - - // set sampling clock source---------------------------------------------------------------------------------------- - retval = xseries_set_ai_sample_clock(&conf, - XSERIES_AI_SAMPLE_CONVERT_CLOCK_INTERNALTIMING, - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, 1); - if (retval) { - log_error("Cannot configure sampling clock.\n"); - return -1; - } - - // set scan interval ------------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_scan_interval_counter(&conf, - XSERIES_SCAN_INTERVAL_COUNTER_TB3, // TB3 : 100MHz base clock, TB2 : 100kHz base clock - XSERIES_SCAN_INTERVAL_COUNTER_POLARITY_RISING_EDGE, - sample_period_divisor, 2); // Wait 2*100MHz sec after sampling trig. - if (retval) { - log_error("Cannot configure scan counter.\n"); - return -1; - } - - // Set DMA buffer size----------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_attribute(&conf, XSERIES_AI_DMA_BUFFER_SIZE, 1000); - if (retval) { - log_error("DMA configuration was failed.\n"); - return -1; - } - - // Add AI channels --------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - retval = xseries_add_ai_channel(&conf, i, XSERIES_INPUT_RANGE_10V, - XSERIES_AI_CHANNEL_TYPE_DIFFERENTIAL, 0); - if (retval) { - log_error("Add AI channel %d was failed.\n", i); - return -1; - } - } - sleep(3); - - // Load configuration.----------------------------------------------------------------------------------------------------------------------- - retval = xseries_load_ai_conf(*aifd, conf); - if (retval) { - log_error("xseries_load_ai_conf was failed. error code: %d \n", retval); - exit (EXIT_FAILURE); - } - sleep(3); - - // Open channels-------------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - sprintf(str, "%s.ai.%u", pxie6368_0_device, i); - //ai_chan_fd[i] = open(str, O_RDWR | O_NONBLOCK); - ai_chan_fd[i] = open(str, O_RDWR); - if (ai_chan_fd[i] < 0) { - log_error("Cannot open ai channel %d .\n",i); - sleep(1); - exit (EXIT_FAILURE); - } - } - - // start ai segment task----------------------------------------------------------------------------------------------------------------------- - retval = xseries_start_ai(*aifd); - if (retval) { - log_error("ERROR, starting AI segment failed: %s\n", strerror(retval)); - exit (EXIT_FAILURE); - } - - log_info("PXIe-6368 configuration was finished.\n"); - return 0; -}; - - - -int main(int argc, char **argv) { - using namespace std; - unsigned long n_sample_quotient = 0; - - log_initialize(NULL); - - while (!__terminate) { - // Install signal handler to support graceful termination - sigset(SIGTERM, signal_handler); - sigset(SIGINT, signal_handler); - sigset(SIGHUP, signal_handler); - - // ---------------------------------------------------------------------------------------------------------------- - // Running parameter declaration - // ---------------------------------------------------------------------------------------------------------------- - // pxie6368 hardware parameters - int pxie6368_0_device_number = 0; // device discriptor number - int aifd = 0; // ai segment file discriptor - xseries_ai_conf_t conf; // ai segment config - xseries_ai_attribute_t aiatrb; // ai segment attributes - char str[40]; // fd tmp var - int ai_chan_fd[16]; // ai channels file discriptor - int pxie6368_sampling_rate = 1000; // sampling rate Hz - uint32_t sample_period_divisor = 100000000 / pxie6368_sampling_rate; // TB3 100MHz, TB2:100kHz, TB1:20MHz - int sampleSize = 2; // Sample size in bytes <---> uInt16 - int n_channels; // Number of opened channels - struct xseries_dma *dma; // Ptr to dma struct - int chan_num = 10; // Channel number to add. - - // DAN parameters - char dan_source_name[] = "GYADanSource"; // DAN data source (ds) name - long offset_ai = 0; // offset size in published data - int dma_mode = 1; // 0:All, 1:AI only, 2:AO only - dan_DataCore dc = NULL; // Datacore reference declaration - dan_Source ds = NULL; // DAN source declaration - long samplesCounter = 0; // Total acquired sample size - size_t n_samples; // prepared sample size to publish - - // TCN parameters - uint64_t tBase_old = 0; - uint64_t tBase = 0; // TCN publishing base time - uint64_t nanos; // time length for sampling - hpn_timestamp_t delay = 1e7; // wait for publishing (10ms) - char buf[ISO_8601_LEN]; - uint64_t tBase0 = 0; - - // Operation tmp parameter - int result; // For result values. - int exValue; - bool toterminate = false; - int retval; - bool daq_start = false; - int testcounter = 10000; - - // Connected EPCIS PV - - // DAQ config PVs - chid daq_smpl_rate_id; - chtype daq_smpl_rate_type; - int daq_smpl_rate; - chid daq_smpl_rate_rb_id; - chtype daq_smpl_rate_rb_type; - int daq_smpl_rate_rb; - chid daq_mode_id; - chtype daq_mode_type; - int daq_mode; - chid daq_mode_rb_id; - chtype daq_mode_rb_type; - int daq_mode_rb; - chid daq_sw_trig_id; - chtype daq_sw_trig_type; - int daq_sw_trig; - chid daq_smpl_st_dly_id; - chtype daq_smpl_st_dly_type; - double daq_smpl_st_dly; - chid daq_smpl_st_dly_rb_id; - chtype daq_smpl_st_dly_rb_type; - double daq_smpl_st_dly_rb; - chid daq_len_id; - chtype daq_len_type; - double daq_len; - chid daq_len_rb_id; - chtype daq_len_rb_type; - double daq_len_rb; - chid daq_reconf_id; - chtype daq_reconf_type; - int daq_reconf; - chid daq_pub_dly_id; - chtype daq_pub_dly_type; - double daq_pub_dly; - chid daq_pub_dly_rb_id; - chtype daq_pub_dly_rb_type; - double daq_pub_dly_rb; - - chid daq_stat_id; - chtype daq_stat_type; - int daq_stat; - chid daq_conf_stat_id; - chtype daq_conf_stat_type; - int daq_conf_stat; - - daq_parameters daq_p = { 0 }; // = {daq_smpl_rate, daq_smpl_rate_rb, daq_mode, daq_mode_rb}; - - // ---------------------------------------------------------------------------------------------------------------------------------------------- - // EPICS PV connection - // ---------------------------------------------------------------------------------------------------------------------------------------------- - //Initialize ChannelAccess interface - CAInterface_Initialize(); - - // Connect to EPICS PVs - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE", daq_smpl_rate_id); - daq_smpl_rate_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB", daq_smpl_rate_rb_id); - daq_smpl_rate_rb_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE", daq_mode_id); - daq_mode_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE-RB", daq_mode_rb_id); - daq_mode_rb_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SW-TRIG", daq_sw_trig_id); - daq_sw_trig_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY", daq_smpl_st_dly_id); - daq_smpl_st_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY-RB", daq_smpl_st_dly_rb_id); - daq_smpl_st_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN", daq_len_id); - daq_len_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN-RB", daq_len_rb_id); - daq_len_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-RECONF", daq_reconf_id); - daq_reconf_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY", daq_pub_dly_id); - daq_pub_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB", daq_pub_dly_rb_id); - daq_pub_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-STAT", daq_stat_id); - daq_stat_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-CONF-STAT", daq_conf_stat_id); - daq_conf_stat_type = DBR_ENUM; - - tcn_sleep(3e9);// Wait for a while. - - // ---------------------------------------------------------------------------------------------------------------- - // Initialize tcn library - // ---------------------------------------------------------------------------------------------------------------- - int tcn_err; - tcn_err = tcn_init(); - if (tcn_err != TCN_SUCCESS) { - log_error("TCN Initialization failed.\n"); - exValue = 1; - goto END; - } - - // ---------------------------------------------------------------------------------------------------------------- - // pxie-6368 settings - // ---------------------------------------------------------------------------------------------------------------- - // Open ai segment---------------------------------------------------------------------- - aifd = open(pxie6368_0_ai_fd, O_RDWR); - if (aifd <= 0) { - log_error("Open PXIe6368 AI fd failed.\n"); - exValue = -1; - goto END; - } - - // wait ai segment setup start - do { - CAInterface_ReadVariable(daq_reconf_id, daq_reconf_type, (void*) &daq_reconf); - } while (!daq_reconf and !__terminate); - - // read parameter - result = CAInterface_ReadVariable(daq_smpl_rate_id, daq_smpl_rate_type, (void *) &daq_p.daq_smpl_rate); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_mode_id, daq_mode_type, (void *) &daq_p.daq_mode); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_smpl_st_dly_id, daq_smpl_st_dly_type, (void *) &daq_p.daq_smpl_st_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_len_id, daq_len_type, (void *) &daq_p.daq_len); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_pub_dly_id, daq_pub_dly_type, (void *) &daq_p.daq_pub_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - - std::cout << "SAMPLE RATE:" << daq_p.daq_smpl_rate << endl; - std::cout << "MODE :" << daq_p.daq_mode << endl; - std::cout << "START DELAY:" <ai.count * sampleSize, 4096); - - //dan_DataCore, ds_name, devName, enum_daq_type refType, long refSize, long refOffset - if (ds == NULL) { - log_error("Error while publishing DAN source %s ", dan_source_name); - exValue = 1; - goto END; - } - - n_channels = dan_publisher_getNumberOfChannels(ds); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- DAN Streamer. - // ------------------------------------------------------------------------------------------------------------------ - // ----- Open a new stream --------------------------------------------------------------------- - dan_publisher_openStream(ds, daq_p.daq_smpl_rate, 0); - sleep(1); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Main DAN Loop. - // ------------------------------------------------------------------------------------------------------------------ - while (!__terminate) { - // Wait for the master trigger.---------------------------------------------------------------------------- - daq_stat = 1; //0:Not Ready, 1: Waiting trigger, 2:Acquiring 3:Error - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - daq_conf_stat = 1; //0:Not ready, 1: Ready - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - - // Wait DAQ Start Software Trigger. - do { - // check daq_sw_trigger to start DAQ sequence. - CAInterface_ReadVariable(daq_sw_trig_id, daq_sw_trig_type, (void*) &daq_sw_trig); - tcn_sleep(1e7); // wait 0.01 s - if (daq_sw_trig) { - daq_start = true; - } - } while (daq_start != true and !__terminate); - - daq_start = false; //reset daq_start flag. - delay = (long) (1e6 * daq_p.daq_pub_dly); //check publish period. - - // Wait a time to start DAQ. ---------------------------------------------------------------------------------------------------------------------- - tcn_sleep(daq_p.daq_smpl_st_dly * 1e6); // in ms - - // After the wating, trigger DAQ ------------------------------------------------------------------------------------------------------------------ - retval = xseries_pulse_ai(aifd, XSERIES_START_TRIGGER); - daq_stat = 2; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - if (retval) { - std::cout << "Cannot generate start trigger!\n"; - goto END; - } else { - tcn_get_time(&tBase); // get DAQ start time. - tBase0 = tBase; // save DAQ start time to tBase0; - tBase_old = tBase; - } - - // DAQ Publish Loop. ---------------------------------------------------------------------------------------------------------------------------- - // DAN data publish is executed every delay time interval. - while (!__terminate && (tcn_wait_until_hr((tBase + delay), &tBase, 0) == TCN_SUCCESS)) { - // Get the number of available samples in PXIe6368 buffer. - n_samples = xsereis_ai_dma_samples_in_buffer(dma); // samples - - if (n_samples > dma->ai.count) { - //log_error("DMA Buffer overflow: Number of new samples in buffer = %ld, AI buffer size = %ld,\n", n_samples, dma->ai.count); - } else if (n_samples > 0) { - //log_info("Current Time:\n%s\n", tcn_strftime(tBase, buf, ISO_8601_LEN)); - if (tBase == 0) { - // "tBase was reset.------------------------------------------------------\n"; - tcn_get_time(&tBase); - tBase -= n_samples * 100000000 / pxie6368_sampling_rate; - nanos = 0; - } else { - // update time offset value. - nanos = n_samples * 100000000 / daq_p.daq_smpl_rate; - } - n_sample_quotient = floor(n_samples / chan_num); - n_samples = n_sample_quotient * chan_num; - - // Publish a new data block -------------------------------------------------------------------------------------------------------------------------- - result = dan_publisher_putBlockReference(ds, - tBase_old + nanos, // timestamp in epoch nanoseconds - n_samples * sampleSize, // datablock size in bytes - offset_ai * sampleSize, // Offset in DAQ buffer - NULL); // No datablock header.... - // Detected overflow in pass datablock reference queue - if (result == -1) { - log_info("%s, Queue overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } else if (result == -2) { - log_info("%s, DAQ buffer overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } - } - - samplesCounter += n_samples; // Increment total of published sampes - offset_ai = (offset_ai + n_samples) % dma->ai.count; // Update offset of memory - dma->ai.last_transfer_count = samplesCounter; // Update dma last_transfer_count - - // Check exit condition. - if ((daq_p.daq_len * 1e6 <= (tBase - tBase0))) { - retval = xseries_stop_ai(aifd); - if (retval) { - std::cout << "Stop AI segment failed.\n"; - exit (EXIT_FAILURE); - } - - //restart ai segment. - tcn_sleep(1e9); // wait - retval = xseries_start_ai(aifd); - if (retval) { - std::cout << "Start AI segment failed.\n"; - exit (EXIT_FAILURE); - } - //debug - tcn_sleep(1e8); - n_samples = xsereis_ai_dma_samples_in_buffer(dma); - cout << "n_samples check : " << n_samples << endl; - break; - } - tBase_old = tBase; - } // End of DAQ publish loop. - break; - } // End of DAN main loop. - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Closing program. - // ------------------------------------------------------------------------------------------------------------------ - log_info("DAN end of acquisition, closing all resources"); - - //Closing stream - dan_publisher_closeStream(ds); - exValue = 0; - - // Close all channels - for (int channel = 0; channel < chan_num; channel++) { - close(ai_chan_fd[channel]); - } - goto END; - - END: daq_conf_stat = 0; - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - daq_stat = 0; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - // Destroy CA context - CAInterface_Finalize(); - // Close pxie6368 - if (dma != NULL) { - xseries_dma_close(dma); - cout << "pxie-6368 dma was clesed.\n"; - } - - close(aifd); - - // Unpublishing source from DAN API - if (ds != NULL) { - dan_publisher_unpublishSource(dc, ds); - } - - // Closing DAN API library - if (dc != NULL) { - dan_closeLibrary(dc); - } - - // Closing TCN library - result = tcn_finalize(); - if (result != TCN_SUCCESS) { - //log_error("Error finalizing TCN lib.\n"); - } - - } // loop end from initialization - return (0); - -} diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/Makefile b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/Makefile deleted file mode 100644 index ab6bca0..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/prog/Makefile.template $ -# $Id: Makefile.template 83098 2018-01-08 13:23:38Z cesnikt $ -# -# Project : CODAC Core System -# -# Description : gyrotronDAN Makefile -# -# Author : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2018 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -PROGNAME=Gyrotron01DAN - -LIBRARIES=ca dan_api dan_client_api dan_stream dan_base xml2 log sdn sdn-core ccs-core rt pthread tcn nixseries -LIBRARY_DIRS= -INCLUDE_DIRS=. ../include $(CODAC_ROOT)/include $(EPICS_BASE)/include/os/Linux $(EPICS_BASE)/include/compiler/gcc $(EPICS_BASE)/include /usr/include/libxml2 $(SDN_TOPIC_DIRECTORY) - -TARGET=../../../../target -BINARY_DIR=$(TARGET)/bin -OBJECT_DIR=$(TARGET)/obj/$(PROGNAME) -SOURCE_DIR=. - -EXECUTABLE=$(BINARY_DIR)/$(PROGNAME) -INCLUDES=$(foreach inc,$(INCLUDE_DIRS),-I$(inc)) -LDLIBS=-L$(CODAC_ROOT)/lib -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) $(foreach libs,$(LIBRARY_DIRS),-L$(libs) -Wl,-rpath,$(libs)) $(foreach libs,$(LIBRARIES),-l$(libs)) -SOURCES=$(SOURCE_DIR)/$(PROGNAME).cpp $(SOURCE_DIR)/configure_sdn.cpp -# to build executable from all sources in the program directory: -#SOURCES=$(wildcard $(SOURCE_DIR)/*.cpp $(SOURCE_DIR)/*.c) -OBJECTS=$(addprefix $(OBJECT_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(SOURCES)))) - -C=gcc -CC=g++ -CFLAGS=-c -Wall -CCFLAGS=-c -Wall -std=c++11 -LDFLAGS= - -.PHONY: all clean run - -all: $(SOURCES) $(EXECUTABLE) - -clean: - rm -rf "$(EXECUTABLE)" "$(OBJECT_DIR)" - -run: $(SOURCES) $(EXECUTABLE) - $(EXECUTABLE) - -$(EXECUTABLE): $(OBJECTS) - mkdir -p $(BINARY_DIR) - $(CC) $(LDFLAGS) $(LDLIBS) $(OBJECTS) -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.cpp - mkdir -p $(OBJECT_DIR) - $(CC) $(CCFLAGS) $(INCLUDES) $< -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.c - mkdir -p $(OBJECT_DIR) - $(C) $(CFLAGS) $(INCLUDES) $< -o $@ \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/ca-if.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/ca-if.h deleted file mode 100644 index 3bcbb4d..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/ca-if.h +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef CA_IF_H -#define CA_IF_H - -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-log-lib/trunk/src/main/c++/include/tools/any-type.h $ - * $Id: any-type.h 50547 2014-10-09 12:09:51Z bauvirb $ - * - * Project : CODAC Core System - * - * Description : Channel Access Interface - * - * Author : Bertrand Bauvir - * - * Copyright (c) : 2010-2014 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* Global header files */ -#include -#include /* Channel Access API definition, etc. */ -//#include /* CCS logging library */ - -/* Local header files */ - -/* Constants */ - -#ifndef log_trace -#define log_trace(arg_msg...) {} -#endif - -#ifndef log_error -#define log_error(arg_msg...){} -#endif - -/* Type definition */ - -/* Global variables */ - -/* Public function declaration */ - -static inline bool CAInterface_Initialize(void) { - bool status = false; - ca_context_create (ca_disable_preemptive_callback); //Default - //ca_context_create(ca_enable_preemptive_callback); - status = true; - - return status; -}; - -static inline bool CAInterface_Finalize(void) { - bool status = false; - ca_context_destroy(); - status = true; - - return status; -}; - -static inline bool CAInterface_ConnectVariable(char* name, chid& id) { - bool status = false; - /* Connect to channels */ - if (ca_create_channel(name, NULL, NULL, 10, &id) != ECA_NORMAL) { - return status; - } - - /* Wait for connections */ - if (ca_pend_io(1) != ECA_NORMAL) { - log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - /* Verify channel */ - if (ca_state(id) != cs_conn) { - //log_warning("Connection to channel '%s' has not been successful", name); - } else { - //log_info("Connection to channel '%s' has been successfully verified", name); - } - - status = true; - - return status; -}; - -static inline bool CAInterface_ReadVariable(chid channel, chtype type, - void* p_value) { - bool status = false; - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost"); - return status; - } - - if (ca_get(type, channel, p_value) != ECA_NORMAL) { - //log_error("%s - ca_get failed", __FUNCTION__); - return status; - } - - /* Flush the requests */ - if (ca_pend_io(1) != ECA_NORMAL) { - //log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - status = true; - - return status; -}; - -static inline bool CAInterface_WriteVariable(chid channel, chtype type, - void* p_value) { - bool status = false; - - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost", __FUNCTION__); - return status; - } - - if (ca_put(type, channel, p_value) != ECA_NORMAL) { - //log_warning("%s - ca_put failed", __FUNCTION__); - } - - /* Flush the requests */ - if (ca_pend_io(1) != ECA_NORMAL) { - //log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - status = true; - - return status; -}; - -typedef void (*pCallBack)(struct event_handler_args); - -static inline bool CAInterface_SubscribeVariable(chid channel, chtype type, - pCallBack cb_func, void* p_value) { - bool status = false; - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost", __FUNCTION__); - return status; - } - - if (ca_create_subscription(type, 0, channel, DBE_VALUE, cb_func, NULL, NULL) - != ECA_NORMAL) { - //log_error("%s - ca_create_subscription failed", __FUNCTION__); - return status; - - } - /* - if(ca_pend_event(0.0) != ECA_NORMAL){ - //log_error("%s - ca_pend_event failed", __FUNCTION__); - return status; - } - */ - status = true; - - return status; -}; - -#endif /* CA_IF_H */ diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/configure_sdn.cpp b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/configure_sdn.cpp deleted file mode 100644 index fc607b1..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/configure_sdn.cpp +++ /dev/null @@ -1,68 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/configure_sdn.cpp.vm $ -// $Id: configure_sdn.cpp.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron01DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#include - -#include -#include "includetopics.h" - -using namespace std; - -/* Create variables for the topics on which application is publishing */ -//+P===================================================================== -//-P===================================================================== - -/* Create variables for topics on which application is subscribing */ -//+S===================================================================== -//-S===================================================================== - -int configureSDN() -{ - - SR_RET sr_ret = SR_OK; - - //+P===================================================================== - //-P===================================================================== - - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} - -int cleanupSDN() -{ - - SR_RET sr_ret = SR_OK; - - /* Unregister publisher */ - //+P===================================================================== - //-P===================================================================== - - /* Unregister subscriber */ - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/environmentVarDev b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/environmentVarDev deleted file mode 100644 index fa62c0e..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/environmentVarDev +++ /dev/null @@ -1,17 +0,0 @@ -######################################## -# Program-specific environment variables -######################################## - -# INFO - This file is part of the I&C project. It can be modified without risk of being overwritten. -# INFO - This file is sourced when invoking 'mvn run -Dprog=' to allow for setting development-specific environment variables. - -# Override SDN interface name for test purposes -# Default: lo -# Project: Target host in SDD database -#SDN_INTERFACE_NAME=lo - -# INFO - This file can be further extended with anything specific required by the program. - -#LOG_FILE_ENABLE=false -#LOG_FILTER_LEVEL=info -#LOG_FWD_MODE=asyn diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/includetopics.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/includetopics.h deleted file mode 100644 index b7aece5..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/includetopics.h +++ /dev/null @@ -1,29 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/includetopics.h.vm $ -// $Id: includetopics.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron01DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef INCLUDETOPICS_H -#define INCLUDETOPICS_H - -#include - - -#endif \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-dan.cpp b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-dan.cpp deleted file mode 100644 index 00886e0..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-dan.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "sdd-dan.h" -#include -#include "stdlib.h" - -int declareDANStruct(dan_Source ds ){ - - int result=0; - int Cnt=0; - if(ds==NULL){ - log_error("Invalid call to declareDANStruct, dan source not initialized \n "); - return -1; - } - - return 0; - } \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-dan.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-dan.h deleted file mode 100644 index 9d1b3a8..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-dan.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SDD_DAN_H -#define SDD_DAN_H -#include "dan.h" - -static const char ICProgName[] = "Gyrotron01DAN"; -static const char GYADanSource[] = "GYADanSource"; - -#endif /* SDD_DAN_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-data.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-data.h deleted file mode 100644 index 73f755b..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-data.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef SDD_DATA_H -#define SDD_DATA_H - -#include "sdd-pon-if.h" -#include "sdd-iomodule.h" - -static SDD_PONVar pvlist []={ - - }; - -static SDD_IOModule iomlist []={ - }; - -#endif /* SDD_DATA_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-iomodule.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-iomodule.h deleted file mode 100644 index a8af1fe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-iomodule.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef SDD_IOMODULE_H -#define SDD_IOMODULE_H - -//include all linux libraries for IO module listed in the programs - - -//max is 15 for component name -#define SDD_CPMAXLENGTH 50 -#define SDD_SERIALNBMAXLENGTH 60 -#define SDD_FDPREFIXMAXLENGTH 100 - -struct SDD_IOModule { - - //name of the module - char name[SDD_CPMAXLENGTH]; - - //type of the module - char modtype[SDD_CPMAXLENGTH]; - - //module index - int fd; - - //file descriptor name - char filedescrip_prefix[SDD_FDPREFIXMAXLENGTH]; - - //serial number - char serial_number [SDD_SERIALNBMAXLENGTH]; - -}; - -//list of symbol for IOModule : IO module type and fd -typedef enum SDD_IOModuleEnum { - - } SDD_IOModuleEnum; - - -#endif /* SDD_IOMODULE_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-pon-if.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-pon-if.h deleted file mode 100644 index ea459e6..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/sdd-pon-if.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef SDD_PON_IF_H -#define SDD_PON_IF_H - -#include /* Channel Access API definition, etc. */ - - -#define SDD_PVMAXLENGTH 40 -#define SDD_STRING_MAX_LENGTH 100 -#define SDD_NB_OF_PONVAR 0 //generated by SDD - -struct SDD_PONVar { - - char name[SDD_PVMAXLENGTH]; - - //if read-> monitor=yes otherwise false - bool isMonitored; - - chtype type; - - //the code can cast - char initialvalue[SDD_STRING_MAX_LENGTH]; - -}; - -//list of symbols -typedef enum SDD_PONVarEnum { - - -} SDD_PONVarEnum; - -//for each enum (bi/bo/mbbi/mbbo) name is symbolname suffix with _enum - - - - -#endif /* SDD_PON_IF_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/topicvars.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/topicvars.h deleted file mode 100644 index dc0b827..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron01DAN/topicvars.h +++ /dev/null @@ -1,36 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/topicvars.h.vm $ -// $Id: topicvars.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron01DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef TOPICVARS_H -#define TOPICVARS_H - -#include "includetopics.h" - -/* Declare variables for the topics on which application is publishing. */ -//+P===================================================================== -//-P===================================================================== - -/* Declare variables for the topics to which application is subscribing. */ -//+S===================================================================== -//-S===================================================================== - -#endif diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/Gyrotron02DAN.cpp b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/Gyrotron02DAN.cpp deleted file mode 100644 index 06f975b..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/Gyrotron02DAN.cpp +++ /dev/null @@ -1,639 +0,0 @@ -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp-sdn/main/c++/prog/prog.cpp.template $ - * $Id: prog.cpp.template 83098 2018-01-08 13:23:38Z cesnikt $ - * - * Project : CODAC Core System - * - * Description : GyrotronDAN program - * - * Author : codac-dev - * - * Copyright (c) : 2010-2018 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* header files */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#define float32_t float32_t1 -#include -#undef float32_t - -#include -#include -#include -#include -#include -#include - -#include - -// global variables -static bool __terminate = false; -char pxie6368_0_ai_fd[] = "/dev/pxie-6368.1.ai"; // ai segment -char pxie6368_0_device[] = "/dev/pxie-6368.1"; // device descriptor - -typedef struct { - int daq_smpl_rate; - int daq_mode; - double daq_smpl_st_dly; - double daq_len; - double daq_pub_dly; -} daq_parameters; - -void signal_handler(int signal) { - log_info("Received signal '%d' to terminate", signal); - __terminate = true; -}; - -// DAN parameter reload function ------------------------------------------------ -int reload_daq_conf(int *aifd, int *ai_chan_fd, daq_parameters *daq_p) { - std::cout << "reload_daq_conf was called \n"; - - // Common variables - int retval; - unsigned long number_of_samples; - int chan_num = 10; // Channel number to add. - uint32_t sample_period_divisor; - uint32_t base_clock = 100000000; // TB3:100MHz, TB2:100 kHz - uint32_t pre_samples = 1000; - uint32_t post_samples = 1000; - char str[40]; - xseries_ai_conf_t conf; // ai segment configuraton data - - // calculate sampling period divisor - if (daq_p->daq_smpl_rate != 0) { - sample_period_divisor = base_clock / daq_p->daq_smpl_rate; - } else { - return 0; - } - - // Stop ai segment---------------------------------------------------------------------- - retval = xseries_stop_ai(*aifd); - if (retval) { - log_error("ai segment stop failed.\n"); - } else { - log_info("ai segment stopped.\n"); - } - - // reset ai segment--------------------------------------------------------------------- - retval = xseries_reset_ai(*aifd); - if (retval) { - log_error("ai segment reset failed.\n"); - return -1; - } - - // Configure AI segment mode ------------------------------------------------------------ - switch (daq_p->daq_mode) { - case 0: - conf = xseries_software_timed_ai(); - log_info("software_timed mode.\n"); - break; - case 1: - conf = xseries_finite_ai(number_of_samples); - log_info("finite mode.\n"); - break; - case 2: - conf = xseries_retriggerable_finite_ai(number_of_samples); - log_info("retriggerable_finite mode.\n"); - break; - case 3: - conf = xseries_continuous_ai(); - log_info("continuous mode.\n"); - break; - case 4: - conf = xseries_reference_ai(pre_samples, post_samples); - log_info("reference mode.\n"); - break; - } - - // disable external gate - retval = xseries_set_ai_external_gate(&conf, - XSERIES_AI_EXTERNAL_GATE_DISABLED, // No external pause signal - XSERIES_AI_POLARITY_ACTIVE_LOW_OR_FALLING_EDGE); // Don't care - if (retval) { - log_error("Cannot set gate trigger.\n"); - return -1; - } - - // select start trigger (START1 signal) - retval = xseries_set_ai_start_trigger(&conf, - XSERIES_AI_START_TRIGGER_SW_PULSE, // Set the line to software-driven - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, // Make line active on rising... - 1); // ... edge (not high level) - if (retval) { - log_error("Cannot set start trigger.\n"); - return -1; - } - - // set sampling clock source---------------------------------------------------------------------------------------- - retval = xseries_set_ai_sample_clock(&conf, - XSERIES_AI_SAMPLE_CONVERT_CLOCK_INTERNALTIMING, - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, 1); - if (retval) { - log_error("Cannot configure sampling clock.\n"); - return -1; - } - - // set scan interval ------------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_scan_interval_counter(&conf, - XSERIES_SCAN_INTERVAL_COUNTER_TB3, // TB3 : 100MHz base clock, TB2 : 100kHz base clock - XSERIES_SCAN_INTERVAL_COUNTER_POLARITY_RISING_EDGE, - sample_period_divisor, 2); // Wait 2*100MHz sec after sampling trig. - if (retval) { - log_error("Cannot configure scan counter.\n"); - return -1; - } - - // Set DMA buffer size----------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_attribute(&conf, XSERIES_AI_DMA_BUFFER_SIZE, 1000); - if (retval) { - log_error("DMA configuration was failed.\n"); - return -1; - } - - // Add AI channels --------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - retval = xseries_add_ai_channel(&conf, i, XSERIES_INPUT_RANGE_10V, - XSERIES_AI_CHANNEL_TYPE_DIFFERENTIAL, 0); - if (retval) { - log_error("Add AI channel %d was failed.\n", i); - return -1; - } - } - sleep(3); - - // Load configuration.----------------------------------------------------------------------------------------------------------------------- - retval = xseries_load_ai_conf(*aifd, conf); - if (retval) { - log_error("xseries_load_ai_conf was failed. error code: %d \n", retval); - exit (EXIT_FAILURE); - } - sleep(3); - - // Open channels-------------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - sprintf(str, "%s.ai.%u", pxie6368_0_device, i); - //ai_chan_fd[i] = open(str, O_RDWR | O_NONBLOCK); - ai_chan_fd[i] = open(str, O_RDWR); - if (ai_chan_fd[i] < 0) { - log_error("Cannot open ai channel %d .\n",i); - sleep(1); - exit (EXIT_FAILURE); - } - } - - // start ai segment task----------------------------------------------------------------------------------------------------------------------- - retval = xseries_start_ai(*aifd); - if (retval) { - log_error("ERROR, starting AI segment failed: %s\n", strerror(retval)); - exit (EXIT_FAILURE); - } - - log_info("PXIe-6368 configuration was finished.\n"); - return 0; -}; - - - -int main(int argc, char **argv) { - using namespace std; - unsigned long n_sample_quotient = 0; - - log_initialize(NULL); - - while (!__terminate) { - // Install signal handler to support graceful termination - sigset(SIGTERM, signal_handler); - sigset(SIGINT, signal_handler); - sigset(SIGHUP, signal_handler); - - // ---------------------------------------------------------------------------------------------------------------- - // Running parameter declaration - // ---------------------------------------------------------------------------------------------------------------- - // pxie6368 hardware parameters - int pxie6368_0_device_number = 1; // device discriptor number - int aifd = 0; // ai segment file discriptor - xseries_ai_conf_t conf; // ai segment config - xseries_ai_attribute_t aiatrb; // ai segment attributes - char str[40]; // fd tmp var - int ai_chan_fd[16]; // ai channels file discriptor - int pxie6368_sampling_rate = 1000; // sampling rate Hz - uint32_t sample_period_divisor = 100000000 / pxie6368_sampling_rate; // TB3 100MHz, TB2:100kHz, TB1:20MHz - int sampleSize = 2; // Sample size in bytes <---> uInt16 - int n_channels; // Number of opened channels - struct xseries_dma *dma; // Ptr to dma struct - int chan_num = 10; // Channel number to add. - - // DAN parameters - char dan_source_name[] = "GYBDanSource"; // DAN data source (ds) name - long offset_ai = 0; // offset size in published data - int dma_mode = 1; // 0:All, 1:AI only, 2:AO only - dan_DataCore dc = NULL; // Datacore reference declaration - dan_Source ds = NULL; // DAN source declaration - long samplesCounter = 0; // Total acquired sample size - size_t n_samples; // prepared sample size to publish - - // TCN parameters - uint64_t tBase_old = 0; - uint64_t tBase = 0; // TCN publishing base time - uint64_t nanos; // time length for sampling - hpn_timestamp_t delay = 1e7; // wait for publishing (10ms) - char buf[ISO_8601_LEN]; - uint64_t tBase0 = 0; - - // Operation tmp parameter - int result; // For result values. - int exValue; - bool toterminate = false; - int retval; - bool daq_start = false; - int testcounter = 10000; - - // Connected EPCIS PV - - // DAQ config PVs - chid daq_smpl_rate_id; - chtype daq_smpl_rate_type; - int daq_smpl_rate; - chid daq_smpl_rate_rb_id; - chtype daq_smpl_rate_rb_type; - int daq_smpl_rate_rb; - chid daq_mode_id; - chtype daq_mode_type; - int daq_mode; - chid daq_mode_rb_id; - chtype daq_mode_rb_type; - int daq_mode_rb; - chid daq_sw_trig_id; - chtype daq_sw_trig_type; - int daq_sw_trig; - chid daq_smpl_st_dly_id; - chtype daq_smpl_st_dly_type; - double daq_smpl_st_dly; - chid daq_smpl_st_dly_rb_id; - chtype daq_smpl_st_dly_rb_type; - double daq_smpl_st_dly_rb; - chid daq_len_id; - chtype daq_len_type; - double daq_len; - chid daq_len_rb_id; - chtype daq_len_rb_type; - double daq_len_rb; - chid daq_reconf_id; - chtype daq_reconf_type; - int daq_reconf; - chid daq_pub_dly_id; - chtype daq_pub_dly_type; - double daq_pub_dly; - chid daq_pub_dly_rb_id; - chtype daq_pub_dly_rb_type; - double daq_pub_dly_rb; - - chid daq_stat_id; - chtype daq_stat_type; - int daq_stat; - chid daq_conf_stat_id; - chtype daq_conf_stat_type; - int daq_conf_stat; - - daq_parameters daq_p = { 0 }; // = {daq_smpl_rate, daq_smpl_rate_rb, daq_mode, daq_mode_rb}; - - // ---------------------------------------------------------------------------------------------------------------------------------------------- - // EPICS PV connection - // ---------------------------------------------------------------------------------------------------------------------------------------------- - //Initialize ChannelAccess interface - CAInterface_Initialize(); - - // Connect to EPICS PVs - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE", daq_smpl_rate_id); - daq_smpl_rate_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB", daq_smpl_rate_rb_id); - daq_smpl_rate_rb_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE", daq_mode_id); - daq_mode_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE-RB", daq_mode_rb_id); - daq_mode_rb_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SW-TRIG", daq_sw_trig_id); - daq_sw_trig_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY", daq_smpl_st_dly_id); - daq_smpl_st_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY-RB", daq_smpl_st_dly_rb_id); - daq_smpl_st_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN", daq_len_id); - daq_len_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN-RB", daq_len_rb_id); - daq_len_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-RECONF", daq_reconf_id); - daq_reconf_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY", daq_pub_dly_id); - daq_pub_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB", daq_pub_dly_rb_id); - daq_pub_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-STAT", daq_stat_id); - daq_stat_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-CONF-STAT", daq_conf_stat_id); - daq_conf_stat_type = DBR_ENUM; - - tcn_sleep(3e9);// Wait for a while. - - // ---------------------------------------------------------------------------------------------------------------- - // Initialize tcn library - // ---------------------------------------------------------------------------------------------------------------- - int tcn_err; - tcn_err = tcn_init(); - if (tcn_err != TCN_SUCCESS) { - log_error("TCN Initialization failed.\n"); - exValue = 1; - goto END; - } - - // ---------------------------------------------------------------------------------------------------------------- - // pxie-6368 settings - // ---------------------------------------------------------------------------------------------------------------- - // Open ai segment---------------------------------------------------------------------- - aifd = open(pxie6368_0_ai_fd, O_RDWR); - if (aifd <= 0) { - log_error("Open PXIe6368 AI fd failed.\n"); - exValue = -1; - goto END; - } - - // wait ai segment setup start - do { - CAInterface_ReadVariable(daq_reconf_id, daq_reconf_type, (void*) &daq_reconf); - } while (!daq_reconf and !__terminate); - - // read parameter - result = CAInterface_ReadVariable(daq_smpl_rate_id, daq_smpl_rate_type, (void *) &daq_p.daq_smpl_rate); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_mode_id, daq_mode_type, (void *) &daq_p.daq_mode); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_smpl_st_dly_id, daq_smpl_st_dly_type, (void *) &daq_p.daq_smpl_st_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_len_id, daq_len_type, (void *) &daq_p.daq_len); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_pub_dly_id, daq_pub_dly_type, (void *) &daq_p.daq_pub_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - - std::cout << "SAMPLE RATE:" << daq_p.daq_smpl_rate << endl; - std::cout << "MODE :" << daq_p.daq_mode << endl; - std::cout << "START DELAY:" <ai.count * sampleSize, 4096); - - //dan_DataCore, ds_name, devName, enum_daq_type refType, long refSize, long refOffset - if (ds == NULL) { - log_error("Error while publishing DAN source %s ", dan_source_name); - exValue = 1; - goto END; - } - - n_channels = dan_publisher_getNumberOfChannels(ds); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- DAN Streamer. - // ------------------------------------------------------------------------------------------------------------------ - // ----- Open a new stream --------------------------------------------------------------------- - dan_publisher_openStream(ds, daq_p.daq_smpl_rate, 0); - sleep(1); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Main DAN Loop. - // ------------------------------------------------------------------------------------------------------------------ - while (!__terminate) { - // Wait for the master trigger.---------------------------------------------------------------------------- - daq_stat = 1; //0:Not Ready, 1: Waiting trigger, 2:Acquiring 3:Error - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - daq_conf_stat = 1; //0:Not ready, 1: Ready - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - - // Wait DAQ Start Software Trigger. - do { - // check daq_sw_trigger to start DAQ sequence. - CAInterface_ReadVariable(daq_sw_trig_id, daq_sw_trig_type, (void*) &daq_sw_trig); - tcn_sleep(1e7); // wait 0.01 s - if (daq_sw_trig) { - daq_start = true; - } - } while (daq_start != true and !__terminate); - - daq_start = false; //reset daq_start flag. - delay = (long) (1e6 * daq_p.daq_pub_dly); //check publish period. - - // Wait a time to start DAQ. ---------------------------------------------------------------------------------------------------------------------- - tcn_sleep(daq_p.daq_smpl_st_dly * 1e6); // in ms - - // After the wating, trigger DAQ ------------------------------------------------------------------------------------------------------------------ - retval = xseries_pulse_ai(aifd, XSERIES_START_TRIGGER); - daq_stat = 2; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - if (retval) { - std::cout << "Cannot generate start trigger!\n"; - goto END; - } else { - tcn_get_time(&tBase); // get DAQ start time. - tBase0 = tBase; // save DAQ start time to tBase0; - tBase_old = tBase; - } - - // DAQ Publish Loop. ---------------------------------------------------------------------------------------------------------------------------- - // DAN data publish is executed every delay time interval. - while (!__terminate && (tcn_wait_until_hr((tBase + delay), &tBase, 0) == TCN_SUCCESS)) { - // Get the number of available samples in PXIe6368 buffer. - n_samples = xsereis_ai_dma_samples_in_buffer(dma); // samples - - if (n_samples > dma->ai.count) { - //log_error("DMA Buffer overflow: Number of new samples in buffer = %ld, AI buffer size = %ld,\n", n_samples, dma->ai.count); - } else if (n_samples > 0) { - //log_info("Current Time:\n%s\n", tcn_strftime(tBase, buf, ISO_8601_LEN)); - if (tBase == 0) { - // "tBase was reset.------------------------------------------------------\n"; - tcn_get_time(&tBase); - tBase -= n_samples * 100000000 / pxie6368_sampling_rate; - nanos = 0; - } else { - // update time offset value. - nanos = n_samples * 100000000 / daq_p.daq_smpl_rate; - } - n_sample_quotient = floor(n_samples / chan_num); - n_samples = n_sample_quotient * chan_num; - - // Publish a new data block -------------------------------------------------------------------------------------------------------------------------- - result = dan_publisher_putBlockReference(ds, - tBase_old + nanos, // timestamp in epoch nanoseconds - n_samples * sampleSize, // datablock size in bytes - offset_ai * sampleSize, // Offset in DAQ buffer - NULL); // No datablock header.... - // Detected overflow in pass datablock reference queue - if (result == -1) { - log_info("%s, Queue overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } else if (result == -2) { - log_info("%s, DAQ buffer overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } - } - - samplesCounter += n_samples; // Increment total of published sampes - offset_ai = (offset_ai + n_samples) % dma->ai.count; // Update offset of memory - dma->ai.last_transfer_count = samplesCounter; // Update dma last_transfer_count - - // Check exit condition. - if ((daq_p.daq_len * 1e6 <= (tBase - tBase0))) { - retval = xseries_stop_ai(aifd); - if (retval) { - std::cout << "Stop AI segment failed.\n"; - exit (EXIT_FAILURE); - } - - //restart ai segment. - tcn_sleep(1e9); // wait - retval = xseries_start_ai(aifd); - if (retval) { - std::cout << "Start AI segment failed.\n"; - exit (EXIT_FAILURE); - } - //debug - tcn_sleep(1e8); - n_samples = xsereis_ai_dma_samples_in_buffer(dma); - cout << "n_samples check : " << n_samples << endl; - break; - } - tBase_old = tBase; - } // End of DAQ publish loop. - break; - } // End of DAN main loop. - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Closing program. - // ------------------------------------------------------------------------------------------------------------------ - log_info("DAN end of acquisition, closing all resources"); - - //Closing stream - dan_publisher_closeStream(ds); - exValue = 0; - - // Close all channels - for (int channel = 0; channel < chan_num; channel++) { - close(ai_chan_fd[channel]); - } - goto END; - - END: daq_conf_stat = 0; - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - daq_stat = 0; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - // Destroy CA context - CAInterface_Finalize(); - // Close pxie6368 - if (dma != NULL) { - xseries_dma_close(dma); - cout << "pxie-6368 dma was clesed.\n"; - } - - close(aifd); - - // Unpublishing source from DAN API - if (ds != NULL) { - dan_publisher_unpublishSource(dc, ds); - } - - // Closing DAN API library - if (dc != NULL) { - dan_closeLibrary(dc); - } - - // Closing TCN library - result = tcn_finalize(); - if (result != TCN_SUCCESS) { - //log_error("Error finalizing TCN lib.\n"); - } - - } // loop end from initialization - return (0); - -} diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/Makefile b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/Makefile deleted file mode 100644 index e0d79f8..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/prog/Makefile.template $ -# $Id: Makefile.template 83098 2018-01-08 13:23:38Z cesnikt $ -# -# Project : CODAC Core System -# -# Description : gyrotronDAN Makefile -# -# Author : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2018 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -PROGNAME=Gyrotron02DAN - -LIBRARIES=ca dan_api dan_client_api dan_stream dan_base xml2 log sdn sdn-core ccs-core rt pthread tcn nixseries -LIBRARY_DIRS= -INCLUDE_DIRS=. ../include $(CODAC_ROOT)/include $(EPICS_BASE)/include/os/Linux $(EPICS_BASE)/include/compiler/gcc $(EPICS_BASE)/include /usr/include/libxml2 $(SDN_TOPIC_DIRECTORY) - -TARGET=../../../../target -BINARY_DIR=$(TARGET)/bin -OBJECT_DIR=$(TARGET)/obj/$(PROGNAME) -SOURCE_DIR=. - -EXECUTABLE=$(BINARY_DIR)/$(PROGNAME) -INCLUDES=$(foreach inc,$(INCLUDE_DIRS),-I$(inc)) -LDLIBS=-L$(CODAC_ROOT)/lib -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) $(foreach libs,$(LIBRARY_DIRS),-L$(libs) -Wl,-rpath,$(libs)) $(foreach libs,$(LIBRARIES),-l$(libs)) -SOURCES=$(SOURCE_DIR)/$(PROGNAME).cpp $(SOURCE_DIR)/configure_sdn.cpp -# to build executable from all sources in the program directory: -#SOURCES=$(wildcard $(SOURCE_DIR)/*.cpp $(SOURCE_DIR)/*.c) -OBJECTS=$(addprefix $(OBJECT_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(SOURCES)))) - -C=gcc -CC=g++ -CFLAGS=-c -Wall -CCFLAGS=-c -Wall -std=c++11 -LDFLAGS= - -.PHONY: all clean run - -all: $(SOURCES) $(EXECUTABLE) - -clean: - rm -rf "$(EXECUTABLE)" "$(OBJECT_DIR)" - -run: $(SOURCES) $(EXECUTABLE) - $(EXECUTABLE) - -$(EXECUTABLE): $(OBJECTS) - mkdir -p $(BINARY_DIR) - $(CC) $(LDFLAGS) $(LDLIBS) $(OBJECTS) -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.cpp - mkdir -p $(OBJECT_DIR) - $(CC) $(CCFLAGS) $(INCLUDES) $< -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.c - mkdir -p $(OBJECT_DIR) - $(C) $(CFLAGS) $(INCLUDES) $< -o $@ \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/ca-if.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/ca-if.h deleted file mode 100644 index 3bcbb4d..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/ca-if.h +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef CA_IF_H -#define CA_IF_H - -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-log-lib/trunk/src/main/c++/include/tools/any-type.h $ - * $Id: any-type.h 50547 2014-10-09 12:09:51Z bauvirb $ - * - * Project : CODAC Core System - * - * Description : Channel Access Interface - * - * Author : Bertrand Bauvir - * - * Copyright (c) : 2010-2014 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* Global header files */ -#include -#include /* Channel Access API definition, etc. */ -//#include /* CCS logging library */ - -/* Local header files */ - -/* Constants */ - -#ifndef log_trace -#define log_trace(arg_msg...) {} -#endif - -#ifndef log_error -#define log_error(arg_msg...){} -#endif - -/* Type definition */ - -/* Global variables */ - -/* Public function declaration */ - -static inline bool CAInterface_Initialize(void) { - bool status = false; - ca_context_create (ca_disable_preemptive_callback); //Default - //ca_context_create(ca_enable_preemptive_callback); - status = true; - - return status; -}; - -static inline bool CAInterface_Finalize(void) { - bool status = false; - ca_context_destroy(); - status = true; - - return status; -}; - -static inline bool CAInterface_ConnectVariable(char* name, chid& id) { - bool status = false; - /* Connect to channels */ - if (ca_create_channel(name, NULL, NULL, 10, &id) != ECA_NORMAL) { - return status; - } - - /* Wait for connections */ - if (ca_pend_io(1) != ECA_NORMAL) { - log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - /* Verify channel */ - if (ca_state(id) != cs_conn) { - //log_warning("Connection to channel '%s' has not been successful", name); - } else { - //log_info("Connection to channel '%s' has been successfully verified", name); - } - - status = true; - - return status; -}; - -static inline bool CAInterface_ReadVariable(chid channel, chtype type, - void* p_value) { - bool status = false; - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost"); - return status; - } - - if (ca_get(type, channel, p_value) != ECA_NORMAL) { - //log_error("%s - ca_get failed", __FUNCTION__); - return status; - } - - /* Flush the requests */ - if (ca_pend_io(1) != ECA_NORMAL) { - //log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - status = true; - - return status; -}; - -static inline bool CAInterface_WriteVariable(chid channel, chtype type, - void* p_value) { - bool status = false; - - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost", __FUNCTION__); - return status; - } - - if (ca_put(type, channel, p_value) != ECA_NORMAL) { - //log_warning("%s - ca_put failed", __FUNCTION__); - } - - /* Flush the requests */ - if (ca_pend_io(1) != ECA_NORMAL) { - //log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - status = true; - - return status; -}; - -typedef void (*pCallBack)(struct event_handler_args); - -static inline bool CAInterface_SubscribeVariable(chid channel, chtype type, - pCallBack cb_func, void* p_value) { - bool status = false; - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost", __FUNCTION__); - return status; - } - - if (ca_create_subscription(type, 0, channel, DBE_VALUE, cb_func, NULL, NULL) - != ECA_NORMAL) { - //log_error("%s - ca_create_subscription failed", __FUNCTION__); - return status; - - } - /* - if(ca_pend_event(0.0) != ECA_NORMAL){ - //log_error("%s - ca_pend_event failed", __FUNCTION__); - return status; - } - */ - status = true; - - return status; -}; - -#endif /* CA_IF_H */ diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/configure_sdn.cpp b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/configure_sdn.cpp deleted file mode 100644 index 9088cc2..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/configure_sdn.cpp +++ /dev/null @@ -1,68 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/configure_sdn.cpp.vm $ -// $Id: configure_sdn.cpp.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron02DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#include - -#include -#include "includetopics.h" - -using namespace std; - -/* Create variables for the topics on which application is publishing */ -//+P===================================================================== -//-P===================================================================== - -/* Create variables for topics on which application is subscribing */ -//+S===================================================================== -//-S===================================================================== - -int configureSDN() -{ - - SR_RET sr_ret = SR_OK; - - //+P===================================================================== - //-P===================================================================== - - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} - -int cleanupSDN() -{ - - SR_RET sr_ret = SR_OK; - - /* Unregister publisher */ - //+P===================================================================== - //-P===================================================================== - - /* Unregister subscriber */ - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/environmentVarDev b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/environmentVarDev deleted file mode 100644 index fa62c0e..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/environmentVarDev +++ /dev/null @@ -1,17 +0,0 @@ -######################################## -# Program-specific environment variables -######################################## - -# INFO - This file is part of the I&C project. It can be modified without risk of being overwritten. -# INFO - This file is sourced when invoking 'mvn run -Dprog=' to allow for setting development-specific environment variables. - -# Override SDN interface name for test purposes -# Default: lo -# Project: Target host in SDD database -#SDN_INTERFACE_NAME=lo - -# INFO - This file can be further extended with anything specific required by the program. - -#LOG_FILE_ENABLE=false -#LOG_FILTER_LEVEL=info -#LOG_FWD_MODE=asyn diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/includetopics.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/includetopics.h deleted file mode 100644 index 0c4212c..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/includetopics.h +++ /dev/null @@ -1,29 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/includetopics.h.vm $ -// $Id: includetopics.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron02DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef INCLUDETOPICS_H -#define INCLUDETOPICS_H - -#include - - -#endif \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-dan.cpp b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-dan.cpp deleted file mode 100644 index 00886e0..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-dan.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "sdd-dan.h" -#include -#include "stdlib.h" - -int declareDANStruct(dan_Source ds ){ - - int result=0; - int Cnt=0; - if(ds==NULL){ - log_error("Invalid call to declareDANStruct, dan source not initialized \n "); - return -1; - } - - return 0; - } \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-dan.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-dan.h deleted file mode 100644 index 230aa06..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-dan.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SDD_DAN_H -#define SDD_DAN_H -#include "dan.h" - -static const char ICProgName[] = "Gyrotron02DAN"; -static const char GYBDanSource[] = "GYBDanSource"; - -#endif /* SDD_DAN_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-data.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-data.h deleted file mode 100644 index 73f755b..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-data.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef SDD_DATA_H -#define SDD_DATA_H - -#include "sdd-pon-if.h" -#include "sdd-iomodule.h" - -static SDD_PONVar pvlist []={ - - }; - -static SDD_IOModule iomlist []={ - }; - -#endif /* SDD_DATA_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-iomodule.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-iomodule.h deleted file mode 100644 index a8af1fe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-iomodule.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef SDD_IOMODULE_H -#define SDD_IOMODULE_H - -//include all linux libraries for IO module listed in the programs - - -//max is 15 for component name -#define SDD_CPMAXLENGTH 50 -#define SDD_SERIALNBMAXLENGTH 60 -#define SDD_FDPREFIXMAXLENGTH 100 - -struct SDD_IOModule { - - //name of the module - char name[SDD_CPMAXLENGTH]; - - //type of the module - char modtype[SDD_CPMAXLENGTH]; - - //module index - int fd; - - //file descriptor name - char filedescrip_prefix[SDD_FDPREFIXMAXLENGTH]; - - //serial number - char serial_number [SDD_SERIALNBMAXLENGTH]; - -}; - -//list of symbol for IOModule : IO module type and fd -typedef enum SDD_IOModuleEnum { - - } SDD_IOModuleEnum; - - -#endif /* SDD_IOMODULE_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-pon-if.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-pon-if.h deleted file mode 100644 index ea459e6..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/sdd-pon-if.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef SDD_PON_IF_H -#define SDD_PON_IF_H - -#include /* Channel Access API definition, etc. */ - - -#define SDD_PVMAXLENGTH 40 -#define SDD_STRING_MAX_LENGTH 100 -#define SDD_NB_OF_PONVAR 0 //generated by SDD - -struct SDD_PONVar { - - char name[SDD_PVMAXLENGTH]; - - //if read-> monitor=yes otherwise false - bool isMonitored; - - chtype type; - - //the code can cast - char initialvalue[SDD_STRING_MAX_LENGTH]; - -}; - -//list of symbols -typedef enum SDD_PONVarEnum { - - -} SDD_PONVarEnum; - -//for each enum (bi/bo/mbbi/mbbo) name is symbolname suffix with _enum - - - - -#endif /* SDD_PON_IF_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/topicvars.h b/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/topicvars.h deleted file mode 100644 index 1a4216b..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Gyrotron02DAN/topicvars.h +++ /dev/null @@ -1,36 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/topicvars.h.vm $ -// $Id: topicvars.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron02DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef TOPICVARS_H -#define TOPICVARS_H - -#include "includetopics.h" - -/* Declare variables for the topics on which application is publishing. */ -//+P===================================================================== -//-P===================================================================== - -/* Declare variables for the topics to which application is subscribing. */ -//+S===================================================================== -//-S===================================================================== - -#endif diff --git a/EC-GN-JA-PCF/src/main/c++/Makefile b/EC-GN-JA-PCF/src/main/c++/Makefile deleted file mode 100644 index 0a725f5..0000000 --- a/EC-GN-JA-PCF/src/main/c++/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/Makefile $ -# $Id: Makefile 83098 2018-01-08 13:23:38Z cesnikt $ -# -# Project : CODAC Core System -# -# Description : C++ Makefile -# -# Author : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2018 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -SUBDIRS=$(dir $(wildcard */Makefile)) - -BOLD=\e[1m -NC=\e[0m - -all: - -%: - @$(foreach dir, $(SUBDIRS), echo -e "$(BOLD)Building $(dir:/=)...$(NC)" && $(MAKE) -C $(dir) $@ &&) : diff --git a/EC-GN-JA-PCF/src/main/c++/conf/Gyrotron01DAN_danconf.xml b/EC-GN-JA-PCF/src/main/c++/conf/Gyrotron01DAN_danconf.xml deleted file mode 100644 index 01faa30..0000000 --- a/EC-GN-JA-PCF/src/main/c++/conf/Gyrotron01DAN_danconf.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - 1.0.0 - - - - danInt16 - - 100000 - - - DATA_D0 - - DM_BLOCK2D_VAR - - CHECK_AND_OVERWRITE - - 1000 - - 1 - - UTC - - - - GYADanSource - - v1.3 - - 0 - - N1134342 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ALL - - - - - - IF_FAIL_NEXT - - ${DAN_ARCHIVE_MASTER} - - ${DAN_ARCHIVE_SLAVE} - - - - - diff --git a/EC-GN-JA-PCF/src/main/c++/conf/Gyrotron02DAN_danconf.xml b/EC-GN-JA-PCF/src/main/c++/conf/Gyrotron02DAN_danconf.xml deleted file mode 100644 index 5607efe..0000000 --- a/EC-GN-JA-PCF/src/main/c++/conf/Gyrotron02DAN_danconf.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - 1.0.0 - - - - danInt16 - - 100000 - - - DATA_D0 - - DM_BLOCK2D_VAR - - CHECK_AND_OVERWRITE - - 1000 - - 1 - - UTC - - - - GYBDanSource - - v1.3 - - 0 - - N1134342 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ALL - - - - - - IF_FAIL_NEXT - - ${DAN_ARCHIVE_MASTER} - - ${DAN_ARCHIVE_SLAVE} - - - - - diff --git a/EC-GN-JA-PCF/src/main/c++/conf/environmentVarDev b/EC-GN-JA-PCF/src/main/c++/conf/environmentVarDev deleted file mode 100644 index ab5d5da..0000000 --- a/EC-GN-JA-PCF/src/main/c++/conf/environmentVarDev +++ /dev/null @@ -1,14 +0,0 @@ -############################################ -# I&C project-specific environment variables -############################################ - -# INFO - This file is part of the I&C project. It can be modified without risk of being overwritten. -# INFO - This file is sourced when invoking 'mvn run' to allow for setting development-specific environment variables. - -# INFO - This file can be further extended with anything specific required by the I&C project. - -#LOG_FILE_ENABLE=false -#LOG_FILTER_LEVEL=info -#LOG_FWD_MODE=asyn - -export DAN_ARCHIVE_MASTER=192.168.102.3:9999 \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/c++/include/ccs-headers.h b/EC-GN-JA-PCF/src/main/c++/include/ccs-headers.h deleted file mode 100644 index 2f10a54..0000000 --- a/EC-GN-JA-PCF/src/main/c++/include/ccs-headers.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef CCS_HEADERS_H -#define CCS_HEADERS_H - -/****************************************************************************** -* $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/include/ccs-headers.h $ -* $Id: ccs-headers.h 83715 2018-01-30 16:31:40Z abadiel $ -* -* Project : CODAC Core System -* -* Description : CODAC Core System - Commonly used program headers -* -* Author : Bertrand Bauvir -* -* Copyright (c) : 2010-2018 ITER Organization, -* CS 90 046 -* 13067 St. Paul-lez-Durance Cedex -* France -* -* This file is part of ITER CODAC software. -* For the terms and conditions of redistribution or use of this software -* refer to the file ITER-LICENSE.TXT located in the top level directory -* of the distribution package. -******************************************************************************/ - -/* log.h -- Part of CCS. It includes the declaration of the logging library API. */ -#include /* This file is mandatory to compile this program against the logging library and API. */ - -/* sdn.h -- Part of CCS. It includes the declaration of the SDN library API. */ -#include /* This file is mandatory to compile this program against the SDN core library and API. */ - -/* tcn.h -- Part of CCS. It includes the declaration of the TCN library API. */ -#include /* This file is optional and can be removed if the program does not need to handle ITER time or operate on it. */ - -/* dan.h -- part of CCS. It includes the declaration of the DAN library API. */ -#include /* This file is optional and can be removed if the program does not need to handle ITER time or operate on it. */ -#endif /* CCS_HEADERS_H */ diff --git a/EC-GN-JA-PCF/src/main/c++/include/sys-headers.h b/EC-GN-JA-PCF/src/main/c++/include/sys-headers.h deleted file mode 100644 index 00318e3..0000000 --- a/EC-GN-JA-PCF/src/main/c++/include/sys-headers.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef SYS_HEADERS_H -#define SYS_HEADERS_H - -/****************************************************************************** -* $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/include/sys-headers.h $ -* $Id: sys-headers.h 83098 2018-01-08 13:23:38Z cesnikt $ -* -* Project : CODAC Core System -* -* Description : CODAC Core System - Commonly used program headers -* -* Author : Bertrand Bauvir -* -* Copyright (c) : 2010-2018 ITER Organization, -* CS 90 046 -* 13067 St. Paul-lez-Durance Cedex -* France -* -* This file is part of ITER CODAC software. -* For the terms and conditions of redistribution or use of this software -* refer to the file ITER-LICENSE.TXT located in the top level directory -* of the distribution package. -******************************************************************************/ - -#include -#include /* sscanf, printf, etc. */ -//#include -#include /* strncpy, etc. */ -#include /* va_start, etc. */ -#include /* sigset, etc. */ - -#endif /* SYS_HEADERS_H */ diff --git a/EC-GN-JA-PCF/src/main/epics/CUBApp/.appdesc b/EC-GN-JA-PCF/src/main/epics/CUBApp/.appdesc deleted file mode 100644 index df999dd..0000000 --- a/EC-GN-JA-PCF/src/main/epics/CUBApp/.appdesc +++ /dev/null @@ -1 +0,0 @@ -generic \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/CUBApp/Db/Makefile b/EC-GN-JA-PCF/src/main/epics/CUBApp/Db/Makefile deleted file mode 100644 index 3ef937f..0000000 --- a/EC-GN-JA-PCF/src/main/epics/CUBApp/Db/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) -# databases, templates, substitutions like this - - -# Automagically install .proto files -DB += $(notdir $(wildcard ../*.proto)) - -#---------------------------------------------------- -# If .db template is not named *.template add -# _TEMPLATE = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE diff --git a/EC-GN-JA-PCF/src/main/epics/CUBApp/Makefile b/EC-GN-JA-PCF/src/main/epics/CUBApp/Makefile deleted file mode 100644 index 6504a77..0000000 --- a/EC-GN-JA-PCF/src/main/epics/CUBApp/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericApp/Makefile $ -# $Id: Makefile 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : Makefile -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== -TOP = .. -include $(TOP)/configure/CONFIG -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) -include $(TOP)/configure/RULES_DIRS - diff --git a/EC-GN-JA-PCF/src/main/epics/CUBApp/src/CUBMain.cpp b/EC-GN-JA-PCF/src/main/epics/CUBApp/src/CUBMain.cpp deleted file mode 100644 index 4e9e67d..0000000 --- a/EC-GN-JA-PCF/src/main/epics/CUBApp/src/CUBMain.cpp +++ /dev/null @@ -1,25 +0,0 @@ -/* CUBMain.cpp */ -/* Author: Marty Kraimer Date: 17MAR2000 */ - -#include -#include -#include -#include -#include -#include - -#include "epicsExit.h" -#include "epicsThread.h" -#include "iocsh.h" - -int main(int argc,char *argv[]) -{ - sigset(SIGTERM, epicsExit); - if(argc>=2) { - iocsh(argv[1]); - epicsThreadSleep(.2); - } - iocsh(NULL); - epicsExit(0); - return(0); -} diff --git a/EC-GN-JA-PCF/src/main/epics/CUBApp/src/Makefile b/EC-GN-JA-PCF/src/main/epics/CUBApp/src/Makefile deleted file mode 100644 index 9dc4a82..0000000 --- a/EC-GN-JA-PCF/src/main/epics/CUBApp/src/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -TOP=../.. - -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE -#======================================== - -#======================================== -# Build the IOC application - -PROD_IOC = CUB -# CUB.dbd will be created and installed -DBD += CUB.dbd - -# CUB.dbd will be made up from these files: --include $(EPICS_ROOT)/mk/codac-common.mk - - -# Add all the support libraries needed by this IOC --include $(EPICS_ROOT)/mk/asyn.mk --include $(EPICS_ROOT)/mk/s7PLCAsyn.mk - -CUB_DBD += $(CODAC_DBD) -CUB_LIBS += $(CODAC_LIBS) - -# # SNCSEQ -# _SNCFLAGS += +r -c +d -# CUB_DBD += .dbd -# CUB_SRCS += .stt -# CUB_LIBS += seq pv - - -# CUB_registerRecordDeviceDriver.cpp derives from CUB.dbd -CUB_SRCS += CUB_registerRecordDeviceDriver.cpp - -# Build the main IOC entry point on workstation OSs. -CUB_SRCS_DEFAULT += CUBMain.cpp -CUB_SRCS_vxWorks += -nil- - -# Add support from base/src/vxWorks if needed -#CUB_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary - -#============================= -# Include SNL program makefile snippets - --include ../*.snlprog - -#============================= - - -# Finally link to the EPICS Base libraries -CUB_LIBS += $(EPICS_BASE_IOC_LIBS) - -#=========================== - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE -#---------------------------------------- diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/Makefile b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/Makefile deleted file mode 100755 index a526c7e..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) into /db -# databases, templates, substitutions like this -DB += PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db - - -# Automagically install .proto files -DB += $(notdir $(wildcard ../*.proto)) - -#---------------------------------------------------- -# If .db template is not named *.template add -# _template = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 9d7c2e6..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,1712 +0,0 @@ -record (bo,"EC-GN-HWCF:6259-0-ACQ") -{ - field(DESC, "Start/Stop data acquisition") - field(DTYP, "ni6259") - field(ONAM, "START-ACQUISITION") - field(OUT, "#C1 S0 @switch_acquisition") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "STOP-ACQUISITION") -} - -record (bo,"EC-GN-HWCF:6259-0-CONF") -{ - field(DESC, "Load/reset analog input configuration") - field(DTYP, "ni6259") - field(ONAM, "LOAD-CONF") - field(OUT, "#C1 S0 @ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "RESET-CONF") -} - -record (bo,"EC-GN-HWCF:6259-0-MODE") -{ - field(DESC, "continuous or finite mode") - field(DTYP, "ni6259") - field(ONAM, "CONTINUOUS") - field(OUT, "#C1 S0 @daq_mode") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "FINITE") -} - -record (bo,"EC-GN-HWCF:6259-1-ACQ") -{ - field(DESC, "Start/Stop data acquisition") - field(DTYP, "ni6259") - field(ONAM, "START-ACQUISITION") - field(OUT, "#C0 S0 @switch_acquisition") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "STOP-ACQUISITION") -} - -record (bo,"EC-GN-HWCF:6259-1-CONF") -{ - field(DESC, "Load/reset analog input configuration") - field(DTYP, "ni6259") - field(ONAM, "LOAD-CONF") - field(OUT, "#C0 S0 @ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "RESET-CONF") -} - -record (bo,"EC-GN-HWCF:6259-1-MODE") -{ - field(DESC, "continuous or finite mode") - field(DTYP, "ni6259") - field(ONAM, "CONTINUOUS") - field(OUT, "#C0 S0 @daq_mode") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "FINITE") -} - -record (bo,"EC-GN-HWCF:6368-0-AISTSP") -{ - field(DESC, "Start/Stop AI Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_1, 0) start_stop_ai") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-0-AOSTSP") -{ - field(DESC, "Start/Stop AO Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_1, 0) start_stop_ao") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-0-LDAICF") -{ - field(DESC, "Load/Reset AI Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_1, 0) ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-0-LDAOCF") -{ - field(DESC, "Load/Reset AO Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_1, 0) ao_conf") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-1-AISTSP") -{ - field(DESC, "Start/Stop AI Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_0, 0) start_stop_ai") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-1-AOSTSP") -{ - field(DESC, "Start/Stop AO Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_0, 0) start_stop_ao") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-1-LDAICF") -{ - field(DESC, "Load/Reset AI Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_0, 0) ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-1-LDAOCF") -{ - field(DESC, "Load/Reset AO Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_0, 0) ao_conf") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bi,"EC-GN-HWCF:6683-0-BLKTMO") -{ - field(DESC, "Block until Finished...") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0) waitForTimeOver") - field(SCAN, "I/O Intr") -} - -record (bo,"EC-GN-HWCF:6683-0-FTEAALL") -{ - field(DESC, "Abort all pending FTEs") - field(DTYP, "asynInt32") - field(ONAM, "1") - field(OUT, "@asyn(ni6683h_0,0)abortAllFtes") - field(VAL, "0") - field(ZNAM, "0") -} - -record (bo,"EC-GN-HWCF:6683-0-RESET") -{ - field(DESC, "Reset Board") - field(DTYP, "asynInt32") - field(ONAM, "1") - field(OUT, "@asyn(ni6683h_0,0)resetCard") - field(VAL, "0") - field(ZNAM, "0") -} - -record (bi,"EC-GN-HWCF:6683-0-TAIUTC") -{ - field(DESC, "PXI-6683.0 TAI/UTC Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)taiutcStatus") - field(ONAM, "TAI") - field(OSV, "MINOR") - field(PINI, "YES") - field(SCAN, "10 second") - field(ZNAM, "UTC") - field(ZSV, "NO_ALARM") -} - -record (stringin,"EC-GN-HWCF:6259-0-DMSG") -{ - field(DESC, "Driver Debug Message") - field(DTYP, "ni6259") - field(INP, "#C1 S0 @dsg") - field(SCAN, "1 second") -} - -record (longout,"EC-GN-HWCF:6259-0-NS") -{ - field(DESC, "number of samples to read") - field(DRVH, "32000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HIGH, "32001") - field(HOPR, "32000") - field(HSV, "MAJOR") - field(LOPR, "0") - field(LOW, "0") - field(LSV, "MAJOR") - field(OUT, "#C1 S0 @num_samples") - field(PINI, "YES") - field(VAL, "5000") -} - -record (longout,"EC-GN-HWCF:6259-0-POST") -{ - field(DESC, "Posttrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C1 S0 @posttrig_samples") - field(PINI, "YES") - field(VAL, "4000") -} - -record (longout,"EC-GN-HWCF:6259-0-PRET") -{ - field(DESC, "Pretrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C1 S0 @pretrig_samples") - field(PINI, "YES") - field(VAL, "2000") -} - -record (calcout,"EC-GN-HWCF:6259-0-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6259-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-0-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6259-0-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6259-0-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6259-0-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6259-0-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6259-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-0-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6259-0-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "#C1 S0 @sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6259-0-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6259-0-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6259-0-SR") -{ - field(DESC, "ADC Sampling Rate") - field(DTYP, "ni6259") - field(EGU, "Hz") - field(HIGH, "1000001") - field(HSV, "MAJOR") - field(OUT, "#C1 S0 @sample_rate") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (mbbi,"EC-GN-HWCF:6259-0-STATUS") -{ - field(DESC, "PXI-6259.0 Board Status") - field(DTYP, "ni6259") - field(EIST, "ADC Overrun") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "Reserved1") - field(ELSV, "INVALID") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved4") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "#C1 S0 @BoardStatus") - field(NIST, "DAC Overrun") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AI_FIFO Overflow") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Reserved0") - field(TESV, "INVALID") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved3") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved2") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (stringin,"EC-GN-HWCF:6259-1-DMSG") -{ - field(DESC, "Driver Debug Message") - field(DTYP, "ni6259") - field(INP, "#C0 S0 @dsg") - field(SCAN, "1 second") -} - -record (longout,"EC-GN-HWCF:6259-1-NS") -{ - field(DESC, "number of samples to read") - field(DRVH, "32000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HIGH, "32001") - field(HOPR, "32000") - field(HSV, "MAJOR") - field(LOPR, "0") - field(LOW, "0") - field(LSV, "MAJOR") - field(OUT, "#C0 S0 @num_samples") - field(PINI, "YES") - field(VAL, "5000") -} - -record (longout,"EC-GN-HWCF:6259-1-POST") -{ - field(DESC, "Posttrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C0 S0 @posttrig_samples") - field(PINI, "YES") - field(VAL, "4000") -} - -record (longout,"EC-GN-HWCF:6259-1-PRET") -{ - field(DESC, "Pretrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C0 S0 @pretrig_samples") - field(PINI, "YES") - field(VAL, "2000") -} - -record (calcout,"EC-GN-HWCF:6259-1-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6259-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-1-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6259-1-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6259-1-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6259-1-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6259-1-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6259-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-1-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6259-1-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "#C0 S0 @sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6259-1-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6259-1-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6259-1-SR") -{ - field(DESC, "ADC Sampling Rate") - field(DTYP, "ni6259") - field(EGU, "Hz") - field(HIGH, "1000001") - field(HSV, "MAJOR") - field(OUT, "#C0 S0 @sample_rate") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (mbbi,"EC-GN-HWCF:6259-1-STATUS") -{ - field(DESC, "PXI-6259.1 Board Status") - field(DTYP, "ni6259") - field(EIST, "ADC Overrun") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "Reserved1") - field(ELSV, "INVALID") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved4") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "#C0 S0 @BoardStatus") - field(NIST, "DAC Overrun") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AI_FIFO Overflow") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Reserved0") - field(TESV, "INVALID") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved3") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved2") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-AIPU") -{ - field(DESC, "Software Pulse") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_1, 0) pulse_ai") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-0-AISMPL") -{ - field(DESC, "No of AI sample to be acquire in Block") - field(DRVH, "32000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "32000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_1, 0) no_of_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-0-AISR") -{ - field(DESC, "AI Sampling Rate") - field(DRVH, "2000000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "2000000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_1, 0) sampling_rate_ai") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (longout,"EC-GN-HWCF:6368-0-AITB") -{ - field(DESC, "AI Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) timebase_ai") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-AOPU") -{ - field(DESC, "AO Pulse Source") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_1, 0) pulse_ao") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-0-AOTB") -{ - field(DESC, "AO Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) timebase_ao") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-CHAIMO") -{ - field(DESC, "Change AI Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_1, 0) ai_mode") - field(PINI, "YES") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (mbbo,"EC-GN-HWCF:6368-0-CHAOMO") -{ - field(DESC, "Change AO Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_1, 0) ao_mode") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (longout,"EC-GN-HWCF:6368-0-POST") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) posttrig_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-0-PRET") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) pretrig_samples") - field(PINI, "YES") - field(VAL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-0-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6368-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-0-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6368-0-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6368-0-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-0-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6368-0-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6368-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-0-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6368-0-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0)sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6368-0-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6368-0-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6368-0-STATUS") -{ - field(DESC, "PXIe-6368.0 Board Status") - field(DTYP, "asynInt32") - field(EIST, "DIHW_Error") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "GPCHW_Error") - field(ELSV, "MAJOR") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved2") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6368_1, 0) board_status") - field(NIST, "AOHW_Error") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AIHW_Error") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "DOHW_Error") - field(TESV, "MAJOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved1") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved0") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-AIPU") -{ - field(DESC, "Software Pulse") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_0, 0) pulse_ai") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-1-AISMPL") -{ - field(DESC, "No of AI sample to be acquire in Block") - field(DRVH, "32000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "32000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_0, 0) no_of_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-1-AISR") -{ - field(DESC, "AI Sampling Rate") - field(DRVH, "2000000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "2000000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_0, 0) sampling_rate_ai") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (longout,"EC-GN-HWCF:6368-1-AITB") -{ - field(DESC, "AI Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) timebase_ai") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-AOPU") -{ - field(DESC, "AO Pulse Source") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_0, 0) pulse_ao") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-1-AOTB") -{ - field(DESC, "AO Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) timebase_ao") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-CHAIMO") -{ - field(DESC, "Change AI Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_0, 0) ai_mode") - field(PINI, "YES") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (mbbo,"EC-GN-HWCF:6368-1-CHAOMO") -{ - field(DESC, "Change AO Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_0, 0) ao_mode") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (longout,"EC-GN-HWCF:6368-1-POST") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) posttrig_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-1-PRET") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) pretrig_samples") - field(PINI, "YES") - field(VAL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-1-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6368-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-1-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6368-1-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6368-1-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-1-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6368-1-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6368-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-1-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6368-1-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0)sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6368-1-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6368-1-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6368-1-STATUS") -{ - field(DESC, "PXIe-6368.1 Board Status") - field(DTYP, "asynInt32") - field(EIST, "DIHW_Error") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "GPCHW_Error") - field(ELSV, "MAJOR") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved2") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6368_0, 0) board_status") - field(NIST, "AOHW_Error") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AIHW_Error") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "DOHW_Error") - field(TESV, "MAJOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved1") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved0") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-FILTINT") -{ - field(DESC, "Set Filter Interval Value") - field(DRVH, "209715200") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "209715200") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setfilterinterval") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP3") -{ - field(DESC, "Power-UP state of Port3") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,3, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP4") -{ - field(DESC, "Power-UP state of Port4") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,4, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP5") -{ - field(DESC, "Power-UP state of Port5") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,5, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIINPROUT") -{ - field(DESC, "Set RTSI Input Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsiinputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIOUTROUT") -{ - field(DESC, "Set RTSI Output Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsioutputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIPCHANGE") -{ - field(DESC, "Set RTSI Pulse on Change") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsipulseonchange") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIPWDG") -{ - field(DESC, "Set RTSI pulse on watchdog") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsipulseonwatchdog") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIWDGTRIG") -{ - field(DESC, "Set RTSI on Watchdog Trigger") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsiwatchdogtrigger") - field(VAL, "0") -} - -record (mbbi,"EC-GN-HWCF:6528-0-STATUS") -{ - field(DESC, "PXI-6528.0 Board Status") - field(DTYP, "asynInt32") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6528_1,1) board_status") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ao,"EC-GN-HWCF:6528-0-WDGTOUT") -{ - field(DESC, "Set Watchdog TimeOut") - field(DRVH, "429496729580") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(HOPR, "429496729580") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setwatchdogtimeout") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-FILTINT") -{ - field(DESC, "Set Filter Interval Value") - field(DRVH, "209715200") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "209715200") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setfilterinterval") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP3") -{ - field(DESC, "Power-UP state of Port3") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,3, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP4") -{ - field(DESC, "Power-UP state of Port4") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,4, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP5") -{ - field(DESC, "Power-UP state of Port5") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,5, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIINPROUT") -{ - field(DESC, "Set RTSI Input Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsiinputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIOUTROUT") -{ - field(DESC, "Set RTSI Output Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsioutputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIPCHANGE") -{ - field(DESC, "Set RTSI Pulse on Change") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsipulseonchange") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIPWDG") -{ - field(DESC, "Set RTSI pulse on watchdog") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsipulseonwatchdog") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIWDGTRIG") -{ - field(DESC, "Set RTSI on Watchdog Trigger") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsiwatchdogtrigger") - field(VAL, "0") -} - -record (mbbi,"EC-GN-HWCF:6528-1-STATUS") -{ - field(DESC, "PXI-6528.1 Board Status") - field(DTYP, "asynInt32") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6528_0,0) board_status") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ao,"EC-GN-HWCF:6528-1-WDGTOUT") -{ - field(DESC, "Set Watchdog TimeOut") - field(DRVH, "429496729580") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(HOPR, "429496729580") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setwatchdogtimeout") - field(VAL, "0") -} - -record (waveform,"EC-GN-HWCF:6683-0-BDTM") -{ - field(DESC, "Board time") - field(DTYP, "asynInt32ArrayIn") - field(FTVL, "ULONG") - field(INP, "@asyn(ni6683h_0,0) getTime") - field(NELM, "2") - field(SCAN, ".1 second") -} - -record (subArray,"EC-GN-HWCF:6683-0-BDTMN") -{ - field(DESC, "Board time [ns]") - field(EGU, "ns") - field(FTVL, "ULONG") - field(INP, "EC-GN-HWCF:6683-0-BDTM CP MS") -} - -record (subArray,"EC-GN-HWCF:6683-0-BDTMS") -{ - field(DESC, "Board time [s]") - field(EGU, "s") - field(FTVL, "ULONG") - field(INP, "EC-GN-HWCF:6683-0-BDTM CP MS") -} - -record (waveform,"EC-GN-HWCF:6683-0-BLKTM") -{ - field(DESC, "Block until...") - field(DTYP, "asynInt32ArrayOut") - field(FTVL, "LONG") - field(HOPR, "4503599627370496") - field(INP, "@asyn(ni6683h_0,0) waitForTime") - field(LOPR, "0") - field(NELM, "2") -} - -record (stringin,"EC-GN-HWCF:6683-0-DEVNAME") -{ - field(DESC, "Device name") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) deviceName") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (stringin,"EC-GN-HWCF:6683-0-DRIVER") -{ - field(DESC, "Driver version") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) driverVersion") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-FTEMAX") -{ - field(DESC, "Max number of scheduled FTEs") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)maxScheduledFtes") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-FTENUM") -{ - field(DESC, "Number of pending FTEs") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)numPendingFtes") - field(SCAN, "5 second") -} - -record (stringin,"EC-GN-HWCF:6683-0-HBDTM") -{ - field(DESC, "Board Time") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) getTime") - field(PINI, "YES") - field(SCAN, ".1 second") -} - -record (longin,"EC-GN-HWCF:6683-0-LVL_ERRS") -{ - field(DESC, "Check number of FTE level errors") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)checkFteLevels") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-SERIAL") -{ - field(DESC, "Device serial number") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)deviceSerialNumber") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (mbbi,"EC-GN-HWCF:6683-0-STATUS") -{ - field(DESC, "PXI-6683.0 Device status") - field(DTYP, "asynInt32") - field(EIST, "FIFO overflow") - field(EISV, "MINOR") - field(EIVL, "8") - field(ELST, "Buffer overflow") - field(ELSV, "MINOR") - field(ELVL, "11") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6683h_0,0)deviceStatus") - field(NIST, "FPGA not ready") - field(NISV, "MINOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "5 second") - field(SVST, "Reserved") - field(SVSV, "INVALID") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Ref clk no lock") - field(TESV, "MINOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6683-0-SYNC") -{ - field(DESC, "PXI-6683.0 Synchronization status") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)syncStatus") - field(ONST, "SYNCING") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(THST, "LOST_SYNC") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "SYNCED") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "NOT_SYNCED") - field(ZRSV, "MAJOR") - field(ZRVL, "0") -} - -record (longin,"EC-GN-HWCF:6683-0-SYNCLOST") -{ - field(DESC, "Seconds since lost synchronization") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)secsSinceSync") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index c812fc7..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,310 +0,0 @@ -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB") -{ - field(DESC, "GY1 CCPS Output ON status") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getOut CCPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP") -{ - field(DESC, "GY1 CCPS Output ON") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setOut CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB") -{ - field(DESC, "GY1 CCPS remote readback") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getRem CCPS1") - field(ONAM, "REM") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP") -{ - field(DESC, "GY1 CCPS remote control on") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PWX1500ML.proto setRem CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-RST") -{ - field(DESC, "GY1 CCPS reset device") - field(DTYP, "stream") - field(OUT, "@PWX1500ML.proto resetDevice CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB") -{ - field(DESC, "GY1 CCPS signal source on") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getSourceON CCPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP") -{ - field(DESC, "GY1 CCPS signal source on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setSourceON CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-STAT") -{ - field(DESC, "CCPS1 is running") - field(ONAM, "ON") - field(SCAN, "Passive") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-TR") -{ - field(DESC, "GY1 CCPS in Operation") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 CCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:STAT-SIMM") -{ - field(DESC, "GY1 CCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB") -{ - field(DESC, "GY1 CCPS Output current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "60.0") - field(INP, "@PWX1500ML.proto getCurr CCPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP") -{ - field(DESC, "GY1 CCPS Output current setpoint") - field(DRVH, "58.8") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setCurr CCPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB") -{ - field(DESC, "GY1 CCPS DCV range readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PWX1500ML.proto getVolt CCPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP") -{ - field(DESC, "GY1 CCPS Output DCV setpoint") - field(DRVH, "84") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "84") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setVolt CCPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-EREF") -{ - field(DESC, "GY1 CCPS voltage setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP") -{ - field(DESC, "GY1 CCPS voltage manual setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GAF-CCPS:PSU2320-ERROR") -{ - field(DESC, "GY1 CCPS Error message") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getError CCPS1") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (stringin,"EC-GN-P01-GAF-CCPS:PSU2320-IDN") -{ - field(DESC, "GY1 CCPS IDN") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto readDeviceID CCPS1") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI") -{ - field(DESC, "GY1 CCPS Measued DC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(INP, "@PWX1500ML.proto getMeasDCI CCPS1") - field(LOPR, "-58.8") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV") -{ - field(DESC, "GY1 CCPS Measued DC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "200") - field(INP, "@PWX1500ML.proto getMeasDCV CCPS1") - field(LOPR, "-200") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-AMP") -{ - field(DESC, "Amplitude") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "3.5") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-FREQ") -{ - field(DESC, "Frequency") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-OFFS") -{ - field(DESC, "Offset") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GAF-CCPS:STAT-OP-CALC") -{ - field(CALC, "(A==1 || B==1 || C==1)?1:0; C:=B; B:=A") - field(DESC, "GYA CCPS operation check") - field(FLNK, "EC-GN-P01-GAF-CCPS:PSU2320-TR") - field(INPA, "EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF") - field(INPB, "0") - field(INPC, "0") - field(OUT, "EC-GN-P01-GAF-CCPS:PSU2320-TR") - field(SCAN, "Passive") -} - -record (calc,"EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF") -{ - field(CALC, "(A==1 andand ABS(B-C)>0.1)?1:0; C:=B") - field(DESC, "GYA CCPS operation check") - field(FLNK, "EC-GN-P01-GAF-CCPS:STAT-OP-CALC") - field(INPA, "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB") - field(INPB, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV PP") - field(SCAN, ".1 second") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 6aee723..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,424 +0,0 @@ -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START") -{ - field(DESC, "Auto rampup start command") - field(HIGH, "0.1") - field(ONAM, "Start") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-LOC") -{ - field(DESC, "Local control ON") - field(DTYP, "stream") - field(ONAM, "LOC") - field(OUT, "@PCR500LE.proto setLoc FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB") -{ - field(DESC, "Output ON readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getOut FHPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP") -{ - field(DESC, "Output ON command") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PCR500LE.proto setOut FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-REM") -{ - field(DESC, "Remote control on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setRem FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-RST") -{ - field(DESC, "Reset command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto resetDevice FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB") -{ - field(DESC, "External control readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getSourceON FHPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP") -{ - field(DESC, "External control ON command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setSourceON FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP") -{ - field(DESC, "GY1 FHPS rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 FHPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:STAT-SIMM") -{ - field(DESC, "GY1 FHPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB") -{ - field(DESC, "Output Voltage readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getVolt FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP") -{ - field(DESC, "Output voltage setpoint") - field(DRVH, "300") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setVolt FHPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME") -{ - field(DESC, "Auto rampup time") - field(DRVH, "100000") - field(DRVL, "10") - field(EGU, "sec") - field(HOPR, "100000") - field(LOPR, "10") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "30") -} - -record (mbbo,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT") -{ - field(DESC, "Auto rampup status") - field(ONST, "IN OPERATION") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(THST, "ERROR") - field(THVL, "3") - field(TWST, "FINISH") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "NOT IN OPERATION") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV") -{ - field(DESC, "Auto rampup target voltage") - field(DRVH, "60") - field(DRVL, "0.0") - field(EGU, "V") - field(HOPR, "60.0") - field(LOPR, "0.0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "5") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB") -{ - field(DESC, "Output Current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5") - field(INP, "@PCR500LE.proto getCurr FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP") -{ - field(DESC, "Output current setpoint") - field(DRVH, "5.0") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setCurr FHPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-EREF") -{ - field(DESC, "GY1 FHPS voltage setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP") -{ - field(DESC, "GY1 FHPS voltage manual setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GAF-FHPS:PSU2610-ERROR") -{ - field(DESC, "Error code") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getError FHPS1") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB") -{ - field(DESC, "Output frequency readback") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getFreq FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP") -{ - field(DESC, "Output frequency setpoint") - field(DRVH, "999.9") - field(DRVL, "1") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setFreq FHPS1") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (stringin,"EC-GN-P01-GAF-FHPS:PSU2610-IDN") -{ - field(DESC, "IDN") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto readDeviceID FHPS1") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI") -{ - field(DESC, "Measued AC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(INP, "@PCR500LE.proto getMeasACI FHPS1") - field(LOPR, "-5.0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP") -{ - field(DESC, "Measued AC Power") - field(DTYP, "stream") - field(EGU, "W") - field(HOPR, "500") - field(INP, "@PCR500LE.proto getMeasACP FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV") -{ - field(DESC, "Measued AC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getMeasACV FHPS1") - field(LOPR, "-300") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ") -{ - field(DESC, "Measued Frequency") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getMeasACF FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET") -{ - field(CALC, "A==1?0:1") - field(DESC, "GYA FHPS rampup comp off") - field(INPA, "EC-GN-P01-GAF:STAT-SM") - field(OOPT, "Transition To Zero") - field(OUT, "EC-GN-P01-GAF-FHPS:STAT-MANM PP") - field(SCAN, "1 second") -} - -record (waveform,"EC-GN-P01-GAF-FHPS:STAT-PREP-WF") -{ - field(DESC, "GY1 FHPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC") -{ - field(CALC, "A==2?1:0") - field(DESC, "GYA FHPS rampup comp check") - field(INPA, "EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(ABS(A-B)<0.1*B)?2:((C > D)?1:0);D:=C") - field(DESC, "GYA FHPS rampup stat check") - field(FLNK, "EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC") - field(INPA, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV") - field(INPB, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV") - field(INPC, "EC-GN-P01-GAF-FHPS:PSU2610-EREF") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYA FHPS rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 34f5d19..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,273 +0,0 @@ -record (bo,"EC-GN-P01-GAF-GCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 GCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-GCPS:STAT-SIMM") -{ - field(DESC, "GY1 GCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") -{ - field(DESC, "GY1 GCPS read ACT") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity GC1") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP") -{ - field(DESC, "GY1 GCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity GC1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI") -{ - field(DESC, "GY1 GCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO") -{ - field(DESC, "GY1 GCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON") -{ - field(DESC, "GY1 GCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent GC1") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GAF-GCPS:PSU2130-ERR") -{ - field(DESC, "GY1 GCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat GC1") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM") -{ - field(DESC, "GY1 GCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim GC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB") -{ - field(DESC, "GY1 GCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep GC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB") -{ - field(DESC, "GY1 GCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent GC1") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET") -{ - field(DESC, "GY1 GCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent GC1") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI") -{ - field(DESC, "GY1 GCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO") -{ - field(DESC, "GY1 GCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET") -{ - field(DESC, "GY1 GCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep GC1") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON") -{ - field(DESC, "GY1 GCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage GC1") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#1 state set by Marte") - field(INPA, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GAF-GCPS:STAT-PREP-WF") -{ - field(DESC, "GY1 GCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#1 current set by Marte") - field(INPA, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index ed398a9..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,331 +0,0 @@ -record (bo,"EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") -{ - field(DESC, "SCM rampdown comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") -{ - field(DESC, "GY1 SCM rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 MCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:STAT-SIMM") -{ - field(DESC, "GY1 MCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") -{ - field(DESC, "GY1 MCPS read ACT") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity MC1") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP") -{ - field(DESC, "GY1 MCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity MC1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI") -{ - field(DESC, "GY1 MCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO") -{ - field(DESC, "GY1 MCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON") -{ - field(DESC, "GY1 MCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent MC1") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GAF-MCPS:PSU2120-ERR") -{ - field(DESC, "GY1 MCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat MC1") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM") -{ - field(DESC, "GY1 MCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim MC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB") -{ - field(DESC, "GY1 MCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep MC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB") -{ - field(DESC, "GY1 MCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent MC1") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET") -{ - field(DESC, "GY1 MCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent MC1") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI") -{ - field(DESC, "GY1 MCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO") -{ - field(DESC, "GY1 MCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET") -{ - field(DESC, "GY1 MCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep MC1") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(VAL, "1.69") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON") -{ - field(DESC, "GY1 MCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage MC1") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#1 state set by Marte") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GAF-MCPS:STAT-PREP-WF") -{ - field(DESC, "GY1 MCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP") -{ - field(CALC, "(A==4 andand B==4 and C==4 andand D==4)?1:0") - field(DESC, "SMCPS ramp down check") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") - field(INPC, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") - field(INPD, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(A==3 andand B==3)?1:0") - field(DESC, "GYA SCMPS rampup check") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYA MC GC rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#1 current set by Marte") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db deleted file mode 100755 index fb91d7c..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,389 +0,0 @@ -record (bi,"EC-GN-P01-GAF:DIO4900-YON") -{ - field(DESC, "GY1 External trigger") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 22) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-AI-SIMM") -{ - field(DESC, "GY1 AI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-AO-SIMM") -{ - field(DESC, "GY1 AO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-CSV-LOAD") -{ - field(DESC, "File load trigger") - field(HIGH, "0.1") - field(ONAM, "Loading") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Load") -} - -record (bo,"EC-GN-P01-GAF:STAT-CSV-LOADED") -{ - field(DESC, "File load status") - field(ONAM, "Loaded") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Loading") -} - -record (bo,"EC-GN-P01-GAF:STAT-DI-SIMM") -{ - field(DESC, "GY1 DI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-DO-SIMM") -{ - field(DESC, "GY1 DO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU") -{ - field(DESC, "GY1 egu of shot length") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") - field(ONAM, "s") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "ms") -} - -record (bo,"EC-GN-P01-GAF:STAT-MST-TRIG") -{ - field(DESC, "GY1 Master trigger") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-PREP-MODE") -{ - field(DESC, "GY1 Pre-Pro mode ON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-SHORT-PULSE") -{ - field(DESC, "GY1 Short Pulse Mode") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-TRIG-SOUR") -{ - field(DESC, "GY1 External Trigger Mode SW") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ai,"EC-GN-P01-GAF:MOE2810-ET") -{ - field(DESC, "GY1 Arc detect signal 1") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2810-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 1") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MOE2820-ET") -{ - field(DESC, "GY1 Arc detect signal 2") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2820-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 2") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MOE2830-ET") -{ - field(DESC, "GY1 Arc detect signal 3") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2830-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 3") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MRF2910-ET") -{ - field(DESC, "GY1 RF Signal") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MRF2910-ET-WF") -{ - field(DESC, "GY1 RF Signal") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:STAT-BEAMON-TIME") -{ - field(DESC, "GY1 Beam ON time") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (mbbo,"EC-GN-P01-GAF:STAT-CSV-ERR") -{ - field(DESC, "File load error status") - field(FRST, "Format error") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "Out of range") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(ONST, "Successfully loaded") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Empty data") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Failed to open") - field(TWSV, "MAJOR") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Not loaded yet") - field(ZRSV, "MINOR") - field(ZRVL, "0") -} - -record (stringout,"EC-GN-P01-GAF:STAT-CSV-NAME") -{ - field(DESC, "CSV file name") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "shot000000") -} - -record (ai,"EC-GN-P01-GAF:STAT-DT-SHOTLEN") -{ - field(DESC, "GY1 Shot length") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "100") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "1000000") -} - -record (calcout,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") -{ - field(CALC, "(!A)?1000*B:1000000*B") - field(DESC, "GY1 shot length convert") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN") - field(INPA, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU") - field(INPB, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM") - field(OUT, "EC-GN-P01-GAF:STAT-DT-SHOTLEN") - field(SCAN, "Passive") -} - -record (ao,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM") -{ - field(DESC, "GY1 shot length without unit") - field(DRVH, "3600") - field(DRVL, "0") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") - field(HOPR, "3600") - field(LOPR, "0") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF:STAT-ELAPSED") -{ - field(DESC, "GY1 Elapsed time") - field(EGU, "us") - field(HOPR, "4000000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (longin,"EC-GN-P01-GAF:STAT-PREHEAT-TIME") -{ - field(DESC, "Pre-heating time") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (waveform,"EC-GN-P01-GAF:STAT-PREP-TIME-WF") -{ - field(DESC, "GY1 prepro time schedule") - field(EGU, "ms") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") -} - -record (fanout,"EC-GN-P01-GAF:STAT-SHOT-FLNK1") -{ - field(DESC, "GY1 fanout1 to AI waveform signal") -} - -record (fanout,"EC-GN-P01-GAF:STAT-SHOT-FLNK2") -{ - field(DESC, "GY1 fanout2 to AI waveform signal") -} - -record (longin,"EC-GN-P01-GAF:STAT-SHOT-ID") -{ - field(DESC, "GY1 shot ID") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (calcout,"EC-GN-P01-GAF:STAT-SHOT-PLOT") -{ - field(CALC, "A andand (B >= C)") - field(DESC, "GY1 judge to plot measured values") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST3R") - field(INPB, "EC-GN-P01-GAF:STAT-BEAMON-TIME") - field(INPC, "6000000") - field(OOPT, "Transition To Non-zero") - field(OUT, "EC-GN-P01-GAF:STAT-SHOT-FLNK1 PP") - field(SCAN, ".1 second") -} - -record (mbbi,"EC-GN-P01-GAF:STAT-SM") -{ - field(DESC, "GY#1 state machine") - field(EIST, "WaitHVON_SDN") - field(EIVL, "8") - field(FLNK, "EC-GN-P01-GAF:STAT-SHOT-PLOT") - field(FRST, "WaitReady") - field(FRVL, "4") - field(FVST, "WaitPermit") - field(FVVL, "5") - field(NIST, "WaitHVON_SDN_PREP") - field(NIVL, "9") - field(ONST, "Error") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SVST, "WaitHVON_PREP") - field(SVVL, "7") - field(SXST, "WaitHVON") - field(SXVL, "6") - field(THST, "WaitStandby") - field(THVL, "3") - field(TWST, "Disabled") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Init") - field(ZRVL, "0") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db deleted file mode 100755 index c7cdc88..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,146 +0,0 @@ -record (bi,"EC-GN-P01-GAFP:FMC4310-RV1") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 11) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-RV2") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 12) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-RV3") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 13) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV5") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV6") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV7") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV8") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YFLT-OC") -{ - field(DESC, "MHVPS OC Detected") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 5) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YFLT-OV") -{ - field(DESC, "MHVPS OV Detected") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 4) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-YSTA-GAOP") -{ - field(DESC, "GY1 Beam ON Status") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YTRP") -{ - field(DESC, "Interlock from fast protection 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 9) bitread") - field(ONAM, "INTERLOCK") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YTRP2") -{ - field(DESC, "Pause signal from Fast Protection 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 10) bitread") - field(ONAM, "PAUSE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 354029a..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,310 +0,0 @@ -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB") -{ - field(DESC, "GY2 CCPS Output ON status") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getOut CCPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP") -{ - field(DESC, "GY2 CCPS Output ON") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setOut CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB") -{ - field(DESC, "GY2 CCPS remote readback") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getRem CCPS2") - field(ONAM, "REM") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP") -{ - field(DESC, "GY2 CCPS remote control on") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PWX1500ML.proto setRem CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-RST") -{ - field(DESC, "GY2 CCPS reset device") - field(DTYP, "stream") - field(OUT, "@PWX1500ML.proto resetDevice CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB") -{ - field(DESC, "GY2 CCPS signal source on") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getSourceON CCPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP") -{ - field(DESC, "GY2 CCPS signal source on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setSourceON CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-STAT") -{ - field(DESC, "CCPS2 is running") - field(ONAM, "ON") - field(SCAN, "Passive") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-TR") -{ - field(DESC, "GY2 CCPS in Operation") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 CCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:STAT-SIMM") -{ - field(DESC, "GY2 CCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB") -{ - field(DESC, "GY2 CCPS Output current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "60.0") - field(INP, "@PWX1500ML.proto getCurr CCPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP") -{ - field(DESC, "GY2 CCPS Output current setpoint") - field(DRVH, "58.8") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setCurr CCPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB") -{ - field(DESC, "GY2 CCPS V range readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PWX1500ML.proto getVolt CCPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP") -{ - field(DESC, "GY2 CCPS V range readback") - field(DRVH, "84") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "84") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setVolt CCPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-EREF") -{ - field(DESC, "GY2 CCPS voltage setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP") -{ - field(DESC, "GY2 CCPS voltage manual setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GBF-CCPS:PSU2320-ERROR") -{ - field(DESC, "GY2 CCPS Error message") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getError CCPS2") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (stringin,"EC-GN-P01-GBF-CCPS:PSU2320-IDN") -{ - field(DESC, "GY2 CCPS IDN") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto readDeviceID CCPS2") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI") -{ - field(DESC, "GY2 CCPS Measued DC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(INP, "@PWX1500ML.proto getMeasDCI CCPS2") - field(LOPR, "-58.8") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV") -{ - field(DESC, "GY2 CCPS Measued DC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "200") - field(INP, "@PWX1500ML.proto getMeasDCV CCPS2") - field(LOPR, "-200") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-AMP") -{ - field(DESC, "Amplitude") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "3.5") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-FREQ") -{ - field(DESC, "Frequency") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-OFFS") -{ - field(DESC, "Offset") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GBF-CCPS:STAT-OP-CALC") -{ - field(CALC, "(A==1 || B==1 || C==1)?1:0; C:=B; B:=A") - field(DESC, "GYB CCPS operation check") - field(FLNK, "EC-GN-P01-GBF-CCPS:PSU2320-TR") - field(INPA, "EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF") - field(INPB, "0") - field(INPC, "0") - field(OUT, "EC-GN-P01-GBF-CCPS:PSU2320-TR") - field(SCAN, "Passive") -} - -record (calc,"EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF") -{ - field(CALC, "(A==1 andand ABS(B-C)>0.1)?1:0; C:=B") - field(DESC, "GYB CCPS operation check") - field(FLNK, "EC-GN-P01-GBF-CCPS:STAT-OP-CALC") - field(INPA, "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB") - field(INPB, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV PP") - field(SCAN, ".1 second") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 0b30380..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,424 +0,0 @@ -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START") -{ - field(DESC, "Auto rampup start command") - field(HIGH, "0.1") - field(ONAM, "Start") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-LOC") -{ - field(DESC, "Local control on") - field(DTYP, "stream") - field(ONAM, "LOC") - field(OUT, "@PCR500LE.proto setLoc FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB") -{ - field(DESC, "Output ON readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getOut FHPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP") -{ - field(DESC, "Output ON command") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PCR500LE.proto setOut FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-REM") -{ - field(DESC, "Remote control on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setRem FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-RST") -{ - field(DESC, "Reset command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto resetDevice FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB") -{ - field(DESC, "External control readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getSourceON FHPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP") -{ - field(DESC, "External control ON command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setSourceON FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP") -{ - field(DESC, "GY2 FHPS rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 FHPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:STAT-SIMM") -{ - field(DESC, "GY2 FHPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB") -{ - field(DESC, "Output Voltage readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getVolt FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP") -{ - field(DESC, "Output voltage setpoint") - field(DRVH, "300") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setVolt FHPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME") -{ - field(DESC, "Auto rampup time") - field(DRVH, "100000") - field(DRVL, "10") - field(EGU, "sec") - field(HOPR, "100000") - field(LOPR, "10") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "30") -} - -record (mbbo,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT") -{ - field(DESC, "Auto rampup status") - field(ONST, "IN OPERATION") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(THST, "ERROR") - field(THVL, "3") - field(TWST, "FINISH") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "NOT IN OPERATION") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV") -{ - field(DESC, "Auto rampup target voltage") - field(DRVH, "300") - field(DRVL, "0.0") - field(EGU, "V") - field(HOPR, "60.0") - field(LOPR, "0.0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB") -{ - field(DESC, "Output Current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5") - field(INP, "@PCR500LE.proto getCurr FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP") -{ - field(DESC, "Output current setpoint") - field(DRVH, "5.0") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setCurr FHPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-EREF") -{ - field(DESC, "GY2 FHPS voltage setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP") -{ - field(DESC, "GY2 FHPS voltage manual setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GBF-FHPS:PSU2610-ERROR") -{ - field(DESC, "Error code") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getError FHPS2") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB") -{ - field(DESC, "Output frequency readback") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getFreq FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP") -{ - field(DESC, "Output frequency setpoint") - field(DRVH, "999.9") - field(DRVL, "1") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setFreq FHPS2") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (stringin,"EC-GN-P01-GBF-FHPS:PSU2610-IDN") -{ - field(DESC, "IDN") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto readDeviceID FHPS2") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI") -{ - field(DESC, "Measued AC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(INP, "@PCR500LE.proto getMeasACI FHPS2") - field(LOPR, "-5.0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP") -{ - field(DESC, "Measued AC Power") - field(DTYP, "stream") - field(EGU, "W") - field(HOPR, "500") - field(INP, "@PCR500LE.proto getMeasACP FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV") -{ - field(DESC, "Measued AC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getMeasACV FHPS2") - field(LOPR, "-300") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ") -{ - field(DESC, "Measued Frequency") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getMeasACF FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET") -{ - field(CALC, "A==1?0:1") - field(DESC, "GYB FHPS rampup comp off") - field(INPA, "EC-GN-P01-GBF:STAT-SM") - field(OOPT, "Transition To Zero") - field(OUT, "EC-GN-P01-GBF-FHPS:STAT-MANM PP") - field(SCAN, "1 second") -} - -record (waveform,"EC-GN-P01-GBF-FHPS:STAT-PREP-WF") -{ - field(DESC, "GY2 FHPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC") -{ - field(CALC, "A==2?1:0") - field(DESC, "GYB FHPS rampup comp check") - field(INPA, "EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(ABS(A-B)<0.1*B)?2:((C > D)?1:0);D:=C") - field(DESC, "GYB FHPS rampup stat check") - field(FLNK, "EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC") - field(INPA, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV") - field(INPB, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV") - field(INPC, "EC-GN-P01-GBF-FHPS:PSU2610-EREF") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYB FHPS rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index ec4fc1c..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,273 +0,0 @@ -record (bo,"EC-GN-P01-GBF-GCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 GCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-GCPS:STAT-SIMM") -{ - field(DESC, "GY2 GCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") -{ - field(DESC, "GY2 GCPS read act") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity GC2") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP") -{ - field(DESC, "GY2 GCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity GC2") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI") -{ - field(DESC, "GY2 GCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO") -{ - field(DESC, "GY2 GCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON") -{ - field(DESC, "GY2 GCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent GC2") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GBF-GCPS:PSU2130-ERR") -{ - field(DESC, "GY2 GCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat GC2") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM") -{ - field(DESC, "GY2 GCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim GC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB") -{ - field(DESC, "GY2 GCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep GC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB") -{ - field(DESC, "GY2 GCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent GC2") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET") -{ - field(DESC, "GY2 GCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent GC2") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI") -{ - field(DESC, "GY2 GCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO") -{ - field(DESC, "GY2 GCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET") -{ - field(DESC, "GY2 GCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep GC2") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON") -{ - field(DESC, "GY2 GCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage GC2") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#2 state set by Marte") - field(INPA, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GBF-GCPS:STAT-PREP-WF") -{ - field(DESC, "GY2 GCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#2 current set by Mate") - field(INPA, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index d766295..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,306 +0,0 @@ -record (bo,"EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") -{ - field(DESC, "GY2 SCM rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-MCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 MCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-MCPS:STAT-SIMM") -{ - field(DESC, "GY2 MCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") -{ - field(DESC, "GY2 MCPS read act") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity MC2") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP") -{ - field(DESC, "GY2 MCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity MC2") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI") -{ - field(DESC, "GY2 MCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO") -{ - field(DESC, "GY2 MCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON") -{ - field(DESC, "GY2 MCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent MC2") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GBF-MCPS:PSU2120-ERR") -{ - field(DESC, "GY2 MCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat MC2") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM") -{ - field(DESC, "GY2 MCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim MC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB") -{ - field(DESC, "GY2 MCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep MC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB") -{ - field(DESC, "GY2 MCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent MC2") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET") -{ - field(DESC, "GY2 MCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent MC2") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI") -{ - field(DESC, "GY2 MCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO") -{ - field(DESC, "GY2 MCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET") -{ - field(DESC, "GY2 MCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep MC2") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(VAL, "1.69") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON") -{ - field(DESC, "GY2 MCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage MC2") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#2 state set by Marte") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GBF-MCPS:STAT-PREP-WF") -{ - field(DESC, "GY2 MCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(A==3 andand B==3)?1:0") - field(DESC, "GYB SMCPS rampup check") - field(FLNK, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYB MC GC rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#2 current set by Marte") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 4ff855f..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,389 +0,0 @@ -record (bi,"EC-GN-P01-GBF:DIO4900-YON") -{ - field(DESC, "GY3 External trigger") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 22) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-AI-SIMM") -{ - field(DESC, "GY2 AI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-AO-SIMM") -{ - field(DESC, "GY2 AO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-CSV-LOAD") -{ - field(DESC, "File load trigger") - field(HIGH, "0.1") - field(ONAM, "Loading") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Load") -} - -record (bo,"EC-GN-P01-GBF:STAT-CSV-LOADED") -{ - field(DESC, "File load status") - field(ONAM, "Loaded") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Loading") -} - -record (bo,"EC-GN-P01-GBF:STAT-DI-SIMM") -{ - field(DESC, "GY2 DI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-DO-SIMM") -{ - field(DESC, "GY2 DO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU") -{ - field(DESC, "GY2 egu of shot length") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") - field(ONAM, "s") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "ms") -} - -record (bo,"EC-GN-P01-GBF:STAT-MST-TRIG") -{ - field(DESC, "GY2 Master trigger") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-PREP-MODE") -{ - field(DESC, "GY2 Pre-Pro mode ON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-SHORT-PULSE") -{ - field(DESC, "GY2 Short Pulse Mode") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-TRIG-SOUR") -{ - field(DESC, "GY2 External Trigger Mode SW") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ai,"EC-GN-P01-GBF:MOE2810-ET") -{ - field(DESC, "GY2 Arc detect signal 1") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2810-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 1") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MOE2820-ET") -{ - field(DESC, "GY2 Arc detect signal 2") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2820-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 2") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MOE2830-ET") -{ - field(DESC, "GY2 Arc detect signal 3") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2830-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 3") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MRF2910-ET") -{ - field(DESC, "GY2 RF Signal") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MRF2910-ET-WF") -{ - field(DESC, "GY2 RF Signal") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:STAT-BEAMON-TIME") -{ - field(DESC, "GY2 Beam ON time") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (mbbo,"EC-GN-P01-GBF:STAT-CSV-ERR") -{ - field(DESC, "File load error status") - field(FRST, "Format error") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "Out of range") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(ONST, "Successfully loaded") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Empty data") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Failed to open") - field(TWSV, "MAJOR") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Not loaded yet") - field(ZRSV, "MINOR") - field(ZRVL, "0") -} - -record (stringout,"EC-GN-P01-GBF:STAT-CSV-NAME") -{ - field(DESC, "CSV file name") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "shot000000") -} - -record (ai,"EC-GN-P01-GBF:STAT-DT-SHOTLEN") -{ - field(DESC, "GY2 Shot length") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "100") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "1000000") -} - -record (calcout,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") -{ - field(CALC, "(!A)?1000*B:1000000*B") - field(DESC, "GY2 shot length convert") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN") - field(INPA, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU") - field(INPB, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM") - field(OUT, "EC-GN-P01-GBF:STAT-DT-SHOTLEN") - field(SCAN, "Passive") -} - -record (ao,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM") -{ - field(DESC, "GY2 shot length without unit") - field(DRVH, "3600") - field(DRVL, "0") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") - field(HOPR, "3600") - field(LOPR, "0") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF:STAT-ELAPSED") -{ - field(DESC, "GY2 Elapsed time") - field(EGU, "us") - field(HOPR, "4000000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (longin,"EC-GN-P01-GBF:STAT-PREHEAT-TIME") -{ - field(DESC, "Pre-heating time") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (waveform,"EC-GN-P01-GBF:STAT-PREP-TIME-WF") -{ - field(DESC, "GY2 prepro time schedule") - field(EGU, "ms") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") -} - -record (fanout,"EC-GN-P01-GBF:STAT-SHOT-FLNK1") -{ - field(DESC, "GY2 fanout1 to AI waveform signal") -} - -record (fanout,"EC-GN-P01-GBF:STAT-SHOT-FLNK2") -{ - field(DESC, "GY2 fanout2 to AI waveform signal") -} - -record (longin,"EC-GN-P01-GBF:STAT-SHOT-ID") -{ - field(DESC, "GY2 shot ID") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (calcout,"EC-GN-P01-GBF:STAT-SHOT-PLOT") -{ - field(CALC, "A andand (B >= C)") - field(DESC, "GY2 judge to plot measured values") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST3R") - field(INPB, "EC-GN-P01-GBF:STAT-BEAMON-TIME") - field(INPC, "6000000") - field(OOPT, "Transition To Non-zero") - field(OUT, "EC-GN-P01-GBF:STAT-SHOT-FLNK1 PP") - field(SCAN, ".1 second") -} - -record (mbbi,"EC-GN-P01-GBF:STAT-SM") -{ - field(DESC, "GY#2 state machine") - field(EIST, "WaitHVON_SDN") - field(EIVL, "8") - field(FLNK, "EC-GN-P01-GBF:STAT-SHOT-PLOT") - field(FRST, "WaitReady") - field(FRVL, "4") - field(FVST, "WaitPermit") - field(FVVL, "5") - field(NIST, "WaitHVON_SDN_PREP") - field(NIVL, "9") - field(ONST, "Error") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SVST, "WaitHVON_PREP") - field(SVVL, "7") - field(SXST, "WaitHVON") - field(SXVL, "6") - field(THST, "WaitStandby") - field(THVL, "3") - field(TWST, "Disabled") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Init") - field(ZRVL, "0") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 0776c60..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,120 +0,0 @@ -record (bi,"EC-GN-P01-GBFP:FMC4310-RV1") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 11) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-RV2") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 12) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-RV3") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 13) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV5") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV6") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV7") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV8") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-YSTA-GBOP") -{ - field(DESC, "GY2 Beam ON Status") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-YTRP") -{ - field(DESC, "Interlock from fast protection 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 9) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-YTRP2") -{ - field(DESC, "Pause signal from fast protection 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 10) bitread") - field(ONAM, "PAUSE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 9fe5dd3..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,349 +0,0 @@ -record (bo,"EC-GN-P01-GPF:PCF4210-CTRP") -{ - field(DESC, "Fast Controller Fault") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA1") -{ - field(DESC, "GY1 HV Armed") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA2") -{ - field(DESC, "GY1 HV Injection") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA3") -{ - field(DESC, "GY1 in RFON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB1") -{ - field(DESC, "GY2 HV Armed") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB2") -{ - field(DESC, "GY2 HV Injection") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB3") -{ - field(DESC, "GY2 RFON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPF:PSU0000-YSTA-MOD") -{ - field(DESC, "MHVPS modulation en/disable from ECPC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 8) bitread") - field(ONAM, "ENABLE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "DISABLE") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-CONF-STAT") -{ - field(DESC, "DAQ config state") - field(ONAM, "Ready") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Not ready") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-RECONF") -{ - field(DESC, "Reset and configure DAQ") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-SW-TRIG") -{ - field(DESC, "software trigger for DAQ start") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:STAT-RST-FLT") -{ - field(DESC, "Reset Fault command") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-LEN") -{ - field(DESC, "DAQ sampling time length") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1000.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-LEN-RB") -{ - field(DESC, "DAQ sampling time length readback") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1000.0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-MODE") -{ - field(DESC, "DAQ mode") - field(FRST, "Reference") - field(FRVL, "4") - field(ONST, "Finite") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Continuous") - field(THVL, "3") - field(TWST, "Retriggerable") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Software_triggered") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-MODE-RB") -{ - field(DESC, "DAQ mode readback") - field(FRST, "Reference") - field(FRVL, "4") - field(ONST, "Finite") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Continuous") - field(THVL, "3") - field(TWST, "Retriggerable") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Software_triggered") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-PUB-DLY") -{ - field(DESC, "DAN publish delay") - field(DRVH, "1000") - field(DRVL, "0.1") - field(EGU, "ms") - field(HOPR, "1000") - field(LOPR, "0.1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "10.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB") -{ - field(DESC, "DAN publish delay") - field(DRVH, "1000") - field(DRVL, "0.1") - field(EGU, "ms") - field(HOPR, "1000") - field(LOPR, "0.1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "10.0") -} - -record (longout,"EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE") -{ - field(DESC, "sampling rate") - field(DRVH, "1000000000") - field(DRVL, "1") - field(HOPR, "100000000") - field(LOPR, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1000") -} - -record (longout,"EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB") -{ - field(DESC, "sampling rate readback") - field(DRVH, "1000000000") - field(DRVL, "1") - field(HOPR, "100000000") - field(LOPR, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1000") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY") -{ - field(DESC, "DAQ start delay") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB") -{ - field(DESC, "DAQ start delay readback") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1.0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-STAT") -{ - field(DESC, "DAQ operation state") - field(FRSV, "NO_ALARM") - field(ONST, "Waiting trigger") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Aquiring") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Not ready") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD1-LIM") -{ - field(DESC, "MD1 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "10000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD2-LIM") -{ - field(DESC, "MD2 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "100000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD3-LIM") -{ - field(DESC, "MD3 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "30000000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD4-LIM") -{ - field(DESC, "MD4 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "300000000") -} - -record (ai,"EC-GN-P01-GPF:STAT-RDY-TOUT") -{ - field(DESC, "Gyrotron operation ready timeout") - field(EGU, "s") - field(HOPR, "600") - field(LOPR, "1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "30.0") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 5763fa5..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,230 +0,0 @@ -record (bi,"EC-GN-P01-GPS:PLC4110-CON-GY1PRM") -{ - field(DESC, "GY1 Operation Permission") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 18) bitread") - field(ONAM, "PERMITED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-GY2PRM") -{ - field(DESC, "GY2 Operation Permission") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 18) bitread") - field(ONAM, "PERMITED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-OPGY1") -{ - field(DESC, "GY1 Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 19) bitread") - field(ONAM, "SELECTED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-OPGY2") -{ - field(DESC, "GY2 Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 19) bitread") - field(ONAM, "SELECTED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-RV1") -{ - field(DESC, "Reserved for PLC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 21) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPS:PLC4110-RV2") -{ - field(DESC, "Reserved for PLC") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPS:PLC4110-RV3") -{ - field(DESC, "Reserved for PLC") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YON-CCPS1") -{ - field(DESC, "GY1 CCPS Start Operation") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 20) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YON-CCPS2") -{ - field(DESC, "GY2 CCPS Start Operation") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 20) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YSTA-MPSS") -{ - field(DESC, "Sync/Asynchronous Flag") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 21) bitread") - field(ONAM, "SYNC") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "ASYNC") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTRP") -{ - field(DESC, "Interlock signal from PLC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 14) bitread") - field(ONAM, "INTERLOCK") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD1") -{ - field(DESC, "Operation Mode 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 14) bitread") - field(ONAM, "VSHORT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD2") -{ - field(DESC, "Operation Mode 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 15) bitread") - field(ONAM, "SHORT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD3") -{ - field(DESC, "Operation Mode 3") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 16) bitread") - field(ONAM, "MIDDLE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD4") -{ - field(DESC, "Operation Mode 4") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 17) bitread") - field(ONAM, "LONG") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST1R") -{ - field(DESC, "PLC STANDBY state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 15) bitread") - field(ONAM, "STANDBY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST2R") -{ - field(DESC, "PLC READY state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 16) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST3R") -{ - field(DESC, "PLC ON state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 17) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 3d11cb5..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,206 +0,0 @@ -record (bo,"EC-GN-P01-PA1F:PSU3000-CON-HV") -{ - field(DESC, "GY1 APS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA1F:PSU3000-CON-SW") -{ - field(DESC, "GY1 APS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA1F:PSU3000-CTRP") -{ - field(DESC, "GY1 APS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PA1F:PSU3000-YFLT") -{ - field(DESC, "GY1 APS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 1) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PA1F:PSU3000-YSTA") -{ - field(DESC, "GY1 APS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 0) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PA1F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF") -{ - field(DESC, "GY1 APS voltage setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_1, 1) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF-MSP") -{ - field(DESC, "GY1 APS voltage manual setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF-P") -{ - field(ASLO, "2") - field(DESC, "GY1 APS P-voltage setpoint") - field(DRVH, "0") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_1, 2) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PA1F:PSU3000-ET") -{ - field(DESC, "GY1 APS Measured Volatege") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA1F:PSU3000-ET-WF") -{ - field(DESC, "GY1 APS Measured Volatege") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA1F:PSU3000-IT") -{ - field(DESC, "GY1 APS Measued Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA1F:PSU3000-IT-WF") -{ - field(DESC, "GY1 APS Measued Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA1F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY1 APS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PA1F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY1 APS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "600000") -} - -record (calcout,"EC-GN-P01-PA1F:STAT-EREF-CONV") -{ - field(CALC, "A>0?A:((A>-20)?A/2:-10)") - field(DESC, "GYA APS engineer value conversion") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PA1F:PSU3000-EREF PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PA1F:STAT-PREP-WF") -{ - field(DESC, "GY1 APS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 6a74042..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,206 +0,0 @@ -record (bo,"EC-GN-P01-PA2F:PSU4000-CON-HV") -{ - field(DESC, "GY2 APS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA2F:PSU4000-CON-SW") -{ - field(DESC, "GY2 APS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA2F:PSU4000-CTRP") -{ - field(DESC, "GY2 APS Shutdown request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PA2F:PSU4000-YFLT") -{ - field(DESC, "GY2 APS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 1) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PA2F:PSU4000-YSTA") -{ - field(DESC, "GY2 APS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 0) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PA2F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF") -{ - field(DESC, "GY2 APS voltage setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_0, 1) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF-MSP") -{ - field(DESC, "GY2 APS voltage manual setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF-P") -{ - field(ASLO, "2") - field(DESC, "GY2 APS P-voltage setpoint") - field(DRVH, "0") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_0, 2) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PA2F:PSU4000-ET") -{ - field(DESC, "GY2 APS Measured Volatege") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA2F:PSU4000-ET-WF") -{ - field(DESC, "GY2 APS Measured Volatege") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA2F:PSU4000-IT") -{ - field(DESC, "GY2 APS Measued Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA2F:PSU4000-IT-WF") -{ - field(DESC, "GY2 APS Measued Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA2F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY2 APS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PA2F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY2 APS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "600000") -} - -record (calcout,"EC-GN-P01-PA2F:STAT-EREF-CONV") -{ - field(CALC, "A>0?A:((A>-20)?A/2:-10)") - field(DESC, "GYB APS engineer value conversion") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PA2F:PSU4000-EREF PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PA2F:STAT-PREP-WF") -{ - field(DESC, "GY2 APS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 66c756d..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,180 +0,0 @@ -record (bo,"EC-GN-P01-PB1F:PSU1000-CON-HV") -{ - field(DESC, "GY1 BPS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB1F:PSU1000-CON-SW") -{ - field(DESC, "GY1 BPS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB1F:PSU1000-CTRP") -{ - field(DESC, "GY1 BPS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PB1F:PSU1000-YFLT") -{ - field(DESC, "GY1 BPS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 3) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PB1F:PSU1000-YSTA") -{ - field(DESC, "GY1 BPS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 2) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PB1F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 BPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PB1F:PSU1000-EREF") -{ - field(ASLO, "4") - field(DESC, "GY1 BPS voltage setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PB1F:PSU1000-EREF-MSP") -{ - field(DESC, "GY1 BPS voltage manual setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PB1F:PSU1000-ET") -{ - field(DESC, "GY1 BPS Measured Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB1F:PSU1000-ET-WF") -{ - field(DESC, "GY1 BPS Measured Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB1F:PSU1000-IT") -{ - field(DESC, "GY1 BPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB1F:PSU1000-IT-WF") -{ - field(DESC, "GY1 BPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB1F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY1 BPS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PB1F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY1 BPS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "550000") -} - -record (waveform,"EC-GN-P01-PB1F:STAT-PREP-WF") -{ - field(DESC, "GY1 BPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 72c14a3..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,180 +0,0 @@ -record (bo,"EC-GN-P01-PB2F:PSU2000-CON-HV") -{ - field(DESC, "GY2 BPS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB2F:PSU2000-CON-SW") -{ - field(DESC, "GY2 BPS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB2F:PSU2000-CTRP") -{ - field(DESC, "GY2 BPS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PB2F:PSU2000-YFLT") -{ - field(DESC, "GY2 BPS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 3) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PB2F:PSU2000-YSTA") -{ - field(DESC, "GY2 BPS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 2) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PB2F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 BPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PB2F:PSU2000-EREF") -{ - field(ASLO, "4") - field(DESC, "GY2 BPS voltage setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PB2F:PSU2000-EREF-MSP") -{ - field(DESC, "GY2 BPS voltage manual setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PB2F:PSU2000-ET") -{ - field(DESC, "GY2 BPS Measured Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB2F:PSU2000-ET-WF") -{ - field(DESC, "GY2 BPS Measured Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB2F:PSU2000-IT") -{ - field(DESC, "GY2 BPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB2F:PSU2000-IT-WF") -{ - field(DESC, "GY2 BPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB2F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY2 BPS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PB2F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY2 BPS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "550000") -} - -record (waveform,"EC-GN-P01-PB2F:STAT-PREP-WF") -{ - field(DESC, "GY2 BPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 9778039..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,231 +0,0 @@ -record (bo,"EC-GN-P01-PMF:PSU0000-COFF") -{ - field(DESC, "MHVPS Shutdown request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PMF:PSU0000-CON-MOD") -{ - field(DESC, "MHVPS MOD Enable/Disable") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PMF:PSU0000-CON-SW") -{ - field(DESC, "MHVPS Enable/Disable") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PMF:PSU0000-TYSTA") -{ - field(DESC, "MHVPS Ready status") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 7) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bi,"EC-GN-P01-PMF:PSU0000-YFLT") -{ - field(DESC, "MHVPS Fast Protection Act") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 6) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bo,"EC-GN-P01-PMF:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PMF:PSU0000-EREF") -{ - field(ASLO, "11") - field(DESC, "MHVPS voltage setpoint") - field(DRVH, "55") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "55") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 3) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PMF:PSU0000-EREF-MSP") -{ - field(DESC, "MHVPS voltage manual setpoint") - field(DRVH, "55") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "55") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-ET-GA") -{ - field(DESC, "GY1 MHVPS Measued Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-ET-GA-WF") -{ - field(DESC, "GY1 MHVPS Measued Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-ET-GB") -{ - field(DESC, "GY2 MHVPS Measued Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-ET-GB-WF") -{ - field(DESC, "GY2 MHVPS Measued Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-IT-GA") -{ - field(DESC, "GY1 MHVPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-IT-GA-WF") -{ - field(DESC, "GY1 MHVPS Measured Current") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-IT-GB") -{ - field(DESC, "GY2 MHVPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-IT-GB-WF") -{ - field(DESC, "GY2 MHVPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:STAT-DT-HVON") -{ - field(DESC, "Time diff to MHVPS ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (calcout,"EC-GN-P01-PMF:STAT-EREF-CALC") -{ - field(CALC, "(A!=C)?A:((B!=D)?B:E);C:=A; D:=B") - field(DESC, "determine MHVPS EREF change") - field(INPE, "EC-GN-P01-PMF:PSU0000-EREF") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PMF:PSU0000-EREF PP") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-PMF:STAT-HVON-CALC") -{ - field(CALC, "(A||B)?1:0") - field(DESC, "determine MHVPS HVON change") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PMF:PSU0000-CON-SW PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PMF:STAT-PREP-WF") -{ - field(DESC, "MHVPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Makefile b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Makefile deleted file mode 100644 index b38d99d..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/sddconfApp/Makefile $ -# $Id: Makefile 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : Makefile -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== -TOP = .. -include $(TOP)/configure/CONFIG -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) -include $(TOP)/configure/RULES_DIRS - diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/src/EC-GNMain.cpp b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/src/EC-GNMain.cpp deleted file mode 100644 index 178d63c..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/src/EC-GNMain.cpp +++ /dev/null @@ -1,25 +0,0 @@ -/* Main.cpp */ -/* Author: Marty Kraimer Date: 17MAR2000 */ - -#include -#include -#include -#include -#include -#include - -#include "epicsExit.h" -#include "epicsThread.h" -#include "iocsh.h" - -int main(int argc,char *argv[]) -{ - sigset(SIGTERM, epicsExit); - if(argc>=2) { - iocsh(argv[1]); - epicsThreadSleep(.2); - } - iocsh(NULL); - epicsExit(0); - return(0); -} diff --git a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/src/Makefile b/EC-GN-JA-PCF/src/main/epics/EC-GNApp/src/Makefile deleted file mode 100755 index 6b73f87..0000000 --- a/EC-GN-JA-PCF/src/main/epics/EC-GNApp/src/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -TOP=../.. - -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE -#======================================== - -#======================================== -# Build the IOC application - -PROD_IOC = EC-GN -# EC-GN.dbd will be created and installed -DBD += EC-GN.dbd - -# EC-GN.dbd will be made up from these files: --include $(EPICS_ROOT)/mk/codac-common.mk - - -# Add all the support libraries needed by this IOC - -EC-GN_DBD += $(CODAC_DBD) -EC-GN_LIBS += $(CODAC_LIBS) - -# # SNCSEQ -# _SNCFLAGS += +r -c +d -# EC-GN_DBD += .dbd -# EC-GN_SRCS += .stt -# EC-GN_LIBS += seq pv - - -# EC-GN_registerRecordDeviceDriver.cpp derives from EC-GN.dbd -EC-GN_SRCS += EC-GN_registerRecordDeviceDriver.cpp - -# Build the main IOC entry point on workstation OSs. -EC-GN_SRCS_DEFAULT += EC-GNMain.cpp -EC-GN_SRCS_vxWorks += -nil- - -# Add support from base/src/vxWorks if needed -#EC-GN_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary - -#============================= -# Include SNL program makefile snippets - --include ../*.snlprog - -#============================= - - -# Finally link to the EPICS Base libraries -EC-GN_LIBS += $(EPICS_BASE_IOC_LIBS) - -#=========================== - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE -#---------------------------------------- \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/Makefile b/EC-GN-JA-PCF/src/main/epics/Makefile deleted file mode 100644 index 5c6175c..0000000 --- a/EC-GN-JA-PCF/src/main/epics/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -# Makefile at top of application tree -TOP = . -include $(TOP)/configure/CONFIG - -# Directories to build, any order -DIRS += configure -DIRS += $(wildcard *Sup) -DIRS += $(wildcard *App) -DIRS += $(wildcard *Top) -DIRS += $(wildcard iocBoot) - -# The build order is controlled by these dependency rules: - -# All dirs except configure depend on configure -$(foreach dir, $(filter-out configure, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += configure)) - -# Any *App dirs depend on all *SharedTemplateApp dirs -$(foreach dir, $(filter-out %SharedTemplateApp, $(filter %App, $(DIRS))), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %SharedTemplateApp, $(DIRS)))) - -# Any *App dirs depend on all *Sup dirs -$(foreach dir, $(filter %App, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %Sup, $(DIRS)))) - -# Any *Top dirs depend on all *Sup and *App dirs -$(foreach dir, $(filter %Top, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %Sup %App, $(DIRS)))) - -# iocBoot depends on all *App dirs -iocBoot_DEPEND_DIRS += $(filter %App,$(DIRS)) - -# Add any additional dependency rules here: - -include $(TOP)/configure/RULES_TOP diff --git a/EC-GN-JA-PCF/src/main/epics/PLCApp/.appdesc b/EC-GN-JA-PCF/src/main/epics/PLCApp/.appdesc deleted file mode 100644 index df999dd..0000000 --- a/EC-GN-JA-PCF/src/main/epics/PLCApp/.appdesc +++ /dev/null @@ -1 +0,0 @@ -generic \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/PLCApp/Db/Makefile b/EC-GN-JA-PCF/src/main/epics/PLCApp/Db/Makefile deleted file mode 100644 index 3ef937f..0000000 --- a/EC-GN-JA-PCF/src/main/epics/PLCApp/Db/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) -# databases, templates, substitutions like this - - -# Automagically install .proto files -DB += $(notdir $(wildcard ../*.proto)) - -#---------------------------------------------------- -# If .db template is not named *.template add -# _TEMPLATE = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE diff --git a/EC-GN-JA-PCF/src/main/epics/PLCApp/Makefile b/EC-GN-JA-PCF/src/main/epics/PLCApp/Makefile deleted file mode 100644 index 6504a77..0000000 --- a/EC-GN-JA-PCF/src/main/epics/PLCApp/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericApp/Makefile $ -# $Id: Makefile 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : Makefile -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== -TOP = .. -include $(TOP)/configure/CONFIG -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) -include $(TOP)/configure/RULES_DIRS - diff --git a/EC-GN-JA-PCF/src/main/epics/PLCApp/src/Makefile b/EC-GN-JA-PCF/src/main/epics/PLCApp/src/Makefile deleted file mode 100644 index c78bf18..0000000 --- a/EC-GN-JA-PCF/src/main/epics/PLCApp/src/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -TOP=../.. - -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE -#======================================== - -#======================================== -# Build the IOC application - -PROD_IOC = PLC -# PLC.dbd will be created and installed -DBD += PLC.dbd - -# PLC.dbd will be made up from these files: --include $(EPICS_ROOT)/mk/codac-common.mk - - -# Add all the support libraries needed by this IOC --include $(EPICS_ROOT)/mk/asyn.mk --include $(EPICS_ROOT)/mk/s7PLCAsyn.mk - -PLC_DBD += $(CODAC_DBD) -PLC_LIBS += $(CODAC_LIBS) - -# # SNCSEQ -# _SNCFLAGS += +r -c +d -# PLC_DBD += .dbd -# PLC_SRCS += .stt -# PLC_LIBS += seq pv - - -# PLC_registerRecordDeviceDriver.cpp derives from PLC.dbd -PLC_SRCS += PLC_registerRecordDeviceDriver.cpp - -# Build the main IOC entry point on workstation OSs. -PLC_SRCS_DEFAULT += PLCMain.cpp -PLC_SRCS_vxWorks += -nil- - -# Add support from base/src/vxWorks if needed -#PLC_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary - -#============================= -# Include SNL program makefile snippets - --include ../*.snlprog - -#============================= - - -# Finally link to the EPICS Base libraries -PLC_LIBS += $(EPICS_BASE_IOC_LIBS) - -#=========================== - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE -#---------------------------------------- diff --git a/EC-GN-JA-PCF/src/main/epics/PLCApp/src/PLCMain.cpp b/EC-GN-JA-PCF/src/main/epics/PLCApp/src/PLCMain.cpp deleted file mode 100644 index 1edd319..0000000 --- a/EC-GN-JA-PCF/src/main/epics/PLCApp/src/PLCMain.cpp +++ /dev/null @@ -1,25 +0,0 @@ -/* PLCMain.cpp */ -/* Author: Marty Kraimer Date: 17MAR2000 */ - -#include -#include -#include -#include -#include -#include - -#include "epicsExit.h" -#include "epicsThread.h" -#include "iocsh.h" - -int main(int argc,char *argv[]) -{ - sigset(SIGTERM, epicsExit); - if(argc>=2) { - iocsh(argv[1]); - epicsThreadSleep(.2); - } - iocsh(NULL); - epicsExit(0); - return(0); -} diff --git a/EC-GN-JA-PCF/src/main/epics/configure/CONFIG b/EC-GN-JA-PCF/src/main/epics/configure/CONFIG deleted file mode 100644 index c1a4703..0000000 --- a/EC-GN-JA-PCF/src/main/epics/configure/CONFIG +++ /dev/null @@ -1,29 +0,0 @@ -# CONFIG - Load build configuration data -# -# Do not make changes to this file! - -# Allow user to override where the build rules come from -RULES = $(EPICS_BASE) - -# RELEASE files point to other application tops -include $(TOP)/configure/RELEASE --include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).Common -ifdef T_A --include $(TOP)/configure/RELEASE.Common.$(T_A) --include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A) -endif - -CONFIG = $(RULES)/configure -include $(CONFIG)/CONFIG - -# Override the Base definition: -INSTALL_LOCATION = $(TOP) - -# CONFIG_SITE files contain other build configuration settings -include $(TOP)/configure/CONFIG_SITE --include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common -ifdef T_A - -include $(TOP)/configure/CONFIG_SITE.Common.$(T_A) - -include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) -endif - diff --git a/EC-GN-JA-PCF/src/main/epics/configure/CONFIG_SITE b/EC-GN-JA-PCF/src/main/epics/configure/CONFIG_SITE deleted file mode 100644 index 212485e..0000000 --- a/EC-GN-JA-PCF/src/main/epics/configure/CONFIG_SITE +++ /dev/null @@ -1,43 +0,0 @@ -# CONFIG_SITE - -# Make any application-specific changes to the EPICS build -# configuration variables in this file. -# -# Host/target specific settings can be specified in files named -# CONFIG_SITE.$(EPICS_HOST_ARCH).Common -# CONFIG_SITE.Common.$(T_A) -# CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) - -# CHECK_RELEASE controls the consistency checking of the support -# applications pointed to by the RELEASE* files. -# Normally CHECK_RELEASE should be set to YES. -# Set CHECK_RELEASE to NO to disable checking completely. -# Set CHECK_RELEASE to WARN to perform consistency checking but -# continue building even if conflicts are found. -CHECK_RELEASE = YES - -# Set this when you only want to compile this application -# for a subset of the cross-compiled target architectures -# that Base is built for. -#CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc32 - -# To install files into a location other than $(TOP) define -# INSTALL_LOCATION here. -#INSTALL_LOCATION= - -# Set this when the IOC and build host use different paths -# to the install location. This may be needed to boot from -# a Microsoft FTP server say, or on some NFS configurations. -#IOCS_APPL_TOP = - -# For application debugging purposes, override the HOST_OPT and/ -# or CROSS_OPT settings from base/configure/CONFIG_SITE -#HOST_OPT = NO -#CROSS_OPT = NO - -# These allow developers to override the CONFIG_SITE variable -# settings without having to modify the configure/CONFIG_SITE -# file itself. --include $(TOP)/../CONFIG_SITE.local --include $(TOP)/configure/CONFIG_SITE.local - diff --git a/EC-GN-JA-PCF/src/main/epics/configure/Makefile b/EC-GN-JA-PCF/src/main/epics/configure/Makefile deleted file mode 100644 index 9254309..0000000 --- a/EC-GN-JA-PCF/src/main/epics/configure/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -TOP=.. - -include $(TOP)/configure/CONFIG - -TARGETS = $(CONFIG_TARGETS) -CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS))) - -include $(TOP)/configure/RULES diff --git a/EC-GN-JA-PCF/src/main/epics/configure/RULES b/EC-GN-JA-PCF/src/main/epics/configure/RULES deleted file mode 100644 index 6d56e14..0000000 --- a/EC-GN-JA-PCF/src/main/epics/configure/RULES +++ /dev/null @@ -1,6 +0,0 @@ -# RULES - -include $(CONFIG)/RULES - -# Library should be rebuilt because LIBOBJS may have changed. -$(LIBNAME): ../Makefile diff --git a/EC-GN-JA-PCF/src/main/epics/configure/RULES.ioc b/EC-GN-JA-PCF/src/main/epics/configure/RULES.ioc deleted file mode 100644 index 901987c..0000000 --- a/EC-GN-JA-PCF/src/main/epics/configure/RULES.ioc +++ /dev/null @@ -1,2 +0,0 @@ -#RULES.ioc -include $(CONFIG)/RULES.ioc diff --git a/EC-GN-JA-PCF/src/main/epics/configure/RULES_DIRS b/EC-GN-JA-PCF/src/main/epics/configure/RULES_DIRS deleted file mode 100644 index 3ba269d..0000000 --- a/EC-GN-JA-PCF/src/main/epics/configure/RULES_DIRS +++ /dev/null @@ -1,2 +0,0 @@ -#RULES_DIRS -include $(CONFIG)/RULES_DIRS diff --git a/EC-GN-JA-PCF/src/main/epics/configure/RULES_TOP b/EC-GN-JA-PCF/src/main/epics/configure/RULES_TOP deleted file mode 100644 index d09d668..0000000 --- a/EC-GN-JA-PCF/src/main/epics/configure/RULES_TOP +++ /dev/null @@ -1,3 +0,0 @@ -#RULES_TOP -include $(CONFIG)/RULES_TOP - diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/Makefile b/EC-GN-JA-PCF/src/main/epics/iocBoot/Makefile deleted file mode 100644 index 91e47d0..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -TOP = .. -include $(TOP)/configure/CONFIG -DIRS += $(wildcard *ioc*) -DIRS += $(wildcard as*) -include $(CONFIG)/RULES_DIRS - diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/Makefile b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/Makefile deleted file mode 100644 index 79c4ce6..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -TOP = ../.. -include $(TOP)/configure/CONFIG -ARCH = linux-x86_64 -TARGETS = envPaths -include $(TOP)/configure/RULES.ioc diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/dbToLoad.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/dbToLoad.cmd deleted file mode 100755 index e012c40..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/dbToLoad.cmd +++ /dev/null @@ -1,17 +0,0 @@ - -#====================================================================== -# SYS Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("picmg-sensors.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") -#dbLoadRecords("sysmon.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, IOCTYPE=SYSM, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envSystem b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envSystem deleted file mode 100755 index 347e683..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envSystem +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## CODAC specific environment variables -############################################################################ - -epicsEnvSet("AUTOSAVE_SYSM_PV_PREFIX","EC-GN-SYSM:PCF0SYSM-") -epicsEnvSet("IOCSH_PS1","${IOC}> ") -epicsEnvSet("STREAM_PROTOCOL_PATH","$(TOP)/db:$(EPICS_ROOT)/db") - diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envUser b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envUser deleted file mode 100644 index 90ddfc7..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envUser +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################ -## User provided environment variables -############################################################################ - -#epicsEnvSet("EPICS_CA_SERVER_PORT", "5064") -#epicsEnvSet("EPICS_CA_ADDR_LIST", "") -#epicsEnvSet("EPICS_CA_AUTO_ADDR_LIST", "YES") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-postSaveRestore.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-postSaveRestore.cmd deleted file mode 100755 index 864013e..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-postSaveRestore.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Autosave monitor post setup -############################################################################ - -cd "${TOP}/iocBoot/$(IOC)" -create_monitor_set(".req",30,"P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-preSaveRestore.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-preSaveRestore.cmd deleted file mode 100755 index 114fba6..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-preSaveRestore.cmd +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################ -## Save and restore -############################################################################ - -### save_restore setup -# status-PV prefix -save_restoreSet_status_prefix("$(AUTOSAVE_SYSM_PV_PREFIX)") - -# Use status-PV -save_restoreSet_UseStatusPVs(1) - -# Debug-output level -save_restoreSet_Debug(0) - -# Ok to save/restore save sets with missing values (no CA connection to PV)? -save_restoreSet_IncompleteSetsOk(1) -# Save dated backup files? -save_restoreSet_DatedBackupFiles(1) - -# Number of sequenced backup files to write -save_restoreSet_NumSeqFiles(3) -# Time interval between sequenced backups -save_restoreSet_SeqPeriodInSeconds(300) - -# specify where save files should be -set_savefile_path("$(EPICS_AUTOSAVE_VAR)/$(UNIT_NAME)") - -# specify what save files should be restored. Note these files must be -# in the directory specified in set_savefile_path(), or, if that function -# has not been called, from the directory current when iocInit is invoked - -# Save files associated with the request files 'auto-output.req' and -# 'auto-input.req'. These files are the standard way to use autosave - -set_pass1_restoreFile(".sav") - -# specify directories in which to to search for included request files -set_requestfile_path("./") - -dbLoadRecords("$(EPICS_ROOT)/db/save_restoreStatus.db", "P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM.req b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM.req deleted file mode 100755 index e69de29..0000000 diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPostDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPostDriverConf.cmd deleted file mode 100644 index d223981..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPostDriverConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPreDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPreDriverConf.cmd deleted file mode 100644 index 770f841..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPreDriverConf.cmd +++ /dev/null @@ -1,86 +0,0 @@ -#====================================================================== -# PLC(s) driver configuration commands -#====================================================================== -# level=-1: no output -# level=0: errors only -# level=1: startup messages -# level=2: + output record processing -# level=3: + input record processing -# level=4: + driver calls -# level=5: + io printout -# be careful using level>1 since many messages may introduce delays - -# var s7plcDebug 2 - -# s7plcConfigure name,IPaddr,port,inSize,outSize,bigEndian,recvTimeout,sendIntervall, configversion -# connects to PLC on address port -# : size of data block PLC -> IOC [bytes] -# : size of data block IOC -> PLC [bytes] -# =1 : motorola format data (MSB first) -# =0 : intel format data (LSB first) -# : receive buffer interval [ms] (Default : 50ms) -# : time to wait before sending new data to PLC [ms] -# : database configuration version - -# s7plcConfigureCmd name,IPaddr,port,outSize,bigEndian,sendIntervall -# connects to PLC on address port -# : size of data block IOC -> PLC [bytes] -# =1 : motorola format data (MSB first) -# =0 : intel format data (LSB first) -# : time to wait before sending new data to PLC [ms] - - - -#============================================================================ -# s7plc asyn driver configuration commands -#============================================================================ - -#============================================================================ -# NI-6259 DAQ I/O Module driver configuration commands -#============================================================================ -# Reference: ITER_D_3DEY52 v1.3 - NI PXI-6259 EPICS Driver User’s Guide - -# For analogue input, analogue output, waveform, initialize using below function -# pxi6259_ai_init(uint8 cardnumber, uint32 range, uint32 clk_source, uint32 clk_edge); -# Example: pxi6259_ai_init(0, 1, 0, 0) - -# For binary input, binary output, multi-bit binary input, multi bit binary output, initialize using below function -# pxi6259init(uint8 cardnumber, uint32 portmask0, uint8 portmask1, uint8 portmask2); -# Example: pxi6259_bio_init(0, 0xFF000000, 0xFF, 0xFF) - - -#============================================================================ -# NI-6682 Timing and Synchronization I/O Module driver configuration commands -#============================================================================ -# Reference ITER_D_33Q5TX v1.7 - NI Sync EPICS Driver User’s Guide - -# nisyncDrvInit(string port, char* type, int cardNumber); -# Example: nisyncDrvInit("S0", "PXI-6682", "0"); -# Example: nisyncDrvInit("S0", "PXI-6683H", "0"); -# nisyncTimeInit(int cardID, char* type, int cardNumber); -# Example: nisyncTimeInit("0", "PXI-6682", "0") -# Example: nisyncTimeInit("0", "PXI-6683H", "0") - - -#============================================================================================ -# NI-6368 X Series - Multifunction Data Acquisition I/O Module driver configuration commands -#============================================================================================ -# Reference ITER_D_3P4N3R v1.2 - NI X Series EPICS Driver User’s Guide - -# nixseriesInit(char *portName, char *nix6368Card); -# Example: nixseriesInit("ni6368_0", "/dev/ni6368.0"); - - -#============================================================================ -# NI-6528 DAQ I/O Module driver configuration commands -#============================================================================ -# Reference ITER_D_433VEW - NI PXI-6528 EPICS Driver User's Manual -# ni6528_init(char *portName, char *ni6528Card); -# Example: pxi6528_init("ni6528_0", "/dev/ni6528.0") -# asynSetTraceMask("",0,255) -# Example: asynSetTraceMask("pxi6528_0",0,255) -# pxi6528_reset(char *portName) -# Example: pxi6528_reset("pxi6528_0") - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddSeqToLoad.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddSeqToLoad.cmd deleted file mode 100644 index a23d75a..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddSeqToLoad.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided sequence programs to load -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/seqToLoad.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/seqToLoad.cmd deleted file mode 100644 index 30e4bde..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/seqToLoad.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Sequence programs to load -############################################################################ - -## Start any sequence programs -#seq sncxxx,"user=codac-devHost" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/st.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/st.cmd deleted file mode 100755 index 420177c..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/st.cmd +++ /dev/null @@ -1,67 +0,0 @@ -#!../../bin/linux-x86_64/EC-GN -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericBoot/ioc/st.cmd $ -# $Id: st.cmd 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : ITER ioc template EPICS start up file -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -< envPaths -< envSystem -< envUser - -cd "${TOP}" - -############################################################################ -## Register all support components -############################################################################ - -dbLoadDatabase "dbd/EC-GN.dbd" -EC_GN_registerRecordDeviceDriver pdbbase - -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/sddPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/userPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/threadSchedulingConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/dbToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-preSaveRestore.cmd" - -############################################################################ -## IOC Logging -############################################################################ -iocLogInit -iocLogPrefix "${STY} : " - -############################################################################ -## IOC initialization -############################################################################ -cd "${TOP}/db" -iocInit - -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-postSaveRestore.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/sddSeqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/seqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/sddPostDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/userPostDriverConf.cmd" - - -dbl > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbl" -dbla > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbla" -dbior > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbior" -dbhcr > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbhcr" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/threadSchedulingConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/threadSchedulingConf.cmd deleted file mode 100644 index 29d9b00..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/threadSchedulingConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## Thread scheduling configuration for real-time tuning -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPostDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPostDriverConf.cmd deleted file mode 100644 index 8786feb..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPostDriverConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPreDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPreDriverConf.cmd deleted file mode 100644 index 6c9a40e..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPreDriverConf.cmd +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver pre configuration -############################################################################ - -# Enable parallel callback threads to improve 'I/O Intr' record scanning -# see https://bugzilla.iter.org/codac/show_bug.cgi?id=10413 -callbackParallelThreads - -callbackSetQueueSize(100000) -scanOnceSetQueueSize(100000) - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/Makefile b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/Makefile deleted file mode 100644 index 79c4ce6..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -TOP = ../.. -include $(TOP)/configure/CONFIG -ARCH = linux-x86_64 -TARGETS = envPaths -include $(TOP)/configure/RULES.ioc diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/dbToLoad.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/dbToLoad.cmd deleted file mode 100755 index ef13828..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/dbToLoad.cmd +++ /dev/null @@ -1,25 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=À)ú, IDX=0, IOCTYPE=CUB, PP=, PPPP=, NNNN=, TTT=") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/envSystem b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/envSystem deleted file mode 100755 index 39d71cf..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/envSystem +++ /dev/null @@ -1,8 +0,0 @@ -epicsEnvSet("AUTOSAVE_SYSM_PV_PREFIX", "EC-GN-SYSM:PSH0CUB-") -epicsEnvSet("IOCSH_PS1", "${IOC}> ") -epicsEnvSet("STREAM_PROTOCOL_PATH", "$(TOP)/db:$(EPICS_ROOT)/db") -epicsEnvSet("IPPort_priority","0") -epicsEnvSet("IPPort_noAutoConnect", "0") -epicsEnvSet("IPPort_noProcessEos", "0") - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/envUser b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/envUser deleted file mode 100644 index 90ddfc7..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/envUser +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################ -## User provided environment variables -############################################################################ - -#epicsEnvSet("EPICS_CA_SERVER_PORT", "5064") -#epicsEnvSet("EPICS_CA_ADDR_LIST", "") -#epicsEnvSet("EPICS_CA_AUTO_ADDR_LIST", "YES") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-postSaveRestore.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-postSaveRestore.cmd deleted file mode 100755 index 864013e..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-postSaveRestore.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Autosave monitor post setup -############################################################################ - -cd "${TOP}/iocBoot/$(IOC)" -create_monitor_set(".req",30,"P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-preSaveRestore.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-preSaveRestore.cmd deleted file mode 100755 index 114fba6..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-preSaveRestore.cmd +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################ -## Save and restore -############################################################################ - -### save_restore setup -# status-PV prefix -save_restoreSet_status_prefix("$(AUTOSAVE_SYSM_PV_PREFIX)") - -# Use status-PV -save_restoreSet_UseStatusPVs(1) - -# Debug-output level -save_restoreSet_Debug(0) - -# Ok to save/restore save sets with missing values (no CA connection to PV)? -save_restoreSet_IncompleteSetsOk(1) -# Save dated backup files? -save_restoreSet_DatedBackupFiles(1) - -# Number of sequenced backup files to write -save_restoreSet_NumSeqFiles(3) -# Time interval between sequenced backups -save_restoreSet_SeqPeriodInSeconds(300) - -# specify where save files should be -set_savefile_path("$(EPICS_AUTOSAVE_VAR)/$(UNIT_NAME)") - -# specify what save files should be restored. Note these files must be -# in the directory specified in set_savefile_path(), or, if that function -# has not been called, from the directory current when iocInit is invoked - -# Save files associated with the request files 'auto-output.req' and -# 'auto-input.req'. These files are the standard way to use autosave - -set_pass1_restoreFile(".sav") - -# specify directories in which to to search for included request files -set_requestfile_path("./") - -dbLoadRecords("$(EPICS_ROOT)/db/save_restoreStatus.db", "P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPostDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPostDriverConf.cmd deleted file mode 100644 index d223981..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPostDriverConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPreDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPreDriverConf.cmd deleted file mode 100644 index 770f841..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPreDriverConf.cmd +++ /dev/null @@ -1,86 +0,0 @@ -#====================================================================== -# PLC(s) driver configuration commands -#====================================================================== -# level=-1: no output -# level=0: errors only -# level=1: startup messages -# level=2: + output record processing -# level=3: + input record processing -# level=4: + driver calls -# level=5: + io printout -# be careful using level>1 since many messages may introduce delays - -# var s7plcDebug 2 - -# s7plcConfigure name,IPaddr,port,inSize,outSize,bigEndian,recvTimeout,sendIntervall, configversion -# connects to PLC on address port -# : size of data block PLC -> IOC [bytes] -# : size of data block IOC -> PLC [bytes] -# =1 : motorola format data (MSB first) -# =0 : intel format data (LSB first) -# : receive buffer interval [ms] (Default : 50ms) -# : time to wait before sending new data to PLC [ms] -# : database configuration version - -# s7plcConfigureCmd name,IPaddr,port,outSize,bigEndian,sendIntervall -# connects to PLC on address port -# : size of data block IOC -> PLC [bytes] -# =1 : motorola format data (MSB first) -# =0 : intel format data (LSB first) -# : time to wait before sending new data to PLC [ms] - - - -#============================================================================ -# s7plc asyn driver configuration commands -#============================================================================ - -#============================================================================ -# NI-6259 DAQ I/O Module driver configuration commands -#============================================================================ -# Reference: ITER_D_3DEY52 v1.3 - NI PXI-6259 EPICS Driver User’s Guide - -# For analogue input, analogue output, waveform, initialize using below function -# pxi6259_ai_init(uint8 cardnumber, uint32 range, uint32 clk_source, uint32 clk_edge); -# Example: pxi6259_ai_init(0, 1, 0, 0) - -# For binary input, binary output, multi-bit binary input, multi bit binary output, initialize using below function -# pxi6259init(uint8 cardnumber, uint32 portmask0, uint8 portmask1, uint8 portmask2); -# Example: pxi6259_bio_init(0, 0xFF000000, 0xFF, 0xFF) - - -#============================================================================ -# NI-6682 Timing and Synchronization I/O Module driver configuration commands -#============================================================================ -# Reference ITER_D_33Q5TX v1.7 - NI Sync EPICS Driver User’s Guide - -# nisyncDrvInit(string port, char* type, int cardNumber); -# Example: nisyncDrvInit("S0", "PXI-6682", "0"); -# Example: nisyncDrvInit("S0", "PXI-6683H", "0"); -# nisyncTimeInit(int cardID, char* type, int cardNumber); -# Example: nisyncTimeInit("0", "PXI-6682", "0") -# Example: nisyncTimeInit("0", "PXI-6683H", "0") - - -#============================================================================================ -# NI-6368 X Series - Multifunction Data Acquisition I/O Module driver configuration commands -#============================================================================================ -# Reference ITER_D_3P4N3R v1.2 - NI X Series EPICS Driver User’s Guide - -# nixseriesInit(char *portName, char *nix6368Card); -# Example: nixseriesInit("ni6368_0", "/dev/ni6368.0"); - - -#============================================================================ -# NI-6528 DAQ I/O Module driver configuration commands -#============================================================================ -# Reference ITER_D_433VEW - NI PXI-6528 EPICS Driver User's Manual -# ni6528_init(char *portName, char *ni6528Card); -# Example: pxi6528_init("ni6528_0", "/dev/ni6528.0") -# asynSetTraceMask("",0,255) -# Example: asynSetTraceMask("pxi6528_0",0,255) -# pxi6528_reset(char *portName) -# Example: pxi6528_reset("pxi6528_0") - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddSeqToLoad.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddSeqToLoad.cmd deleted file mode 100644 index a23d75a..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddSeqToLoad.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided sequence programs to load -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/seqToLoad.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/seqToLoad.cmd deleted file mode 100644 index 30e4bde..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/seqToLoad.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Sequence programs to load -############################################################################ - -## Start any sequence programs -#seq sncxxx,"user=codac-devHost" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/st.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/st.cmd deleted file mode 100755 index 443faa9..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/st.cmd +++ /dev/null @@ -1,67 +0,0 @@ -#!../../bin/linux-x86_64/EC-GN -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericBoot/ioc/st.cmd $ -# $Id: st.cmd 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : ITER ioc template EPICS start up file -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -< envPaths -< envSystem -< envUser - -cd "${TOP}" - -############################################################################ -## Register all support components -############################################################################ - -dbLoadDatabase "dbd/CUB.dbd" -EC_GN_registerRecordDeviceDriver pdbbase - -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/sddPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/userPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/threadSchedulingConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/dbToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-preSaveRestore.cmd" - -############################################################################ -## IOC Logging -############################################################################ -iocLogInit -iocLogPrefix "${STY} : " - -############################################################################ -## IOC initialization -############################################################################ -cd "${TOP}/db" -iocInit - -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-postSaveRestore.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/sddSeqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/seqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/sddPostDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/userPostDriverConf.cmd" - - -dbl > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbl" -dbla > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbla" -dbior > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbior" -dbhcr > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbhcr" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/threadSchedulingConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/threadSchedulingConf.cmd deleted file mode 100644 index 29d9b00..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/threadSchedulingConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## Thread scheduling configuration for real-time tuning -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPostDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPostDriverConf.cmd deleted file mode 100644 index 8786feb..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPostDriverConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPreDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPreDriverConf.cmd deleted file mode 100644 index 6c9a40e..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPreDriverConf.cmd +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver pre configuration -############################################################################ - -# Enable parallel callback threads to improve 'I/O Intr' record scanning -# see https://bugzilla.iter.org/codac/show_bug.cgi?id=10413 -callbackParallelThreads - -callbackSetQueueSize(100000) -scanOnceSetQueueSize(100000) - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/Makefile b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/Makefile deleted file mode 100644 index 79c4ce6..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -TOP = ../.. -include $(TOP)/configure/CONFIG -ARCH = linux-x86_64 -TARGETS = envPaths -include $(TOP)/configure/RULES.ioc diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/dbToLoad.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/dbToLoad.cmd deleted file mode 100755 index 9a1eb6b..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/dbToLoad.cmd +++ /dev/null @@ -1,45 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db -dbLoadRecords("PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db") - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, IOCTYPE=CORE, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/envSystem b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/envSystem deleted file mode 100755 index 5dc56ee..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/envSystem +++ /dev/null @@ -1,10 +0,0 @@ -############################################################################ -## CODAC specific environment variables -############################################################################ - -epicsEnvSet("AUTOSAVE_SYSM_PV_PREFIX","EC-GN-SYSM:PCF0CORE-") -epicsEnvSet("IOCSH_PS1","${IOC}> ") -epicsEnvSet("STREAM_PROTOCOL_PATH","$(TOP)/db:$(EPICS_ROOT)/db") - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/envUser b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/envUser deleted file mode 100644 index 90ddfc7..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/envUser +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################ -## User provided environment variables -############################################################################ - -#epicsEnvSet("EPICS_CA_SERVER_PORT", "5064") -#epicsEnvSet("EPICS_CA_ADDR_LIST", "") -#epicsEnvSet("EPICS_CA_AUTO_ADDR_LIST", "YES") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-postSaveRestore.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-postSaveRestore.cmd deleted file mode 100755 index d5356be..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-postSaveRestore.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Autosave monitor post setup -############################################################################ - -cd "${TOP}/iocBoot/$(IOC)" -create_monitor_set("iocEC-GN-PSH0PCF.req",30,"P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-preSaveRestore.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-preSaveRestore.cmd deleted file mode 100755 index bb00d97..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-preSaveRestore.cmd +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################ -## Save and restore -############################################################################ - -### save_restore setup -# status-PV prefix -save_restoreSet_status_prefix("$(AUTOSAVE_SYSM_PV_PREFIX)") - -# Use status-PV -save_restoreSet_UseStatusPVs(1) - -# Debug-output level -save_restoreSet_Debug(0) - -# Ok to save/restore save sets with missing values (no CA connection to PV)? -save_restoreSet_IncompleteSetsOk(1) -# Save dated backup files? -save_restoreSet_DatedBackupFiles(1) - -# Number of sequenced backup files to write -save_restoreSet_NumSeqFiles(3) -# Time interval between sequenced backups -save_restoreSet_SeqPeriodInSeconds(300) - -# specify where save files should be -set_savefile_path("$(EPICS_AUTOSAVE_VAR)/$(UNIT_NAME)") - -# specify what save files should be restored. Note these files must be -# in the directory specified in set_savefile_path(), or, if that function -# has not been called, from the directory current when iocInit is invoked - -# Save files associated with the request files 'auto-output.req' and -# 'auto-input.req'. These files are the standard way to use autosave - -set_pass1_restoreFile("iocEC-GN-PSH0PCF.sav") - -# specify directories in which to to search for included request files -set_requestfile_path("./") - -dbLoadRecords("$(EPICS_ROOT)/db/save_restoreStatus.db", "P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF.req b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF.req deleted file mode 100755 index e69de29..0000000 diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPostDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPostDriverConf.cmd deleted file mode 100755 index 2340b6e..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPostDriverConf.cmd +++ /dev/null @@ -1,2 +0,0 @@ - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPreDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPreDriverConf.cmd deleted file mode 100755 index 2340b6e..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPreDriverConf.cmd +++ /dev/null @@ -1,2 +0,0 @@ - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddSeqToLoad.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddSeqToLoad.cmd deleted file mode 100644 index a23d75a..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddSeqToLoad.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided sequence programs to load -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/seqToLoad.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/seqToLoad.cmd deleted file mode 100644 index 30e4bde..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/seqToLoad.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Sequence programs to load -############################################################################ - -## Start any sequence programs -#seq sncxxx,"user=codac-devHost" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/st.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/st.cmd deleted file mode 100755 index 60517bb..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/st.cmd +++ /dev/null @@ -1,67 +0,0 @@ -#!../../bin/linux-x86_64/EC-GN -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericBoot/ioc/st.cmd $ -# $Id: st.cmd 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : ITER ioc template EPICS start up file -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -< envPaths -< envSystem -< envUser - -cd "${TOP}" - -############################################################################ -## Register all support components -############################################################################ - -dbLoadDatabase "dbd/EC-GN.dbd" -EC_GN_registerRecordDeviceDriver pdbbase - -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/sddPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/userPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/threadSchedulingConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/dbToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-preSaveRestore.cmd" - -############################################################################ -## IOC Logging -############################################################################ -iocLogInit -iocLogPrefix "${STY} : " - -############################################################################ -## IOC initialization -############################################################################ -cd "${TOP}/db" -iocInit - -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-postSaveRestore.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/sddSeqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/seqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/sddPostDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/userPostDriverConf.cmd" - - -dbl > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbl" -dbla > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbla" -dbior > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbior" -dbhcr > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbhcr" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/threadSchedulingConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/threadSchedulingConf.cmd deleted file mode 100644 index 29d9b00..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/threadSchedulingConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## Thread scheduling configuration for real-time tuning -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPostDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPostDriverConf.cmd deleted file mode 100644 index 8786feb..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPostDriverConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPreDriverConf.cmd b/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPreDriverConf.cmd deleted file mode 100644 index 6c9a40e..0000000 --- a/EC-GN-JA-PCF/src/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPreDriverConf.cmd +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver pre configuration -############################################################################ - -# Enable parallel callback threads to improve 'I/O Intr' record scanning -# see https://bugzilla.iter.org/codac/show_bug.cgi?id=10413 -callbackParallelThreads - -callbackSetQueueSize(100000) -scanOnceSetQueueSize(100000) - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/.gitignore b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/.gitignore deleted file mode 100644 index 5eba449..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -Build/ - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s.csv deleted file mode 100644 index 98fb573..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s.csv +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,9,9,9,9 -20,50,35,8,8,8,8 -30,45,30,7,7,7,7 -40,40,25,6,6,6,6 -50,35,20,5,5,5,5 -60,30,15,4,4,4,4 -70,25,10,3,3,3,3 -80,20,5,2,2,2,2 -90,15,0,1,1,1,1 -100,10,-5,0,0,0,0 -110,5,0,1,1,1,1 -120,0,5,2,2,2,2 -130,-5,10,3,3,3,3 -140,0,15,4,4,4,4 -150,5,20,5,5,5,5 -160,10,25,6,6,6,6 -170,15,30,7,7,7,7 -180,20,35,8,8,8,8 -190,25,40,9,9,9,9 -200,30,45,10,10,10,10 -210,35,40,11,9,9,9 -220,40,35,12,8,8,8 -230,45,30,11,7,7,7 -240,50,25,10,6,6,6 -250,55,20,9,5,5,5 -260,60,15,8,4,4,4 -270,55,10,7,3,3,3 -280,50,5,6,2,2,2 -290,45,0,5,1,1,1 -300,40,-5,4,0,0,0 -310,35,0,3,1,1,1 -320,30,5,2,2,2,2 -330,25,10,1,3,3,3 -340,20,15,0,4,4,4 -350,15,20,1,5,5,5 -360,10,25,2,6,6,6 -370,5,30,3,7,7,7 -380,0,35,4,8,8,8 -390,-5,40,5,9,9,9 -400,0,45,6,10,10,10 -410,5,40,7,9,9,9 -420,10,35,8,8,8,8 -430,15,30,9,7,7,7 -440,20,25,10,6,6,6 -450,25,20,11,5,5,5 -460,30,15,12,4,4,4 -470,35,10,11,3,3,3 -480,40,5,10,2,2,2 -490,45,0,9,1,1,1 -500,50,-5,8,0,0,0 -510,55,0,7,1,1,1 -520,60,5,6,2,2,2 -530,55,10,5,3,3,3 -540,50,15,4,4,4,4 -550,45,20,3,5,5,5 -560,40,25,2,6,6,6 -570,35,30,1,7,7,7 -580,30,35,0,8,8,8 -590,25,40,1,9,9,9 -600,20,45,2,10,10,10 -610,15,40,3,9,9,9 -620,10,35,4,8,8,8 -630,5,30,5,7,7,7 -640,0,25,6,6,6,6 -650,-5,20,7,5,5,5 -660,0,15,8,4,4,4 -670,5,10,9,3,3,3 -680,10,5,10,2,2,2 -690,15,0,11,1,1,1 -700,20,-5,12,0,0,0 -710,25,0,11,1,1,1 -720,30,5,10,2,2,2 -730,35,10,9,3,3,3 -740,40,15,8,4,4,4 -750,45,20,7,5,5,5 -760,50,25,6,6,6,6 -770,55,30,5,7,7,7 -780,60,35,4,8,8,8 -790,55,40,3,9,9,9 -800,50,45,2,10,10,10 -810,45,40,1,9,9,9 -820,40,35,0,8,8,8 -830,35,30,1,7,7,7 -840,30,25,2,6,6,6 -850,25,20,3,5,5,5 -860,20,15,4,4,4,4 -870,15,10,5,3,3,3 -880,10,5,6,2,2,2 -890,5,0,7,1,1,1 -900,0,-5,8,0,0,0 -910,-5,0,9,1,1,1 -920,0,5,10,2,2,2 -930,5,10,11,3,3,3 -940,10,15,12,4,4,4 -950,15,20,11,5,5,5 -960,20,25,10,6,6,6 -970,25,30,9,7,7,7 -980,30,35,8,8,8,8 -990,35,40,7,9,9,9 -1000,40,45,6,10,10,10 -1010,30,20,10,10,10,10 -1020,30,20,10,10,10,10 -1030,30,20,10,10,10,10 -1040,30,20,10,10,10,10 -1050,30,20,10,10,10,10 -1060,30,20,10,10,10,10 -1070,30,20,10,10,10,10 -1080,30,20,10,10,10,10 -1090,30,20,10,10,10,10 -1100,30,20,10,10,10,10 -1110,30,20,10,10,10,10 -1120,30,20,10,10,10,10 -1130,30,20,10,10,10,10 -1140,30,20,10,10,10,10 -1150,30,20,10,10,10,10 -1160,30,20,10,10,10,10 -1170,30,20,10,10,10,10 -1180,30,20,10,10,10,10 -1190,30,20,10,10,10,10 -1200,30,20,10,10,10,10 -1210,30,20,10,10,10,10 -1220,30,20,10,10,10,10 -1230,30,20,10,10,10,10 -1240,30,20,10,10,10,10 -1250,30,20,10,10,10,10 -1260,30,20,10,10,10,10 -1270,30,20,10,10,10,10 -1280,30,20,10,10,10,10 -1290,30,20,10,10,10,10 -1300,30,20,10,10,10,10 -1310,30,20,10,10,10,10 -1320,30,20,10,10,10,10 -1330,30,20,10,10,10,10 -1340,30,20,10,10,10,10 -1350,30,20,10,10,10,10 -1360,30,20,10,10,10,10 -1370,30,20,10,10,10,10 -1380,30,20,10,10,10,10 -1390,30,20,10,10,10,10 -1400,30,20,10,10,10,10 -1410,30,20,10,10,10,10 -1420,30,20,10,10,10,10 -1430,30,20,10,10,10,10 -1440,30,20,10,10,10,10 -1450,30,20,10,10,10,10 -1460,30,20,10,10,10,10 -1470,30,20,10,10,10,10 -1480,30,20,10,10,10,10 -1490,30,20,10,10,10,10 -1500,30,20,10,10,10,10 -1510,30,20,10,10,10,10 -1520,30,20,10,10,10,10 -1530,30,20,10,10,10,10 -1540,30,20,10,10,10,10 -1550,30,20,10,10,10,10 -1560,30,20,10,10,10,10 -1570,30,20,10,10,10,10 -1580,30,20,10,10,10,10 -1590,30,20,10,10,10,10 -1600,30,20,10,10,10,10 -1610,30,20,10,10,10,10 -1620,30,20,10,10,10,10 -1630,30,20,10,10,10,10 -1640,30,20,10,10,10,10 -1650,30,20,10,10,10,10 -1660,30,20,10,10,10,10 -1670,30,20,10,10,10,10 -1680,30,20,10,10,10,10 -1690,30,20,10,10,10,10 -1700,30,20,10,10,10,10 -1710,30,20,10,10,10,10 -1720,30,20,10,10,10,10 -1730,30,20,10,10,10,10 -1740,30,20,10,10,10,10 -1750,30,20,10,10,10,10 -1760,30,20,10,10,10,10 -1770,30,20,10,10,10,10 -1780,30,20,10,10,10,10 -1790,30,20,10,10,10,10 -1800,30,20,10,10,10,10 -1810,30,20,10,10,10,10 -1820,30,20,10,10,10,10 -1830,30,20,10,10,10,10 -1840,30,20,10,10,10,10 -1850,30,20,10,10,10,10 -1860,30,20,10,10,10,10 -1870,30,20,10,10,10,10 -1880,30,20,10,10,10,10 -1890,30,20,10,10,10,10 -1900,30,20,10,10,10,10 -1910,30,20,10,10,10,10 -1920,30,20,10,10,10,10 -1930,30,20,10,10,10,10 -1940,30,20,10,10,10,10 -1950,30,20,10,10,10,10 -1960,30,20,10,10,10,10 -1970,30,20,10,10,10,10 -1980,30,20,10,10,10,10 -1990,30,20,10,10,10,10 -2000,30,20,10,10,10,10 -2010,30,20,10,10,10,10 -2020,30,20,10,10,10,10 -2030,30,20,10,10,10,10 -2040,30,20,10,10,10,10 -2050,30,20,10,10,10,10 -2060,30,20,10,10,10,10 -2070,30,20,10,10,10,10 -2080,30,20,10,10,10,10 -2090,30,20,10,10,10,10 -2100,30,20,10,10,10,10 -2110,30,20,10,10,10,10 -2120,30,20,10,10,10,10 -2130,30,20,10,10,10,10 -2140,30,20,10,10,10,10 -2150,30,20,10,10,10,10 -2160,30,20,10,10,10,10 -2170,30,20,10,10,10,10 -2180,30,20,10,10,10,10 -2190,30,20,10,10,10,10 -2200,30,20,10,10,10,10 -2210,30,20,10,10,10,10 -2220,30,20,10,10,10,10 -2230,30,20,10,10,10,10 -2240,30,20,10,10,10,10 -2250,30,20,10,10,10,10 -2260,30,20,10,10,10,10 -2270,30,20,10,10,10,10 -2280,30,20,10,10,10,10 -2290,30,20,10,10,10,10 -2300,30,20,10,10,10,10 -2310,30,20,10,10,10,10 -2320,30,20,10,10,10,10 -2330,30,20,10,10,10,10 -2340,30,20,10,10,10,10 -2350,30,20,10,10,10,10 -2360,30,20,10,10,10,10 -2370,30,20,10,10,10,10 -2380,30,20,10,10,10,10 -2390,30,20,10,10,10,10 -2400,30,20,10,10,10,10 -2410,30,20,10,10,10,10 -2420,30,20,10,10,10,10 -2430,30,20,10,10,10,10 -2440,30,20,10,10,10,10 -2450,30,20,10,10,10,10 -2460,30,20,10,10,10,10 -2470,30,20,10,10,10,10 -2480,30,20,10,10,10,10 -2490,30,20,10,10,10,10 -2500,30,20,10,10,10,10 -2510,30,20,10,10,10,10 -2520,30,20,10,10,10,10 -2530,30,20,10,10,10,10 -2540,30,20,10,10,10,10 -2550,30,20,10,10,10,10 -2560,30,20,10,10,10,10 -2570,30,20,10,10,10,10 -2580,30,20,10,10,10,10 -2590,30,20,10,10,10,10 -2600,30,20,10,10,10,10 -2610,30,20,10,10,10,10 -2620,30,20,10,10,10,10 -2630,30,20,10,10,10,10 -2640,30,20,10,10,10,10 -2650,30,20,10,10,10,10 -2660,30,20,10,10,10,10 -2670,30,20,10,10,10,10 -2680,30,20,10,10,10,10 -2690,30,20,10,10,10,10 -2700,30,20,10,10,10,10 -2710,30,20,10,10,10,10 -2720,30,20,10,10,10,10 -2730,30,20,10,10,10,10 -2740,30,20,10,10,10,10 -2750,30,20,10,10,10,10 -2760,30,20,10,10,10,10 -2770,30,20,10,10,10,10 -2780,30,20,10,10,10,10 -2790,30,20,10,10,10,10 -2800,30,20,10,10,10,10 -2810,30,20,10,10,10,10 -2820,30,20,10,10,10,10 -2830,30,20,10,10,10,10 -2840,30,20,10,10,10,10 -2850,30,20,10,10,10,10 -2860,30,20,10,10,10,10 -2870,30,20,10,10,10,10 -2880,30,20,10,10,10,10 -2890,30,20,10,10,10,10 -2900,30,20,10,10,10,10 -2910,30,20,10,10,10,10 -2920,30,20,10,10,10,10 -2930,30,20,10,10,10,10 -2940,30,20,10,10,10,10 -2950,30,20,10,10,10,10 -2960,30,20,10,10,10,10 -2970,30,20,10,10,10,10 -2980,30,20,10,10,10,10 -2990,30,20,10,10,10,10 -3000,30,20,10,10,10,10 -3010,30,20,10,10,10,10 -3020,30,20,10,10,10,10 -3030,30,20,10,10,10,10 -3040,30,20,10,10,10,10 -3050,30,20,10,10,10,10 -3060,30,20,10,10,10,10 -3070,30,20,10,10,10,10 -3080,30,20,10,10,10,10 -3090,30,20,10,10,10,10 -3100,30,20,10,10,10,10 -3110,30,20,10,10,10,10 -3120,30,20,10,10,10,10 -3130,30,20,10,10,10,10 -3140,30,20,10,10,10,10 -3150,30,20,10,10,10,10 -3160,30,20,10,10,10,10 -3170,30,20,10,10,10,10 -3180,30,20,10,10,10,10 -3190,30,20,10,10,10,10 -3200,30,20,10,10,10,10 -3210,30,20,10,10,10,10 -3220,30,20,10,10,10,10 -3230,30,20,10,10,10,10 -3240,30,20,10,10,10,10 -3250,30,20,10,10,10,10 -3260,30,20,10,10,10,10 -3270,30,20,10,10,10,10 -3280,30,20,10,10,10,10 -3290,30,20,10,10,10,10 -3300,30,20,10,10,10,10 -3310,30,20,10,10,10,10 -3320,30,20,10,10,10,10 -3330,30,20,10,10,10,10 -3340,30,20,10,10,10,10 -3350,30,20,10,10,10,10 -3360,30,20,10,10,10,10 -3370,30,20,10,10,10,10 -3380,30,20,10,10,10,10 -3390,30,20,10,10,10,10 -3400,30,20,10,10,10,10 -3410,30,20,10,10,10,10 -3420,30,20,10,10,10,10 -3430,30,20,10,10,10,10 -3440,30,20,10,10,10,10 -3450,30,20,10,10,10,10 -3460,30,20,10,10,10,10 -3470,30,20,10,10,10,10 -3480,30,20,10,10,10,10 -3490,30,20,10,10,10,10 -3500,30,20,10,10,10,10 -3510,30,20,10,10,10,10 -3520,30,20,10,10,10,10 -3530,30,20,10,10,10,10 -3540,30,20,10,10,10,10 -3550,30,20,10,10,10,10 -3560,30,20,10,10,10,10 -3570,30,20,10,10,10,10 -3580,30,20,10,10,10,10 -3590,30,20,10,10,10,10 -3600,30,20,10,10,10,10 -3610,30,20,10,10,10,10 -3620,30,20,10,10,10,10 -3630,30,20,10,10,10,10 -3640,30,20,10,10,10,10 -3650,30,20,10,10,10,10 -3660,30,20,10,10,10,10 -3670,30,20,10,10,10,10 -3680,30,20,10,10,10,10 -3690,30,20,10,10,10,10 -3700,30,20,10,10,10,10 -3710,30,20,10,10,10,10 -3720,30,20,10,10,10,10 -3730,30,20,10,10,10,10 -3740,30,20,10,10,10,10 -3750,30,20,10,10,10,10 -3760,30,20,10,10,10,10 -3770,30,20,10,10,10,10 -3780,30,20,10,10,10,10 -3790,30,20,10,10,10,10 -3800,30,20,10,10,10,10 -3810,30,20,10,10,10,10 -3820,30,20,10,10,10,10 -3830,30,20,10,10,10,10 -3840,30,20,10,10,10,10 -3850,30,20,10,10,10,10 -3860,30,20,10,10,10,10 -3870,30,20,10,10,10,10 -3880,30,20,10,10,10,10 -3890,30,20,10,10,10,10 -3900,30,20,10,10,10,10 -3910,30,20,10,10,10,10 -3920,30,20,10,10,10,10 -3930,30,20,10,10,10,10 -3940,30,20,10,10,10,10 -3950,30,20,10,10,10,10 -3960,30,20,10,10,10,10 -3970,30,20,10,10,10,10 -3980,30,20,10,10,10,10 -3990,30,20,10,10,10,10 -4000,30,20,10,10,10,10 -4010,30,20,10,10,10,10 -4020,30,20,10,10,10,10 -4030,30,20,10,10,10,10 -4040,30,20,10,10,10,10 -4050,30,20,10,10,10,10 -4060,30,20,10,10,10,10 -4070,30,20,10,10,10,10 -4080,30,20,10,10,10,10 -4090,30,20,10,10,10,10 -4100,30,20,10,10,10,10 -4110,30,20,10,10,10,10 -4120,30,20,10,10,10,10 -4130,30,20,10,10,10,10 -4140,30,20,10,10,10,10 -4150,30,20,10,10,10,10 -4160,30,20,10,10,10,10 -4170,30,20,10,10,10,10 -4180,30,20,10,10,10,10 -4190,30,20,10,10,10,10 -4200,30,20,10,10,10,10 -4210,30,20,10,10,10,10 -4220,30,20,10,10,10,10 -4230,30,20,10,10,10,10 -4240,30,20,10,10,10,10 -4250,30,20,10,10,10,10 -4260,30,20,10,10,10,10 -4270,30,20,10,10,10,10 -4280,30,20,10,10,10,10 -4290,30,20,10,10,10,10 -4300,30,20,10,10,10,10 -4310,30,20,10,10,10,10 -4320,30,20,10,10,10,10 -4330,30,20,10,10,10,10 -4340,30,20,10,10,10,10 -4350,30,20,10,10,10,10 -4360,30,20,10,10,10,10 -4370,30,20,10,10,10,10 -4380,30,20,10,10,10,10 -4390,30,20,10,10,10,10 -4400,30,20,10,10,10,10 -4410,30,20,10,10,10,10 -4420,30,20,10,10,10,10 -4430,30,20,10,10,10,10 -4440,30,20,10,10,10,10 -4450,30,20,10,10,10,10 -4460,30,20,10,10,10,10 -4470,30,20,10,10,10,10 -4480,30,20,10,10,10,10 -4490,30,20,10,10,10,10 -4500,30,20,10,10,10,10 -4510,30,20,10,10,10,10 -4520,30,20,10,10,10,10 -4530,30,20,10,10,10,10 -4540,30,20,10,10,10,10 -4550,30,20,10,10,10,10 -4560,30,20,10,10,10,10 -4570,30,20,10,10,10,10 -4580,30,20,10,10,10,10 -4590,30,20,10,10,10,10 -4600,30,20,10,10,10,10 -4610,30,20,10,10,10,10 -4620,30,20,10,10,10,10 -4630,30,20,10,10,10,10 -4640,30,20,10,10,10,10 -4650,30,20,10,10,10,10 -4660,30,20,10,10,10,10 -4670,30,20,10,10,10,10 -4680,30,20,10,10,10,10 -4690,30,20,10,10,10,10 -4700,30,20,10,10,10,10 -4710,30,20,10,10,10,10 -4720,30,20,10,10,10,10 -4730,30,20,10,10,10,10 -4740,30,20,10,10,10,10 -4750,30,20,10,10,10,10 -4760,30,20,10,10,10,10 -4770,30,20,10,10,10,10 -4780,30,20,10,10,10,10 -4790,30,20,10,10,10,10 -4800,30,20,10,10,10,10 -4810,30,20,10,10,10,10 -4820,30,20,10,10,10,10 -4830,30,20,10,10,10,10 -4840,30,20,10,10,10,10 -4850,30,20,10,10,10,10 -4860,30,20,10,10,10,10 -4870,30,20,10,10,10,10 -4880,30,20,10,10,10,10 -4890,30,20,10,10,10,10 -4900,30,20,10,10,10,10 -4910,30,20,10,10,10,10 -4920,30,20,10,10,10,10 -4930,30,20,10,10,10,10 -4940,30,20,10,10,10,10 -4950,30,20,10,10,10,10 -4960,30,20,10,10,10,10 -4970,30,20,10,10,10,10 -4980,30,20,10,10,10,10 -4990,30,20,10,10,10,10 -5000,30,20,10,10,10,10 -5010,30,20,10,10,10,10 -5020,30,20,10,10,10,10 -5030,30,20,10,10,10,10 -5040,30,20,10,10,10,10 -5050,30,20,10,10,10,10 -5060,30,20,10,10,10,10 -5070,30,20,10,10,10,10 -5080,30,20,10,10,10,10 -5090,30,20,10,10,10,10 -5100,30,20,10,10,10,10 -5110,30,20,10,10,10,10 -5120,30,20,10,10,10,10 -5130,30,20,10,10,10,10 -5140,30,20,10,10,10,10 -5150,30,20,10,10,10,10 -5160,30,20,10,10,10,10 -5170,30,20,10,10,10,10 -5180,30,20,10,10,10,10 -5190,30,20,10,10,10,10 -5200,30,20,10,10,10,10 -5210,30,20,10,10,10,10 -5220,30,20,10,10,10,10 -5230,30,20,10,10,10,10 -5240,30,20,10,10,10,10 -5250,30,20,10,10,10,10 -5260,30,20,10,10,10,10 -5270,30,20,10,10,10,10 -5280,30,20,10,10,10,10 -5290,30,20,10,10,10,10 -5300,30,20,10,10,10,10 -5310,30,20,10,10,10,10 -5320,30,20,10,10,10,10 -5330,30,20,10,10,10,10 -5340,30,20,10,10,10,10 -5350,30,20,10,10,10,10 -5360,30,20,10,10,10,10 -5370,30,20,10,10,10,10 -5380,30,20,10,10,10,10 -5390,30,20,10,10,10,10 -5400,30,20,10,10,10,10 -5410,30,20,10,10,10,10 -5420,30,20,10,10,10,10 -5430,30,20,10,10,10,10 -5440,30,20,10,10,10,10 -5450,30,20,10,10,10,10 -5460,30,20,10,10,10,10 -5470,30,20,10,10,10,10 -5480,30,20,10,10,10,10 -5490,30,20,10,10,10,10 -5500,30,20,10,10,10,10 -5510,30,20,10,10,10,10 -5520,30,20,10,10,10,10 -5530,30,20,10,10,10,10 -5540,30,20,10,10,10,10 -5550,30,20,10,10,10,10 -5560,30,20,10,10,10,10 -5570,30,20,10,10,10,10 -5580,30,20,10,10,10,10 -5590,30,20,10,10,10,10 -5600,30,20,10,10,10,10 -5610,30,20,10,10,10,10 -5620,30,20,10,10,10,10 -5630,30,20,10,10,10,10 -5640,30,20,10,10,10,10 -5650,30,20,10,10,10,10 -5660,30,20,10,10,10,10 -5670,30,20,10,10,10,10 -5680,30,20,10,10,10,10 -5690,30,20,10,10,10,10 -5700,30,20,10,10,10,10 -5710,30,20,10,10,10,10 -5720,30,20,10,10,10,10 -5730,30,20,10,10,10,10 -5740,30,20,10,10,10,10 -5750,30,20,10,10,10,10 -5760,30,20,10,10,10,10 -5770,30,20,10,10,10,10 -5780,30,20,10,10,10,10 -5790,30,20,10,10,10,10 -5800,30,20,10,10,10,10 -5810,30,20,10,10,10,10 -5820,30,20,10,10,10,10 -5830,30,20,10,10,10,10 -5840,30,20,10,10,10,10 -5850,30,20,10,10,10,10 -5860,30,20,10,10,10,10 -5870,30,20,10,10,10,10 -5880,30,20,10,10,10,10 -5890,30,20,10,10,10,10 -5900,30,20,10,10,10,10 -5910,30,20,10,10,10,10 -5920,30,20,10,10,10,10 -5930,30,20,10,10,10,10 -5940,30,20,10,10,10,10 -5950,30,20,10,10,10,10 -5960,30,20,10,10,10,10 -5970,30,20,10,10,10,10 -5980,30,20,10,10,10,10 -5990,30,20,10,10,10,10 -6000,30,20,10,10,10,10 -6010,30,20,10,10,10,10 -6020,30,20,10,10,10,10 -6030,30,20,10,10,10,10 -6040,30,20,10,10,10,10 -6050,30,20,10,10,10,10 -6060,30,20,10,10,10,10 -6070,30,20,10,10,10,10 -6080,30,20,10,10,10,10 -6090,30,20,10,10,10,10 -6100,30,20,10,10,10,10 -6110,30,20,10,10,10,10 -6120,30,20,10,10,10,10 -6130,30,20,10,10,10,10 -6140,30,20,10,10,10,10 -6150,30,20,10,10,10,10 -6160,30,20,10,10,10,10 -6170,30,20,10,10,10,10 -6180,30,20,10,10,10,10 -6190,30,20,10,10,10,10 -6200,30,20,10,10,10,10 -6210,30,20,10,10,10,10 -6220,30,20,10,10,10,10 -6230,30,20,10,10,10,10 -6240,30,20,10,10,10,10 -6250,30,20,10,10,10,10 -6260,30,20,10,10,10,10 -6270,30,20,10,10,10,10 -6280,30,20,10,10,10,10 -6290,30,20,10,10,10,10 -6300,30,20,10,10,10,10 -6310,30,20,10,10,10,10 -6320,30,20,10,10,10,10 -6330,30,20,10,10,10,10 -6340,30,20,10,10,10,10 -6350,30,20,10,10,10,10 -6360,30,20,10,10,10,10 -6370,30,20,10,10,10,10 -6380,30,20,10,10,10,10 -6390,30,20,10,10,10,10 -6400,30,20,10,10,10,10 -6410,30,20,10,10,10,10 -6420,30,20,10,10,10,10 -6430,30,20,10,10,10,10 -6440,30,20,10,10,10,10 -6450,30,20,10,10,10,10 -6460,30,20,10,10,10,10 -6470,30,20,10,10,10,10 -6480,30,20,10,10,10,10 -6490,30,20,10,10,10,10 -6500,30,20,10,10,10,10 -6510,30,20,10,10,10,10 -6520,30,20,10,10,10,10 -6530,30,20,10,10,10,10 -6540,30,20,10,10,10,10 -6550,30,20,10,10,10,10 -6560,30,20,10,10,10,10 -6570,30,20,10,10,10,10 -6580,30,20,10,10,10,10 -6590,30,20,10,10,10,10 -6600,30,20,10,10,10,10 -6610,30,20,10,10,10,10 -6620,30,20,10,10,10,10 -6630,30,20,10,10,10,10 -6640,30,20,10,10,10,10 -6650,30,20,10,10,10,10 -6660,30,20,10,10,10,10 -6670,30,20,10,10,10,10 -6680,30,20,10,10,10,10 -6690,30,20,10,10,10,10 -6700,30,20,10,10,10,10 -6710,30,20,10,10,10,10 -6720,30,20,10,10,10,10 -6730,30,20,10,10,10,10 -6740,30,20,10,10,10,10 -6750,30,20,10,10,10,10 -6760,30,20,10,10,10,10 -6770,30,20,10,10,10,10 -6780,30,20,10,10,10,10 -6790,30,20,10,10,10,10 -6800,30,20,10,10,10,10 -6810,30,20,10,10,10,10 -6820,30,20,10,10,10,10 -6830,30,20,10,10,10,10 -6840,30,20,10,10,10,10 -6850,30,20,10,10,10,10 -6860,30,20,10,10,10,10 -6870,30,20,10,10,10,10 -6880,30,20,10,10,10,10 -6890,30,20,10,10,10,10 -6900,30,20,10,10,10,10 -6910,30,20,10,10,10,10 -6920,30,20,10,10,10,10 -6930,30,20,10,10,10,10 -6940,30,20,10,10,10,10 -6950,30,20,10,10,10,10 -6960,30,20,10,10,10,10 -6970,30,20,10,10,10,10 -6980,30,20,10,10,10,10 -6990,30,20,10,10,10,10 -7000,30,20,10,10,10,10 -7010,30,20,10,10,10,10 -7020,30,20,10,10,10,10 -7030,30,20,10,10,10,10 -7040,30,20,10,10,10,10 -7050,30,20,10,10,10,10 -7060,30,20,10,10,10,10 -7070,30,20,10,10,10,10 -7080,30,20,10,10,10,10 -7090,30,20,10,10,10,10 -7100,30,20,10,10,10,10 -7110,30,20,10,10,10,10 -7120,30,20,10,10,10,10 -7130,30,20,10,10,10,10 -7140,30,20,10,10,10,10 -7150,30,20,10,10,10,10 -7160,30,20,10,10,10,10 -7170,30,20,10,10,10,10 -7180,30,20,10,10,10,10 -7190,30,20,10,10,10,10 -7200,30,20,10,10,10,10 -7210,30,20,10,10,10,10 -7220,30,20,10,10,10,10 -7230,30,20,10,10,10,10 -7240,30,20,10,10,10,10 -7250,30,20,10,10,10,10 -7260,30,20,10,10,10,10 -7270,30,20,10,10,10,10 -7280,30,20,10,10,10,10 -7290,30,20,10,10,10,10 -7300,30,20,10,10,10,10 -7310,30,20,10,10,10,10 -7320,30,20,10,10,10,10 -7330,30,20,10,10,10,10 -7340,30,20,10,10,10,10 -7350,30,20,10,10,10,10 -7360,30,20,10,10,10,10 -7370,30,20,10,10,10,10 -7380,30,20,10,10,10,10 -7390,30,20,10,10,10,10 -7400,30,20,10,10,10,10 -7410,30,20,10,10,10,10 -7420,30,20,10,10,10,10 -7430,30,20,10,10,10,10 -7440,30,20,10,10,10,10 -7450,30,20,10,10,10,10 -7460,30,20,10,10,10,10 -7470,30,20,10,10,10,10 -7480,30,20,10,10,10,10 -7490,30,20,10,10,10,10 -7500,30,20,10,10,10,10 -7510,30,20,10,10,10,10 -7520,30,20,10,10,10,10 -7530,30,20,10,10,10,10 -7540,30,20,10,10,10,10 -7550,30,20,10,10,10,10 -7560,30,20,10,10,10,10 -7570,30,20,10,10,10,10 -7580,30,20,10,10,10,10 -7590,30,20,10,10,10,10 -7600,30,20,10,10,10,10 -7610,30,20,10,10,10,10 -7620,30,20,10,10,10,10 -7630,30,20,10,10,10,10 -7640,30,20,10,10,10,10 -7650,30,20,10,10,10,10 -7660,30,20,10,10,10,10 -7670,30,20,10,10,10,10 -7680,30,20,10,10,10,10 -7690,30,20,10,10,10,10 -7700,30,20,10,10,10,10 -7710,30,20,10,10,10,10 -7720,30,20,10,10,10,10 -7730,30,20,10,10,10,10 -7740,30,20,10,10,10,10 -7750,30,20,10,10,10,10 -7760,30,20,10,10,10,10 -7770,30,20,10,10,10,10 -7780,30,20,10,10,10,10 -7790,30,20,10,10,10,10 -7800,30,20,10,10,10,10 -7810,30,20,10,10,10,10 -7820,30,20,10,10,10,10 -7830,30,20,10,10,10,10 -7840,30,20,10,10,10,10 -7850,30,20,10,10,10,10 -7860,30,20,10,10,10,10 -7870,30,20,10,10,10,10 -7880,30,20,10,10,10,10 -7890,30,20,10,10,10,10 -7900,30,20,10,10,10,10 -7910,30,20,10,10,10,10 -7920,30,20,10,10,10,10 -7930,30,20,10,10,10,10 -7940,30,20,10,10,10,10 -7950,30,20,10,10,10,10 -7960,30,20,10,10,10,10 -7970,30,20,10,10,10,10 -7980,30,20,10,10,10,10 -7990,30,20,10,10,10,10 -8000,30,20,10,10,10,10 -8010,30,20,10,10,10,10 -8020,30,20,10,10,10,10 -8030,30,20,10,10,10,10 -8040,30,20,10,10,10,10 -8050,30,20,10,10,10,10 -8060,30,20,10,10,10,10 -8070,30,20,10,10,10,10 -8080,30,20,10,10,10,10 -8090,30,20,10,10,10,10 -8100,30,20,10,10,10,10 -8110,30,20,10,10,10,10 -8120,30,20,10,10,10,10 -8130,30,20,10,10,10,10 -8140,30,20,10,10,10,10 -8150,30,20,10,10,10,10 -8160,30,20,10,10,10,10 -8170,30,20,10,10,10,10 -8180,30,20,10,10,10,10 -8190,30,20,10,10,10,10 -8200,30,20,10,10,10,10 -8210,30,20,10,10,10,10 -8220,30,20,10,10,10,10 -8230,30,20,10,10,10,10 -8240,30,20,10,10,10,10 -8250,30,20,10,10,10,10 -8260,30,20,10,10,10,10 -8270,30,20,10,10,10,10 -8280,30,20,10,10,10,10 -8290,30,20,10,10,10,10 -8300,30,20,10,10,10,10 -8310,30,20,10,10,10,10 -8320,30,20,10,10,10,10 -8330,30,20,10,10,10,10 -8340,30,20,10,10,10,10 -8350,30,20,10,10,10,10 -8360,30,20,10,10,10,10 -8370,30,20,10,10,10,10 -8380,30,20,10,10,10,10 -8390,30,20,10,10,10,10 -8400,30,20,10,10,10,10 -8410,30,20,10,10,10,10 -8420,30,20,10,10,10,10 -8430,30,20,10,10,10,10 -8440,30,20,10,10,10,10 -8450,30,20,10,10,10,10 -8460,30,20,10,10,10,10 -8470,30,20,10,10,10,10 -8480,30,20,10,10,10,10 -8490,30,20,10,10,10,10 -8500,30,20,10,10,10,10 -8510,30,20,10,10,10,10 -8520,30,20,10,10,10,10 -8530,30,20,10,10,10,10 -8540,30,20,10,10,10,10 -8550,30,20,10,10,10,10 -8560,30,20,10,10,10,10 -8570,30,20,10,10,10,10 -8580,30,20,10,10,10,10 -8590,30,20,10,10,10,10 -8600,30,20,10,10,10,10 -8610,30,20,10,10,10,10 -8620,30,20,10,10,10,10 -8630,30,20,10,10,10,10 -8640,30,20,10,10,10,10 -8650,30,20,10,10,10,10 -8660,30,20,10,10,10,10 -8670,30,20,10,10,10,10 -8680,30,20,10,10,10,10 -8690,30,20,10,10,10,10 -8700,30,20,10,10,10,10 -8710,30,20,10,10,10,10 -8720,30,20,10,10,10,10 -8730,30,20,10,10,10,10 -8740,30,20,10,10,10,10 -8750,30,20,10,10,10,10 -8760,30,20,10,10,10,10 -8770,30,20,10,10,10,10 -8780,30,20,10,10,10,10 -8790,30,20,10,10,10,10 -8800,30,20,10,10,10,10 -8810,30,20,10,10,10,10 -8820,30,20,10,10,10,10 -8830,30,20,10,10,10,10 -8840,30,20,10,10,10,10 -8850,30,20,10,10,10,10 -8860,30,20,10,10,10,10 -8870,30,20,10,10,10,10 -8880,30,20,10,10,10,10 -8890,30,20,10,10,10,10 -8900,30,20,10,10,10,10 -8910,30,20,10,10,10,10 -8920,30,20,10,10,10,10 -8930,30,20,10,10,10,10 -8940,30,20,10,10,10,10 -8950,30,20,10,10,10,10 -8960,30,20,10,10,10,10 -8970,30,20,10,10,10,10 -8980,30,20,10,10,10,10 -8990,30,20,10,10,10,10 -9000,30,20,10,10,10,10 -9010,30,20,10,10,10,10 -9020,30,20,10,10,10,10 -9030,30,20,10,10,10,10 -9040,30,20,10,10,10,10 -9050,30,20,10,10,10,10 -9060,30,20,10,10,10,10 -9070,30,20,10,10,10,10 -9080,30,20,10,10,10,10 -9090,30,20,10,10,10,10 -9100,30,20,10,10,10,10 -9110,30,20,10,10,10,10 -9120,30,20,10,10,10,10 -9130,30,20,10,10,10,10 -9140,30,20,10,10,10,10 -9150,30,20,10,10,10,10 -9160,30,20,10,10,10,10 -9170,30,20,10,10,10,10 -9180,30,20,10,10,10,10 -9190,30,20,10,10,10,10 -9200,30,20,10,10,10,10 -9210,30,20,10,10,10,10 -9220,30,20,10,10,10,10 -9230,30,20,10,10,10,10 -9240,30,20,10,10,10,10 -9250,30,20,10,10,10,10 -9260,30,20,10,10,10,10 -9270,30,20,10,10,10,10 -9280,30,20,10,10,10,10 -9290,30,20,10,10,10,10 -9300,30,20,10,10,10,10 -9310,30,20,10,10,10,10 -9320,30,20,10,10,10,10 -9330,30,20,10,10,10,10 -9340,30,20,10,10,10,10 -9350,30,20,10,10,10,10 -9360,30,20,10,10,10,10 -9370,30,20,10,10,10,10 -9380,30,20,10,10,10,10 -9390,30,20,10,10,10,10 -9400,30,20,10,10,10,10 -9410,30,20,10,10,10,10 -9420,30,20,10,10,10,10 -9430,30,20,10,10,10,10 -9440,30,20,10,10,10,10 -9450,30,20,10,10,10,10 -9460,30,20,10,10,10,10 -9470,30,20,10,10,10,10 -9480,30,20,10,10,10,10 -9490,30,20,10,10,10,10 -9500,30,20,10,10,10,10 -9510,30,20,10,10,10,10 -9520,30,20,10,10,10,10 -9530,30,20,10,10,10,10 -9540,30,20,10,10,10,10 -9550,30,20,10,10,10,10 -9560,30,20,10,10,10,10 -9570,30,20,10,10,10,10 -9580,30,20,10,10,10,10 -9590,30,20,10,10,10,10 -9600,30,20,10,10,10,10 -9610,30,20,10,10,10,10 -9620,30,20,10,10,10,10 -9630,30,20,10,10,10,10 -9640,30,20,10,10,10,10 -9650,30,20,10,10,10,10 -9660,30,20,10,10,10,10 -9670,30,20,10,10,10,10 -9680,30,20,10,10,10,10 -9690,30,20,10,10,10,10 -9700,30,20,10,10,10,10 -9710,30,20,10,10,10,10 -9720,30,20,10,10,10,10 -9730,30,20,10,10,10,10 -9740,30,20,10,10,10,10 -9750,30,20,10,10,10,10 -9760,30,20,10,10,10,10 -9770,30,20,10,10,10,10 -9780,30,20,10,10,10,10 -9790,30,20,10,10,10,10 -9800,30,20,10,10,10,10 -9810,30,20,10,10,10,10 -9820,30,20,10,10,10,10 -9830,30,20,10,10,10,10 -9840,30,20,10,10,10,10 -9850,30,20,10,10,10,10 -9860,30,20,10,10,10,10 -9870,30,20,10,10,10,10 -9880,30,20,10,10,10,10 -9890,30,20,10,10,10,10 -9900,30,20,10,10,10,10 -9910,30,20,10,10,10,10 -9920,30,20,10,10,10,10 -9930,30,20,10,10,10,10 -9940,30,20,10,10,10,10 -9950,30,20,10,10,10,10 -9960,30,20,10,10,10,10 -9970,30,20,10,10,10,10 -9980,30,20,10,10,10,10 -9990,30,20,10,10,10,10 -10000,30,20,10,10,10,10 -10010,30,20,10,10,10,10 -10020,30,20,10,10,10,10 -10030,30,20,10,10,10,10 -10040,30,20,10,10,10,10 -10050,30,20,10,10,10,10 -10060,30,20,10,10,10,10 -10070,30,20,10,10,10,10 -10080,30,20,10,10,10,10 -10090,30,20,10,10,10,10 -10100,30,20,10,10,10,10 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20201224_fat.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20201224_fat.csv deleted file mode 100644 index e981b6d..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20201224_fat.csv +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,0,1,1,100,1,5 -10,0,1,1,100,1,5 -20,0,1,1,100,1,5 -30,0,1,1,100,1,5 -40,0,1,1,100,1,5 -50,0,1,1,100,1,5 -60,0,1,1,100,1,5 -70,0,1,1,100,1,5 -80,0,1,1,100,1,5 -90,0,1,1,100,1,5 -100,0,1,1,100,1,5 -110,0,1,1,100,1,5 -120,0,1,1,100,1,5 -130,0,1,1,100,1,5 -140,0,1,1,100,1,5 -150,0,1,1,100,1,5 -160,0,1,1,100,1,5 -170,0,1,1,100,1,5 -180,0,1,1,100,1,5 -190,0,1,1,100,1,5 -200,0,1,1,100,1,5 -210,0,1,1,100,1,5 -220,0,1,1,100,1,5 -230,0,1,1,100,1,5 -240,0,1,1,100,1,5 -250,0,1,1,100,1,5 -260,0,1,1,100,1,5 -270,0,1,1,100,1,5 -280,0,1,1,100,1,5 -290,0,1,1,100,1,5 -300,0,1,1,100,1,5 -310,0,1,1,100,1,5 -320,0,1,1,100,1,5 -330,0,1,1,100,1,5 -340,0,1,1,100,1,5 -350,0,1,1,100,1,5 -360,0,1,1,100,1,5 -370,0,1,1,100,1,5 -380,0,1,1,100,1,5 -390,0,1,1,100,1,5 -400,0,1,1,100,1,5 -410,0,1,1,100,1,5 -420,0,1,1,100,1,5 -430,0,1,1,100,1,5 -440,0,1,1,100,1,5 -450,0,1,1,100,1,5 -460,0,1,1,100,1,5 -470,0,1,1,100,1,5 -480,0,1,1,100,1,5 -490,0,1,1,100,1,5 -500,0,1,1,100,1,5 -510,0,1,1,100,1,5 -520,0,1,1,100,1,5 -530,0,1,1,100,1,5 -540,0,1,1,100,1,5 -550,0,1,1,100,1,5 -560,0,1,1,100,1,5 -570,0,1,1,100,1,5 -580,0,1,1,100,1,5 -590,0,1,1,100,1,5 -600,0,1,1,100,1,5 -610,0,1,1,100,1,5 -620,0,1,1,100,1,5 -630,0,1,1,100,1,5 -640,0,1,1,100,1,5 -650,0,1,1,100,1,5 -660,0,1,1,100,1,5 -670,0,1,1,100,1,5 -680,0,1,1,100,1,5 -690,0,1,1,100,1,5 -700,0,1,1,100,1,5 -710,0,1,1,100,1,5 -720,0,1,1,100,1,5 -730,0,1,1,100,1,5 -740,0,1,1,100,1,5 -750,0,1,1,100,1,5 -760,0,1,1,100,1,5 -770,0,1,1,100,1,5 -780,0,1,1,100,1,5 -790,0,1,1,100,1,5 -800,0,1,1,100,1,5 -810,0,1,1,100,1,5 -820,0,1,1,100,1,5 -830,0,1,1,100,1,5 -840,0,1,1,100,1,5 -850,0,1,1,100,1,5 -860,0,1,1,100,1,5 -870,0,1,1,100,1,5 -880,0,1,1,100,1,5 -890,0,1,1,100,1,5 -900,0,1,1,100,1,5 -910,0,1,1,100,1,5 -920,0,1,1,100,1,5 -930,0,1,1,100,1,5 -940,0,1,1,100,1,5 -950,0,1,1,100,1,5 -960,0,1,1,100,1,5 -970,0,1,1,100,1,5 -980,0,1,1,100,1,5 -990,0,1,1,100,1,5 -1000,0,1,1,100,1,5 -1010,0,1,1,100,1,5 -1020,0,1,1,100,1,5 -1030,0,1,1,100,1,5 -1040,0,1,1,100,1,5 -1050,0,1,1,100,1,5 -1060,0,1,1,100,1,5 -1070,0,1,1,100,1,5 -1080,0,1,1,100,1,5 -1090,0,1,1,100,1,5 -1100,0,1,1,100,1,5 -1110,0,1,1,100,1,5 -1120,0,1,1,100,1,5 -1130,0,1,1,100,1,5 -1140,0,1,1,100,1,5 -1150,0,1,1,100,1,5 -1160,0,1,1,100,1,5 -1170,0,1,1,100,1,5 -1180,0,1,1,100,1,5 -1190,0,1,1,100,1,5 -1200,0,1,1,100,1,5 -1210,0,1,1,100,1,5 -1220,0,1,1,100,1,5 -1230,0,1,1,100,1,5 -1240,0,1,1,100,1,5 -1250,0,1,1,100,1,5 -1260,0,1,1,100,1,5 -1270,0,1,1,100,1,5 -1280,0,1,1,100,1,5 -1290,0,1,1,100,1,5 -1300,0,1,1,100,1,5 -1310,0,1,1,100,1,5 -1320,0,1,1,100,1,5 -1330,0,1,1,100,1,5 -1340,0,1,1,100,1,5 -1350,0,1,1,100,1,5 -1360,0,1,1,100,1,5 -1370,0,1,1,100,1,5 -1380,0,1,1,100,1,5 -1390,0,1,1,100,1,5 -1400,0,1,1,100,1,5 -1410,0,1,1,100,1,5 -1420,0,1,1,100,1,5 -1430,0,1,1,100,1,5 -1440,0,1,1,100,1,5 -1450,0,1,1,100,1,5 -1460,0,1,1,100,1,5 -1470,0,1,1,100,1,5 -1480,0,1,1,100,1,5 -1490,0,1,1,100,1,5 -1500,0,1,1,100,1,5 -1510,0,1,1,100,1,5 -1520,0,1,1,100,1,5 -1530,0,1,1,100,1,5 -1540,0,1,1,100,1,5 -1550,0,1,1,100,1,5 -1560,0,1,1,100,1,5 -1570,0,1,1,100,1,5 -1580,0,1,1,100,1,5 -1590,0,1,1,100,1,5 -1600,0,1,1,100,1,5 -1610,0,1,1,100,1,5 -1620,0,1,1,100,1,5 -1630,0,1,1,100,1,5 -1640,0,1,1,100,1,5 -1650,0,1,1,100,1,5 -1660,0,1,1,100,1,5 -1670,0,1,1,100,1,5 -1680,0,1,1,100,1,5 -1690,0,1,1,100,1,5 -1700,0,1,1,100,1,5 -1710,0,1,1,100,1,5 -1720,0,1,1,100,1,5 -1730,0,1,1,100,1,5 -1740,0,1,1,100,1,5 -1750,0,1,1,100,1,5 -1760,0,1,1,100,1,5 -1770,0,1,1,100,1,5 -1780,0,1,1,100,1,5 -1790,0,1,1,100,1,5 -1800,0,1,1,100,1,5 -1810,0,1,1,100,1,5 -1820,0,1,1,100,1,5 -1830,0,1,1,100,1,5 -1840,0,1,1,100,1,5 -1850,0,1,1,100,1,5 -1860,0,1,1,100,1,5 -1870,0,1,1,100,1,5 -1880,0,1,1,100,1,5 -1890,0,1,1,100,1,5 -1900,0,1,1,100,1,5 -1910,0,1,1,100,1,5 -1920,0,1,1,100,1,5 -1930,0,1,1,100,1,5 -1940,0,1,1,100,1,5 -1950,0,1,1,100,1,5 -1960,0,1,1,100,1,5 -1970,0,1,1,100,1,5 -1980,0,1,1,100,1,5 -1990,0,1,1,100,1,5 -2000,0,1,1,100,1,5 -2010,0,1,1,100,1,5 -2020,0,1,1,100,1,5 -2030,0,1,1,100,1,5 -2040,0,1,1,100,1,5 -2050,0,1,1,100,1,5 -2060,0,1,1,100,1,5 -2070,0,1,1,100,1,5 -2080,0,1,1,100,1,5 -2090,0,1,1,100,1,5 -2100,0,1,1,100,1,5 -2110,0,1,1,100,1,5 -2120,0,1,1,100,1,5 -2130,0,1,1,100,1,5 -2140,0,1,1,100,1,5 -2150,0,1,1,100,1,5 -2160,0,1,1,100,1,5 -2170,0,1,1,100,1,5 -2180,0,1,1,100,1,5 -2190,0,1,1,100,1,5 -2200,0,1,1,100,1,5 -2210,0,1,1,100,1,5 -2220,0,1,1,100,1,5 -2230,0,1,1,100,1,5 -2240,0,1,1,100,1,5 -2250,0,1,1,100,1,5 -2260,0,1,1,100,1,5 -2270,0,1,1,100,1,5 -2280,0,1,1,100,1,5 -2290,0,1,1,100,1,5 -2300,0,1,1,100,1,5 -2310,0,1,1,100,1,5 -2320,0,1,1,100,1,5 -2330,0,1,1,100,1,5 -2340,0,1,1,100,1,5 -2350,0,1,1,100,1,5 -2360,0,1,1,100,1,5 -2370,0,1,1,100,1,5 -2380,0,1,1,100,1,5 -2390,0,1,1,100,1,5 -2400,0,1,1,100,1,5 -2410,0,1,1,100,1,5 -2420,0,1,1,100,1,5 -2430,0,1,1,100,1,5 -2440,0,1,1,100,1,5 -2450,0,1,1,100,1,5 -2460,0,1,1,100,1,5 -2470,0,1,1,100,1,5 -2480,0,1,1,100,1,5 -2490,0,1,1,100,1,5 -2500,0,1,1,100,1,5 -2510,0,1,1,100,1,5 -2520,0,1,1,100,1,5 -2530,0,1,1,100,1,5 -2540,0,1,1,100,1,5 -2550,0,1,1,100,1,5 -2560,0,1,1,100,1,5 -2570,0,1,1,100,1,5 -2580,0,1,1,100,1,5 -2590,0,1,1,100,1,5 -2600,0,1,1,100,1,5 -2610,0,1,1,100,1,5 -2620,0,1,1,100,1,5 -2630,0,1,1,100,1,5 -2640,0,1,1,100,1,5 -2650,0,1,1,100,1,5 -2660,0,1,1,100,1,5 -2670,0,1,1,100,1,5 -2680,0,1,1,100,1,5 -2690,0,1,1,100,1,5 -2700,0,1,1,100,1,5 -2710,0,1,1,100,1,5 -2720,0,1,1,100,1,5 -2730,0,1,1,100,1,5 -2740,0,1,1,100,1,5 -2750,0,1,1,100,1,5 -2760,0,1,1,100,1,5 -2770,0,1,1,100,1,5 -2780,0,1,1,100,1,5 -2790,0,1,1,100,1,5 -2800,0,1,1,100,1,5 -2810,0,1,1,100,1,5 -2820,0,1,1,100,1,5 -2830,0,1,1,100,1,5 -2840,0,1,1,100,1,5 -2850,0,1,1,100,1,5 -2860,0,1,1,100,1,5 -2870,0,1,1,100,1,5 -2880,0,1,1,100,1,5 -2890,0,1,1,100,1,5 -2900,0,1,1,100,1,5 -2910,0,1,1,100,1,5 -2920,0,1,1,100,1,5 -2930,0,1,1,100,1,5 -2940,0,1,1,100,1,5 -2950,0,1,1,100,1,5 -2960,0,1,1,100,1,5 -2970,0,1,1,100,1,5 -2980,0,1,1,100,1,5 -2990,0,1,1,100,1,5 -3000,0,1,1,100,1,5 -3010,0,1,1,100,1,5 -3020,0,1,1,100,1,5 -3030,0,1,1,100,1,5 -3040,0,1,1,100,1,5 -3050,0,1,1,100,1,5 -3060,0,1,1,100,1,5 -3070,0,1,1,100,1,5 -3080,0,1,1,100,1,5 -3090,0,1,1,100,1,5 -3100,0,1,1,100,1,5 -3110,0,1,1,100,1,5 -3120,0,1,1,100,1,5 -3130,0,1,1,100,1,5 -3140,0,1,1,100,1,5 -3150,0,1,1,100,1,5 -3160,0,1,1,100,1,5 -3170,0,1,1,100,1,5 -3180,0,1,1,100,1,5 -3190,0,1,1,100,1,5 -3200,0,1,1,100,1,5 -3210,0,1,1,100,1,5 -3220,0,1,1,100,1,5 -3230,0,1,1,100,1,5 -3240,0,1,1,100,1,5 -3250,0,1,1,100,1,5 -3260,0,1,1,100,1,5 -3270,0,1,1,100,1,5 -3280,0,1,1,100,1,5 -3290,0,1,1,100,1,5 -3300,0,1,1,100,1,5 -3310,0,1,1,100,1,5 -3320,0,1,1,100,1,5 -3330,0,1,1,100,1,5 -3340,0,1,1,100,1,5 -3350,0,1,1,100,1,5 -3360,0,1,1,100,1,5 -3370,0,1,1,100,1,5 -3380,0,1,1,100,1,5 -3390,0,1,1,100,1,5 -3400,0,1,1,100,1,5 -3410,0,1,1,100,1,5 -3420,0,1,1,100,1,5 -3430,0,1,1,100,1,5 -3440,0,1,1,100,1,5 -3450,0,1,1,100,1,5 -3460,0,1,1,100,1,5 -3470,0,1,1,100,1,5 -3480,0,1,1,100,1,5 -3490,0,1,1,100,1,5 -3500,0,1,1,100,1,5 -3510,0,1,1,100,1,5 -3520,0,1,1,100,1,5 -3530,0,1,1,100,1,5 -3540,0,1,1,100,1,5 -3550,0,1,1,100,1,5 -3560,0,1,1,100,1,5 -3570,0,1,1,100,1,5 -3580,0,1,1,100,1,5 -3590,0,1,1,100,1,5 -3600,0,1,1,100,1,5 -3610,0,1,1,100,1,5 -3620,0,1,1,100,1,5 -3630,0,1,1,100,1,5 -3640,0,1,1,100,1,5 -3650,0,1,1,100,1,5 -3660,0,1,1,100,1,5 -3670,0,1,1,100,1,5 -3680,0,1,1,100,1,5 -3690,0,1,1,100,1,5 -3700,0,1,1,100,1,5 -3710,0,1,1,100,1,5 -3720,0,1,1,100,1,5 -3730,0,1,1,100,1,5 -3740,0,1,1,100,1,5 -3750,0,1,1,100,1,5 -3760,0,1,1,100,1,5 -3770,0,1,1,100,1,5 -3780,0,1,1,100,1,5 -3790,0,1,1,100,1,5 -3800,0,1,1,100,1,5 -3810,0,1,1,100,1,5 -3820,0,1,1,100,1,5 -3830,0,1,1,100,1,5 -3840,0,1,1,100,1,5 -3850,0,1,1,100,1,5 -3860,0,1,1,100,1,5 -3870,0,1,1,100,1,5 -3880,0,1,1,100,1,5 -3890,0,1,1,100,1,5 -3900,0,1,1,100,1,5 -3910,0,1,1,100,1,5 -3920,0,1,1,100,1,5 -3930,0,1,1,100,1,5 -3940,0,1,1,100,1,5 -3950,0,1,1,100,1,5 -3960,0,1,1,100,1,5 -3970,0,1,1,100,1,5 -3980,0,1,1,100,1,5 -3990,0,1,1,100,1,5 -4000,0,1,1,100,1,5 -4010,0,1,1,100,1,5 -4020,0,1,1,100,1,5 -4030,0,1,1,100,1,5 -4040,0,1,1,100,1,5 -4050,0,1,1,100,1,5 -4060,0,1,1,100,1,5 -4070,0,1,1,100,1,5 -4080,0,1,1,100,1,5 -4090,0,1,1,100,1,5 -4100,0,1,1,100,1,5 -4110,0,1,1,100,1,5 -4120,0,1,1,100,1,5 -4130,0,1,1,100,1,5 -4140,0,1,1,100,1,5 -4150,0,1,1,100,1,5 -4160,0,1,1,100,1,5 -4170,0,1,1,100,1,5 -4180,0,1,1,100,1,5 -4190,0,1,1,100,1,5 -4200,0,1,1,100,1,5 -4210,0,1,1,100,1,5 -4220,0,1,1,100,1,5 -4230,0,1,1,100,1,5 -4240,0,1,1,100,1,5 -4250,0,1,1,100,1,5 -4260,0,1,1,100,1,5 -4270,0,1,1,100,1,5 -4280,0,1,1,100,1,5 -4290,0,1,1,100,1,5 -4300,0,1,1,100,1,5 -4310,0,1,1,100,1,5 -4320,0,1,1,100,1,5 -4330,0,1,1,100,1,5 -4340,0,1,1,100,1,5 -4350,0,1,1,100,1,5 -4360,0,1,1,100,1,5 -4370,0,1,1,100,1,5 -4380,0,1,1,100,1,5 -4390,0,1,1,100,1,5 -4400,0,1,1,100,1,5 -4410,0,1,1,100,1,5 -4420,0,1,1,100,1,5 -4430,0,1,1,100,1,5 -4440,0,1,1,100,1,5 -4450,0,1,1,100,1,5 -4460,0,1,1,100,1,5 -4470,0,1,1,100,1,5 -4480,0,1,1,100,1,5 -4490,0,1,1,100,1,5 -4500,0,1,1,100,1,5 -4510,0,1,1,100,1,5 -4520,0,1,1,100,1,5 -4530,0,1,1,100,1,5 -4540,0,1,1,100,1,5 -4550,0,1,1,100,1,5 -4560,0,1,1,100,1,5 -4570,0,1,1,100,1,5 -4580,0,1,1,100,1,5 -4590,0,1,1,100,1,5 -4600,0,1,1,100,1,5 -4610,0,1,1,100,1,5 -4620,0,1,1,100,1,5 -4630,0,1,1,100,1,5 -4640,0,1,1,100,1,5 -4650,0,1,1,100,1,5 -4660,0,1,1,100,1,5 -4670,0,1,1,100,1,5 -4680,0,1,1,100,1,5 -4690,0,1,1,100,1,5 -4700,0,1,1,100,1,5 -4710,0,1,1,100,1,5 -4720,0,1,1,100,1,5 -4730,0,1,1,100,1,5 -4740,0,1,1,100,1,5 -4750,0,1,1,100,1,5 -4760,0,1,1,100,1,5 -4770,0,1,1,100,1,5 -4780,0,1,1,100,1,5 -4790,0,1,1,100,1,5 -4800,0,1,1,100,1,5 -4810,0,1,1,100,1,5 -4820,0,1,1,100,1,5 -4830,0,1,1,100,1,5 -4840,0,1,1,100,1,5 -4850,0,1,1,100,1,5 -4860,0,1,1,100,1,5 -4870,0,1,1,100,1,5 -4880,0,1,1,100,1,5 -4890,0,1,1,100,1,5 -4900,0,1,1,100,1,5 -4910,0,1,1,100,1,5 -4920,0,1,1,100,1,5 -4930,0,1,1,100,1,5 -4940,0,1,1,100,1,5 -4950,0,1,1,100,1,5 -4960,0,1,1,100,1,5 -4970,0,1,1,100,1,5 -4980,0,1,1,100,1,5 -4990,0,1,1,100,1,5 -5000,0,2,2,100,1,5 -5010,0,2,2,100,1,5 -5020,0,2,2,100,1,5 -5030,0,2,2,100,1,5 -5040,0,2,2,100,1,5 -5050,0,2,2,100,1,5 -5060,0,2,2,100,1,5 -5070,0,2,2,100,1,5 -5080,0,2,2,100,1,5 -5090,0,2,2,100,1,5 -5100,0,2,2,100,1,5 -5110,0,2,2,100,1,5 -5120,0,2,2,100,1,5 -5130,0,2,2,100,1,5 -5140,0,2,2,100,1,5 -5150,0,2,2,100,1,5 -5160,0,2,2,100,1,5 -5170,0,2,2,100,1,5 -5180,0,2,2,100,1,5 -5190,0,2,2,100,1,5 -5200,0,2,2,100,1,5 -5210,0,2,2,100,1,5 -5220,0,2,2,100,1,5 -5230,0,2,2,100,1,5 -5240,0,2,2,100,1,5 -5250,0,2,2,100,1,5 -5260,0,2,2,100,1,5 -5270,0,2,2,100,1,5 -5280,0,2,2,100,1,5 -5290,0,2,2,100,1,5 -5300,0,2,2,100,1,5 -5310,0,2,2,100,1,5 -5320,0,2,2,100,1,5 -5330,0,2,2,100,1,5 -5340,0,2,2,100,1,5 -5350,0,2,2,100,1,5 -5360,0,2,2,100,1,5 -5370,0,2,2,100,1,5 -5380,0,2,2,100,1,5 -5390,0,2,2,100,1,5 -5400,0,2,2,100,1,5 -5410,0,2,2,100,1,5 -5420,0,2,2,100,1,5 -5430,0,2,2,100,1,5 -5440,0,2,2,100,1,5 -5450,0,2,2,100,1,5 -5460,0,2,2,100,1,5 -5470,0,2,2,100,1,5 -5480,0,2,2,100,1,5 -5490,0,2,2,100,1,5 -5500,0,2,2,100,1,5 -5510,0,2,2,100,1,5 -5520,0,2,2,100,1,5 -5530,0,2,2,100,1,5 -5540,0,2,2,100,1,5 -5550,0,2,2,100,1,5 -5560,0,2,2,100,1,5 -5570,0,2,2,100,1,5 -5580,0,2,2,100,1,5 -5590,0,2,2,100,1,5 -5600,0,2,2,100,1,5 -5610,0,2,2,100,1,5 -5620,0,2,2,100,1,5 -5630,0,2,2,100,1,5 -5640,0,2,2,100,1,5 -5650,0,2,2,100,1,5 -5660,0,2,2,100,1,5 -5670,0,2,2,100,1,5 -5680,0,2,2,100,1,5 -5690,0,2,2,100,1,5 -5700,0,2,2,100,1,5 -5710,0,2,2,100,1,5 -5720,0,2,2,100,1,5 -5730,0,2,2,100,1,5 -5740,0,2,2,100,1,5 -5750,0,2,2,100,1,5 -5760,0,2,2,100,1,5 -5770,0,2,2,100,1,5 -5780,0,2,2,100,1,5 -5790,0,2,2,100,1,5 -5800,0,2,2,100,1,5 -5810,0,2,2,100,1,5 -5820,0,2,2,100,1,5 -5830,0,2,2,100,1,5 -5840,0,2,2,100,1,5 -5850,0,2,2,100,1,5 -5860,0,2,2,100,1,5 -5870,0,2,2,100,1,5 -5880,0,2,2,100,1,5 -5890,0,2,2,100,1,5 -5900,0,2,2,100,1,5 -5910,0,2,2,100,1,5 -5920,0,2,2,100,1,5 -5930,0,2,2,100,1,5 -5940,0,2,2,100,1,5 -5950,0,2,2,100,1,5 -5960,0,2,2,100,1,5 -5970,0,2,2,100,1,5 -5980,0,2,2,100,1,5 -5990,0,2,2,100,1,5 -6000,0,2,2,100,1,5 -6010,0,2,2,100,1,5 -6020,0,2,2,100,1,5 -6030,0,2,2,100,1,5 -6040,0,2,2,100,1,5 -6050,0,2,2,100,1,5 -6060,0,2,2,100,1,5 -6070,0,2,2,100,1,5 -6080,0,2,2,100,1,5 -6090,0,2,2,100,1,5 -6100,0,2,2,100,1,5 -6110,0,2,2,100,1,5 -6120,0,2,2,100,1,5 -6130,0,2,2,100,1,5 -6140,0,2,2,100,1,5 -6150,0,2,2,100,1,5 -6160,0,2,2,100,1,5 -6170,0,2,2,100,1,5 -6180,0,2,2,100,1,5 -6190,0,2,2,100,1,5 -6200,0,2,2,100,1,5 -6210,0,2,2,100,1,5 -6220,0,2,2,100,1,5 -6230,0,2,2,100,1,5 -6240,0,2,2,100,1,5 -6250,0,2,2,100,1,5 -6260,0,2,2,100,1,5 -6270,0,2,2,100,1,5 -6280,0,2,2,100,1,5 -6290,0,2,2,100,1,5 -6300,0,2,2,100,1,5 -6310,0,2,2,100,1,5 -6320,0,2,2,100,1,5 -6330,0,2,2,100,1,5 -6340,0,2,2,100,1,5 -6350,0,2,2,100,1,5 -6360,0,2,2,100,1,5 -6370,0,2,2,100,1,5 -6380,0,2,2,100,1,5 -6390,0,2,2,100,1,5 -6400,0,2,2,100,1,5 -6410,0,2,2,100,1,5 -6420,0,2,2,100,1,5 -6430,0,2,2,100,1,5 -6440,0,2,2,100,1,5 -6450,0,2,2,100,1,5 -6460,0,2,2,100,1,5 -6470,0,2,2,100,1,5 -6480,0,2,2,100,1,5 -6490,0,2,2,100,1,5 -6500,0,2,2,100,1,5 -6510,0,2,2,100,1,5 -6520,0,2,2,100,1,5 -6530,0,2,2,100,1,5 -6540,0,2,2,100,1,5 -6550,0,2,2,100,1,5 -6560,0,2,2,100,1,5 -6570,0,2,2,100,1,5 -6580,0,2,2,100,1,5 -6590,0,2,2,100,1,5 -6600,0,2,2,100,1,5 -6610,0,2,2,100,1,5 -6620,0,2,2,100,1,5 -6630,0,2,2,100,1,5 -6640,0,2,2,100,1,5 -6650,0,2,2,100,1,5 -6660,0,2,2,100,1,5 -6670,0,2,2,100,1,5 -6680,0,2,2,100,1,5 -6690,0,2,2,100,1,5 -6700,0,2,2,100,1,5 -6710,0,2,2,100,1,5 -6720,0,2,2,100,1,5 -6730,0,2,2,100,1,5 -6740,0,2,2,100,1,5 -6750,0,2,2,100,1,5 -6760,0,2,2,100,1,5 -6770,0,2,2,100,1,5 -6780,0,2,2,100,1,5 -6790,0,2,2,100,1,5 -6800,0,2,2,100,1,5 -6810,0,2,2,100,1,5 -6820,0,2,2,100,1,5 -6830,0,2,2,100,1,5 -6840,0,2,2,100,1,5 -6850,0,2,2,100,1,5 -6860,0,2,2,100,1,5 -6870,0,2,2,100,1,5 -6880,0,2,2,100,1,5 -6890,0,2,2,100,1,5 -6900,0,2,2,100,1,5 -6910,0,2,2,100,1,5 -6920,0,2,2,100,1,5 -6930,0,2,2,100,1,5 -6940,0,2,2,100,1,5 -6950,0,2,2,100,1,5 -6960,0,2,2,100,1,5 -6970,0,2,2,100,1,5 -6980,0,2,2,100,1,5 -6990,0,2,2,100,1,5 -7000,0,2,2,100,1,5 -7010,0,2,2,100,1,5 -7020,0,2,2,100,1,5 -7030,0,2,2,100,1,5 -7040,0,2,2,100,1,5 -7050,0,2,2,100,1,5 -7060,0,2,2,100,1,5 -7070,0,2,2,100,1,5 -7080,0,2,2,100,1,5 -7090,0,2,2,100,1,5 -7100,0,2,2,100,1,5 -7110,0,2,2,100,1,5 -7120,0,2,2,100,1,5 -7130,0,2,2,100,1,5 -7140,0,2,2,100,1,5 -7150,0,2,2,100,1,5 -7160,0,2,2,100,1,5 -7170,0,2,2,100,1,5 -7180,0,2,2,100,1,5 -7190,0,2,2,100,1,5 -7200,0,2,2,100,1,5 -7210,0,2,2,100,1,5 -7220,0,2,2,100,1,5 -7230,0,2,2,100,1,5 -7240,0,2,2,100,1,5 -7250,0,2,2,100,1,5 -7260,0,2,2,100,1,5 -7270,0,2,2,100,1,5 -7280,0,2,2,100,1,5 -7290,0,2,2,100,1,5 -7300,0,2,2,100,1,5 -7310,0,2,2,100,1,5 -7320,0,2,2,100,1,5 -7330,0,2,2,100,1,5 -7340,0,2,2,100,1,5 -7350,0,2,2,100,1,5 -7360,0,2,2,100,1,5 -7370,0,2,2,100,1,5 -7380,0,2,2,100,1,5 -7390,0,2,2,100,1,5 -7400,0,2,2,100,1,5 -7410,0,2,2,100,1,5 -7420,0,2,2,100,1,5 -7430,0,2,2,100,1,5 -7440,0,2,2,100,1,5 -7450,0,2,2,100,1,5 -7460,0,2,2,100,1,5 -7470,0,2,2,100,1,5 -7480,0,2,2,100,1,5 -7490,0,2,2,100,1,5 -7500,0,2,2,100,1,5 -7510,0,2,2,100,1,5 -7520,0,2,2,100,1,5 -7530,0,2,2,100,1,5 -7540,0,2,2,100,1,5 -7550,0,2,2,100,1,5 -7560,0,2,2,100,1,5 -7570,0,2,2,100,1,5 -7580,0,2,2,100,1,5 -7590,0,2,2,100,1,5 -7600,0,2,2,100,1,5 -7610,0,2,2,100,1,5 -7620,0,2,2,100,1,5 -7630,0,2,2,100,1,5 -7640,0,2,2,100,1,5 -7650,0,2,2,100,1,5 -7660,0,2,2,100,1,5 -7670,0,2,2,100,1,5 -7680,0,2,2,100,1,5 -7690,0,2,2,100,1,5 -7700,0,2,2,100,1,5 -7710,0,2,2,100,1,5 -7720,0,2,2,100,1,5 -7730,0,2,2,100,1,5 -7740,0,2,2,100,1,5 -7750,0,2,2,100,1,5 -7760,0,2,2,100,1,5 -7770,0,2,2,100,1,5 -7780,0,2,2,100,1,5 -7790,0,2,2,100,1,5 -7800,0,2,2,100,1,5 -7810,0,2,2,100,1,5 -7820,0,2,2,100,1,5 -7830,0,2,2,100,1,5 -7840,0,2,2,100,1,5 -7850,0,2,2,100,1,5 -7860,0,2,2,100,1,5 -7870,0,2,2,100,1,5 -7880,0,2,2,100,1,5 -7890,0,2,2,100,1,5 -7900,0,2,2,100,1,5 -7910,0,2,2,100,1,5 -7920,0,2,2,100,1,5 -7930,0,2,2,100,1,5 -7940,0,2,2,100,1,5 -7950,0,2,2,100,1,5 -7960,0,2,2,100,1,5 -7970,0,2,2,100,1,5 -7980,0,2,2,100,1,5 -7990,0,2,2,100,1,5 -8000,0,2,2,100,1,5 -8010,0,2,2,100,1,5 -8020,0,2,2,100,1,5 -8030,0,2,2,100,1,5 -8040,0,2,2,100,1,5 -8050,0,2,2,100,1,5 -8060,0,2,2,100,1,5 -8070,0,2,2,100,1,5 -8080,0,2,2,100,1,5 -8090,0,2,2,100,1,5 -8100,0,2,2,100,1,5 -8110,0,2,2,100,1,5 -8120,0,2,2,100,1,5 -8130,0,2,2,100,1,5 -8140,0,2,2,100,1,5 -8150,0,2,2,100,1,5 -8160,0,2,2,100,1,5 -8170,0,2,2,100,1,5 -8180,0,2,2,100,1,5 -8190,0,2,2,100,1,5 -8200,0,2,2,100,1,5 -8210,0,2,2,100,1,5 -8220,0,2,2,100,1,5 -8230,0,2,2,100,1,5 -8240,0,2,2,100,1,5 -8250,0,2,2,100,1,5 -8260,0,2,2,100,1,5 -8270,0,2,2,100,1,5 -8280,0,2,2,100,1,5 -8290,0,2,2,100,1,5 -8300,0,2,2,100,1,5 -8310,0,2,2,100,1,5 -8320,0,2,2,100,1,5 -8330,0,2,2,100,1,5 -8340,0,2,2,100,1,5 -8350,0,2,2,100,1,5 -8360,0,2,2,100,1,5 -8370,0,2,2,100,1,5 -8380,0,2,2,100,1,5 -8390,0,2,2,100,1,5 -8400,0,2,2,100,1,5 -8410,0,2,2,100,1,5 -8420,0,2,2,100,1,5 -8430,0,2,2,100,1,5 -8440,0,2,2,100,1,5 -8450,0,2,2,100,1,5 -8460,0,2,2,100,1,5 -8470,0,2,2,100,1,5 -8480,0,2,2,100,1,5 -8490,0,2,2,100,1,5 -8500,0,2,2,100,1,5 -8510,0,2,2,100,1,5 -8520,0,2,2,100,1,5 -8530,0,2,2,100,1,5 -8540,0,2,2,100,1,5 -8550,0,2,2,100,1,5 -8560,0,2,2,100,1,5 -8570,0,2,2,100,1,5 -8580,0,2,2,100,1,5 -8590,0,2,2,100,1,5 -8600,0,2,2,100,1,5 -8610,0,2,2,100,1,5 -8620,0,2,2,100,1,5 -8630,0,2,2,100,1,5 -8640,0,2,2,100,1,5 -8650,0,2,2,100,1,5 -8660,0,2,2,100,1,5 -8670,0,2,2,100,1,5 -8680,0,2,2,100,1,5 -8690,0,2,2,100,1,5 -8700,0,2,2,100,1,5 -8710,0,2,2,100,1,5 -8720,0,2,2,100,1,5 -8730,0,2,2,100,1,5 -8740,0,2,2,100,1,5 -8750,0,2,2,100,1,5 -8760,0,2,2,100,1,5 -8770,0,2,2,100,1,5 -8780,0,2,2,100,1,5 -8790,0,2,2,100,1,5 -8800,0,2,2,100,1,5 -8810,0,2,2,100,1,5 -8820,0,2,2,100,1,5 -8830,0,2,2,100,1,5 -8840,0,2,2,100,1,5 -8850,0,2,2,100,1,5 -8860,0,2,2,100,1,5 -8870,0,2,2,100,1,5 -8880,0,2,2,100,1,5 -8890,0,2,2,100,1,5 -8900,0,2,2,100,1,5 -8910,0,2,2,100,1,5 -8920,0,2,2,100,1,5 -8930,0,2,2,100,1,5 -8940,0,2,2,100,1,5 -8950,0,2,2,100,1,5 -8960,0,2,2,100,1,5 -8970,0,2,2,100,1,5 -8980,0,2,2,100,1,5 -8990,0,2,2,100,1,5 -9000,0,2,2,100,1,5 -9010,0,2,2,100,1,5 -9020,0,2,2,100,1,5 -9030,0,2,2,100,1,5 -9040,0,2,2,100,1,5 -9050,0,2,2,100,1,5 -9060,0,2,2,100,1,5 -9070,0,2,2,100,1,5 -9080,0,2,2,100,1,5 -9090,0,2,2,100,1,5 -9100,0,2,2,100,1,5 -9110,0,2,2,100,1,5 -9120,0,2,2,100,1,5 -9130,0,2,2,100,1,5 -9140,0,2,2,100,1,5 -9150,0,2,2,100,1,5 -9160,0,2,2,100,1,5 -9170,0,2,2,100,1,5 -9180,0,2,2,100,1,5 -9190,0,2,2,100,1,5 -9200,0,2,2,100,1,5 -9210,0,2,2,100,1,5 -9220,0,2,2,100,1,5 -9230,0,2,2,100,1,5 -9240,0,2,2,100,1,5 -9250,0,2,2,100,1,5 -9260,0,2,2,100,1,5 -9270,0,2,2,100,1,5 -9280,0,2,2,100,1,5 -9290,0,2,2,100,1,5 -9300,0,2,2,100,1,5 -9310,0,2,2,100,1,5 -9320,0,2,2,100,1,5 -9330,0,2,2,100,1,5 -9340,0,2,2,100,1,5 -9350,0,2,2,100,1,5 -9360,0,2,2,100,1,5 -9370,0,2,2,100,1,5 -9380,0,2,2,100,1,5 -9390,0,2,2,100,1,5 -9400,0,2,2,100,1,5 -9410,0,2,2,100,1,5 -9420,0,2,2,100,1,5 -9430,0,2,2,100,1,5 -9440,0,2,2,100,1,5 -9450,0,2,2,100,1,5 -9460,0,2,2,100,1,5 -9470,0,2,2,100,1,5 -9480,0,2,2,100,1,5 -9490,0,2,2,100,1,5 -9500,0,2,2,100,1,5 -9510,0,2,2,100,1,5 -9520,0,2,2,100,1,5 -9530,0,2,2,100,1,5 -9540,0,2,2,100,1,5 -9550,0,2,2,100,1,5 -9560,0,2,2,100,1,5 -9570,0,2,2,100,1,5 -9580,0,2,2,100,1,5 -9590,0,2,2,100,1,5 -9600,0,2,2,100,1,5 -9610,0,2,2,100,1,5 -9620,0,2,2,100,1,5 -9630,0,2,2,100,1,5 -9640,0,2,2,100,1,5 -9650,0,2,2,100,1,5 -9660,0,2,2,100,1,5 -9670,0,2,2,100,1,5 -9680,0,2,2,100,1,5 -9690,0,2,2,100,1,5 -9700,0,2,2,100,1,5 -9710,0,2,2,100,1,5 -9720,0,2,2,100,1,5 -9730,0,2,2,100,1,5 -9740,0,2,2,100,1,5 -9750,0,2,2,100,1,5 -9760,0,2,2,100,1,5 -9770,0,2,2,100,1,5 -9780,0,2,2,100,1,5 -9790,0,2,2,100,1,5 -9800,0,2,2,100,1,5 -9810,0,2,2,100,1,5 -9820,0,2,2,100,1,5 -9830,0,2,2,100,1,5 -9840,0,2,2,100,1,5 -9850,0,2,2,100,1,5 -9860,0,2,2,100,1,5 -9870,0,2,2,100,1,5 -9880,0,2,2,100,1,5 -9890,0,2,2,100,1,5 -9900,0,2,2,100,1,5 -9910,0,2,2,100,1,5 -9920,0,2,2,100,1,5 -9930,0,2,2,100,1,5 -9940,0,2,2,100,1,5 -9950,0,2,2,100,1,5 -9960,0,2,2,100,1,5 -9970,0,2,2,100,1,5 -9980,0,2,2,100,1,5 -9990,0,2,2,100,1,5 -10000,0,2,2,100,1,5 -10010,0,2,2,100,1,5 -10020,0,2,2,100,1,5 -10030,0,2,2,100,1,5 -10040,0,2,2,100,1,5 -10050,0,2,2,100,1,5 -10060,0,2,2,100,1,5 -10070,0,2,2,100,1,5 -10080,0,2,2,100,1,5 -10090,0,2,2,100,1,5 -10100,0,2,2,100,1,5 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210105_fat.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210105_fat.csv deleted file mode 100644 index fda3c4d..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210105_fat.csv +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,0,0.5,0.5,100,1,5 -10,0,0.5,0.5,100,1,5 -20,0,0.5,0.5,100,1,5 -30,0,0.5,0.5,100,1,5 -40,0,0.5,0.5,100,1,5 -50,0,0.5,0.5,100,1,5 -60,0,0.5,0.5,100,1,5 -70,0,0.5,0.5,100,1,5 -80,0,0.5,0.5,100,1,5 -90,0,0.5,0.5,100,1,5 -100,0,0.5,0.5,100,1,5 -110,0,0.5,0.5,100,1,5 -120,0,0.5,0.5,100,1,5 -130,0,0.5,0.5,100,1,5 -140,0,0.5,0.5,100,1,5 -150,0,0.5,0.5,100,1,5 -160,0,0.5,0.5,100,1,5 -170,0,0.5,0.5,100,1,5 -180,0,0.5,0.5,100,1,5 -190,0,0.5,0.5,100,1,5 -200,0,0.5,0.5,100,1,5 -210,0,0.5,0.5,100,1,5 -220,0,0.5,0.5,100,1,5 -230,0,0.5,0.5,100,1,5 -240,0,0.5,0.5,100,1,5 -250,0,0.5,0.5,100,1,5 -260,0,0.5,0.5,100,1,5 -270,0,0.5,0.5,100,1,5 -280,0,0.5,0.5,100,1,5 -290,0,0.5,0.5,100,1,5 -300,0,0.5,0.5,100,1,5 -310,0,0.5,0.5,100,1,5 -320,0,0.5,0.5,100,1,5 -330,0,0.5,0.5,100,1,5 -340,0,0.5,0.5,100,1,5 -350,0,0.5,0.5,100,1,5 -360,0,0.5,0.5,100,1,5 -370,0,0.5,0.5,100,1,5 -380,0,0.5,0.5,100,1,5 -390,0,0.5,0.5,100,1,5 -400,0,0.5,0.5,100,1,5 -410,0,0.5,0.5,100,1,5 -420,0,0.5,0.5,100,1,5 -430,0,0.5,0.5,100,1,5 -440,0,0.5,0.5,100,1,5 -450,0,0.5,0.5,100,1,5 -460,0,0.5,0.5,100,1,5 -470,0,0.5,0.5,100,1,5 -480,0,0.5,0.5,100,1,5 -490,0,0.5,0.5,100,1,5 -500,0,0.5,0.5,100,1,5 -510,0,0.5,0.5,100,1,5 -520,0,0.5,0.5,100,1,5 -530,0,0.5,0.5,100,1,5 -540,0,0.5,0.5,100,1,5 -550,0,0.5,0.5,100,1,5 -560,0,0.5,0.5,100,1,5 -570,0,0.5,0.5,100,1,5 -580,0,0.5,0.5,100,1,5 -590,0,0.5,0.5,100,1,5 -600,0,0.5,0.5,100,1,5 -610,0,0.5,0.5,100,1,5 -620,0,0.5,0.5,100,1,5 -630,0,0.5,0.5,100,1,5 -640,0,0.5,0.5,100,1,5 -650,0,0.5,0.5,100,1,5 -660,0,0.5,0.5,100,1,5 -670,0,0.5,0.5,100,1,5 -680,0,0.5,0.5,100,1,5 -690,0,0.5,0.5,100,1,5 -700,0,0.5,0.5,100,1,5 -710,0,0.5,0.5,100,1,5 -720,0,0.5,0.5,100,1,5 -730,0,0.5,0.5,100,1,5 -740,0,0.5,0.5,100,1,5 -750,0,0.5,0.5,100,1,5 -760,0,0.5,0.5,100,1,5 -770,0,0.5,0.5,100,1,5 -780,0,0.5,0.5,100,1,5 -790,0,0.5,0.5,100,1,5 -800,0,0.5,0.5,100,1,5 -810,0,0.5,0.5,100,1,5 -820,0,0.5,0.5,100,1,5 -830,0,0.5,0.5,100,1,5 -840,0,0.5,0.5,100,1,5 -850,0,0.5,0.5,100,1,5 -860,0,0.5,0.5,100,1,5 -870,0,0.5,0.5,100,1,5 -880,0,0.5,0.5,100,1,5 -890,0,0.5,0.5,100,1,5 -900,0,0.5,0.5,100,1,5 -910,0,0.5,0.5,100,1,5 -920,0,0.5,0.5,100,1,5 -930,0,0.5,0.5,100,1,5 -940,0,0.5,0.5,100,1,5 -950,0,0.5,0.5,100,1,5 -960,0,0.5,0.5,100,1,5 -970,0,0.5,0.5,100,1,5 -980,0,0.5,0.5,100,1,5 -990,0,0.5,0.5,100,1,5 -1000,0,0.5,0.5,100,1,5 -1010,0,1,1,100,1,5 -1020,0,1,1,100,1,5 -1030,0,1,1,100,1,5 -1040,0,1,1,100,1,5 -1050,0,1,1,100,1,5 -1060,0,1,1,100,1,5 -1070,0,1,1,100,1,5 -1080,0,1,1,100,1,5 -1090,0,1,1,100,1,5 -1100,0,1,1,100,1,5 -1110,0,1,1,100,1,5 -1120,0,1,1,100,1,5 -1130,0,1,1,100,1,5 -1140,0,1,1,100,1,5 -1150,0,1,1,100,1,5 -1160,0,1,1,100,1,5 -1170,0,1,1,100,1,5 -1180,0,1,1,100,1,5 -1190,0,1,1,100,1,5 -1200,0,1,1,100,1,5 -1210,0,1,1,100,1,5 -1220,0,1,1,100,1,5 -1230,0,1,1,100,1,5 -1240,0,1,1,100,1,5 -1250,0,1,1,100,1,5 -1260,0,1,1,100,1,5 -1270,0,1,1,100,1,5 -1280,0,1,1,100,1,5 -1290,0,1,1,100,1,5 -1300,0,1,1,100,1,5 -1310,0,1,1,100,1,5 -1320,0,1,1,100,1,5 -1330,0,1,1,100,1,5 -1340,0,1,1,100,1,5 -1350,0,1,1,100,1,5 -1360,0,1,1,100,1,5 -1370,0,1,1,100,1,5 -1380,0,1,1,100,1,5 -1390,0,1,1,100,1,5 -1400,0,1,1,100,1,5 -1410,0,1,1,100,1,5 -1420,0,1,1,100,1,5 -1430,0,1,1,100,1,5 -1440,0,1,1,100,1,5 -1450,0,1,1,100,1,5 -1460,0,1,1,100,1,5 -1470,0,1,1,100,1,5 -1480,0,1,1,100,1,5 -1490,0,1,1,100,1,5 -1500,0,1,1,100,1,5 -1510,0,1,1,100,1,5 -1520,0,1,1,100,1,5 -1530,0,1,1,100,1,5 -1540,0,1,1,100,1,5 -1550,0,1,1,100,1,5 -1560,0,1,1,100,1,5 -1570,0,1,1,100,1,5 -1580,0,1,1,100,1,5 -1590,0,1,1,100,1,5 -1600,0,1,1,100,1,5 -1610,0,1,1,100,1,5 -1620,0,1,1,100,1,5 -1630,0,1,1,100,1,5 -1640,0,1,1,100,1,5 -1650,0,1,1,100,1,5 -1660,0,1,1,100,1,5 -1670,0,1,1,100,1,5 -1680,0,1,1,100,1,5 -1690,0,1,1,100,1,5 -1700,0,1,1,100,1,5 -1710,0,1,1,100,1,5 -1720,0,1,1,100,1,5 -1730,0,1,1,100,1,5 -1740,0,1,1,100,1,5 -1750,0,1,1,100,1,5 -1760,0,1,1,100,1,5 -1770,0,1,1,100,1,5 -1780,0,1,1,100,1,5 -1790,0,1,1,100,1,5 -1800,0,1,1,100,1,5 -1810,0,1,1,100,1,5 -1820,0,1,1,100,1,5 -1830,0,1,1,100,1,5 -1840,0,1,1,100,1,5 -1850,0,1,1,100,1,5 -1860,0,1,1,100,1,5 -1870,0,1,1,100,1,5 -1880,0,1,1,100,1,5 -1890,0,1,1,100,1,5 -1900,0,1,1,100,1,5 -1910,0,1,1,100,1,5 -1920,0,1,1,100,1,5 -1930,0,1,1,100,1,5 -1940,0,1,1,100,1,5 -1950,0,1,1,100,1,5 -1960,0,1,1,100,1,5 -1970,0,1,1,100,1,5 -1980,0,1,1,100,1,5 -1990,0,1,1,100,1,5 -2000,0,1,1,100,1,5 -2010,0,1,1,100,1,5 -2020,0,1,1,100,1,5 -2030,0,1,1,100,1,5 -2040,0,1,1,100,1,5 -2050,0,1,1,100,1,5 -2060,0,1,1,100,1,5 -2070,0,1,1,100,1,5 -2080,0,1,1,100,1,5 -2090,0,1,1,100,1,5 -2100,0,1,1,100,1,5 -2110,0,1,1,100,1,5 -2120,0,1,1,100,1,5 -2130,0,1,1,100,1,5 -2140,0,1,1,100,1,5 -2150,0,1,1,100,1,5 -2160,0,1,1,100,1,5 -2170,0,1,1,100,1,5 -2180,0,1,1,100,1,5 -2190,0,1,1,100,1,5 -2200,0,1,1,100,1,5 -2210,0,1,1,100,1,5 -2220,0,1,1,100,1,5 -2230,0,1,1,100,1,5 -2240,0,1,1,100,1,5 -2250,0,1,1,100,1,5 -2260,0,1,1,100,1,5 -2270,0,1,1,100,1,5 -2280,0,1,1,100,1,5 -2290,0,1,1,100,1,5 -2300,0,1,1,100,1,5 -2310,0,1,1,100,1,5 -2320,0,1,1,100,1,5 -2330,0,1,1,100,1,5 -2340,0,1,1,100,1,5 -2350,0,1,1,100,1,5 -2360,0,1,1,100,1,5 -2370,0,1,1,100,1,5 -2380,0,1,1,100,1,5 -2390,0,1,1,100,1,5 -2400,0,1,1,100,1,5 -2410,0,1,1,100,1,5 -2420,0,1,1,100,1,5 -2430,0,1,1,100,1,5 -2440,0,1,1,100,1,5 -2450,0,1,1,100,1,5 -2460,0,1,1,100,1,5 -2470,0,1,1,100,1,5 -2480,0,1,1,100,1,5 -2490,0,1,1,100,1,5 -2500,0,1,1,100,1,5 -2510,0,1,1,100,1,5 -2520,0,1,1,100,1,5 -2530,0,1,1,100,1,5 -2540,0,1,1,100,1,5 -2550,0,1,1,100,1,5 -2560,0,1,1,100,1,5 -2570,0,1,1,100,1,5 -2580,0,1,1,100,1,5 -2590,0,1,1,100,1,5 -2600,0,1,1,100,1,5 -2610,0,1,1,100,1,5 -2620,0,1,1,100,1,5 -2630,0,1,1,100,1,5 -2640,0,1,1,100,1,5 -2650,0,1,1,100,1,5 -2660,0,1,1,100,1,5 -2670,0,1,1,100,1,5 -2680,0,1,1,100,1,5 -2690,0,1,1,100,1,5 -2700,0,1,1,100,1,5 -2710,0,1,1,100,1,5 -2720,0,1,1,100,1,5 -2730,0,1,1,100,1,5 -2740,0,1,1,100,1,5 -2750,0,1,1,100,1,5 -2760,0,1,1,100,1,5 -2770,0,1,1,100,1,5 -2780,0,1,1,100,1,5 -2790,0,1,1,100,1,5 -2800,0,1,1,100,1,5 -2810,0,1,1,100,1,5 -2820,0,1,1,100,1,5 -2830,0,1,1,100,1,5 -2840,0,1,1,100,1,5 -2850,0,1,1,100,1,5 -2860,0,1,1,100,1,5 -2870,0,1,1,100,1,5 -2880,0,1,1,100,1,5 -2890,0,1,1,100,1,5 -2900,0,1,1,100,1,5 -2910,0,1,1,100,1,5 -2920,0,1,1,100,1,5 -2930,0,1,1,100,1,5 -2940,0,1,1,100,1,5 -2950,0,1,1,100,1,5 -2960,0,1,1,100,1,5 -2970,0,1,1,100,1,5 -2980,0,1,1,100,1,5 -2990,0,1,1,100,1,5 -3000,0,1,1,100,1,5 -3010,0,1,1,100,1,5 -3020,0,1,1,100,1,5 -3030,0,1,1,100,1,5 -3040,0,1,1,100,1,5 -3050,0,1,1,100,1,5 -3060,0,1,1,100,1,5 -3070,0,1,1,100,1,5 -3080,0,1,1,100,1,5 -3090,0,1,1,100,1,5 -3100,0,1,1,100,1,5 -3110,0,1,1,100,1,5 -3120,0,1,1,100,1,5 -3130,0,1,1,100,1,5 -3140,0,1,1,100,1,5 -3150,0,1,1,100,1,5 -3160,0,1,1,100,1,5 -3170,0,1,1,100,1,5 -3180,0,1,1,100,1,5 -3190,0,1,1,100,1,5 -3200,0,1,1,100,1,5 -3210,0,1,1,100,1,5 -3220,0,1,1,100,1,5 -3230,0,1,1,100,1,5 -3240,0,1,1,100,1,5 -3250,0,1,1,100,1,5 -3260,0,1,1,100,1,5 -3270,0,1,1,100,1,5 -3280,0,1,1,100,1,5 -3290,0,1,1,100,1,5 -3300,0,1,1,100,1,5 -3310,0,1,1,100,1,5 -3320,0,1,1,100,1,5 -3330,0,1,1,100,1,5 -3340,0,1,1,100,1,5 -3350,0,1,1,100,1,5 -3360,0,1,1,100,1,5 -3370,0,1,1,100,1,5 -3380,0,1,1,100,1,5 -3390,0,1,1,100,1,5 -3400,0,1,1,100,1,5 -3410,0,1,1,100,1,5 -3420,0,1,1,100,1,5 -3430,0,1,1,100,1,5 -3440,0,1,1,100,1,5 -3450,0,1,1,100,1,5 -3460,0,1,1,100,1,5 -3470,0,1,1,100,1,5 -3480,0,1,1,100,1,5 -3490,0,1,1,100,1,5 -3500,0,1,1,100,1,5 -3510,0,1,1,100,1,5 -3520,0,1,1,100,1,5 -3530,0,1,1,100,1,5 -3540,0,1,1,100,1,5 -3550,0,1,1,100,1,5 -3560,0,1,1,100,1,5 -3570,0,1,1,100,1,5 -3580,0,1,1,100,1,5 -3590,0,1,1,100,1,5 -3600,0,1,1,100,1,5 -3610,0,1,1,100,1,5 -3620,0,1,1,100,1,5 -3630,0,1,1,100,1,5 -3640,0,1,1,100,1,5 -3650,0,1,1,100,1,5 -3660,0,1,1,100,1,5 -3670,0,1,1,100,1,5 -3680,0,1,1,100,1,5 -3690,0,1,1,100,1,5 -3700,0,1,1,100,1,5 -3710,0,1,1,100,1,5 -3720,0,1,1,100,1,5 -3730,0,1,1,100,1,5 -3740,0,1,1,100,1,5 -3750,0,1,1,100,1,5 -3760,0,1,1,100,1,5 -3770,0,1,1,100,1,5 -3780,0,1,1,100,1,5 -3790,0,1,1,100,1,5 -3800,0,1,1,100,1,5 -3810,0,1,1,100,1,5 -3820,0,1,1,100,1,5 -3830,0,1,1,100,1,5 -3840,0,1,1,100,1,5 -3850,0,1,1,100,1,5 -3860,0,1,1,100,1,5 -3870,0,1,1,100,1,5 -3880,0,1,1,100,1,5 -3890,0,1,1,100,1,5 -3900,0,1,1,100,1,5 -3910,0,1,1,100,1,5 -3920,0,1,1,100,1,5 -3930,0,1,1,100,1,5 -3940,0,1,1,100,1,5 -3950,0,1,1,100,1,5 -3960,0,1,1,100,1,5 -3970,0,1,1,100,1,5 -3980,0,1,1,100,1,5 -3990,0,1,1,100,1,5 -4000,0,1,1,100,1,5 -4010,0,1,1,100,1,5 -4020,0,1,1,100,1,5 -4030,0,1,1,100,1,5 -4040,0,1,1,100,1,5 -4050,0,1,1,100,1,5 -4060,0,1,1,100,1,5 -4070,0,1,1,100,1,5 -4080,0,1,1,100,1,5 -4090,0,1,1,100,1,5 -4100,0,1,1,100,1,5 -4110,0,1,1,100,1,5 -4120,0,1,1,100,1,5 -4130,0,1,1,100,1,5 -4140,0,1,1,100,1,5 -4150,0,1,1,100,1,5 -4160,0,1,1,100,1,5 -4170,0,1,1,100,1,5 -4180,0,1,1,100,1,5 -4190,0,1,1,100,1,5 -4200,0,1,1,100,1,5 -4210,0,1,1,100,1,5 -4220,0,1,1,100,1,5 -4230,0,1,1,100,1,5 -4240,0,1,1,100,1,5 -4250,0,1,1,100,1,5 -4260,0,1,1,100,1,5 -4270,0,1,1,100,1,5 -4280,0,1,1,100,1,5 -4290,0,1,1,100,1,5 -4300,0,1,1,100,1,5 -4310,0,1,1,100,1,5 -4320,0,1,1,100,1,5 -4330,0,1,1,100,1,5 -4340,0,1,1,100,1,5 -4350,0,1,1,100,1,5 -4360,0,1,1,100,1,5 -4370,0,1,1,100,1,5 -4380,0,1,1,100,1,5 -4390,0,1,1,100,1,5 -4400,0,1,1,100,1,5 -4410,0,1,1,100,1,5 -4420,0,1,1,100,1,5 -4430,0,1,1,100,1,5 -4440,0,1,1,100,1,5 -4450,0,1,1,100,1,5 -4460,0,1,1,100,1,5 -4470,0,1,1,100,1,5 -4480,0,1,1,100,1,5 -4490,0,1,1,100,1,5 -4500,0,1,1,100,1,5 -4510,0,1,1,100,1,5 -4520,0,1,1,100,1,5 -4530,0,1,1,100,1,5 -4540,0,1,1,100,1,5 -4550,0,1,1,100,1,5 -4560,0,1,1,100,1,5 -4570,0,1,1,100,1,5 -4580,0,1,1,100,1,5 -4590,0,1,1,100,1,5 -4600,0,1,1,100,1,5 -4610,0,1,1,100,1,5 -4620,0,1,1,100,1,5 -4630,0,1,1,100,1,5 -4640,0,1,1,100,1,5 -4650,0,1,1,100,1,5 -4660,0,1,1,100,1,5 -4670,0,1,1,100,1,5 -4680,0,1,1,100,1,5 -4690,0,1,1,100,1,5 -4700,0,1,1,100,1,5 -4710,0,1,1,100,1,5 -4720,0,1,1,100,1,5 -4730,0,1,1,100,1,5 -4740,0,1,1,100,1,5 -4750,0,1,1,100,1,5 -4760,0,1,1,100,1,5 -4770,0,1,1,100,1,5 -4780,0,1,1,100,1,5 -4790,0,1,1,100,1,5 -4800,0,1,1,100,1,5 -4810,0,1,1,100,1,5 -4820,0,1,1,100,1,5 -4830,0,1,1,100,1,5 -4840,0,1,1,100,1,5 -4850,0,1,1,100,1,5 -4860,0,1,1,100,1,5 -4870,0,1,1,100,1,5 -4880,0,1,1,100,1,5 -4890,0,1,1,100,1,5 -4900,0,1,1,100,1,5 -4910,0,1,1,100,1,5 -4920,0,1,1,100,1,5 -4930,0,1,1,100,1,5 -4940,0,1,1,100,1,5 -4950,0,1,1,100,1,5 -4960,0,1,1,100,1,5 -4970,0,1,1,100,1,5 -4980,0,1,1,100,1,5 -4990,0,1,1,100,1,5 -5000,0,2,2,100,1,5 -5010,0,2,2,100,1,5 -5020,0,2,2,100,1,5 -5030,0,2,2,100,1,5 -5040,0,2,2,100,1,5 -5050,0,2,2,100,1,5 -5060,0,2,2,100,1,5 -5070,0,2,2,100,1,5 -5080,0,2,2,100,1,5 -5090,0,2,2,100,1,5 -5100,0,2,2,100,1,5 -5110,0,2,2,100,1,5 -5120,0,2,2,100,1,5 -5130,0,2,2,100,1,5 -5140,0,2,2,100,1,5 -5150,0,2,2,100,1,5 -5160,0,2,2,100,1,5 -5170,0,2,2,100,1,5 -5180,0,2,2,100,1,5 -5190,0,2,2,100,1,5 -5200,0,2,2,100,1,5 -5210,0,2,2,100,1,5 -5220,0,2,2,100,1,5 -5230,0,2,2,100,1,5 -5240,0,2,2,100,1,5 -5250,0,2,2,100,1,5 -5260,0,2,2,100,1,5 -5270,0,2,2,100,1,5 -5280,0,2,2,100,1,5 -5290,0,2,2,100,1,5 -5300,0,2,2,100,1,5 -5310,0,2,2,100,1,5 -5320,0,2,2,100,1,5 -5330,0,2,2,100,1,5 -5340,0,2,2,100,1,5 -5350,0,2,2,100,1,5 -5360,0,2,2,100,1,5 -5370,0,2,2,100,1,5 -5380,0,2,2,100,1,5 -5390,0,2,2,100,1,5 -5400,0,2,2,100,1,5 -5410,0,2,2,100,1,5 -5420,0,2,2,100,1,5 -5430,0,2,2,100,1,5 -5440,0,2,2,100,1,5 -5450,0,2,2,100,1,5 -5460,0,2,2,100,1,5 -5470,0,2,2,100,1,5 -5480,0,2,2,100,1,5 -5490,0,2,2,100,1,5 -5500,0,2,2,100,1,5 -5510,0,2,2,100,1,5 -5520,0,2,2,100,1,5 -5530,0,2,2,100,1,5 -5540,0,2,2,100,1,5 -5550,0,2,2,100,1,5 -5560,0,2,2,100,1,5 -5570,0,2,2,100,1,5 -5580,0,2,2,100,1,5 -5590,0,2,2,100,1,5 -5600,0,2,2,100,1,5 -5610,0,2,2,100,1,5 -5620,0,2,2,100,1,5 -5630,0,2,2,100,1,5 -5640,0,2,2,100,1,5 -5650,0,2,2,100,1,5 -5660,0,2,2,100,1,5 -5670,0,2,2,100,1,5 -5680,0,2,2,100,1,5 -5690,0,2,2,100,1,5 -5700,0,2,2,100,1,5 -5710,0,2,2,100,1,5 -5720,0,2,2,100,1,5 -5730,0,2,2,100,1,5 -5740,0,2,2,100,1,5 -5750,0,2,2,100,1,5 -5760,0,2,2,100,1,5 -5770,0,2,2,100,1,5 -5780,0,2,2,100,1,5 -5790,0,2,2,100,1,5 -5800,0,2,2,100,1,5 -5810,0,2,2,100,1,5 -5820,0,2,2,100,1,5 -5830,0,2,2,100,1,5 -5840,0,2,2,100,1,5 -5850,0,2,2,100,1,5 -5860,0,2,2,100,1,5 -5870,0,2,2,100,1,5 -5880,0,2,2,100,1,5 -5890,0,2,2,100,1,5 -5900,0,2,2,100,1,5 -5910,0,2,2,100,1,5 -5920,0,2,2,100,1,5 -5930,0,2,2,100,1,5 -5940,0,2,2,100,1,5 -5950,0,2,2,100,1,5 -5960,0,2,2,100,1,5 -5970,0,2,2,100,1,5 -5980,0,2,2,100,1,5 -5990,0,2,2,100,1,5 -6000,0,2,2,100,1,5 -6010,0,2,2,100,1,5 -6020,0,2,2,100,1,5 -6030,0,2,2,100,1,5 -6040,0,2,2,100,1,5 -6050,0,2,2,100,1,5 -6060,0,2,2,100,1,5 -6070,0,2,2,100,1,5 -6080,0,2,2,100,1,5 -6090,0,2,2,100,1,5 -6100,0,2,2,100,1,5 -6110,0,2,2,100,1,5 -6120,0,2,2,100,1,5 -6130,0,2,2,100,1,5 -6140,0,2,2,100,1,5 -6150,0,2,2,100,1,5 -6160,0,2,2,100,1,5 -6170,0,2,2,100,1,5 -6180,0,2,2,100,1,5 -6190,0,2,2,100,1,5 -6200,0,2,2,100,1,5 -6210,0,2,2,100,1,5 -6220,0,2,2,100,1,5 -6230,0,2,2,100,1,5 -6240,0,2,2,100,1,5 -6250,0,2,2,100,1,5 -6260,0,2,2,100,1,5 -6270,0,2,2,100,1,5 -6280,0,2,2,100,1,5 -6290,0,2,2,100,1,5 -6300,0,2,2,100,1,5 -6310,0,2,2,100,1,5 -6320,0,2,2,100,1,5 -6330,0,2,2,100,1,5 -6340,0,2,2,100,1,5 -6350,0,2,2,100,1,5 -6360,0,2,2,100,1,5 -6370,0,2,2,100,1,5 -6380,0,2,2,100,1,5 -6390,0,2,2,100,1,5 -6400,0,2,2,100,1,5 -6410,0,2,2,100,1,5 -6420,0,2,2,100,1,5 -6430,0,2,2,100,1,5 -6440,0,2,2,100,1,5 -6450,0,2,2,100,1,5 -6460,0,2,2,100,1,5 -6470,0,2,2,100,1,5 -6480,0,2,2,100,1,5 -6490,0,2,2,100,1,5 -6500,0,2,2,100,1,5 -6510,0,2,2,100,1,5 -6520,0,2,2,100,1,5 -6530,0,2,2,100,1,5 -6540,0,2,2,100,1,5 -6550,0,2,2,100,1,5 -6560,0,2,2,100,1,5 -6570,0,2,2,100,1,5 -6580,0,2,2,100,1,5 -6590,0,2,2,100,1,5 -6600,0,2,2,100,1,5 -6610,0,2,2,100,1,5 -6620,0,2,2,100,1,5 -6630,0,2,2,100,1,5 -6640,0,2,2,100,1,5 -6650,0,2,2,100,1,5 -6660,0,2,2,100,1,5 -6670,0,2,2,100,1,5 -6680,0,2,2,100,1,5 -6690,0,2,2,100,1,5 -6700,0,2,2,100,1,5 -6710,0,2,2,100,1,5 -6720,0,2,2,100,1,5 -6730,0,2,2,100,1,5 -6740,0,2,2,100,1,5 -6750,0,2,2,100,1,5 -6760,0,2,2,100,1,5 -6770,0,2,2,100,1,5 -6780,0,2,2,100,1,5 -6790,0,2,2,100,1,5 -6800,0,2,2,100,1,5 -6810,0,2,2,100,1,5 -6820,0,2,2,100,1,5 -6830,0,2,2,100,1,5 -6840,0,2,2,100,1,5 -6850,0,2,2,100,1,5 -6860,0,2,2,100,1,5 -6870,0,2,2,100,1,5 -6880,0,2,2,100,1,5 -6890,0,2,2,100,1,5 -6900,0,2,2,100,1,5 -6910,0,2,2,100,1,5 -6920,0,2,2,100,1,5 -6930,0,2,2,100,1,5 -6940,0,2,2,100,1,5 -6950,0,2,2,100,1,5 -6960,0,2,2,100,1,5 -6970,0,2,2,100,1,5 -6980,0,2,2,100,1,5 -6990,0,2,2,100,1,5 -7000,0,2,2,100,1,5 -7010,0,2,2,100,1,5 -7020,0,2,2,100,1,5 -7030,0,2,2,100,1,5 -7040,0,2,2,100,1,5 -7050,0,2,2,100,1,5 -7060,0,2,2,100,1,5 -7070,0,2,2,100,1,5 -7080,0,2,2,100,1,5 -7090,0,2,2,100,1,5 -7100,0,2,2,100,1,5 -7110,0,2,2,100,1,5 -7120,0,2,2,100,1,5 -7130,0,2,2,100,1,5 -7140,0,2,2,100,1,5 -7150,0,2,2,100,1,5 -7160,0,2,2,100,1,5 -7170,0,2,2,100,1,5 -7180,0,2,2,100,1,5 -7190,0,2,2,100,1,5 -7200,0,2,2,100,1,5 -7210,0,2,2,100,1,5 -7220,0,2,2,100,1,5 -7230,0,2,2,100,1,5 -7240,0,2,2,100,1,5 -7250,0,2,2,100,1,5 -7260,0,2,2,100,1,5 -7270,0,2,2,100,1,5 -7280,0,2,2,100,1,5 -7290,0,2,2,100,1,5 -7300,0,2,2,100,1,5 -7310,0,2,2,100,1,5 -7320,0,2,2,100,1,5 -7330,0,2,2,100,1,5 -7340,0,2,2,100,1,5 -7350,0,2,2,100,1,5 -7360,0,2,2,100,1,5 -7370,0,2,2,100,1,5 -7380,0,2,2,100,1,5 -7390,0,2,2,100,1,5 -7400,0,2,2,100,1,5 -7410,0,2,2,100,1,5 -7420,0,2,2,100,1,5 -7430,0,2,2,100,1,5 -7440,0,2,2,100,1,5 -7450,0,2,2,100,1,5 -7460,0,2,2,100,1,5 -7470,0,2,2,100,1,5 -7480,0,2,2,100,1,5 -7490,0,2,2,100,1,5 -7500,0,2,2,100,1,5 -7510,0,2,2,100,1,5 -7520,0,2,2,100,1,5 -7530,0,2,2,100,1,5 -7540,0,2,2,100,1,5 -7550,0,2,2,100,1,5 -7560,0,2,2,100,1,5 -7570,0,2,2,100,1,5 -7580,0,2,2,100,1,5 -7590,0,2,2,100,1,5 -7600,0,2,2,100,1,5 -7610,0,2,2,100,1,5 -7620,0,2,2,100,1,5 -7630,0,2,2,100,1,5 -7640,0,2,2,100,1,5 -7650,0,2,2,100,1,5 -7660,0,2,2,100,1,5 -7670,0,2,2,100,1,5 -7680,0,2,2,100,1,5 -7690,0,2,2,100,1,5 -7700,0,2,2,100,1,5 -7710,0,2,2,100,1,5 -7720,0,2,2,100,1,5 -7730,0,2,2,100,1,5 -7740,0,2,2,100,1,5 -7750,0,2,2,100,1,5 -7760,0,2,2,100,1,5 -7770,0,2,2,100,1,5 -7780,0,2,2,100,1,5 -7790,0,2,2,100,1,5 -7800,0,2,2,100,1,5 -7810,0,2,2,100,1,5 -7820,0,2,2,100,1,5 -7830,0,2,2,100,1,5 -7840,0,2,2,100,1,5 -7850,0,2,2,100,1,5 -7860,0,2,2,100,1,5 -7870,0,2,2,100,1,5 -7880,0,2,2,100,1,5 -7890,0,2,2,100,1,5 -7900,0,2,2,100,1,5 -7910,0,2,2,100,1,5 -7920,0,2,2,100,1,5 -7930,0,2,2,100,1,5 -7940,0,2,2,100,1,5 -7950,0,2,2,100,1,5 -7960,0,2,2,100,1,5 -7970,0,2,2,100,1,5 -7980,0,2,2,100,1,5 -7990,0,2,2,100,1,5 -8000,0,2,2,100,1,5 -8010,0,2,2,100,1,5 -8020,0,2,2,100,1,5 -8030,0,2,2,100,1,5 -8040,0,2,2,100,1,5 -8050,0,2,2,100,1,5 -8060,0,2,2,100,1,5 -8070,0,2,2,100,1,5 -8080,0,2,2,100,1,5 -8090,0,2,2,100,1,5 -8100,0,2,2,100,1,5 -8110,0,2,2,100,1,5 -8120,0,2,2,100,1,5 -8130,0,2,2,100,1,5 -8140,0,2,2,100,1,5 -8150,0,2,2,100,1,5 -8160,0,2,2,100,1,5 -8170,0,2,2,100,1,5 -8180,0,2,2,100,1,5 -8190,0,2,2,100,1,5 -8200,0,2,2,100,1,5 -8210,0,2,2,100,1,5 -8220,0,2,2,100,1,5 -8230,0,2,2,100,1,5 -8240,0,2,2,100,1,5 -8250,0,2,2,100,1,5 -8260,0,2,2,100,1,5 -8270,0,2,2,100,1,5 -8280,0,2,2,100,1,5 -8290,0,2,2,100,1,5 -8300,0,2,2,100,1,5 -8310,0,2,2,100,1,5 -8320,0,2,2,100,1,5 -8330,0,2,2,100,1,5 -8340,0,2,2,100,1,5 -8350,0,2,2,100,1,5 -8360,0,2,2,100,1,5 -8370,0,2,2,100,1,5 -8380,0,2,2,100,1,5 -8390,0,2,2,100,1,5 -8400,0,2,2,100,1,5 -8410,0,2,2,100,1,5 -8420,0,2,2,100,1,5 -8430,0,2,2,100,1,5 -8440,0,2,2,100,1,5 -8450,0,2,2,100,1,5 -8460,0,2,2,100,1,5 -8470,0,2,2,100,1,5 -8480,0,2,2,100,1,5 -8490,0,2,2,100,1,5 -8500,0,2,2,100,1,5 -8510,0,2,2,100,1,5 -8520,0,2,2,100,1,5 -8530,0,2,2,100,1,5 -8540,0,2,2,100,1,5 -8550,0,2,2,100,1,5 -8560,0,2,2,100,1,5 -8570,0,2,2,100,1,5 -8580,0,2,2,100,1,5 -8590,0,2,2,100,1,5 -8600,0,2,2,100,1,5 -8610,0,2,2,100,1,5 -8620,0,2,2,100,1,5 -8630,0,2,2,100,1,5 -8640,0,2,2,100,1,5 -8650,0,2,2,100,1,5 -8660,0,2,2,100,1,5 -8670,0,2,2,100,1,5 -8680,0,2,2,100,1,5 -8690,0,2,2,100,1,5 -8700,0,2,2,100,1,5 -8710,0,2,2,100,1,5 -8720,0,2,2,100,1,5 -8730,0,2,2,100,1,5 -8740,0,2,2,100,1,5 -8750,0,2,2,100,1,5 -8760,0,2,2,100,1,5 -8770,0,2,2,100,1,5 -8780,0,2,2,100,1,5 -8790,0,2,2,100,1,5 -8800,0,2,2,100,1,5 -8810,0,2,2,100,1,5 -8820,0,2,2,100,1,5 -8830,0,2,2,100,1,5 -8840,0,2,2,100,1,5 -8850,0,2,2,100,1,5 -8860,0,2,2,100,1,5 -8870,0,2,2,100,1,5 -8880,0,2,2,100,1,5 -8890,0,2,2,100,1,5 -8900,0,2,2,100,1,5 -8910,0,2,2,100,1,5 -8920,0,2,2,100,1,5 -8930,0,2,2,100,1,5 -8940,0,2,2,100,1,5 -8950,0,2,2,100,1,5 -8960,0,2,2,100,1,5 -8970,0,2,2,100,1,5 -8980,0,2,2,100,1,5 -8990,0,2,2,100,1,5 -9000,0,2,2,100,1,5 -9010,0,2,2,100,1,5 -9020,0,2,2,100,1,5 -9030,0,2,2,100,1,5 -9040,0,2,2,100,1,5 -9050,0,2,2,100,1,5 -9060,0,2,2,100,1,5 -9070,0,2,2,100,1,5 -9080,0,2,2,100,1,5 -9090,0,2,2,100,1,5 -9100,0,2,2,100,1,5 -9110,0,2,2,100,1,5 -9120,0,2,2,100,1,5 -9130,0,2,2,100,1,5 -9140,0,2,2,100,1,5 -9150,0,2,2,100,1,5 -9160,0,2,2,100,1,5 -9170,0,2,2,100,1,5 -9180,0,2,2,100,1,5 -9190,0,2,2,100,1,5 -9200,0,2,2,100,1,5 -9210,0,2,2,100,1,5 -9220,0,2,2,100,1,5 -9230,0,2,2,100,1,5 -9240,0,2,2,100,1,5 -9250,0,2,2,100,1,5 -9260,0,2,2,100,1,5 -9270,0,2,2,100,1,5 -9280,0,2,2,100,1,5 -9290,0,2,2,100,1,5 -9300,0,2,2,100,1,5 -9310,0,2,2,100,1,5 -9320,0,2,2,100,1,5 -9330,0,2,2,100,1,5 -9340,0,2,2,100,1,5 -9350,0,2,2,100,1,5 -9360,0,2,2,100,1,5 -9370,0,2,2,100,1,5 -9380,0,2,2,100,1,5 -9390,0,2,2,100,1,5 -9400,0,2,2,100,1,5 -9410,0,2,2,100,1,5 -9420,0,2,2,100,1,5 -9430,0,2,2,100,1,5 -9440,0,2,2,100,1,5 -9450,0,2,2,100,1,5 -9460,0,2,2,100,1,5 -9470,0,2,2,100,1,5 -9480,0,2,2,100,1,5 -9490,0,2,2,100,1,5 -9500,0,2,2,100,1,5 -9510,0,2,2,100,1,5 -9520,0,2,2,100,1,5 -9530,0,2,2,100,1,5 -9540,0,2,2,100,1,5 -9550,0,2,2,100,1,5 -9560,0,2,2,100,1,5 -9570,0,2,2,100,1,5 -9580,0,2,2,100,1,5 -9590,0,2,2,100,1,5 -9600,0,2,2,100,1,5 -9610,0,2,2,100,1,5 -9620,0,2,2,100,1,5 -9630,0,2,2,100,1,5 -9640,0,2,2,100,1,5 -9650,0,2,2,100,1,5 -9660,0,2,2,100,1,5 -9670,0,2,2,100,1,5 -9680,0,2,2,100,1,5 -9690,0,2,2,100,1,5 -9700,0,2,2,100,1,5 -9710,0,2,2,100,1,5 -9720,0,2,2,100,1,5 -9730,0,2,2,100,1,5 -9740,0,2,2,100,1,5 -9750,0,2,2,100,1,5 -9760,0,2,2,100,1,5 -9770,0,2,2,100,1,5 -9780,0,2,2,100,1,5 -9790,0,2,2,100,1,5 -9800,0,2,2,100,1,5 -9810,0,2,2,100,1,5 -9820,0,2,2,100,1,5 -9830,0,2,2,100,1,5 -9840,0,2,2,100,1,5 -9850,0,2,2,100,1,5 -9860,0,2,2,100,1,5 -9870,0,2,2,100,1,5 -9880,0,2,2,100,1,5 -9890,0,2,2,100,1,5 -9900,0,2,2,100,1,5 -9910,0,2,2,100,1,5 -9920,0,2,2,100,1,5 -9930,0,2,2,100,1,5 -9940,0,2,2,100,1,5 -9950,0,2,2,100,1,5 -9960,0,2,2,100,1,5 -9970,0,2,2,100,1,5 -9980,0,2,2,100,1,5 -9990,0,2,2,100,1,5 -10000,0,2,2,100,1,5 -10010,0,2,2,100,1,5 -10020,0,2,2,100,1,5 -10030,0,2,2,100,1,5 -10040,0,2,2,100,1,5 -10050,0,2,2,100,1,5 -10060,0,2,2,100,1,5 -10070,0,2,2,100,1,5 -10080,0,2,2,100,1,5 -10090,0,2,2,100,1,5 -10100,0,2,2,100,1,5 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210120_fat.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210120_fat.csv deleted file mode 100644 index 832aa45..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210120_fat.csv +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,0,0.5,0.5,1,1,5 -10,0,0.5,0.5,1,1,5 -20,0,0.5,0.5,1,1,5 -30,0,0.5,0.5,1,1,5 -40,0,0.5,0.5,1,1,5 -50,0,0.5,0.5,1,1,5 -60,0,0.5,0.5,1,1,5 -70,0,0.5,0.5,1,1,5 -80,0,0.5,0.5,1,1,5 -90,0,0.5,0.5,1,1,5 -100,0,0.5,0.5,1,1,5 -110,0,0.5,0.5,1,1,5 -120,0,0.5,0.5,1,1,5 -130,0,0.5,0.5,1,1,5 -140,0,0.5,0.5,1,1,5 -150,0,0.5,0.5,1,1,5 -160,0,0.5,0.5,1,1,5 -170,0,0.5,0.5,1,1,5 -180,0,0.5,0.5,1,1,5 -190,0,0.5,0.5,1,1,5 -200,0,0.5,0.5,1,1,5 -210,0,0.5,0.5,1,1,5 -220,0,0.5,0.5,1,1,5 -230,0,0.5,0.5,1,1,5 -240,0,0.5,0.5,1,1,5 -250,0,0.5,0.5,1,1,5 -260,0,0.5,0.5,1,1,5 -270,0,0.5,0.5,1,1,5 -280,0,0.5,0.5,1,1,5 -290,0,0.5,0.5,1,1,5 -300,0,0.5,0.5,1,1,5 -310,0,0.5,0.5,1,1,5 -320,0,0.5,0.5,1,1,5 -330,0,0.5,0.5,1,1,5 -340,0,0.5,0.5,1,1,5 -350,0,0.5,0.5,1,1,5 -360,0,0.5,0.5,1,1,5 -370,0,0.5,0.5,1,1,5 -380,0,0.5,0.5,1,1,5 -390,0,0.5,0.5,1,1,5 -400,0,0.5,0.5,1,1,5 -410,0,0.5,0.5,1,1,5 -420,0,0.5,0.5,1,1,5 -430,0,0.5,0.5,1,1,5 -440,0,0.5,0.5,1,1,5 -450,0,0.5,0.5,1,1,5 -460,0,0.5,0.5,1,1,5 -470,0,0.5,0.5,1,1,5 -480,0,0.5,0.5,1,1,5 -490,0,0.5,0.5,1,1,5 -500,0,0.5,0.5,1,1,5 -510,0,0.5,0.5,1,1,5 -520,0,0.5,0.5,1,1,5 -530,0,0.5,0.5,1,1,5 -540,0,0.5,0.5,1,1,5 -550,0,0.5,0.5,1,1,5 -560,0,0.5,0.5,1,1,5 -570,0,0.5,0.5,1,1,5 -580,0,0.5,0.5,1,1,5 -590,0,0.5,0.5,1,1,5 -600,0,0.5,0.5,1,1,5 -610,0,0.5,0.5,1,1,5 -620,0,0.5,0.5,1,1,5 -630,0,0.5,0.5,1,1,5 -640,0,0.5,0.5,1,1,5 -650,0,0.5,0.5,1,1,5 -660,0,0.5,0.5,1,1,5 -670,0,0.5,0.5,1,1,5 -680,0,0.5,0.5,1,1,5 -690,0,0.5,0.5,1,1,5 -700,0,0.5,0.5,1,1,5 -710,0,0.5,0.5,1,1,5 -720,0,0.5,0.5,1,1,5 -730,0,0.5,0.5,1,1,5 -740,0,0.5,0.5,1,1,5 -750,0,0.5,0.5,1,1,5 -760,0,0.5,0.5,1,1,5 -770,0,0.5,0.5,1,1,5 -780,0,0.5,0.5,1,1,5 -790,0,0.5,0.5,1,1,5 -800,0,0.5,0.5,1,1,5 -810,0,0.5,0.5,1,1,5 -820,0,0.5,0.5,1,1,5 -830,0,0.5,0.5,1,1,5 -840,0,0.5,0.5,1,1,5 -850,0,0.5,0.5,1,1,5 -860,0,0.5,0.5,1,1,5 -870,0,0.5,0.5,1,1,5 -880,0,0.5,0.5,1,1,5 -890,0,0.5,0.5,1,1,5 -900,0,0.5,0.5,1,1,5 -910,0,0.5,0.5,1,1,5 -920,0,0.5,0.5,1,1,5 -930,0,0.5,0.5,1,1,5 -940,0,0.5,0.5,1,1,5 -950,0,0.5,0.5,1,1,5 -960,0,0.5,0.5,1,1,5 -970,0,0.5,0.5,1,1,5 -980,0,0.5,0.5,1,1,5 -990,0,0.5,0.5,1,1,5 -1000,0,0.5,0.5,1,1,5 -1010,0,1,1,1,1,5 -1020,0,1,1,1,1,5 -1030,0,1,1,1,1,5 -1040,0,1,1,1,1,5 -1050,0,1,1,1,1,5 -1060,0,1,1,1,1,5 -1070,0,1,1,1,1,5 -1080,0,1,1,1,1,5 -1090,0,1,1,1,1,5 -1100,0,1,1,1,1,5 -1110,0,1,1,1,1,5 -1120,0,1,1,1,1,5 -1130,0,1,1,1,1,5 -1140,0,1,1,1,1,5 -1150,0,1,1,1,1,5 -1160,0,1,1,1,1,5 -1170,0,1,1,1,1,5 -1180,0,1,1,1,1,5 -1190,0,1,1,1,1,5 -1200,0,1,1,1,1,5 -1210,0,1,1,1,1,5 -1220,0,1,1,1,1,5 -1230,0,1,1,1,1,5 -1240,0,1,1,1,1,5 -1250,0,1,1,1,1,5 -1260,0,1,1,1,1,5 -1270,0,1,1,1,1,5 -1280,0,1,1,1,1,5 -1290,0,1,1,1,1,5 -1300,0,1,1,1,1,5 -1310,0,1,1,1,1,5 -1320,0,1,1,1,1,5 -1330,0,1,1,1,1,5 -1340,0,1,1,1,1,5 -1350,0,1,1,1,1,5 -1360,0,1,1,1,1,5 -1370,0,1,1,1,1,5 -1380,0,1,1,1,1,5 -1390,0,1,1,1,1,5 -1400,0,1,1,1,1,5 -1410,0,1,1,1,1,5 -1420,0,1,1,1,1,5 -1430,0,1,1,1,1,5 -1440,0,1,1,1,1,5 -1450,0,1,1,1,1,5 -1460,0,1,1,1,1,5 -1470,0,1,1,1,1,5 -1480,0,1,1,1,1,5 -1490,0,1,1,1,1,5 -1500,0,1,1,1,1,5 -1510,0,1,1,1,1,5 -1520,0,1,1,1,1,5 -1530,0,1,1,1,1,5 -1540,0,1,1,1,1,5 -1550,0,1,1,1,1,5 -1560,0,1,1,1,1,5 -1570,0,1,1,1,1,5 -1580,0,1,1,1,1,5 -1590,0,1,1,1,1,5 -1600,0,1,1,1,1,5 -1610,0,1,1,1,1,5 -1620,0,1,1,1,1,5 -1630,0,1,1,1,1,5 -1640,0,1,1,1,1,5 -1650,0,1,1,1,1,5 -1660,0,1,1,1,1,5 -1670,0,1,1,1,1,5 -1680,0,1,1,1,1,5 -1690,0,1,1,1,1,5 -1700,0,1,1,1,1,5 -1710,0,1,1,1,1,5 -1720,0,1,1,1,1,5 -1730,0,1,1,1,1,5 -1740,0,1,1,1,1,5 -1750,0,1,1,1,1,5 -1760,0,1,1,1,1,5 -1770,0,1,1,1,1,5 -1780,0,1,1,1,1,5 -1790,0,1,1,1,1,5 -1800,0,1,1,1,1,5 -1810,0,1,1,1,1,5 -1820,0,1,1,1,1,5 -1830,0,1,1,1,1,5 -1840,0,1,1,1,1,5 -1850,0,1,1,1,1,5 -1860,0,1,1,1,1,5 -1870,0,1,1,1,1,5 -1880,0,1,1,1,1,5 -1890,0,1,1,1,1,5 -1900,0,1,1,1,1,5 -1910,0,1,1,1,1,5 -1920,0,1,1,1,1,5 -1930,0,1,1,1,1,5 -1940,0,1,1,1,1,5 -1950,0,1,1,1,1,5 -1960,0,1,1,1,1,5 -1970,0,1,1,1,1,5 -1980,0,1,1,1,1,5 -1990,0,1,1,1,1,5 -2000,0,1,1,1,1,5 -2010,0,1,1,1,1,5 -2020,0,1,1,1,1,5 -2030,0,1,1,1,1,5 -2040,0,1,1,1,1,5 -2050,0,1,1,1,1,5 -2060,0,1,1,1,1,5 -2070,0,1,1,1,1,5 -2080,0,1,1,1,1,5 -2090,0,1,1,1,1,5 -2100,0,1,1,1,1,5 -2110,0,1,1,1,1,5 -2120,0,1,1,1,1,5 -2130,0,1,1,1,1,5 -2140,0,1,1,1,1,5 -2150,0,1,1,1,1,5 -2160,0,1,1,1,1,5 -2170,0,1,1,1,1,5 -2180,0,1,1,1,1,5 -2190,0,1,1,1,1,5 -2200,0,1,1,1,1,5 -2210,0,1,1,1,1,5 -2220,0,1,1,1,1,5 -2230,0,1,1,1,1,5 -2240,0,1,1,1,1,5 -2250,0,1,1,1,1,5 -2260,0,1,1,1,1,5 -2270,0,1,1,1,1,5 -2280,0,1,1,1,1,5 -2290,0,1,1,1,1,5 -2300,0,1,1,1,1,5 -2310,0,1,1,1,1,5 -2320,0,1,1,1,1,5 -2330,0,1,1,1,1,5 -2340,0,1,1,1,1,5 -2350,0,1,1,1,1,5 -2360,0,1,1,1,1,5 -2370,0,1,1,1,1,5 -2380,0,1,1,1,1,5 -2390,0,1,1,1,1,5 -2400,0,1,1,1,1,5 -2410,0,1,1,1,1,5 -2420,0,1,1,1,1,5 -2430,0,1,1,1,1,5 -2440,0,1,1,1,1,5 -2450,0,1,1,1,1,5 -2460,0,1,1,1,1,5 -2470,0,1,1,1,1,5 -2480,0,1,1,1,1,5 -2490,0,1,1,1,1,5 -2500,0,1,1,1,1,5 -2510,0,1,1,1,1,5 -2520,0,1,1,1,1,5 -2530,0,1,1,1,1,5 -2540,0,1,1,1,1,5 -2550,0,1,1,1,1,5 -2560,0,1,1,1,1,5 -2570,0,1,1,1,1,5 -2580,0,1,1,1,1,5 -2590,0,1,1,1,1,5 -2600,0,1,1,1,1,5 -2610,0,1,1,1,1,5 -2620,0,1,1,1,1,5 -2630,0,1,1,1,1,5 -2640,0,1,1,1,1,5 -2650,0,1,1,1,1,5 -2660,0,1,1,1,1,5 -2670,0,1,1,1,1,5 -2680,0,1,1,1,1,5 -2690,0,1,1,1,1,5 -2700,0,1,1,1,1,5 -2710,0,1,1,1,1,5 -2720,0,1,1,1,1,5 -2730,0,1,1,1,1,5 -2740,0,1,1,1,1,5 -2750,0,1,1,1,1,5 -2760,0,1,1,1,1,5 -2770,0,1,1,1,1,5 -2780,0,1,1,1,1,5 -2790,0,1,1,1,1,5 -2800,0,1,1,1,1,5 -2810,0,1,1,1,1,5 -2820,0,1,1,1,1,5 -2830,0,1,1,1,1,5 -2840,0,1,1,1,1,5 -2850,0,1,1,1,1,5 -2860,0,1,1,1,1,5 -2870,0,1,1,1,1,5 -2880,0,1,1,1,1,5 -2890,0,1,1,1,1,5 -2900,0,1,1,1,1,5 -2910,0,1,1,1,1,5 -2920,0,1,1,1,1,5 -2930,0,1,1,1,1,5 -2940,0,1,1,1,1,5 -2950,0,1,1,1,1,5 -2960,0,1,1,1,1,5 -2970,0,1,1,1,1,5 -2980,0,1,1,1,1,5 -2990,0,1,1,1,1,5 -3000,0,1,1,1,1,5 -3010,0,1,1,1,1,5 -3020,0,1,1,1,1,5 -3030,0,1,1,1,1,5 -3040,0,1,1,1,1,5 -3050,0,1,1,1,1,5 -3060,0,1,1,1,1,5 -3070,0,1,1,1,1,5 -3080,0,1,1,1,1,5 -3090,0,1,1,1,1,5 -3100,0,1,1,1,1,5 -3110,0,1,1,1,1,5 -3120,0,1,1,1,1,5 -3130,0,1,1,1,1,5 -3140,0,1,1,1,1,5 -3150,0,1,1,1,1,5 -3160,0,1,1,1,1,5 -3170,0,1,1,1,1,5 -3180,0,1,1,1,1,5 -3190,0,1,1,1,1,5 -3200,0,1,1,1,1,5 -3210,0,1,1,1,1,5 -3220,0,1,1,1,1,5 -3230,0,1,1,1,1,5 -3240,0,1,1,1,1,5 -3250,0,1,1,1,1,5 -3260,0,1,1,1,1,5 -3270,0,1,1,1,1,5 -3280,0,1,1,1,1,5 -3290,0,1,1,1,1,5 -3300,0,1,1,1,1,5 -3310,0,1,1,1,1,5 -3320,0,1,1,1,1,5 -3330,0,1,1,1,1,5 -3340,0,1,1,1,1,5 -3350,0,1,1,1,1,5 -3360,0,1,1,1,1,5 -3370,0,1,1,1,1,5 -3380,0,1,1,1,1,5 -3390,0,1,1,1,1,5 -3400,0,1,1,1,1,5 -3410,0,1,1,1,1,5 -3420,0,1,1,1,1,5 -3430,0,1,1,1,1,5 -3440,0,1,1,1,1,5 -3450,0,1,1,1,1,5 -3460,0,1,1,1,1,5 -3470,0,1,1,1,1,5 -3480,0,1,1,1,1,5 -3490,0,1,1,1,1,5 -3500,0,1,1,1,1,5 -3510,0,1,1,1,1,5 -3520,0,1,1,1,1,5 -3530,0,1,1,1,1,5 -3540,0,1,1,1,1,5 -3550,0,1,1,1,1,5 -3560,0,1,1,1,1,5 -3570,0,1,1,1,1,5 -3580,0,1,1,1,1,5 -3590,0,1,1,1,1,5 -3600,0,1,1,1,1,5 -3610,0,1,1,1,1,5 -3620,0,1,1,1,1,5 -3630,0,1,1,1,1,5 -3640,0,1,1,1,1,5 -3650,0,1,1,1,1,5 -3660,0,1,1,1,1,5 -3670,0,1,1,1,1,5 -3680,0,1,1,1,1,5 -3690,0,1,1,1,1,5 -3700,0,1,1,1,1,5 -3710,0,1,1,1,1,5 -3720,0,1,1,1,1,5 -3730,0,1,1,1,1,5 -3740,0,1,1,1,1,5 -3750,0,1,1,1,1,5 -3760,0,1,1,1,1,5 -3770,0,1,1,1,1,5 -3780,0,1,1,1,1,5 -3790,0,1,1,1,1,5 -3800,0,1,1,1,1,5 -3810,0,1,1,1,1,5 -3820,0,1,1,1,1,5 -3830,0,1,1,1,1,5 -3840,0,1,1,1,1,5 -3850,0,1,1,1,1,5 -3860,0,1,1,1,1,5 -3870,0,1,1,1,1,5 -3880,0,1,1,1,1,5 -3890,0,1,1,1,1,5 -3900,0,1,1,1,1,5 -3910,0,1,1,1,1,5 -3920,0,1,1,1,1,5 -3930,0,1,1,1,1,5 -3940,0,1,1,1,1,5 -3950,0,1,1,1,1,5 -3960,0,1,1,1,1,5 -3970,0,1,1,1,1,5 -3980,0,1,1,1,1,5 -3990,0,1,1,1,1,5 -4000,0,1,1,1,1,5 -4010,0,1,1,1,1,5 -4020,0,1,1,1,1,5 -4030,0,1,1,1,1,5 -4040,0,1,1,1,1,5 -4050,0,1,1,1,1,5 -4060,0,1,1,1,1,5 -4070,0,1,1,1,1,5 -4080,0,1,1,1,1,5 -4090,0,1,1,1,1,5 -4100,0,1,1,1,1,5 -4110,0,1,1,1,1,5 -4120,0,1,1,1,1,5 -4130,0,1,1,1,1,5 -4140,0,1,1,1,1,5 -4150,0,1,1,1,1,5 -4160,0,1,1,1,1,5 -4170,0,1,1,1,1,5 -4180,0,1,1,1,1,5 -4190,0,1,1,1,1,5 -4200,0,1,1,1,1,5 -4210,0,1,1,1,1,5 -4220,0,1,1,1,1,5 -4230,0,1,1,1,1,5 -4240,0,1,1,1,1,5 -4250,0,1,1,1,1,5 -4260,0,1,1,1,1,5 -4270,0,1,1,1,1,5 -4280,0,1,1,1,1,5 -4290,0,1,1,1,1,5 -4300,0,1,1,1,1,5 -4310,0,1,1,1,1,5 -4320,0,1,1,1,1,5 -4330,0,1,1,1,1,5 -4340,0,1,1,1,1,5 -4350,0,1,1,1,1,5 -4360,0,1,1,1,1,5 -4370,0,1,1,1,1,5 -4380,0,1,1,1,1,5 -4390,0,1,1,1,1,5 -4400,0,1,1,1,1,5 -4410,0,1,1,1,1,5 -4420,0,1,1,1,1,5 -4430,0,1,1,1,1,5 -4440,0,1,1,1,1,5 -4450,0,1,1,1,1,5 -4460,0,1,1,1,1,5 -4470,0,1,1,1,1,5 -4480,0,1,1,1,1,5 -4490,0,1,1,1,1,5 -4500,0,1,1,1,1,5 -4510,0,1,1,1,1,5 -4520,0,1,1,1,1,5 -4530,0,1,1,1,1,5 -4540,0,1,1,1,1,5 -4550,0,1,1,1,1,5 -4560,0,1,1,1,1,5 -4570,0,1,1,1,1,5 -4580,0,1,1,1,1,5 -4590,0,1,1,1,1,5 -4600,0,1,1,1,1,5 -4610,0,1,1,1,1,5 -4620,0,1,1,1,1,5 -4630,0,1,1,1,1,5 -4640,0,1,1,1,1,5 -4650,0,1,1,1,1,5 -4660,0,1,1,1,1,5 -4670,0,1,1,1,1,5 -4680,0,1,1,1,1,5 -4690,0,1,1,1,1,5 -4700,0,1,1,1,1,5 -4710,0,1,1,1,1,5 -4720,0,1,1,1,1,5 -4730,0,1,1,1,1,5 -4740,0,1,1,1,1,5 -4750,0,1,1,1,1,5 -4760,0,1,1,1,1,5 -4770,0,1,1,1,1,5 -4780,0,1,1,1,1,5 -4790,0,1,1,1,1,5 -4800,0,1,1,1,1,5 -4810,0,1,1,1,1,5 -4820,0,1,1,1,1,5 -4830,0,1,1,1,1,5 -4840,0,1,1,1,1,5 -4850,0,1,1,1,1,5 -4860,0,1,1,1,1,5 -4870,0,1,1,1,1,5 -4880,0,1,1,1,1,5 -4890,0,1,1,1,1,5 -4900,0,1,1,1,1,5 -4910,0,1,1,1,1,5 -4920,0,1,1,1,1,5 -4930,0,1,1,1,1,5 -4940,0,1,1,1,1,5 -4950,0,1,1,1,1,5 -4960,0,1,1,1,1,5 -4970,0,1,1,1,1,5 -4980,0,1,1,1,1,5 -4990,0,1,1,1,1,5 -5000,0,2,2,1,1,5 -5010,0,2,2,1,1,5 -5020,0,2,2,1,1,5 -5030,0,2,2,1,1,5 -5040,0,2,2,1,1,5 -5050,0,2,2,1,1,5 -5060,0,2,2,1,1,5 -5070,0,2,2,1,1,5 -5080,0,2,2,1,1,5 -5090,0,2,2,1,1,5 -5100,0,2,2,1,1,5 -5110,0,2,2,1,1,5 -5120,0,2,2,1,1,5 -5130,0,2,2,1,1,5 -5140,0,2,2,1,1,5 -5150,0,2,2,1,1,5 -5160,0,2,2,1,1,5 -5170,0,2,2,1,1,5 -5180,0,2,2,1,1,5 -5190,0,2,2,1,1,5 -5200,0,2,2,1,1,5 -5210,0,2,2,1,1,5 -5220,0,2,2,1,1,5 -5230,0,2,2,1,1,5 -5240,0,2,2,1,1,5 -5250,0,2,2,1,1,5 -5260,0,2,2,1,1,5 -5270,0,2,2,1,1,5 -5280,0,2,2,1,1,5 -5290,0,2,2,1,1,5 -5300,0,2,2,1,1,5 -5310,0,2,2,1,1,5 -5320,0,2,2,1,1,5 -5330,0,2,2,1,1,5 -5340,0,2,2,1,1,5 -5350,0,2,2,1,1,5 -5360,0,2,2,1,1,5 -5370,0,2,2,1,1,5 -5380,0,2,2,1,1,5 -5390,0,2,2,1,1,5 -5400,0,2,2,1,1,5 -5410,0,2,2,1,1,5 -5420,0,2,2,1,1,5 -5430,0,2,2,1,1,5 -5440,0,2,2,1,1,5 -5450,0,2,2,1,1,5 -5460,0,2,2,1,1,5 -5470,0,2,2,1,1,5 -5480,0,2,2,1,1,5 -5490,0,2,2,1,1,5 -5500,0,2,2,1,1,5 -5510,0,2,2,1,1,5 -5520,0,2,2,1,1,5 -5530,0,2,2,1,1,5 -5540,0,2,2,1,1,5 -5550,0,2,2,1,1,5 -5560,0,2,2,1,1,5 -5570,0,2,2,1,1,5 -5580,0,2,2,1,1,5 -5590,0,2,2,1,1,5 -5600,0,2,2,1,1,5 -5610,0,2,2,1,1,5 -5620,0,2,2,1,1,5 -5630,0,2,2,1,1,5 -5640,0,2,2,1,1,5 -5650,0,2,2,1,1,5 -5660,0,2,2,1,1,5 -5670,0,2,2,1,1,5 -5680,0,2,2,1,1,5 -5690,0,2,2,1,1,5 -5700,0,2,2,1,1,5 -5710,0,2,2,1,1,5 -5720,0,2,2,1,1,5 -5730,0,2,2,1,1,5 -5740,0,2,2,1,1,5 -5750,0,2,2,1,1,5 -5760,0,2,2,1,1,5 -5770,0,2,2,1,1,5 -5780,0,2,2,1,1,5 -5790,0,2,2,1,1,5 -5800,0,2,2,1,1,5 -5810,0,2,2,1,1,5 -5820,0,2,2,1,1,5 -5830,0,2,2,1,1,5 -5840,0,2,2,1,1,5 -5850,0,2,2,1,1,5 -5860,0,2,2,1,1,5 -5870,0,2,2,1,1,5 -5880,0,2,2,1,1,5 -5890,0,2,2,1,1,5 -5900,0,2,2,1,1,5 -5910,0,2,2,1,1,5 -5920,0,2,2,1,1,5 -5930,0,2,2,1,1,5 -5940,0,2,2,1,1,5 -5950,0,2,2,1,1,5 -5960,0,2,2,1,1,5 -5970,0,2,2,1,1,5 -5980,0,2,2,1,1,5 -5990,0,2,2,1,1,5 -6000,0,2,2,1,1,5 -6010,0,2,2,1,1,5 -6020,0,2,2,1,1,5 -6030,0,2,2,1,1,5 -6040,0,2,2,1,1,5 -6050,0,2,2,1,1,5 -6060,0,2,2,1,1,5 -6070,0,2,2,1,1,5 -6080,0,2,2,1,1,5 -6090,0,2,2,1,1,5 -6100,0,2,2,1,1,5 -6110,0,2,2,1,1,5 -6120,0,2,2,1,1,5 -6130,0,2,2,1,1,5 -6140,0,2,2,1,1,5 -6150,0,2,2,1,1,5 -6160,0,2,2,1,1,5 -6170,0,2,2,1,1,5 -6180,0,2,2,1,1,5 -6190,0,2,2,1,1,5 -6200,0,2,2,1,1,5 -6210,0,2,2,1,1,5 -6220,0,2,2,1,1,5 -6230,0,2,2,1,1,5 -6240,0,2,2,1,1,5 -6250,0,2,2,1,1,5 -6260,0,2,2,1,1,5 -6270,0,2,2,1,1,5 -6280,0,2,2,1,1,5 -6290,0,2,2,1,1,5 -6300,0,2,2,1,1,5 -6310,0,2,2,1,1,5 -6320,0,2,2,1,1,5 -6330,0,2,2,1,1,5 -6340,0,2,2,1,1,5 -6350,0,2,2,1,1,5 -6360,0,2,2,1,1,5 -6370,0,2,2,1,1,5 -6380,0,2,2,1,1,5 -6390,0,2,2,1,1,5 -6400,0,2,2,1,1,5 -6410,0,2,2,1,1,5 -6420,0,2,2,1,1,5 -6430,0,2,2,1,1,5 -6440,0,2,2,1,1,5 -6450,0,2,2,1,1,5 -6460,0,2,2,1,1,5 -6470,0,2,2,1,1,5 -6480,0,2,2,1,1,5 -6490,0,2,2,1,1,5 -6500,0,2,2,1,1,5 -6510,0,2,2,1,1,5 -6520,0,2,2,1,1,5 -6530,0,2,2,1,1,5 -6540,0,2,2,1,1,5 -6550,0,2,2,1,1,5 -6560,0,2,2,1,1,5 -6570,0,2,2,1,1,5 -6580,0,2,2,1,1,5 -6590,0,2,2,1,1,5 -6600,0,2,2,1,1,5 -6610,0,2,2,1,1,5 -6620,0,2,2,1,1,5 -6630,0,2,2,1,1,5 -6640,0,2,2,1,1,5 -6650,0,2,2,1,1,5 -6660,0,2,2,1,1,5 -6670,0,2,2,1,1,5 -6680,0,2,2,1,1,5 -6690,0,2,2,1,1,5 -6700,0,2,2,1,1,5 -6710,0,2,2,1,1,5 -6720,0,2,2,1,1,5 -6730,0,2,2,1,1,5 -6740,0,2,2,1,1,5 -6750,0,2,2,1,1,5 -6760,0,2,2,1,1,5 -6770,0,2,2,1,1,5 -6780,0,2,2,1,1,5 -6790,0,2,2,1,1,5 -6800,0,2,2,1,1,5 -6810,0,2,2,1,1,5 -6820,0,2,2,1,1,5 -6830,0,2,2,1,1,5 -6840,0,2,2,1,1,5 -6850,0,2,2,1,1,5 -6860,0,2,2,1,1,5 -6870,0,2,2,1,1,5 -6880,0,2,2,1,1,5 -6890,0,2,2,1,1,5 -6900,0,2,2,1,1,5 -6910,0,2,2,1,1,5 -6920,0,2,2,1,1,5 -6930,0,2,2,1,1,5 -6940,0,2,2,1,1,5 -6950,0,2,2,1,1,5 -6960,0,2,2,1,1,5 -6970,0,2,2,1,1,5 -6980,0,2,2,1,1,5 -6990,0,2,2,1,1,5 -7000,0,2,2,1,1,5 -7010,0,2,2,1,1,5 -7020,0,2,2,1,1,5 -7030,0,2,2,1,1,5 -7040,0,2,2,1,1,5 -7050,0,2,2,1,1,5 -7060,0,2,2,1,1,5 -7070,0,2,2,1,1,5 -7080,0,2,2,1,1,5 -7090,0,2,2,1,1,5 -7100,0,2,2,1,1,5 -7110,0,2,2,1,1,5 -7120,0,2,2,1,1,5 -7130,0,2,2,1,1,5 -7140,0,2,2,1,1,5 -7150,0,2,2,1,1,5 -7160,0,2,2,1,1,5 -7170,0,2,2,1,1,5 -7180,0,2,2,1,1,5 -7190,0,2,2,1,1,5 -7200,0,2,2,1,1,5 -7210,0,2,2,1,1,5 -7220,0,2,2,1,1,5 -7230,0,2,2,1,1,5 -7240,0,2,2,1,1,5 -7250,0,2,2,1,1,5 -7260,0,2,2,1,1,5 -7270,0,2,2,1,1,5 -7280,0,2,2,1,1,5 -7290,0,2,2,1,1,5 -7300,0,2,2,1,1,5 -7310,0,2,2,1,1,5 -7320,0,2,2,1,1,5 -7330,0,2,2,1,1,5 -7340,0,2,2,1,1,5 -7350,0,2,2,1,1,5 -7360,0,2,2,1,1,5 -7370,0,2,2,1,1,5 -7380,0,2,2,1,1,5 -7390,0,2,2,1,1,5 -7400,0,2,2,1,1,5 -7410,0,2,2,1,1,5 -7420,0,2,2,1,1,5 -7430,0,2,2,1,1,5 -7440,0,2,2,1,1,5 -7450,0,2,2,1,1,5 -7460,0,2,2,1,1,5 -7470,0,2,2,1,1,5 -7480,0,2,2,1,1,5 -7490,0,2,2,1,1,5 -7500,0,2,2,1,1,5 -7510,0,2,2,1,1,5 -7520,0,2,2,1,1,5 -7530,0,2,2,1,1,5 -7540,0,2,2,1,1,5 -7550,0,2,2,1,1,5 -7560,0,2,2,1,1,5 -7570,0,2,2,1,1,5 -7580,0,2,2,1,1,5 -7590,0,2,2,1,1,5 -7600,0,2,2,1,1,5 -7610,0,2,2,1,1,5 -7620,0,2,2,1,1,5 -7630,0,2,2,1,1,5 -7640,0,2,2,1,1,5 -7650,0,2,2,1,1,5 -7660,0,2,2,1,1,5 -7670,0,2,2,1,1,5 -7680,0,2,2,1,1,5 -7690,0,2,2,1,1,5 -7700,0,2,2,1,1,5 -7710,0,2,2,1,1,5 -7720,0,2,2,1,1,5 -7730,0,2,2,1,1,5 -7740,0,2,2,1,1,5 -7750,0,2,2,1,1,5 -7760,0,2,2,1,1,5 -7770,0,2,2,1,1,5 -7780,0,2,2,1,1,5 -7790,0,2,2,1,1,5 -7800,0,2,2,1,1,5 -7810,0,2,2,1,1,5 -7820,0,2,2,1,1,5 -7830,0,2,2,1,1,5 -7840,0,2,2,1,1,5 -7850,0,2,2,1,1,5 -7860,0,2,2,1,1,5 -7870,0,2,2,1,1,5 -7880,0,2,2,1,1,5 -7890,0,2,2,1,1,5 -7900,0,2,2,1,1,5 -7910,0,2,2,1,1,5 -7920,0,2,2,1,1,5 -7930,0,2,2,1,1,5 -7940,0,2,2,1,1,5 -7950,0,2,2,1,1,5 -7960,0,2,2,1,1,5 -7970,0,2,2,1,1,5 -7980,0,2,2,1,1,5 -7990,0,2,2,1,1,5 -8000,0,2,2,1,1,5 -8010,0,2,2,1,1,5 -8020,0,2,2,1,1,5 -8030,0,2,2,1,1,5 -8040,0,2,2,1,1,5 -8050,0,2,2,1,1,5 -8060,0,2,2,1,1,5 -8070,0,2,2,1,1,5 -8080,0,2,2,1,1,5 -8090,0,2,2,1,1,5 -8100,0,2,2,1,1,5 -8110,0,2,2,1,1,5 -8120,0,2,2,1,1,5 -8130,0,2,2,1,1,5 -8140,0,2,2,1,1,5 -8150,0,2,2,1,1,5 -8160,0,2,2,1,1,5 -8170,0,2,2,1,1,5 -8180,0,2,2,1,1,5 -8190,0,2,2,1,1,5 -8200,0,2,2,1,1,5 -8210,0,2,2,1,1,5 -8220,0,2,2,1,1,5 -8230,0,2,2,1,1,5 -8240,0,2,2,1,1,5 -8250,0,2,2,1,1,5 -8260,0,2,2,1,1,5 -8270,0,2,2,1,1,5 -8280,0,2,2,1,1,5 -8290,0,2,2,1,1,5 -8300,0,2,2,1,1,5 -8310,0,2,2,1,1,5 -8320,0,2,2,1,1,5 -8330,0,2,2,1,1,5 -8340,0,2,2,1,1,5 -8350,0,2,2,1,1,5 -8360,0,2,2,1,1,5 -8370,0,2,2,1,1,5 -8380,0,2,2,1,1,5 -8390,0,2,2,1,1,5 -8400,0,2,2,1,1,5 -8410,0,2,2,1,1,5 -8420,0,2,2,1,1,5 -8430,0,2,2,1,1,5 -8440,0,2,2,1,1,5 -8450,0,2,2,1,1,5 -8460,0,2,2,1,1,5 -8470,0,2,2,1,1,5 -8480,0,2,2,1,1,5 -8490,0,2,2,1,1,5 -8500,0,2,2,1,1,5 -8510,0,2,2,1,1,5 -8520,0,2,2,1,1,5 -8530,0,2,2,1,1,5 -8540,0,2,2,1,1,5 -8550,0,2,2,1,1,5 -8560,0,2,2,1,1,5 -8570,0,2,2,1,1,5 -8580,0,2,2,1,1,5 -8590,0,2,2,1,1,5 -8600,0,2,2,1,1,5 -8610,0,2,2,1,1,5 -8620,0,2,2,1,1,5 -8630,0,2,2,1,1,5 -8640,0,2,2,1,1,5 -8650,0,2,2,1,1,5 -8660,0,2,2,1,1,5 -8670,0,2,2,1,1,5 -8680,0,2,2,1,1,5 -8690,0,2,2,1,1,5 -8700,0,2,2,1,1,5 -8710,0,2,2,1,1,5 -8720,0,2,2,1,1,5 -8730,0,2,2,1,1,5 -8740,0,2,2,1,1,5 -8750,0,2,2,1,1,5 -8760,0,2,2,1,1,5 -8770,0,2,2,1,1,5 -8780,0,2,2,1,1,5 -8790,0,2,2,1,1,5 -8800,0,2,2,1,1,5 -8810,0,2,2,1,1,5 -8820,0,2,2,1,1,5 -8830,0,2,2,1,1,5 -8840,0,2,2,1,1,5 -8850,0,2,2,1,1,5 -8860,0,2,2,1,1,5 -8870,0,2,2,1,1,5 -8880,0,2,2,1,1,5 -8890,0,2,2,1,1,5 -8900,0,2,2,1,1,5 -8910,0,2,2,1,1,5 -8920,0,2,2,1,1,5 -8930,0,2,2,1,1,5 -8940,0,2,2,1,1,5 -8950,0,2,2,1,1,5 -8960,0,2,2,1,1,5 -8970,0,2,2,1,1,5 -8980,0,2,2,1,1,5 -8990,0,2,2,1,1,5 -9000,0,2,2,1,1,5 -9010,0,2,2,1,1,5 -9020,0,2,2,1,1,5 -9030,0,2,2,1,1,5 -9040,0,2,2,1,1,5 -9050,0,2,2,1,1,5 -9060,0,2,2,1,1,5 -9070,0,2,2,1,1,5 -9080,0,2,2,1,1,5 -9090,0,2,2,1,1,5 -9100,0,2,2,1,1,5 -9110,0,2,2,1,1,5 -9120,0,2,2,1,1,5 -9130,0,2,2,1,1,5 -9140,0,2,2,1,1,5 -9150,0,2,2,1,1,5 -9160,0,2,2,1,1,5 -9170,0,2,2,1,1,5 -9180,0,2,2,1,1,5 -9190,0,2,2,1,1,5 -9200,0,2,2,1,1,5 -9210,0,2,2,1,1,5 -9220,0,2,2,1,1,5 -9230,0,2,2,1,1,5 -9240,0,2,2,1,1,5 -9250,0,2,2,1,1,5 -9260,0,2,2,1,1,5 -9270,0,2,2,1,1,5 -9280,0,2,2,1,1,5 -9290,0,2,2,1,1,5 -9300,0,2,2,1,1,5 -9310,0,2,2,1,1,5 -9320,0,2,2,1,1,5 -9330,0,2,2,1,1,5 -9340,0,2,2,1,1,5 -9350,0,2,2,1,1,5 -9360,0,2,2,1,1,5 -9370,0,2,2,1,1,5 -9380,0,2,2,1,1,5 -9390,0,2,2,1,1,5 -9400,0,2,2,1,1,5 -9410,0,2,2,1,1,5 -9420,0,2,2,1,1,5 -9430,0,2,2,1,1,5 -9440,0,2,2,1,1,5 -9450,0,2,2,1,1,5 -9460,0,2,2,1,1,5 -9470,0,2,2,1,1,5 -9480,0,2,2,1,1,5 -9490,0,2,2,1,1,5 -9500,0,2,2,1,1,5 -9510,0,2,2,1,1,5 -9520,0,2,2,1,1,5 -9530,0,2,2,1,1,5 -9540,0,2,2,1,1,5 -9550,0,2,2,1,1,5 -9560,0,2,2,1,1,5 -9570,0,2,2,1,1,5 -9580,0,2,2,1,1,5 -9590,0,2,2,1,1,5 -9600,0,2,2,1,1,5 -9610,0,2,2,1,1,5 -9620,0,2,2,1,1,5 -9630,0,2,2,1,1,5 -9640,0,2,2,1,1,5 -9650,0,2,2,1,1,5 -9660,0,2,2,1,1,5 -9670,0,2,2,1,1,5 -9680,0,2,2,1,1,5 -9690,0,2,2,1,1,5 -9700,0,2,2,1,1,5 -9710,0,2,2,1,1,5 -9720,0,2,2,1,1,5 -9730,0,2,2,1,1,5 -9740,0,2,2,1,1,5 -9750,0,2,2,1,1,5 -9760,0,2,2,1,1,5 -9770,0,2,2,1,1,5 -9780,0,2,2,1,1,5 -9790,0,2,2,1,1,5 -9800,0,2,2,1,1,5 -9810,0,2,2,1,1,5 -9820,0,2,2,1,1,5 -9830,0,2,2,1,1,5 -9840,0,2,2,1,1,5 -9850,0,2,2,1,1,5 -9860,0,2,2,1,1,5 -9870,0,2,2,1,1,5 -9880,0,2,2,1,1,5 -9890,0,2,2,1,1,5 -9900,0,2,2,1,1,5 -9910,0,2,2,1,1,5 -9920,0,2,2,1,1,5 -9930,0,2,2,1,1,5 -9940,0,2,2,1,1,5 -9950,0,2,2,1,1,5 -9960,0,2,2,1,1,5 -9970,0,2,2,1,1,5 -9980,0,2,2,1,1,5 -9990,0,2,2,1,1,5 -10000,0,2,2,1,1,5 -10010,0,2,2,1,1,5 -10020,0,2,2,1,1,5 -10030,0,2,2,1,1,5 -10040,0,2,2,1,1,5 -10050,0,2,2,1,1,5 -10060,0,2,2,1,1,5 -10070,0,2,2,1,1,5 -10080,0,2,2,1,1,5 -10090,0,2,2,1,1,5 -10100,0,2,2,1,1,5 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-minus.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-minus.csv deleted file mode 100644 index 954c588..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-minus.csv +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,0,10,10,10 -10,55,40,-2,9,9,9 -20,50,35,-4,8,8,8 -30,45,30,-6,7,7,7 -40,40,25,-8,6,6,6 -50,35,20,-10,5,5,5 -60,30,15,-12,4,4,4 -70,25,10,-14,3,3,3 -80,20,5,-16,2,2,2 -90,15,0,-18,1,1,1 -100,10,-5,-20,0,0,0 -110,5,0,-22,1,1,1 -120,0,5,-20,2,2,2 -130,-5,10,-18,3,3,3 -140,0,15,-16,4,4,4 -150,5,20,-14,5,5,5 -160,10,25,-12,6,6,6 -170,15,30,-10,7,7,7 -180,20,35,-8,8,8,8 -190,25,40,-6,9,9,9 -200,30,45,-4,10,10,10 -210,35,40,-2,9,9,9 -220,40,35,0,8,8,8 -230,45,30,-2,7,7,7 -240,50,25,-4,6,6,6 -250,55,20,-6,5,5,5 -260,60,15,-8,4,4,4 -270,55,10,-10,3,3,3 -280,50,5,-12,2,2,2 -290,45,0,-14,1,1,1 -300,40,-5,-16,0,0,0 -310,35,0,-18,1,1,1 -320,30,5,-20,2,2,2 -330,25,10,-25,3,3,3 -340,20,15,-20,4,4,4 -350,15,20,-18,5,5,5 -360,10,25,-16,6,6,6 -370,5,30,-14,7,7,7 -380,0,35,-12,8,8,8 -390,-5,40,-10,9,9,9 -400,0,45,-8,10,10,10 -410,5,40,-6,9,9,9 -420,10,35,-4,8,8,8 -430,15,30,-2,7,7,7 -440,20,25,0,6,6,6 -450,25,20,-2,5,5,5 -460,30,15,-4,4,4,4 -470,35,10,-6,3,3,3 -480,40,5,-8,2,2,2 -490,45,0,-10,1,1,1 -500,50,-5,-12,0,0,0 -510,55,0,-14,1,1,1 -520,60,5,-16,2,2,2 -530,55,10,-18,3,3,3 -540,50,15,-20,4,4,4 -550,45,20,-30,5,5,5 -560,40,25,-20,6,6,6 -570,35,30,-18,7,7,7 -580,30,35,-16,8,8,8 -590,25,40,-14,9,9,9 -600,20,45,-12,10,10,10 -610,15,40,-10,9,9,9 -620,10,35,-8,8,8,8 -630,5,30,-6,7,7,7 -640,0,25,-4,6,6,6 -650,-5,20,-2,5,5,5 -660,0,15,0,4,4,4 -670,5,10,-2,3,3,3 -680,10,5,-4,2,2,2 -690,15,0,-6,1,1,1 -700,20,-5,-8,0,0,0 -710,25,0,-10,1,1,1 -720,30,5,-12,2,2,2 -730,35,10,-14,3,3,3 -740,40,15,-16,4,4,4 -750,45,20,-18,5,5,5 -760,50,25,-20,6,6,6 -770,55,30,-22,7,7,7 -780,60,35,-20,8,8,8 -790,55,40,-18,9,9,9 -800,50,45,-16,10,10,10 -810,45,40,-14,9,9,9 -820,40,35,-12,8,8,8 -830,35,30,-10,7,7,7 -840,30,25,-8,6,6,6 -850,25,20,-6,5,5,5 -860,20,15,-4,4,4,4 -870,15,10,-2,3,3,3 -880,10,5,0,2,2,2 -890,5,0,-2,1,1,1 -900,0,-5,-4,0,0,0 -910,-5,0,-6,1,1,1 -920,0,5,-8,2,2,2 -930,5,10,-10,3,3,3 -940,10,15,-12,4,4,4 -950,15,20,-14,5,5,5 -960,20,25,-16,6,6,6 -970,25,30,-18,7,7,7 -980,30,35,-20,8,8,8 -990,35,40,-22,9,9,9 -1000,40,45,-20,10,10,10 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-plus.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-plus.csv deleted file mode 100644 index 9ae00ed..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-plus.csv +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,9,9,9,9 -20,50,35,8,8,8,8 -30,45,30,7,7,7,7 -40,40,25,6,6,6,6 -50,35,20,5,5,5,5 -60,30,15,4,4,4,4 -70,25,10,3,3,3,3 -80,20,5,2,2,2,2 -90,15,0,1,1,1,1 -100,10,-5,0,0,0,0 -110,5,0,1,1,1,1 -120,0,5,2,2,2,2 -130,-5,10,3,3,3,3 -140,0,15,4,4,4,4 -150,5,20,5,5,5,5 -160,10,25,6,6,6,6 -170,15,30,7,7,7,7 -180,20,35,8,8,8,8 -190,25,40,9,9,9,9 -200,30,45,10,10,10,10 -210,35,40,11,9,9,9 -220,40,35,12,8,8,8 -230,45,30,11,7,7,7 -240,50,25,10,6,6,6 -250,55,20,9,5,5,5 -260,60,15,8,4,4,4 -270,55,10,7,3,3,3 -280,50,5,6,2,2,2 -290,45,0,5,1,1,1 -300,40,-5,4,0,0,0 -310,35,0,3,1,1,1 -320,30,5,2,2,2,2 -330,25,10,1,3,3,3 -340,20,15,0,4,4,4 -350,15,20,1,5,5,5 -360,10,25,2,6,6,6 -370,5,30,3,7,7,7 -380,0,35,4,8,8,8 -390,-5,40,5,9,9,9 -400,0,45,6,10,10,10 -410,5,40,7,9,9,9 -420,10,35,8,8,8,8 -430,15,30,9,7,7,7 -440,20,25,10,6,6,6 -450,25,20,11,5,5,5 -460,30,15,12,4,4,4 -470,35,10,11,3,3,3 -480,40,5,10,2,2,2 -490,45,0,9,1,1,1 -500,50,-5,8,0,0,0 -510,55,0,7,1,1,1 -520,60,5,6,2,2,2 -530,55,10,5,3,3,3 -540,50,15,4,4,4,4 -550,45,20,3,5,5,5 -560,40,25,2,6,6,6 -570,35,30,1,7,7,7 -580,30,35,0,8,8,8 -590,25,40,1,9,9,9 -600,20,45,2,10,10,10 -610,15,40,3,9,9,9 -620,10,35,4,8,8,8 -630,5,30,5,7,7,7 -640,0,25,6,6,6,6 -650,-5,20,7,5,5,5 -660,0,15,8,4,4,4 -670,5,10,9,3,3,3 -680,10,5,10,2,2,2 -690,15,0,11,1,1,1 -700,20,-5,12,0,0,0 -710,25,0,11,1,1,1 -720,30,5,10,2,2,2 -730,35,10,9,3,3,3 -740,40,15,8,4,4,4 -750,45,20,7,5,5,5 -760,50,25,6,6,6,6 -770,55,30,5,7,7,7 -780,60,35,4,8,8,8 -790,55,40,3,9,9,9 -800,50,45,2,10,10,10 -810,45,40,1,9,9,9 -820,40,35,0,8,8,8 -830,35,30,1,7,7,7 -840,30,25,2,6,6,6 -850,25,20,3,5,5,5 -860,20,15,4,4,4,4 -870,15,10,5,3,3,3 -880,10,5,6,2,2,2 -890,5,0,7,1,1,1 -900,0,-5,8,0,0,0 -910,-5,0,9,1,1,1 -920,0,5,10,2,2,2 -930,5,10,11,3,3,3 -940,10,15,12,4,4,4 -950,15,20,11,5,5,5 -960,20,25,10,6,6,6 -970,25,30,9,7,7,7 -980,30,35,8,8,8,8 -990,35,40,7,9,9,9 -1000,40,45,6,10,10,10 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/1ms.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/1ms.csv deleted file mode 100644 index 1fa4757..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/1ms.csv +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,7,9,9,9 -20,50,35,4,8,8,8 -30,45,30,1,7,7,7 -40,40,25,-2,6,6,6 -50,35,20,-5,5,5,5 -60,30,15,-8,4,4,4 -70,25,10,-11,3,3,3 -80,20,5,-14,2,2,2 -90,15,0,-17,1,1,1 -100,10,-5,-20,0,0,0 -110,5,0,-23,1,1,1 -120,0,5,-20,2,2,2 -130,-5,10,-17,3,3,3 -140,0,15,-14,4,4,4 -150,5,20,-11,5,5,5 -160,10,25,-8,6,6,6 -170,15,30,-5,7,7,7 -180,20,35,-2,8,8,8 -190,25,40,1,9,9,9 -200,30,45,4,10,10,10 -210,35,40,7,9,9,9 -220,40,35,10,8,8,8 -230,45,30,13,7,7,7 -240,50,25,10,6,6,6 -250,55,20,7,5,5,5 -260,60,15,4,4,4,4 -270,55,10,1,3,3,3 -280,50,5,-2,2,2,2 -290,45,0,-5,1,1,1 -300,40,-5,-8,0,0,0 -310,35,0,-11,1,1,1 -320,30,5,-14,2,2,2 -330,25,10,-17,3,3,3 -340,20,15,-20,4,4,4 -350,15,20,-23,5,5,5 -360,10,25,-20,6,6,6 -370,5,30,-17,7,7,7 -380,0,35,-14,8,8,8 -390,-5,40,-11,9,9,9 -400,0,45,-8,10,10,10 -410,5,40,-5,9,9,9 -420,10,35,-2,8,8,8 -430,15,30,1,7,7,7 -440,20,25,4,6,6,6 -450,25,20,7,5,5,5 -460,30,15,10,4,4,4 -470,35,10,13,3,3,3 -480,40,5,10,2,2,2 -490,45,0,7,1,1,1 -500,50,-5,4,0,0,0 -510,55,0,1,1,1,1 -520,60,5,-2,2,2,2 -530,55,10,-5,3,3,3 -540,50,15,-8,4,4,4 -550,45,20,-11,5,5,5 -560,40,25,-14,6,6,6 -570,35,30,-17,7,7,7 -580,30,35,-20,8,8,8 -590,25,40,-23,9,9,9 -600,20,45,-20,10,10,10 -610,15,40,-17,9,9,9 -620,10,35,-14,8,8,8 -630,5,30,-11,7,7,7 -640,0,25,-8,6,6,6 -650,-5,20,-5,5,5,5 -660,0,15,-2,4,4,4 -670,5,10,1,3,3,3 -680,10,5,4,2,2,2 -690,15,0,7,1,1,1 -700,20,-5,10,0,0,0 -710,25,0,13,1,1,1 -720,30,5,10,2,2,2 -730,35,10,7,3,3,3 -740,40,15,4,4,4,4 -750,45,20,1,5,5,5 -760,50,25,-2,6,6,6 -770,55,30,-5,7,7,7 -780,60,35,-8,8,8,8 -790,55,40,-11,9,9,9 -800,50,45,-14,10,10,10 -810,45,40,-17,9,9,9 -820,40,35,-20,8,8,8 -830,35,30,-23,7,7,7 -840,30,25,-20,6,6,6 -850,25,20,-17,5,5,5 -860,20,15,-14,4,4,4 -870,15,10,-11,3,3,3 -880,10,5,-8,2,2,2 -890,5,0,-5,1,1,1 -900,0,-5,-2,0,0,0 -910,-5,0,1,1,1,1 -920,0,5,4,2,2,2 -930,5,10,7,3,3,3 -940,10,15,10,4,4,4 -950,15,20,13,5,5,5 -960,20,25,10,6,6,6 -970,25,30,7,7,7,7 -980,30,35,4,8,8,8 -990,35,40,1,9,9,9 -1000,40,45,-2,10,10,10 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronA_FY19_P1.cfg b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronA_FY19_P1.cfg deleted file mode 100644 index a4cf645..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronA_FY19_P1.cfg +++ /dev/null @@ -1,4981 +0,0 @@ -// LoggerService node: See /var/log/messages file. -// +LoggerService = { -// Class = LoggerService -// CPUs = 0x800 -// StackSize = 32768 -// NumberOfLogPages = 128 -// +SysLogger = { -// Class = SysLogger -// Format = "EtOoFmC" -// PrintKeys = 1 -// Ident = "JAGyA" -// } -// } - -// 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 - } - } - } -} - -// RealTime Application node -+JAGyrotronRTApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - //Timer GAM for thread 1. - +Timer1kHzGAM = { - Class = IOGAM - InputSignals = { - Counter = { - DataSource = Timer1kHz - Type = uint32 - Frequency = 1000 //Hz - } - Time = { - DataSource = Timer1kHz - Type = uint32 - } - } - OutputSignals = { - Counter1kHz = { - DataSource = DDB1 - Type = uint32 - } - Time1kHz = { - DataSource = DDB1 - Type = uint32 - } - } - } - +Timer10HzGAM = { - Class = IOGAM - InputSignals = { - Counter = { - DataSource = Timer10Hz - Type = uint32 - Frequency = 1 //Hz - } - Time = { - DataSource = Timer10Hz - Type = uint32 - } - } - OutputSignals = { - Counter10Hz = { - DataSource = DDB1 - Type = uint32 - } - Time1Hz = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM to update PCF state-machine state - +InErrorGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 1 - } - } - } - +InDisabledGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 2 - } - } - } - +InWaitStandbyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 3 - } - } - } - +InWaitReadyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 4 - } - } - } - +InWaitPermitGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 5 - } - } - } - +InWaitHVONGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 6 - } - } - } - +InWaitHVON_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 7 - } - } - } - +InWaitHVON_SDNGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 8 - } - } - } - +InWaitHVON_SDN_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 9 - } - } - } - - // Copy data from DDB1 to EPICSCAOutput DataSource. - +EPICSOutputGAM = { - Class = IOGAM - InputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - PREP_TIME_WF = { - DataSource = DDB1 - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - APS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - SHOT_ID = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - //Add 20201117 - 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 - } - } - OutputSignals = { - PCF_STATE = { - DataSource = EPICSCAOutput - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - APS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - FHPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - CSV_LOADED = { - DataSource = EPICSCAOutput - Type = uint32 - } - CSV_ERR = { - DataSource = EPICSCAOutput - Type = uint32 - } - ELAPSED_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVARMED = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVINJECTION = { - DataSource = EPICSCAOutput - Type = uint32 - } - RFON = { - DataSource = EPICSCAOutput - Type = uint32 - } - - MHVPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - PREP_TIME_WF = { - DataSource = EPICSCAOutput - } - MHVPS_PREP_WF = { - DataSource = EPICSCAOutput - } - BPS_PREP_WF = { - DataSource = EPICSCAOutput - } - APS_PREP_WF = { - DataSource = EPICSCAOutput - } - MCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - GCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - FHPS_PREP_WF = { - DataSource = EPICSCAOutput - } - CCPS_REF = { - DataSource = EPICSCAOutput - } - MHVPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAOutput - } - BEAM_ON_STAT = { - DataSource = EPICSCAOutput - } - SHOT_ID = { - DataSource = EPICSCAOutput - } - FHPS_AUTO_STAT = { - DataSource = EPICSCAOutput - } - //Added 20201117 - APS_HVON = { - DataSource = EPICSCAOutput - } - APS_SWON = { - DataSource = EPICSCAOutput - } - BPS_HVON = { - DataSource = EPICSCAOutput - } - BPS_SWON = { - DataSource = EPICSCAOutput - } - MHVPS_HVON = { - DataSource = EPICSCAOutput - } - } - } - - // Message GAM in Disabled state. - +GoWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - +GoWaitStandbyFromReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - - // MCPS, GCPS PV to DDB1 - +GCPSGAM = { - Class = IOGAM - InputSignals = { - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - +MCPSGAM = { - Class = IOGAM - InputSignals = { - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - // Message GAM in Standby state. - +GoDisabledGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoDisabled - } - } - - //GAM in WaitReady state. Check MCPS,GCPS,FHPS state for state transition. - +GoWaitReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {3 3 1} - ExpectedFloatValues = {0 0 0} - Comparators = {EQUALS GREATER EQUALS GREATER EQUALS GREATER} - InputSignals = { - MCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYA_MCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYA_GCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_MEAS_ACV = { - DataSource = EPICSCAInput - Type = float32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - - //GAM for prepro - +WFRecordGAM = { - Class = JAWFRecordGAM - Directory = "../Configurations" //TODO: Enter directory path for prepro files. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - } - OutputSignals = { - PREP_TIME_WF = { - DataSource = DDB1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - } - BPS_PREP_WF = { - DataSource = DDB1 - } - APS_PREP_WF = { - DataSource = DDB1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - } - } - } - +PreProgrammedGAM = { - Class = JAPreProgrammedGAM - Directory = "../Configurations" // TODO: Enter the directory path for prepro files. - PreProgrammedPeriodMs = 1 // Parameter update periods in ms. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - FHPS_REF = { - Alias = FHPS_AUTO_TAGV - DataSource = EPICSCAInput - Type = float32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - GYA_PREPRO_TIME = { - DataSource = DDB1 - Type = int32 - } - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_REF = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM in WaitReady state. Check PLC_READY and CCPS_IN_OPERATION status. - +GoWaitPermitGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1} //20201222 modified. In the past, 0 1. - Comparators = {EQUALS EQUALS} - InputSignals = { - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - //GAM in WaitPermit state. Check Permit and States of Operation Modes. - +GoWaitReadyFromWaitPermitGAM = { - Class = JAMessageGAM - Operation = OR - ExpectedIntValues = {0 0} - Comparators = {EQUALS EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - +GoWaitHVONGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON - } - } - +GoWaitHVON_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_PREP - } - } - +GoWaitHVON_SDN_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN - } - } - +GoWaitHVON_SDN_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN_PREP - } - } - - //GAM in WaitHVON_xx states. If PLC_READY is zero, goto WaitStandby. - +FromWaitHVONToWaitStandby = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - //GAM in WaitHVON_xx states. If PLC_PERMIT is zero, goto WaitPermit. - +FromWaitHVONToWaitPermit = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 0 0 0 0} //modified 20201222 - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} //modified 20201222 - InputSignals = { - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - //add 20201222 - APS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - MHVPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - APS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - }//20201222 - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - // Check the selected mode, and check maximum pulse length. Use with a StateMachineGAM - +ModeLimitGAM = { - Class = JAModeControlGAM - InputSignals = { - PLC_MODE1 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD1_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE2 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD2_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE3 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD3_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE4 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD4_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - Time = { - DataSource = DDB1 - Type = uint32 - } - HVInjection = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - MODE_SHOTLEN_FLAG = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // State notify GAMs. These GAMs are in all WaitHVON states. - +writeBeamONStateGAM = { - Class = IOGAM - InputSignals = { - BEAM_ON_STAT = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVArmedStateGAM = { - Class = IOGAM - InputSignals = { - HVARMED = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVInjectionStateGAM = { - Class = IOGAM - InputSignals = { - HVINJECTION = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONStateGAM = { - Class = IOGAM - InputSignals = { - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeBeamONTimeGAM = { - Class = IOGAM - InputSignals = { - BeamONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONTimeGAM = { - Class = IOGAM - InputSignals = { - RFONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for trianguler waveform generation. - +CCPSWaveformGAM = { - Class = JATriangleWaveGAM - InputSignals = { - Frequency = { - Alias = CCPS_OUTPUT_FREQ - DataSource = EPICSCAInput - Type = float32 - } - Amplitude = { - Alias = CCPS_OUTPUT_AMP - DataSource = EPICSCAInput - Type = float32 - } - Offset = { - Alias = CCPS_OUTPUT_OFFS - DataSource = EPICSCAInput - Type = float32 - } - PLCSTANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - } - } - //GAM for FHPS ramping up operation. - +FHPSSetpointGAM = { - Class = IOGAM - InputSignals = { - FHPS_AUTO_TAGV = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - FHPS_TAGV = { - DataSource = DDB1 - Type = float32 - } - } - } - +FHPSRampupGAM = { - Class = JARampupGAM - InputSignals = { - Currspv = { - Alias = FHPS_REF - DataSource = DDB1 - Type = float32 - } - Targetv = { - Alias = FHPS_TAGV - DataSource = DDB1 - Type = float32 - } - Time = { - Alias = FHPS_AUTO_TIME - DataSource = EPICSCAInput - Type = float32 - } - Start = { - Alias = FHPS_AUTO_START - DataSource = EPICSCAInput - Type = uint32 - } - PLC_STANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - MANUAL_AUTO = { - Alias = FHPS_MANM - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - } - OutputSignals = { - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - //GAM for error handling. - // GAM that sets ERROR and STOP FLAGS for APS, BPS and MHVPS when we enter Error state and resets them when we leave Error state - +ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = AND - ExpectedValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {0 0 0} - InputSignals = { - // Conditional signals - 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 - } - // Default values - MHVPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - } - } - +StopRequestGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {1 1 1 1 1 1 1 1 1 1} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {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 - } - StopRequest_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - StopRequest = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //Test whether board status are stable - +GAMDisplayDebug = { - Class = IOGAM - InputSignals = { - RESET_FLT = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - RESET_FLT_DISP = { - DataSource = Display - Type = uint32 - } - } - } - //Check PXI board status. - +PXI6259ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0 0} - Comparators = {GREATER GREATER GREATER GREATER} - Values = {1} - InputSignals = { - // Conditional signals - PXI6259_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6259_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6259_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error03GAM = {// detect Hardware error (status number 3) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {3 3} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_03_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error04GAM = {// detect No board error (status number 4) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {4 4} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_04_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXIErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0} - Comparators = {GREATER GREATER GREATER} - Values = {1} - InputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - // Default values - PCF_FLT_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - } - } - - - +FromErrorToWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - InputSignals = { - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - // From any state to Error state. - +GoErrorGAM = { - Class = JAMessageGAM - Operation = OR - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoError - } - } - // Reset HVPS outputs. ToDo: Fix to access NI d.s. - +ResetPSsGAM = { - Class = ConstantGAM - OutputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - //here - } - } - // Update status. ToDo: Fix to access NI d.s. - +ExitedHVArmedInjectionRFONGAM = { - Class = JAConditionalSignalUpdateGAM - Values = {0 0 0} - InputSignals = { - // Condition signals - // Default output values - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //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 = RealTimeThreadAsyncBridge - Type = uint16 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - } - } - +debugSDNGAM = {//for debug - Class = IOGAM - InputSignals = { - Command = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - Command_DISP = { - DataSource = Display - Type = float32 - } - ESDNTime_DISP = { - DataSource = Display - Type = uint32 - } - } - } - +SDNReplyGAM = { - Class = IOGAM - InputSignals = { - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - WaveformPacketID = { - DataSource = DDB1 - Type = uint16 - } - GYA_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYB_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYA_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - GYB_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - } - 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 - } - } - } - //Write SDN waveform data into PS setpoint PV. - - // 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 - } - } - OutputSignals = { - TimeSDN = { - DataSource = DDB1 - Type = uint32 - } - CounterSDN = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for realtime statemachine - +Timer100kHzGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 200000 //operation:10k(=100us cyc) - //Frequency = 100000 //operation:100k(=10us cyc) - } - RTThreadPerf = { - DataSource = Timings - Alias = "WaitHVON.Thread3_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Digital Output port access. - // EPICS PV to one uint8 variable - +NI6528P3GAM = { - Class = JABitSumGAM - InputSignals = { - APS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV5 = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GAM = { - Class = JABitSumGAM - InputSignals = { - DO_REV6 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV7 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV8 = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAInput - Type = uint32 - } - HVARMED = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5GAM = { - Class = JABitSumGAM - InputSignals = { - HVINJECTION = { - DataSource = EPICSCAInput - Type = uint32 - } - RFON = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - SCM_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - SCM_RD = { - DataSource = EPICSCAInput - Type = uint32 - } - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - NONE1 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - NONE2 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - // reversed uint8 variable (value to write on port.) - +NI6528P3PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P5PortValue = { - DataSource = NI6528P5 - Type = uint8 - } - } - } - // write a uint8 port value to PXI data source. - +NI6528P3WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3Value = { - DataSource = NI6528P3 - Type = uint8 - } - } - } - +NI6528P4WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4Value = { - DataSource = NI6528P4 - Type = uint8 - } - } - } - - //Thread3 pulse parameter EPICS PVs read. - +GAMEPICSCA = { - Class = IOGAM - InputSignals = { - MHVPS_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - SHOTLEN = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_ON = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - 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 - } - PLC_ON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Real-Time state machine GAMs - +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 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210120 - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210121 - DO_REV6 = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - RTSMValue = { - 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 - } - //Added 20201117 - 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 - } - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4Value = { - DataSource = NI6528P4 - //DataSource = DDB1 - Type = uint8 - } - } - } - +GAMSDNRealTimeStateMachine = { - Class = JASDNRTStateMachineGAM - 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 - } - Command = { - DataSource = RealTimeThreadAsyncBridge - Type = uint16 - } - - } - OutputSignals = { - RTSMValue = { - DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - BeamON = { - 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 - } - } - } - - //Terminal Interface reads three inputs. - // INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value - // OUTPUTs: Each NIxxx data sources. - +terminalInterfaceGAM = { - Class = JATerminalInterfaceGAM - mhvps_hvon_term = 4 - aps_hvon_term = 1 - aps_swon_term = 16 - bps_hvon_term = 2 - bps_swon_term = 8 - InputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Input signals about HW terminal. - RTSMValue = { - DataSource = DDB1 - Type = uint32 - } - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4Value = { - DataSource = NI6528P4 - //DataSource = DDB1 - Type = uint8 - } - } - } - - // Switching AO port source between internal variable and EPICS PV. - +choiseGAM = { - Class = JASourceChoiseGAM - numberOfPVs = 5 - InputSignals = { - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - BPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - APS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - APS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MHVPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - } - } - - //debug - +debugTimerGAM = { - Class = IOGAM - InputSignals = { - Time1kHz = { - DataSource = DDB1 - Type = uint32 - } - TimeSDN = { - DataSource = DDB1 - Type = uint32 - } - Time = { - DataSource = DDB1 - Type = uint32 - } - Time1Hz = { - DataSource = DDB1 - Type = uint32 - } - - } - OutputSignals = { - T1_time = { - DataSource = Display - Type = uint32 - } - T2_time = { - DataSource = Display - Type = uint32 - } - T3_time = { - DataSource = Display - Type = uint32 - } - T4_time = { - DataSource = Display - 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 - } - } - } - - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +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 - } - } - } - +TimerSDN = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x200 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +Timer10Hz = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x800 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - // 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 - } - } - } - - +Timings = { - Class = TimingDataSource - } - +Display = { - Class = LoggerDataSource - } - // for data exechange between threads. - +RealTimeThreadAsyncBridge = { - Class = RealTimeThreadAsyncBridge - NumberOfBuffers = 20 - } - // for access ECPIS PV. - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "0x100" //change from 200 - StackSize = "10000000" - Signals = { - // PV for manually setting - 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 - } - // 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 - } - - //Digital Input PVs in Signal-Variable tab. - APS_READY = { - PVName = "EC-GN-P01-PA1F:PSU3000-YSTA" - 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 - } - BPS_READY = { - PVName = "EC-GN-P01-PB1F:PSU1000-YSTA" - 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 - } - MHVPS_READY = { - PVName = "EC-GN-P01-PMF:PSU0000-TYSTA" - Type = uint32 - } - MHVPS_MODON = { - PVName = "EC-GN-P01-GPF:PSU0000-YSTA-MOD" - 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_STANDBY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST1R" - Type = uint32 - } - PLC_READY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST2R" - Type = uint32 - } - PLC_ON = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST3R" - 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 - } - PLC_PERMIT = { - PVName = "EC-GN-P01-GPS:PLC4110-CON-GY1PRM" - 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_CCPSON = { - PVName = "EC-GN-P01-GPS:PLC4110-YON-CCPS1" - Type = uint32 - } - EXT_TRIG = { - PVName = "EC-GN-P01-GAF:DIO4900-YON" - Type = uint32 - } - - //Digital Output PVs in Variables-signal tab - 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_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - 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 - } - 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 - } - 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 - } - //Input PVs in Variables-Operation tab. - PREP_MODE = { - PVName = "EC-GN-P01-GAF:STAT-PREP-MODE" - Type = uint32 - } - SHORT_PULSE_MODE = { - PVName = "EC-GN-P01-GAF:STAT-SHORT-PULSE" - Type = uint32 - } - - 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 - } - - 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 - } - - FHPS_MANM = { - PVName = "EC-GN-P01-GAF-FHPS:STAT-MANM" - Type = uint32 - } - - 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 - } - RESET_FLT = { - PVName = "EC-GN-P01-GPF:STAT-RST-FLT" - //PVName = "EC-GN-P01-GPS-MEM:CMD-CONALARMRESET-HMI" - Type = uint32 - } - - //Input PVs in Variables-JASTEC tab. - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SET-MI" - Type = uint32 - } - MCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI" - Type = float32 - } - MCPS_ACT_RB = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB" - Type = uint32 - } - MCPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB" - Type = uint32 - } - GYA_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - GYB_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - MCPS_VOLT_MON = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON" - Type = uint32 - } - MCPS_SWP_RB = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB" - Type = uint32 - } - MCPS_SWP_LIM = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM" - Type = uint32 - } - MCPS_ERR = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ERR" - Type = uint32 - } - MCPS_MM = { - PVName = "EC-GN-P01-GAF-MCPS:STAT-MANM" - Type = uint32 - } - //GCPS PVs - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI" - Type = uint32 - } - GCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI" - Type = float32 - } - GCPS_ACT_RB = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB" - Type = uint32 - } - GCPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB" - Type = uint32 - } - GYA_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GYB_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GCPS_VOLT_MON = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON" - Type = uint32 - } - GCPS_SWP_RB = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB" - Type = uint32 - } - GCPS_SWP_LIM = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM" - Type = uint32 - } - GCPS_ERR = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ERR" - Type = uint32 - } - GCPS_MM = { - PVName = "EC-GN-P01-GAF-GCPS:STAT-MANM" - Type = uint32 - } - //Input PVs in Variables-kikusui tab. - FHPS_REM_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-REM-RB" - Type = uint32 - } - FHPS_OUTON_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB" - Type = uint32 - } - FHPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB" - Type = uint32 - } - FHPS_ACV_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB" - Type = uint32 - } - FHPS_FRQ_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB" - Type = uint32 - } - FHPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB" - Type = uint32 - } - FHPS_MEAS_ACV = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV" - 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 - } - FHPS_MEAS_ACP = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP" - Type = uint32 - } - FHPS_MEAS_FRQ = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ" - Type = uint32 - } - FHPS_ERR = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-ERROR" - Type = uint32 - } - 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 - } - - CCPS_REMLOC_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB" - Type = uint32 - } - CCPS_OUTON_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB" - Type = uint32 - } - CCPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB" - Type = uint32 - } - CCPS_DCV_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB" - Type = uint32 - } - CCPS_RANG_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-RANG-RB" - Type = uint32 - } - CCPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB" - Type = uint32 - } - CCPS_MEAS_DCV = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV" - Type = uint32 - } - 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 - } - CCPS_MEAS_DCP = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCP" - Type = uint32 - } - CCPS_ERR = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-ERROR" - Type = uint32 - } - CCPS_OUTPUT_AMP = { - PVName = "EC-GN-P01-GAF-CCPS:STAT-AMP" - Type = float32 - } - CCPS_OUTPUT_FREQ = { - PVName = "EC-GN-P01-GAF-CCPS:STAT-FREQ" - Type = float32 - } - CCPS_OUTPUT_OFFS = { - PVName = "EC-GN-P01-GAF-CCPS:STAT-OFFS" - Type = float32 - } - //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 - } - } - } - +EPICSCAOutput = { - Class = "EPICSCA::EPICSCAOutput" - CPUMask = "0x100" //change from 0x200 - StackSize = "10000000" - NumberOfBuffers = 2 - Signals = { - PCF_STATE = { - PVName = "EC-GN-P01-GAF:STAT-SM" - Type = uint32 - } - //Analog Output PVs in Variables-signal tab. - FHPS_REF = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-EREF" - Type = float32 - } - BPS_REF = { - PVName = "EC-GN-P01-PB1F:PSU1000-EREF" - Type = float32 - } - APS_REF = { - PVName = "EC-GN-P01-PA1F:STAT-EREF-CONV.A" - Type = float32 - } - MHVPS_REF = { - PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.A" - Type = float32 - } - - //Digital Output PVs in Variables-signal tab. - APS_STOP = { - PVName = "EC-GN-P01-PA1F:PSU3000-CTRP" - 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 - } - - MHVPS_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - Type = uint32 - } - PCF_FLT = { - PVName = "EC-GN-P01-GPF:PCF4210-CTRP" - 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 - } - - //Output PVs in Variables-operation tab. - 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 - } - FHPS_PREP_WF = { - PVName = "EC-GN-P01-GAF-FHPS: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 - } - PREP_TIME_WF = { - PVName = "EC-GN-P01-GAF:STAT-PREP-TIME-WF" - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BEAM_ON_TIME = { - PVName = "EC-GN-P01-GAF:STAT-BEAMON-TIME" - Type = uint32 - } - ELAPSED_TIME = { - PVName = "EC-GN-P01-GAF:STAT-ELAPSED" - Type = uint32 - } - SHOT_ID = { - PVName = "EC-GN-P01-GAF:STAT-SHOT-ID" - Type = uint32 - } - - CSV_LOADED = { - PVName = "EC-GN-P01-GAF:STAT-CSV-LOADED" - Type = uint32 - } - CSV_ERR = { - PVName = "EC-GN-P01-GAF:STAT-CSV-ERR" - Type = uint32 - } - - //Output PVs in Variables-jastec tab. - MCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO" - Type = float32 - } - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO" - Type = uint32 - } - GCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO" - Type = float32 - } - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO" - Type = uint32 - } - - //Output PVs in Variables-kikusui tab. - CCPS_REF = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-EREF" - Type = float32 - } - FHPS_AUTO_STAT = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT" - Type = uint32 - } - //Add 20201117 - 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 - } - } - } - // for ESDN packet subscription/publication. - +SDNSubCommands = { - Class = SDN::SDNSubscriber - Topic = ECPC2SCUJA - Interface = enp27s0f0 - 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 = enp27s0f0 - 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 - } - } - } - - // 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 - - } - +States = { - Class = ReferenceContainer - +Disabled = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM GoErrorGAM InDisabledGAM - GoWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM} - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - +WaitStandby = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitStandbyGAM - choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoDisabledGAM GoWaitReadyGAM GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - +WaitReady = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitReadyGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - +WaitPermit = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitPermitGAM - choiseGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - - //Real-Time state for HVPS sequence timing control. - +WaitHVON = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitHVONGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } -// +Thread4 = { -// Class = RealTimeThread -// Functions = {Timer10HzGAM GAMExecTime } -// CPUs = 0x800 -// } - } - } - +WaitHVON_SDN = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSRampupGAM InWaitHVON_SDNGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } - } - } - +WaitHVON_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } - } - } - +WaitHVON_SDN_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_SDN_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM} - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } - } - } - - +Error = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM InErrorGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - ExitedHVArmedInjectionRFONGAM ResetPSsGAM - FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM} - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronB_FY19_P1.cfg b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronB_FY19_P1.cfg deleted file mode 100644 index 6fb3d04..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronB_FY19_P1.cfg +++ /dev/null @@ -1,4946 +0,0 @@ -// 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" -// } -// } - -// 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 - } - } - } -} - -// RealTime Application node -+JAGyrotronRTApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - //Timer GAM for thread 1. - +Timer1kHzGAM = { - Class = IOGAM - InputSignals = { - Counter = { - DataSource = Timer1kHz - Type = uint32 - Frequency = 1000 //Hz - } - Time = { - DataSource = Timer1kHz - Type = uint32 - } - } - OutputSignals = { - Counter1kHz = { - DataSource = DDB1 - Type = uint32 - } - Time1kHz = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM to update PCF state-machine state - +InErrorGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 1 - } - } - } - +InDisabledGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 2 - } - } - } - +InWaitStandbyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 3 - } - } - } - +InWaitReadyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 4 - } - } - } - +InWaitPermitGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 5 - } - } - } - +InWaitHVONGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 6 - } - } - } - +InWaitHVON_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 7 - } - } - } - +InWaitHVON_SDNGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 8 - } - } - } - +InWaitHVON_SDN_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 9 - } - } - } - - // Copy data from DDB1 to EPICSCAOutput DataSource. - +EPICSOutputGAM = { - Class = IOGAM - InputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - PREP_TIME_WF = { - DataSource = DDB1 - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - APS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - SHOT_ID = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - //Add 20201117 - 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 - } - } - OutputSignals = { - PCF_STATE = { - DataSource = EPICSCAOutput - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - APS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - FHPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - CSV_LOADED = { - DataSource = EPICSCAOutput - Type = uint32 - } - CSV_ERR = { - DataSource = EPICSCAOutput - Type = uint32 - } - ELAPSED_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVARMED = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVINJECTION = { - DataSource = EPICSCAOutput - Type = uint32 - } - RFON = { - DataSource = EPICSCAOutput - Type = uint32 - } - - MHVPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - PREP_TIME_WF = { - DataSource = EPICSCAOutput - } - MHVPS_PREP_WF = { - DataSource = EPICSCAOutput - } - BPS_PREP_WF = { - DataSource = EPICSCAOutput - } - APS_PREP_WF = { - DataSource = EPICSCAOutput - } - MCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - GCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - FHPS_PREP_WF = { - DataSource = EPICSCAOutput - } - CCPS_REF = { - DataSource = EPICSCAOutput - } - MHVPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAOutput - } - BEAM_ON_STAT = { - DataSource = EPICSCAOutput - } - SHOT_ID = { - DataSource = EPICSCAOutput - } - FHPS_AUTO_STAT = { - DataSource = EPICSCAOutput - } - //Added 20201117 - APS_HVON = { - DataSource = EPICSCAOutput - } - APS_SWON = { - DataSource = EPICSCAOutput - } - BPS_HVON = { - DataSource = EPICSCAOutput - } - BPS_SWON = { - DataSource = EPICSCAOutput - } - MHVPS_HVON = { - DataSource = EPICSCAOutput - } - } - } - - // Message GAM in Disabled state. - +GoWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - +GoWaitStandbyFromReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - - // MCPS, GCPS PV to DDB1 - +GCPSGAM = { - Class = IOGAM - InputSignals = { - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - +MCPSGAM = { - Class = IOGAM - InputSignals = { - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - // Message GAM in Standby state. - +GoDisabledGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoDisabled - } - } - - //GAM in WaitReady state. Check MCPS,GCPS,FHPS state for state transition. - +GoWaitReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {3 3 1} - ExpectedFloatValues = {0 0 0} - Comparators = {EQUALS GREATER EQUALS GREATER EQUALS GREATER} - InputSignals = { - MCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYB_MCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYB_GCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_MEAS_ACV = { - DataSource = EPICSCAInput - Type = float32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - - //GAM for prepro - +WFRecordGAM = { - Class = JAWFRecordGAM - Directory = "../Configurations" //TODO: Enter directory path for prepro files. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - } - OutputSignals = { - PREP_TIME_WF = { - DataSource = DDB1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - } - BPS_PREP_WF = { - DataSource = DDB1 - } - APS_PREP_WF = { - DataSource = DDB1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - } - } - } - +PreProgrammedGAM = { - Class = JAPreProgrammedGAM - Directory = "../Configurations" // TODO: Enter the directory path for prepro files. - PreProgrammedPeriodMs = 1 // Parameter update periods in ms. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - FHPS_REF = { - Alias = FHPS_AUTO_TAGV - DataSource = EPICSCAInput - Type = float32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - GYA_PREPRO_TIME = { - DataSource = DDB1 - Type = int32 - } - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_REF = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM in WaitReady state. Check PLC_READY and CCPS_IN_OPERATION status. - +GoWaitPermitGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1} //20201222 modified. In the past, 0 1. - Comparators = {EQUALS EQUALS} - InputSignals = { - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - //GAM in WaitPermit state. Check Permit and States of Operation Modes. - +GoWaitReadyFromWaitPermitGAM = { - Class = JAMessageGAM - Operation = OR - ExpectedIntValues = {0 0} - Comparators = {EQUALS EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - +GoWaitHVONGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON - } - } - +GoWaitHVON_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_PREP - } - } - +GoWaitHVON_SDN_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN - } - } - +GoWaitHVON_SDN_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN_PREP - } - } - - //GAM in WaitHVON_xx states. If PLC_READY is zero, goto WaitStandby. - +FromWaitHVONToWaitStandby = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - //GAM in WaitHVON_xx states. If PLC_PERMIT is zero, goto WaitPermit. - +FromWaitHVONToWaitPermit = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 0 0 0 0} //modified 20201222 - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} //modified 20201222 - InputSignals = { - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - //add 20201222 - APS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - MHVPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - APS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - }//20201222 - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - // Check the selected mode, and check maximum pulse length. Use with a StateMachineGAM - +ModeLimitGAM = { - Class = JAModeControlGAM - InputSignals = { - PLC_MODE1 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD1_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE2 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD2_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE3 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD3_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE4 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD4_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - Time = { - DataSource = DDB1 - Type = uint32 - } - HVInjection = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - MODE_SHOTLEN_FLAG = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // State notify GAMs. These GAMs are in all WaitHVON states. - +writeBeamONStateGAM = { - Class = IOGAM - InputSignals = { - BEAM_ON_STAT = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVArmedStateGAM = { - Class = IOGAM - InputSignals = { - HVARMED = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVInjectionStateGAM = { - Class = IOGAM - InputSignals = { - HVINJECTION = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONStateGAM = { - Class = IOGAM - InputSignals = { - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeBeamONTimeGAM = { - Class = IOGAM - InputSignals = { - BeamONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONTimeGAM = { - Class = IOGAM - InputSignals = { - RFONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for trianguler waveform generation. - +CCPSWaveformGAM = { - Class = JATriangleWaveGAM - InputSignals = { - Frequency = { - Alias = CCPS_OUTPUT_FREQ - DataSource = EPICSCAInput - Type = float32 - } - Amplitude = { - Alias = CCPS_OUTPUT_AMP - DataSource = EPICSCAInput - Type = float32 - } - Offset = { - Alias = CCPS_OUTPUT_OFFS - DataSource = EPICSCAInput - Type = float32 - } - PLCSTANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - } - } - //GAM for FHPS ramping up operation. - +FHPSSetpointGAM = { - Class = IOGAM - InputSignals = { - FHPS_AUTO_TAGV = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - FHPS_TAGV = { - DataSource = DDB1 - Type = float32 - } - } - } - +FHPSRampupGAM = { - Class = JARampupGAM - InputSignals = { - Currspv = { - Alias = FHPS_REF - DataSource = DDB1 - Type = float32 - } - Targetv = { - Alias = FHPS_TAGV - DataSource = DDB1 - Type = float32 - } - Time = { - Alias = FHPS_AUTO_TIME - DataSource = EPICSCAInput - Type = float32 - } - Start = { - Alias = FHPS_AUTO_START - DataSource = EPICSCAInput - Type = uint32 - } - PLC_STANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - MANUAL_AUTO = { - Alias = FHPS_MANM - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - } - OutputSignals = { - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - //GAM for error handling. - // GAM that sets ERROR and STOP FLAGS for APS, BPS and MHVPS when we enter Error state and resets them when we leave Error state - +ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = AND - ExpectedValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {0 0 0} - InputSignals = { - // Conditional signals - 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 - } - // Default values - MHVPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - } - } - +StopRequestGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {1 1 1 1 1 1 1 1 1 1} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {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 - } - StopRequest_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - StopRequest = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //Test whether board status are stable - +GAMDisplayBoardStatus = { - Class = IOGAM - InputSignals = { - CCPS_OUTPUT_OFFS = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - CCPS_OUTPUT_FREQ_DISP = { - DataSource = Display - Type = float32 - } - } - } - //Check PXI board status. - +PXI6259ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0 0} - Comparators = {GREATER GREATER GREATER GREATER} - Values = {1} - InputSignals = { - // Conditional signals - PXI6259_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6259_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6259_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error03GAM = {// detect Hardware error (status number 3) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {3 3} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_03_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error04GAM = {// detect No board error (status number 4) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {4 4} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_04_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXIErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0} - Comparators = {GREATER GREATER GREATER} - Values = {1} - InputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - // Default values - PCF_FLT_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - } - } - - - +FromErrorToWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - InputSignals = { - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - // From any state to Error state. - +GoErrorGAM = { - Class = JAMessageGAM - Operation = OR - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoError - } - } - // Reset HVPS outputs. ToDo: Fix to access NI d.s. - +ResetPSsGAM = { - Class = ConstantGAM - OutputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - } - // Update status. ToDo: Fix to access NI d.s. - +ExitedHVArmedInjectionRFONGAM = { - Class = JAConditionalSignalUpdateGAM - Values = {0 0 0} - InputSignals = { - // Condition signals - // Default output values - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //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 = RealTimeThreadAsyncBridge - Type = uint16 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - } - } - - +SDNReplyGAM = { - Class = IOGAM - InputSignals = { - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - WaveformPacketID = { - DataSource = DDB1 - Type = uint16 - } - GYA_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYB_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYA_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - GYB_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - } - 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 - } - } - } - //Write SDN waveform data into PS setpoint PV. - - // 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 - } - RTThreadPerf = { - DataSource = Timings - Alias = "WaitHVON.Thread3_CycleTime" - Type = uint32 - } - } - OutputSignals = { - TimeSDN = { - DataSource = DDB1 - Type = uint32 - } - CounterSDN = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerfSDN = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for realtime statemachine - +Timer100kHzGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 200000 //operation:100k(=10us cyc), debug:10 - } - RTThreadPerf = { - DataSource = Timings - Alias = "WaitHVON.Thread3_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Digital Output port access. (These GAMs are different from GYA.) - // EPICS PV to one uint8 variable - +NI6528P3GAM = { - Class = JABitSumGAM - InputSignals = { - APS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV5 = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GAM = { - Class = JABitSumGAM - InputSignals = { - DO_REV6 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV7 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV8 = { - DataSource = EPICSCAInput - Type = uint32 - } - None1 = { - DataSource = DDB1 - Type = uint32 - Defualt = 0 - } - None2 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - None3 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - HVARMED = { - DataSource = EPICSCAInput - Type = uint32 - } - HVINJECTION = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GYAGAM = { - Class = JABitSumGAM - InputSignals = { - DO_REV6_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV7_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV8_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAInput - Type = uint32 - } - HVARMED_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P4GYACurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5GAM = { - Class = JABitSumGAM - InputSignals = { - RFON = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - SCM_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - REV2_PLC = { - DataSource = EPICSCAInput - Type = uint32 - } - REV3_PLC = { - DataSource = EPICSCAInput - Type = uint32 - } - None4 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - None5 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - // reversed uint8 variable (value to write on port.) - +NI6528P3PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GYAPV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P4GYACurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4GYAPortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P5PortValue = { - DataSource = NI6528P5 - Type = uint8 - } - } - } - // write a uint8 port value to PXI data source. - +NI6528P3WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3Value = { - DataSource = NI6528P3 - Type = uint8 - } - } - } - +NI6528P4WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4Value = { - DataSource = NI6528P4 - Type = uint8 - } - } - } - +NI6528P4GYAWriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P4GYAPortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4GYAValue = { - DataSource = NI6528P4GYA - Type = uint8 - } - } - } - - //Thread3 pulse parameter EPICS PVs read. - +GAMEPICSCA = { - Class = IOGAM - InputSignals = { - MHVPS_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - SHOTLEN = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_ON = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - 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 - } - PLC_ON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Real-Time state machine GAMs - +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 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210120 - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210120 - DO_REV6_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - RTSMValue = { - 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 - } - //Added 20201117 - 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 - } - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4GYAValue = { - DataSource = NI6528P4GYA - //DataSource = DDB1 - Type = uint8 - } - } - } - +GAMSDNRealTimeStateMachine = { - Class = JASDNRTStateMachineGAM - 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 - } - Command = { - DataSource = RealTimeThreadAsyncBridge - Type = uint16 - } - - } - OutputSignals = { - RTSMValue = { - DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - BeamON = { - 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 - } - } - } - - //Terminal Interface reads three inputs. - // INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value - // OUTPUTs: Each NIxxx data sources. - +terminalInterfaceGAM = { - Class = JATerminalInterfaceGAM - mhvps_hvon_term = 4 - aps_hvon_term = 1 - aps_swon_term = 16 - bps_hvon_term = 2 - bps_swon_term = 8 - InputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Input signals about HW terminal. - RTSMValue = { - DataSource = DDB1 - Type = uint32 - } - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - NI6528P4GYACurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4GYAValue = { - DataSource = NI6528P4GYA - //DataSource = DDB1 - Type = uint8 - } - } - } - - // Switching AO port source between internal variable and EPICS PV. - +choiseGAM = { - Class = JASourceChoiseGAM - numberOfPVs = 5 - InputSignals = { - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - BPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - APS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - APS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MHVPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - } - } - - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +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 = 0x1000 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +TimerSDN = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x2000 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - // Timer for thread 3 (RTStateMachineGAM execution cycle.) - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x4000 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - - +Timings = { - Class = TimingDataSource - } - +Display = { - Class = LoggerDataSource - } - // for data exechange between threads. - +RealTimeThreadAsyncBridge = { - Class = RealTimeThreadAsyncBridge - NumberOfBuffers = 20 - } - // for access ECPIS PV. - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "0x1000" //change from 200 - StackSize = "10000000" - Signals = { - // PV for GYA(6528.1 port4) - DO_REV6_GYA = { - PVName = "EC-GN-P01-GAFP:FMC4310-RV6" - Type = uint32 - } - DO_REV7_GYA = { - PVName = "EC-GN-P01-GAFP:FMC4310-RV7" - Type = uint32 - } - DO_REV8_GYA = { - PVName = "EC-GN-P01-GAFP:FMC4310-RV8" - Type = uint32 - } - HVARMED_GYA = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1" - Type = uint32 - } - // PV for DO - REV2_PLC = { - PVName = "EC-GN-P01-GPS:PLC4110-RV2" - Type = uint32 - } - REV3_PLC = { - PVName = "EC-GN-P01-GPS:PLC4110-RV3" - Type = uint32 - } - // PV for manually setting - BPS_MM = { - PVName = "EC-GN-P01-PB2F:STAT-MANM" - Type = uint32 - } - BPS_MANUAL = { - PVName = "EC-GN-P01-PB2F:PSU2000-EREF-MSP" - Type = float32 - } - APS_MM = { - PVName = "EC-GN-P01-PA2F:STAT-MANM" - Type = uint32 - } - APS_MANUAL = { - PVName = "EC-GN-P01-PA2F:PSU4000-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 - } - // 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 - } - - //Digital Input PVs in Signal-Variable tab. - APS_READY = { - PVName = "EC-GN-P01-PA2F:PSU4000-YSTA" - 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 - } - BPS_READY = { - PVName = "EC-GN-P01-PB2F:PSU2000-YSTA" - 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 - } - MHVPS_READY = { - PVName = "EC-GN-P01-PMF:PSU0000-TYSTA" - Type = uint32 - } - MHVPS_MODON = { - PVName = "EC-GN-P01-GPF:PSU0000-YSTA-MOD" - 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_STANDBY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST1R" - Type = uint32 - } - PLC_READY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST2R" - Type = uint32 - } - PLC_ON = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST3R" - 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 - } - PLC_PERMIT = { - PVName = "EC-GN-P01-GPS:PLC4110-CON-GY2PRM" - Type = uint32 - } - PLC_SELECT = { - PVName = "EC-GN-P01-GPS:PLC4110-CON-OPGY2" - Type = uint32 - } - PLC_SYNCMODE = { - PVName = "EC-GN-P01-GPS:PLC4110-YSTA-MPSS" - Type = uint32 - } - PLC_CCPSON = { - PVName = "EC-GN-P01-GPS:PLC4110-YON-CCPS2" - Type = uint32 - } - EXT_TRIG = { - PVName = "EC-GN-P01-GBF:DIO4900-YON" - Type = uint32 - } - - //Digital Output PVs in Variables-signal tab - APS_HVON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-HV" - Type = uint32 - } - APS_SWON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-SW" - Type = uint32 - } - APS_STOP = { - PVName = "EC-GN-P01-PA2F:PSU4000-CTRP" - Type = uint32 - } - BPS_HVON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-HV" - Type = uint32 - } - BPS_SWON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-SW" - Type = uint32 - } - BPS_STOP = { - PVName = "EC-GN-P01-PB2F:PSU2000-CTRP" - Type = uint32 - } - BEAM_ON_STAT = { - PVName = "EC-GN-P01-GBFP:FMC4310-YSTA-GBOP" - Type = uint32 - } - DO_REV5 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV5" - Type = uint32 - } - DO_REV6 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV6" - Type = uint32 - } - DO_REV7 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV7" - Type = uint32 - } - DO_REV8 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV8" - Type = uint32 - } - MHVPS_HVON = { - PVName = "EC-GN-P01-PMF:PSU0000-CON-SW" - Type = uint32 - } - MHVPS_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - 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 - } - HVARMED = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB1" - Type = uint32 - } - HVINJECTION = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB2" - Type = uint32 - } - RFON = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB3" - Type = uint32 - } - FHPS_RU = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP" - Type = uint32 - } - SCM_RU = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP" - Type = uint32 - } - SCM_RD = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RDOWN" - Type = uint32 - } - CCPS_IN_OPERATION = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-TR" - Type = uint32 - } - //Input PVs in Variables-Operation tab. - PREP_MODE = { - PVName = "EC-GN-P01-GBF:STAT-PREP-MODE" - Type = uint32 - } - SHORT_PULSE_MODE = { - PVName = "EC-GN-P01-GBF:STAT-SHORT-PULSE" - Type = uint32 - } - - MHVPS_DT = { - PVName = "EC-GN-P01-PMF:STAT-DT-HVON" - Type = uint32 - } - APS_HVON_DT = { - PVName = "EC-GN-P01-PA2F:STAT-DT-HVON" - Type = uint32 - } - APS_SWON_DT = { - PVName = "EC-GN-P01-PA2F:STAT-DT-SWON" - Type = uint32 - } - BPS_HVON_DT = { - PVName = "EC-GN-P01-PB2F:STAT-DT-HVON" - Type = uint32 - } - BPS_SWON_DT = { - PVName = "EC-GN-P01-PB2F:STAT-DT-SWON" - Type = uint32 - } - SHOTLEN = { - PVName = "EC-GN-P01-GBF:STAT-DT-SHOTLEN" - 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 - } - - FHPS_MANM = { - PVName = "EC-GN-P01-GBF-FHPS:STAT-MANM" - Type = uint32 - } - - CSV_LOAD = { - PVName = "EC-GN-P01-GBF:STAT-CSV-LOAD" - Type = uint32 - } - CSV_NAME = { - PVName = "EC-GN-P01-GBF:STAT-CSV-NAME" - Type = char8 - NumberOfElements = 40 - } - RESET_FLT = { - PVName = "EC-GN-P01-GPF:STAT-RST-FLT" - //PVName = "EC-GN-P01-GPS-MEM:CMD-CONALARMRESET-HMI" - Type = uint32 - } - - //Input PVs in Variables-JASTEC tab. - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SET-MI" - Type = uint32 - } - MCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI" - Type = float32 - } - MCPS_ACT_RB = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB" - Type = uint32 - } - MCPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB" - Type = uint32 - } - GYA_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - GYB_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - MCPS_VOLT_MON = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON" - Type = uint32 - } - MCPS_SWP_RB = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB" - Type = uint32 - } - MCPS_SWP_LIM = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM" - Type = uint32 - } - MCPS_ERR = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ERR" - Type = uint32 - } - MCPS_MM = { - PVName = "EC-GN-P01-GBF-MCPS:STAT-MANM" - Type = uint32 - } - //GCPS PVs - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI" - Type = uint32 - } - GCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI" - Type = float32 - } - GCPS_ACT_RB = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB" - Type = uint32 - } - GCPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB" - Type = uint32 - } - GYA_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GYB_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GCPS_VOLT_MON = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON" - Type = uint32 - } - GCPS_SWP_RB = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB" - Type = uint32 - } - GCPS_SWP_LIM = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM" - Type = uint32 - } - GCPS_ERR = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ERR" - Type = uint32 - } - GCPS_MM = { - PVName = "EC-GN-P01-GBF-GCPS:STAT-MANM" - Type = uint32 - } - //Input PVs in Variables-kikusui tab. - FHPS_REM_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-REM-RB" - Type = uint32 - } - FHPS_OUTON_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB" - Type = uint32 - } - FHPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB" - Type = uint32 - } - FHPS_ACV_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB" - Type = uint32 - } - FHPS_FRQ_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB" - Type = uint32 - } - FHPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB" - Type = uint32 - } - FHPS_MEAS_ACV = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV" - 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 - } - FHPS_MEAS_ACP = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP" - Type = uint32 - } - FHPS_MEAS_FRQ = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ" - Type = uint32 - } - FHPS_ERR = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-ERROR" - Type = uint32 - } - FHPS_AUTO_TAGV = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV" - Type = float32 - } - FHPS_AUTO_TIME = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME" - Type = float32 - } - FHPS_AUTO_START = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START" - Type = uint32 - } - - CCPS_REMLOC_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB" - Type = uint32 - } - CCPS_OUTON_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB" - Type = uint32 - } - CCPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB" - Type = uint32 - } - CCPS_DCV_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB" - Type = uint32 - } - CCPS_RANG_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-RANG-RB" - Type = uint32 - } - CCPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB" - Type = uint32 - } - CCPS_MEAS_DCV = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV" - Type = uint32 - } - 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 - } - CCPS_MEAS_DCP = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCP" - Type = uint32 - } - CCPS_ERR = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-ERROR" - Type = uint32 - } - CCPS_OUTPUT_AMP = { - PVName = "EC-GN-P01-GBF-CCPS:STAT-AMP" - Type = float32 - } - CCPS_OUTPUT_FREQ = { - PVName = "EC-GN-P01-GBF-CCPS:STAT-FREQ" - Type = float32 - } - CCPS_OUTPUT_OFFS = { - PVName = "EC-GN-P01-GBF-CCPS:STAT-OFFS" - Type = float32 - } - //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 - } - } - } - +EPICSCAOutput = { - Class = "EPICSCA::EPICSCAOutput" - CPUMask = "0x1000" //change from 0x200 - StackSize = "10000000" - NumberOfBuffers = 2 - Signals = { - PCF_STATE = { - PVName = "EC-GN-P01-GBF:STAT-SM" - Type = uint32 - } - //Analog Output PVs in Variables-signal tab. - FHPS_REF = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-EREF" - Type = float32 - } - BPS_REF = { - PVName = "EC-GN-P01-PB2F:PSU2000-EREF" - Type = float32 - } - APS_REF = { - PVName = "EC-GN-P01-PA2F:STAT-EREF-CONV.A" - Type = float32 - } - MHVPS_REF = { - PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.B" - Type = float32 - } - - //Digital Output PVs in Variables-signal tab. - APS_STOP = { - PVName = "EC-GN-P01-PA2F:PSU4000-CTRP" - Type = uint32 - } - - BPS_STOP = { - PVName = "EC-GN-P01-PB2F:PSU2000-CTRP" - Type = uint32 - } - - BEAM_ON_STAT = { - PVName = "EC-GN-P01-GBFP:FMC4310-YSTA-GBOP" - Type = uint32 - } - - MHVPS_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - Type = uint32 - } - PCF_FLT = { - PVName = "EC-GN-P01-GPF:PCF4210-CTRP" - Type = uint32 - } - HVARMED = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB1" - Type = uint32 - } - HVINJECTION = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB2" - Type = uint32 - } - RFON = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB3" - Type = uint32 - } - - //Output PVs in Variables-operation tab. - MHVPS_PREP_WF = { - PVName = "EC-GN-P01-PB2F:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - - NumberOfDimensions = 1 - } - BPS_PREP_WF = { - PVName = "EC-GN-P01-PB2F:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - APS_PREP_WF = { - PVName = "EC-GN-P01-PA2F:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - FHPS_PREP_WF = { - PVName = "EC-GN-P01-GBF-FHPS:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MCPS_PREP_WF = { - PVName = "EC-GN-P01-GBF-MCPS:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - GCPS_PREP_WF = { - PVName = "EC-GN-P01-GBF-GCPS:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - PREP_TIME_WF = { - PVName = "EC-GN-P01-GBF:STAT-PREP-TIME-WF" - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BEAM_ON_TIME = { - PVName = "EC-GN-P01-GBF:STAT-BEAMON-TIME" - Type = uint32 - } - ELAPSED_TIME = { - PVName = "EC-GN-P01-GBF:STAT-ELAPSED" - Type = uint32 - } - SHOT_ID = { - PVName = "EC-GN-P01-GBF:STAT-SHOT-ID" - Type = uint32 - } - - CSV_LOADED = { - PVName = "EC-GN-P01-GBF:STAT-CSV-LOADED" - Type = uint32 - } - CSV_ERR = { - PVName = "EC-GN-P01-GBF:STAT-CSV-ERR" - Type = uint32 - } - - //Output PVs in Variables-jastec tab. - MCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO" - Type = float32 - } - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO" - Type = uint32 - } - GCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO" - Type = float32 - } - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO" - Type = uint32 - } - - //Output PVs in Variables-kikusui tab. - CCPS_REF = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-EREF" - Type = float32 - } - FHPS_AUTO_STAT = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT" - Type = uint32 - } - //Add 20201117 - APS_HVON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-HV" - Type = uint32 - } - APS_SWON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-SW" - Type = uint32 - } - BPS_HVON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-HV" - Type = uint32 - } - BPS_SWON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-SW" - Type = uint32 - } - MHVPS_HVON = { - PVName = "EC-GN-P01-PMF:STAT-HVON-CALC.B" - Type = uint32 - } - } - } - // for ESDN packet subscription/publication. - +SDNSubCommands = { - 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 - } - } - } - +SDNReply = { - Class = SDN::SDNPublisher - //Topic = SCUJAB2ECPC - Topic = SCUJA2ECPC - Interface = enp27s0f0 - CPUs = 0x2000 - 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 - } - } - } - - // 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 = 0 - 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.0" - 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.0" - Port = 4 - NI6528P4Value = { - NI6528P4Value = { - Type = uint8 - } - } - } - //P4.0 RV6 _cRIO - //P4.1 RV7 _cRIO - //P4.2 RV8 _cRIO - //P4.3 emp - //P4.4 emp - //P4.5 emp - //P4.6 HVArmed - //P4.7 HVInjection - - +NI6528P5 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 5 - NI6528P5Value = { - NI6528P5Value = { - Type = uint8 - } - } - } - //P5.0 RFON - //P5.1 FHPS_Rampup_complete - //P5.2 SCM_RU_Complete - //P5.3 CCPS_IN_OPERATION - //P5.4 REV2 _PLC - //P5.5 REV3 _PLC - //P5.6 None - //P5.7 None - - +NI6528P4GYA = { - Class = NI6528 - DeviceName = "/dev/pxi6528.1" - Port = 4 - NI6528P4GYAValue = { - NI6528P4GYAValue = { - 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_GYA - - } - +States = { - Class = ReferenceContainer - +Disabled = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM GoErrorGAM InDisabledGAM - GoWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM} - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - +WaitStandby = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitStandbyGAM - choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoDisabledGAM GoWaitReadyGAM GoErrorGAM CCPSWaveformGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - +WaitReady = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitReadyGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - +WaitPermit = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitPermitGAM - choiseGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - - //Real-Time state for HVPS sequence timing control. - +WaitHVON = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitHVONGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - +WaitHVON_SDN = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSRampupGAM InWaitHVON_SDNGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - +WaitHVON_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - +WaitHVON_SDN_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_SDN_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM} - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - - +Error = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM InErrorGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - ExitedHVArmedInjectionRFONGAM ResetPSsGAM - FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM} - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronIOC.db b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronIOC.db deleted file mode 100644 index 3bb3f94..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronIOC.db +++ /dev/null @@ -1,1384 +0,0 @@ - -record(bo, "EC-GN-P01-GAF:STAT-SHORT-PULSE"){ - field(SCAN, "Passive") - field(ONAM, "SHORT MODE") - field(ZNAM, "LONG MODE") -} - -record(ao, "EC-GN-P01-GAF-FHPS:PSU2320-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2610-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2320-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2610-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PB1F:PSU1000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA1F:PSU3000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA1F:PSU3000-EREF-P"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PMF:PSU0000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PB2F:PSU2000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA2F:PSU4000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA2F:PSU4000-EREF-P"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-MCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB1F:PSU1000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB1F:PSU1000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PA1F:PSU3000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PA1F:PSU3000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MOE2810-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MOE2820-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MOE2830-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MRF2910-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PMF:PSU0000-ET-GA"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PMF:PSU0000-IT-GA"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB2F:PSU2000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PB2F:PSU2000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PA2F:PSU4000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PA2F:PSU4000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MOE2810-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MOE2820-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MOE2830-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MRF2910-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PMF:PSU0000-ET-GB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PMF:PSU0000-IT-GB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:PSU3000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:PSU3000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:PSU3000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:PSU1000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:PSU1000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:PSU1000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV5"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV6"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV7"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV8"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:PSU0000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:PSU0000-COFF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:PSU0000-CON-MOD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GA1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GA2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GA3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-TR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:PSU4000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:PSU4000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:PSU4000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:PSU2000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:PSU2000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:PSU2000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-YSTA-GBOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV5"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV6"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV7"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV8"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GB1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GB2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GB3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-TR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPS:PLC4110-RV2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPS:PLC4110-RV3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:PCF4210-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA1F:PSU3000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA1F:PSU3000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB1F:PSU1000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB1F:PSU1000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YFLT-OC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YFLT-OV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:PSU0000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:PSU0000-TYSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPF:PSU0000-YSTA-MOD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YTRP2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-RV1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-RV2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-RV3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-ST1R"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-ST2R"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-ST3R"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-GY1PRM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-OPGY1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YON-CCPS1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YSTA-MPSS"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF:DIO4900-YON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA2F:PSU4000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA2F:PSU4000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB2F:PSU2000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB2F:PSU2000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-YTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-YTRP2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-RV1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-RV2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-RV3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD4"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-GY2PRM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-OPGY2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YON-CCPS2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-RV1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF:DIO4900-YON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PMF:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA1F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA1F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB1F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB1F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA2F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA2F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB2F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB2F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF:STAT-DT-SHOTLEN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF:STAT-DT-SHOTLEN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF:STAT-BEAMON-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF:STAT-BEAMON-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF:STAT-ELAPSED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF:STAT-ELAPSED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GPF:STAT-RDY-TOUT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-MCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-GCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-MCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-GCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-TRIG-SOUR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-TRIG-SOUR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STAT-MD1-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STAT-MD2-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STST-MD3-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STAT-MD4-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-SIMM-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-SIMM-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-PREP-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-PREP-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-MST-TRIG"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-MST-TRIG"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-RST-FLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GAF:STAT-SHOT-ID"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF:STAT-FC-SUBSTATE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GAF:STAT-PREHEAT-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GBF:STAT-SHOT-ID"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF:STAT-FC-SUBSTATE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GBF:STAT-PREHEAT-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:STAT-POLSW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:STAT-POLSW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-CSV-LOAD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-CSV-LOADED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringout, "EC-GN-P01-GAF:STAT-CSV-NAME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF:STAT-CSV-ERR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-CSV-LOAD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-CSV-LOADED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringout, "EC-GN-P01-GBF:STAT-CSV-NAME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF:STAT-CSV-ERR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GPF:STAT-DAQ-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-DAQ-SW-TRIG"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GPF:STAT-DAQ-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-DAQ-CONF-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-LEN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-DAQ-RECONF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-PUB-DLY"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GPF:STAT-DAQ-MODE-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-LEN-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PB1F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PA1F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF-FHPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF-CCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-MCPS:STATPREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF-GCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:STAT-PREP-TIME-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "SHORT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB2F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PA2F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-FHPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-CCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-MCPS:STATPREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-GCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:STAT-PREP-TIME-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-MCPS:PSU2120-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-GCPS:PSU2130-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-MCPS:PSU2120-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-GCPS:PSU2130-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-FHPS:PSU2610-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-REM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-FHPS:PSU2610-REM-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-FHPS:PSU2610-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-CCPS:PSU2320-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-RANG-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-RANG-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-CCPS:PSU2320-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:STAT-AMP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:STAT-FREQ"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-FHPS:PSU2610-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-REM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-FHPS:PSU2610-REM-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-FHPS:PSU2610-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-CCPS:PSU2320-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2320-RANG-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-RANG-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-CCPS:PSU2320-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:STAT-AMP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:STAT-FREQ"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:STAT-GYA-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:STAT-GYB-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(calcout, "EC-GN-P01-PMF:STAT-HVON-CALC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(calcout, "EC-GN-P01-GAF:STAT-MST-TRIG-CALC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(calcout, "EC-GN-P01-GBF:STAT-MST-TRIG-CALC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} - -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-STAT"){ - field(SCAN, "Passive") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-STAT"){ - field(SCAN, "Passive") -} diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/shot0001.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/shot0001.csv deleted file mode 100644 index e69de29..0000000 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv deleted file mode 100644 index e7ba9e5..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv +++ /dev/null @@ -1,41 +0,0 @@ --100,0,0,0,0,0,0 --90,1,1,1,1,1,1 --80,2,2,2,2,2,2 --70,3,3,3,3,3,3 --60,4,4,4,4,4,4 --50,5,5,5,5,5,5 --40,6,6,6,6,6,6 --30,7,7,7,7,7,7 --20,8,8,8,8,8,8 --10,9,9,9,9,9,9 -0,10,10,10,10,10,10 -10,9,9,9,9,9,9 -20,8,8,8,8,8,8 -30,7,7,7,7,7,7 -40,6,6,6,6,6,6 -50,5,5,5,5,5,5 -60,4,4,4,4,4,4 -70,3,3,3,3,3,3 -80,2,2,2,2,2,2 -90,1,1,1,1,1,1 -100,0,0,0,0,0,0 -110,1,1,1,1,1,1 -120,2,2,2,2,2,2 -130,3,3,3,3,3,3 -140,4,4,4,4,4,4 -150,5,5,5,5,5,5 -160,6,6,6,6,6,6 -170,7,7,7,7,7,7 -180,8,8,8,8,8,8 -190,9,9,9,9,9,9 -200,10,10,10,10,10,10 -210,9,9,9,9,9,9 -220,8,8,8,8,8,8 -230,7,7,7,7,7,7 -240,6,6,6,6,6,6 -250,5,5,5,5,5,5 -260,4,4,4,4,4,4 -270,3,3,3,3,3,3 -280,2,2,2,2,2,2 -290,1,1,1,1,1,1 -300,0,0,0,0,0,0 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv.original b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv.original deleted file mode 100644 index c942204..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv.original +++ /dev/null @@ -1,41 +0,0 @@ --100,0,0,0,0,0 --90,1,1,1,1,1 --80,2,2,2,2,2 --70,3,3,3,3,3 --60,4,4,4,4,4 --50,5,5,5,5,5 --40,6,6,6,6,6 --30,7,7,7,7,7 --20,8,8,8,8,8 --10,9,9,9,9,9 -0,10,10,10,10,10 -10,9,9,9,9,9 -20,8,8,8,8,8 -30,7,7,7,7,7 -40,6,6,6,6,6 -50,5,5,5,5,5 -60,4,4,4,4,4 -70,3,3,3,3,3 -80,2,2,2,2,2 -90,1,1,1,1,1 -100,0,0,0,0,0 -110,1,1,1,1,1 -120,2,2,2,2,2 -130,3,3,3,3,3 -140,4,4,4,4,4 -150,5,5,5,5,5 -160,6,6,6,6,6 -170,7,7,7,7,7 -180,8,8,8,8,8 -190,9,9,9,9,9 -200,10,10,10,10,10 -210,9,9,9,9,9 -220,8,8,8,8,8 -230,7,7,7,7,7 -240,6,6,6,6,6 -250,5,5,5,5,5 -260,4,4,4,4,4 -270,3,3,3,3,3 -280,2,2,2,2,2 -290,1,1,1,1,1 -300,0,0,0,0,0 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv deleted file mode 100644 index d05acb7..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,10,10,10,10,10,10 -10,9,9,9,9,9,9 -20,8,8,8,8,8,8 -30,7,7,7,7,7,7 -40,6,6,6,6,6,6 -50,5,5,5,5,5,5 -60,4,4,4,4,4,4 -70,3,3,3,3,3,3 -80,2,2,2,2,2,2 -90,1,1,1,1,1,1 -100,0,0,0,0,0,0 -110,1,1,1,1,1,1 -120,2,2,2,2,2,2 -130,3,3,3,3,3,3 -140,4,4,4,4,4,4 -150,5,5,5,5,5,5 -160,6,6,6,6,6,6 -170,7,7,7,7,7,7 -180,8,8,8,8,8,8 -190,9,9,9,9,9,9 -200,10,10,10,10,10,10 -210,9,9,9,9,9,9 -220,8,8,8,8,8,8 -230,7,7,7,7,7,7 -240,6,6,6,6,6,6 -250,5,5,5,5,5,5 -260,4,4,4,4,4,4 -270,3,3,3,3,3,3 -280,2,2,2,2,2,2 -290,1,1,1,1,1,1 -300,0,0,0,0,0,0 -310,1,1,1,1,1,1 -320,2,2,2,2,2,2 -330,3,3,3,3,3,3 -340,4,4,4,4,4,4 -350,5,5,5,5,5,5 -360,6,6,6,6,6,6 -370,7,7,7,7,7,7 -380,8,8,8,8,8,8 -390,9,9,9,9,9,9 -400,10,10,10,10,10,10 -410,9,9,9,9,9,9 -420,8,8,8,8,8,8 -430,7,7,7,7,7,7 -440,6,6,6,6,6,6 -450,5,5,5,5,5,5 -460,4,4,4,4,4,4 -470,3,3,3,3,3,3 -480,2,2,2,2,2,2 -490,1,1,1,1,1,1 -500,0,0,0,0,0,0 -510,1,1,1,1,1,1 -520,2,2,2,2,2,2 -530,3,3,3,3,3,3 -540,4,4,4,4,4,4 -550,5,5,5,5,5,5 -560,6,6,6,6,6,6 -570,7,7,7,7,7,7 -580,8,8,8,8,8,8 -590,9,9,9,9,9,9 -600,10,10,10,10,10,10 -610,9,9,9,9,9,9 -620,8,8,8,8,8,8 -630,7,7,7,7,7,7 -640,6,6,6,6,6,6 -650,5,5,5,5,5,5 -660,4,4,4,4,4,4 -670,3,3,3,3,3,3 -680,2,2,2,2,2,2 -690,1,1,1,1,1,1 -700,0,0,0,0,0,0 -710,1,1,1,1,1,1 -720,2,2,2,2,2,2 -730,3,3,3,3,3,3 -740,4,4,4,4,4,4 -750,5,5,5,5,5,5 -760,6,6,6,6,6,6 -770,7,7,7,7,7,7 -780,8,8,8,8,8,8 -790,9,9,9,9,9,9 -800,10,10,10,10,10,10 -810,9,9,9,9,9,9 -820,8,8,8,8,8,8 -830,7,7,7,7,7,7 -840,6,6,6,6,6,6 -850,5,5,5,5,5,5 -860,4,4,4,4,4,4 -870,3,3,3,3,3,3 -880,2,2,2,2,2,2 -890,1,1,1,1,1,1 -900,0,0,0,0,0,0 -910,1,1,1,1,1,1 -920,2,2,2,2,2,2 -930,3,3,3,3,3,3 -940,4,4,4,4,4,4 -950,5,5,5,5,5,5 -960,6,6,6,6,6,6 -970,7,7,7,7,7,7 -980,8,8,8,8,8,8 -990,9,9,9,9,9,9 -1000,10,10,10,10,10,10 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv.original b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv.original deleted file mode 100644 index 07d2393..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv.original +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2 -#Time,BPS,APS,MC,GC,FHPS -0,10,10,10,10,10 -10,9,9,9,9,9 -20,8,8,8,8,8 -30,7,7,7,7,7 -40,6,6,6,6,6 -50,5,5,5,5,5 -60,4,4,4,4,4 -70,3,3,3,3,3 -80,2,2,2,2,2 -90,1,1,1,1,1 -100,0,0,0,0,0 -110,1,1,1,1,1 -120,2,2,2,2,2 -130,3,3,3,3,3 -140,4,4,4,4,4 -150,5,5,5,5,5 -160,6,6,6,6,6 -170,7,7,7,7,7 -180,8,8,8,8,8 -190,9,9,9,9,9 -200,10,10,10,10,10 -210,9,9,9,9,9 -220,8,8,8,8,8 -230,7,7,7,7,7 -240,6,6,6,6,6 -250,5,5,5,5,5 -260,4,4,4,4,4 -270,3,3,3,3,3 -280,2,2,2,2,2 -290,1,1,1,1,1 -300,0,0,0,0,0 -310,1,1,1,1,1 -320,2,2,2,2,2 -330,3,3,3,3,3 -340,4,4,4,4,4 -350,5,5,5,5,5 -360,6,6,6,6,6 -370,7,7,7,7,7 -380,8,8,8,8,8 -390,9,9,9,9,9 -400,10,10,10,10,10 -410,9,9,9,9,9 -420,8,8,8,8,8 -430,7,7,7,7,7 -440,6,6,6,6,6 -450,5,5,5,5,5 -460,4,4,4,4,4 -470,3,3,3,3,3 -480,2,2,2,2,2 -490,1,1,1,1,1 -500,0,0,0,0,0 -510,1,1,1,1,1 -520,2,2,2,2,2 -530,3,3,3,3,3 -540,4,4,4,4,4 -550,5,5,5,5,5 -560,6,6,6,6,6 -570,7,7,7,7,7 -580,8,8,8,8,8 -590,9,9,9,9,9 -600,10,10,10,10,10 -610,9,9,9,9,9 -620,8,8,8,8,8 -630,7,7,7,7,7 -640,6,6,6,6,6 -650,5,5,5,5,5 -660,4,4,4,4,4 -670,3,3,3,3,3 -680,2,2,2,2,2 -690,1,1,1,1,1 -700,0,0,0,0,0 -710,1,1,1,1,1 -720,2,2,2,2,2 -730,3,3,3,3,3 -740,4,4,4,4,4 -750,5,5,5,5,5 -760,6,6,6,6,6 -770,7,7,7,7,7 -780,8,8,8,8,8 -790,9,9,9,9,9 -800,10,10,10,10,10 -810,9,9,9,9,9 -820,8,8,8,8,8 -830,7,7,7,7,7 -840,6,6,6,6,6 -850,5,5,5,5,5 -860,4,4,4,4,4 -870,3,3,3,3,3 -880,2,2,2,2,2 -890,1,1,1,1,1 -900,0,0,0,0,0 -910,1,1,1,1,1 -920,2,2,2,2,2 -930,3,3,3,3,3 -940,4,4,4,4,4 -950,5,5,5,5,5 -960,6,6,6,6,6 -970,7,7,7,7,7 -980,8,8,8,8,8 -990,9,9,9,9,9 -1000,10,10,10,10,10 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv deleted file mode 100644 index 6751924..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv +++ /dev/null @@ -1,6002 +0,0 @@ -t (100ms),EW6-Voset (kV),EW2-Voset (kV),EW3-VOset (kV),EW101-MC-Ioset (A),EW101-GC-Ioset (A),FPS101-Voset (V) -0,46,20,15,111.3,1.7,53.2 -1,46,20.5,14.5,111.3,1.7,62 -2,46,21,14,111.3,1.7,62 -3,46,21.5,13.5,111.3,1.7,62 -4,46,22,13,111.3,1.7,62 -5,46,22.5,12.5,111.3,1.7,62 -6,46,23,12,111.3,1.7,62 -7,46,23.5,11.5,111.3,1.7,62 -8,46,24,11,111.3,1.7,62 -9,46,24.5,10.5,111.3,1.7,62 -10,46,25,10,111.3,1.7,62 -11,46,25.5,9.5,111.3,1.7,62 -12,46,26,9,111.3,1.7,62 -13,46,26.5,8.5,111.3,1.7,62 -14,46,27,8,111.3,1.7,62 -15,46,27.5,7.5,111.3,1.7,62 -16,46,28,7,111.3,1.7,62 -17,46,28.5,6.5,111.3,1.7,62 -18,46,29,6,111.3,1.7,62 -19,46,29.5,5.5,111.3,1.7,62 -20,46,30,5,111.3,1.7,62 -21,46,30,4.5,111.3,1.7,62 -22,46,30,4,111.3,1.7,62 -23,46,30,4,111.3,1.7,62 -24,46,30,4,111.3,1.7,62 -25,46,30,4,111.3,1.7,62 -26,46,30,4,111.3,1.7,62 -27,46,30,4,111.3,1.7,62 -28,46,30,4,111.3,1.7,62 -29,46,30,4,111.3,1.7,62 -30,46,30,4,111.3,1.7,62 -31,46,30,3.4,111.3,1.7,62 -32,46,30,3.4,111.3,1.7,62 -33,46,30,3.4,111.3,1.7,62 -34,46,30,3.4,111.3,1.7,62 -35,46,30,3.4,111.3,1.7,62 -36,46,30,3.4,111.3,1.7,62 -37,46,30,3.4,111.3,1.7,62 -38,46,30,3.4,111.3,1.7,62 -39,46,30,3.4,111.3,1.7,62 -40,46,30,3.4,111.3,1.7,62 -41,46,30,3.4,111.3,1.7,62 -42,46,30,3.4,111.3,1.7,62 -43,46,30,3.4,111.3,1.7,62 -44,46,30,3.4,111.3,1.7,62 -45,46,30,3.4,111.3,1.7,62 -46,46,30,3.4,111.3,1.7,62 -47,46,30,3.4,111.3,1.7,62 -48,46,30,3.4,111.3,1.7,62 -49,46,30,3.4,111.3,1.7,62 -50,46,30,3.4,111.3,1.7,62 -51,46,30,3.4,111.3,1.7,62.1 -52,46,30,3.4,111.3,1.7,62.2 -53,46,30,3.4,111.3,1.7,62.3 -54,46,30,3.4,111.3,1.7,62.4 -55,46,30,3.4,111.3,1.7,62.5 -56,46,30,3.4,111.3,1.7,62.6 -57,46,30,3.4,111.3,1.7,62.7 -58,46,30,3.4,111.3,1.7,62.8 -59,46,30,3.4,111.3,1.7,62.9 -60,46,30,3.4,111.3,1.7,63 -61,46,30,3,111.3,1.7,63.1 -62,46,30,3,111.3,1.7,63.2 -63,46,30,3,111.3,1.7,63.3 -64,46,30,3,111.3,1.7,63.4 -65,46,30,3,111.3,1.7,63.5 -66,46,30,3,111.3,1.7,63.6 -67,46,30,3,111.3,1.7,63.7 -68,46,30,3,111.3,1.7,63.8 -69,46,30,3,111.3,1.7,63.9 -70,46,30,3,111.3,1.7,64 -71,46,30,3,111.3,1.7,64.1 -72,46,30,3,111.3,1.7,64.2 -73,46,30,3,111.3,1.7,64.3 -74,46,30,3,111.3,1.7,64.4 -75,46,30,3,111.3,1.7,64.5 -76,46,30,3,111.3,1.7,64.6 -77,46,30,3,111.3,1.7,64.7 -78,46,30,3,111.3,1.7,64.8 -79,46,30,3,111.3,1.7,64.9 -80,46,30,3,111.3,1.7,65 -81,46,30,3,111.3,1.7,65.1 -82,46,30,3,111.3,1.7,65.2 -83,46,30,3,111.3,1.7,65.3 -84,46,30,3,111.3,1.7,65.4 -85,46,30,3,111.3,1.7,65.5 -86,46,30,3,111.3,1.7,65.6 -87,46,30,3,111.3,1.7,65.7 -88,46,30,3,111.3,1.7,65.8 -89,46,30,3,111.3,1.7,65.9 -90,46,30,3,111.3,1.7,66 -91,46,30,3,111.3,1.7,66.1 -92,46,30,3,111.3,1.7,66.2 -93,46,30,3,111.3,1.7,66.3 -94,46,30,3,111.3,1.7,66.4 -95,46,30,3,111.3,1.7,66.5 -96,46,30,3,111.3,1.7,66.6 -97,46,30,3,111.3,1.7,66.7 -98,46,30,3,111.3,1.7,66.8 -99,46,30,3,111.3,1.7,66.9 -100,46,30,3,111.3,1.7,67 -101,46,30,3,111.3,1.7,67 -102,46,30,3,111.3,1.7,67 -103,46,30,3,111.3,1.7,67 -104,46,30,3,111.3,1.7,67 -105,46,30,3,111.3,1.7,67 -106,46,30,3,111.3,1.7,67 -107,46,30,3,111.3,1.7,67 -108,46,30,3,111.3,1.7,67 -109,46,30,3,111.3,1.7,67 -110,46,30,3,111.3,1.7,67 -111,46,30,3,111.3,1.7,67 -112,46,30,3,111.3,1.7,67 -113,46,30,3,111.3,1.7,67 -114,46,30,3,111.3,1.7,67 -115,46,30,3,111.3,1.7,67 -116,46,30,3,111.3,1.7,67 -117,46,30,3,111.3,1.7,67 -118,46,30,3,111.3,1.7,67 -119,46,30,3,111.3,1.7,67 -120,46,30,3,111.3,1.7,67 -121,46,30,3,111.3,1.7,67 -122,46,30,3,111.3,1.7,67 -123,46,30,3,111.3,1.7,67 -124,46,30,3,111.3,1.7,67 -125,46,30,3,111.3,1.7,67 -126,46,30,3,111.3,1.7,67 -127,46,30,3,111.3,1.7,67 -128,46,30,3,111.3,1.7,67 -129,46,30,3,111.3,1.7,67 -130,46,30,3,111.3,1.7,67 -131,46,30,3,111.3,1.7,67 -132,46,30,3,111.3,1.7,67 -133,46,30,3,111.3,1.7,67 -134,46,30,3,111.3,1.7,67 -135,46,30,3,111.3,1.7,67 -136,46,30,3,111.3,1.7,67 -137,46,30,3,111.3,1.7,67 -138,46,30,3,111.3,1.7,67 -139,46,30,3,111.3,1.7,67 -140,46,30,3,111.3,1.7,67 -141,46,30,3,111.3,1.7,67 -142,46,30,3,111.3,1.7,67 -143,46,30,3,111.3,1.7,67 -144,46,30,3,111.3,1.7,67 -145,46,30,3,111.3,1.7,67 -146,46,30,3,111.3,1.7,67 -147,46,30,3,111.3,1.7,67 -148,46,30,3,111.3,1.7,67 -149,46,30,3,111.3,1.7,67 -150,46,30,3,111.3,1.7,67 -151,46,30,3,111.3,1.7,67 -152,46,30,3,111.3,1.7,67 -153,46,30,3,111.3,1.7,67 -154,46,30,3,111.3,1.7,67 -155,46,30,3,111.3,1.7,67 -156,46,30,3,111.3,1.7,67 -157,46,30,3,111.3,1.7,67 -158,46,30,3,111.3,1.7,67 -159,46,30,3,111.3,1.7,67 -160,46,30,3,111.3,1.7,67 -161,46,30,3,111.3,1.7,67 -162,46,30,3,111.3,1.7,67 -163,46,30,3,111.3,1.7,67 -164,46,30,3,111.3,1.7,67 -165,46,30,3,111.3,1.7,67 -166,46,30,3,111.3,1.7,67 -167,46,30,3,111.3,1.7,67 -168,46,30,3,111.3,1.7,67 -169,46,30,3,111.3,1.7,67 -170,46,30,3,111.3,1.7,67 -171,46,30,3,111.3,1.7,67 -172,46,30,3,111.3,1.7,67 -173,46,30,3,111.3,1.7,67 -174,46,30,3,111.3,1.7,67 -175,46,30,3,111.3,1.7,67 -176,46,30,3,111.3,1.7,67 -177,46,30,3,111.3,1.7,67 -178,46,30,3,111.3,1.7,67 -179,46,30,3,111.3,1.7,67 -180,46,30,3,111.3,1.7,67 -181,46,30,3,111.3,1.7,67 -182,46,30,3,111.3,1.7,67 -183,46,30,3,111.3,1.7,67 -184,46,30,3,111.3,1.7,67 -185,46,30,3,111.3,1.7,67 -186,46,30,3,111.3,1.7,67 -187,46,30,3,111.3,1.7,67 -188,46,30,3,111.3,1.7,67 -189,46,30,3,111.3,1.7,67 -190,46,30,3,111.3,1.7,67 -191,46,30,3,111.3,1.7,67 -192,46,30,3,111.3,1.7,67 -193,46,30,3,111.3,1.7,67 -194,46,30,3,111.3,1.7,67 -195,46,30,3,111.3,1.7,67 -196,46,30,3,111.3,1.7,67 -197,46,30,3,111.3,1.7,67 -198,46,30,3,111.3,1.7,67 -199,46,30,3,111.3,1.7,67 -200,46,30,2.9,111.3,1.7,67 -201,46,30,2.9,111.05,1.7,67 -202,46,30,2.9,111.05,1.7,67 -203,46,30,2.9,111.05,1.7,67 -204,46,30,2.9,111.05,1.7,67 -205,46,30,2.9,111.05,1.7,67 -206,46,30,2.9,111.05,1.7,67 -207,46,30,2.9,111.05,1.7,67 -208,46,30,2.9,111.05,1.7,67 -209,46,30,2.9,111.05,1.7,67 -210,46,30,2.9,111.05,1.7,67 -211,46,30,2.9,111.05,1.7,67 -212,46,30,2.9,111.05,1.7,67 -213,46,30,2.9,111.05,1.7,67 -214,46,30,2.9,111.05,1.7,67 -215,46,30,2.9,111.05,1.7,67 -216,46,30,2.9,111.05,1.7,67 -217,46,30,2.9,111.05,1.7,67 -218,46,30,2.9,111.05,1.7,67 -219,46,30,2.9,111.05,1.7,67 -220,46,30,2.9,111.05,1.7,67 -221,46,30,2.9,111.05,1.7,67 -222,46,30,2.9,111.05,1.7,67 -223,46,30,2.9,111.05,1.7,67 -224,46,30,2.9,111.05,1.7,67 -225,46,30,2.9,111.05,1.7,67 -226,46,30,2.9,111.05,1.7,67 -227,46,30,2.9,111.05,1.7,67 -228,46,30,2.9,111.05,1.7,67 -229,46,30,2.9,111.05,1.7,67 -230,46,30,2.9,111.05,1.7,67 -231,46,30,2.9,111.05,1.7,67 -232,46,30,2.9,111.05,1.7,67 -233,46,30,2.9,111.05,1.7,67 -234,46,30,2.9,111.05,1.7,67 -235,46,30,2.9,111.05,1.7,67 -236,46,30,2.9,111.05,1.7,67 -237,46,30,2.9,111.05,1.7,67 -238,46,30,2.9,111.05,1.7,67 -239,46,30,2.9,111.05,1.7,67 -240,46,30,2.9,111.05,1.7,67 -241,46,30,2.9,111.05,1.7,67 -242,46,30,2.9,111.05,1.7,67 -243,46,30,2.9,111.05,1.7,67 -244,46,30,2.9,111.05,1.7,67 -245,46,30,2.9,111.05,1.7,67 -246,46,30,2.9,111.05,1.7,67 -247,46,30,2.9,111.05,1.7,67 -248,46,30,2.9,111.05,1.7,67 -249,46,30,2.9,111.05,1.7,67 -250,46,30,2.8,111.05,1.7,67 -251,46,30,2.8,111.05,1.7,67 -252,46,30,2.8,111.05,1.7,67 -253,46,30,2.8,111.05,1.7,67 -254,46,30,2.8,111.05,1.7,67 -255,46,30,2.8,111.05,1.7,67 -256,46,30,2.8,111.05,1.7,67 -257,46,30,2.8,111.05,1.7,67 -258,46,30,2.8,111.05,1.7,67 -259,46,30,2.8,111.05,1.7,67 -260,46,30,2.8,111.05,1.7,67 -261,46,30,2.8,111.05,1.7,67 -262,46,30,2.8,111.05,1.7,67 -263,46,30,2.8,111.05,1.7,67 -264,46,30,2.8,111.05,1.7,67 -265,46,30,2.8,111.05,1.7,67 -266,46,30,2.8,111.05,1.7,67 -267,46,30,2.8,111.05,1.7,67 -268,46,30,2.8,111.05,1.7,67 -269,46,30,2.8,111.05,1.7,67 -270,46,30,2.8,111.05,1.7,67 -271,46,30,2.8,111.05,1.7,67 -272,46,30,2.8,111.05,1.7,67 -273,46,30,2.8,111.05,1.7,67 -274,46,30,2.8,111.05,1.7,67 -275,46,30,2.8,111.05,1.7,67 -276,46,30,2.8,111.05,1.7,67 -277,46,30,2.8,111.05,1.7,67 -278,46,30,2.8,111.05,1.7,67 -279,46,30,2.8,111.05,1.7,67 -280,46,30,2.8,111.05,1.7,67 -281,46,30,2.8,111.05,1.7,67 -282,46,30,2.8,111.05,1.7,67 -283,46,30,2.8,111.05,1.7,67 -284,46,30,2.8,111.05,1.7,67 -285,46,30,2.8,111.05,1.7,67 -286,46,30,2.8,111.05,1.7,67 -287,46,30,2.8,111.05,1.7,67 -288,46,30,2.8,111.05,1.7,67 -289,46,30,2.8,111.05,1.7,67 -290,46,30,2.8,111.05,1.7,67 -291,46,30,2.8,111.05,1.7,67 -292,46,30,2.8,111.05,1.7,67 -293,46,30,2.8,111.05,1.7,67 -294,46,30,2.8,111.05,1.7,67 -295,46,30,2.8,111.05,1.7,67 -296,46,30,2.8,111.05,1.7,67 -297,46,30,2.8,111.05,1.7,67 -298,46,30,2.8,111.05,1.7,67 -299,46,30,2.8,111.05,1.7,67 -300,46,30,2.7,111.05,1.7,67 -301,46,30,2.7,111.05,1.7,67 -302,46,30,2.7,111.05,1.7,67 -303,46,30,2.7,111.05,1.7,67 -304,46,30,2.7,111.05,1.7,67 -305,46,30,2.7,111.05,1.7,67 -306,46,30,2.7,111.05,1.7,67 -307,46,30,2.7,111.05,1.7,67 -308,46,30,2.7,111.05,1.7,67 -309,46,30,2.7,111.05,1.7,67 -310,46,30,2.7,111.05,1.7,67 -311,46,30,2.7,111.05,1.7,67 -312,46,30,2.7,111.05,1.7,67 -313,46,30,2.7,111.05,1.7,67 -314,46,30,2.7,111.05,1.7,67 -315,46,30,2.7,111.05,1.7,67 -316,46,30,2.7,111.05,1.7,67 -317,46,30,2.7,111.05,1.7,67 -318,46,30,2.7,111.05,1.7,67 -319,46,30,2.7,111.05,1.7,67 -320,46,30,2.7,111.05,1.7,67 -321,46,30,2.7,111.05,1.7,67 -322,46,30,2.7,111.05,1.7,67 -323,46,30,2.7,111.05,1.7,67 -324,46,30,2.7,111.05,1.7,67 -325,46,30,2.7,111.05,1.7,67 -326,46,30,2.7,111.05,1.7,67 -327,46,30,2.7,111.05,1.7,67 -328,46,30,2.7,111.05,1.7,67 -329,46,30,2.7,111.05,1.7,67 -330,46,30,2.7,111.05,1.7,67 -331,46,30,2.7,111.05,1.7,67 -332,46,30,2.7,111.05,1.7,67 -333,46,30,2.7,111.05,1.7,67 -334,46,30,2.7,111.05,1.7,67 -335,46,30,2.7,111.05,1.7,67 -336,46,30,2.7,111.05,1.7,67 -337,46,30,2.7,111.05,1.7,67 -338,46,30,2.7,111.05,1.7,67 -339,46,30,2.7,111.05,1.7,67 -340,46,30,2.7,111.05,1.7,67 -341,46,30,2.7,111.05,1.7,67 -342,46,30,2.7,111.05,1.7,67 -343,46,30,2.7,111.05,1.7,67 -344,46,30,2.7,111.05,1.7,67 -345,46,30,2.7,111.05,1.7,67 -346,46,30,2.7,111.05,1.7,67 -347,46,30,2.7,111.05,1.7,67 -348,46,30,2.7,111.05,1.7,67 -349,46,30,2.7,111.05,1.7,67 -350,46,30,2.7,111.05,1.7,67 -351,46,30,2.7,111.05,1.7,67 -352,46,30,2.7,111.05,1.7,67 -353,46,30,2.7,111.05,1.7,67 -354,46,30,2.7,111.05,1.7,67 -355,46,30,2.7,111.05,1.7,67 -356,46,30,2.7,111.05,1.7,67 -357,46,30,2.7,111.05,1.7,67 -358,46,30,2.7,111.05,1.7,67 -359,46,30,2.7,111.05,1.7,67 -360,46,30,2.7,111.05,1.7,67 -361,46,30,2.7,111.05,1.7,67 -362,46,30,2.7,111.05,1.7,67 -363,46,30,2.7,111.05,1.7,67 -364,46,30,2.7,111.05,1.7,67 -365,46,30,2.7,111.05,1.7,67 -366,46,30,2.7,111.05,1.7,67 -367,46,30,2.7,111.05,1.7,67 -368,46,30,2.7,111.05,1.7,67 -369,46,30,2.7,111.05,1.7,67 -370,46,30,2.7,111.05,1.7,67 -371,46,30,2.7,111.05,1.7,67 -372,46,30,2.7,111.05,1.7,67 -373,46,30,2.7,111.05,1.7,67 -374,46,30,2.7,111.05,1.7,67 -375,46,30,2.7,111.05,1.7,67 -376,46,30,2.7,111.05,1.7,67 -377,46,30,2.7,111.05,1.7,67 -378,46,30,2.7,111.05,1.7,67 -379,46,30,2.7,111.05,1.7,67 -380,46,30,2.7,111.05,1.7,67 -381,46,30,2.7,111.05,1.7,67 -382,46,30,2.7,111.05,1.7,67 -383,46,30,2.7,111.05,1.7,67 -384,46,30,2.7,111.05,1.7,67 -385,46,30,2.7,111.05,1.7,67 -386,46,30,2.7,111.05,1.7,67 -387,46,30,2.7,111.05,1.7,67 -388,46,30,2.7,111.05,1.7,67 -389,46,30,2.7,111.05,1.7,67 -390,46,30,2.7,111.05,1.7,67 -391,46,30,2.7,111.05,1.7,67 -392,46,30,2.7,111.05,1.7,67 -393,46,30,2.7,111.05,1.7,67 -394,46,30,2.7,111.05,1.7,67 -395,46,30,2.7,111.05,1.7,67 -396,46,30,2.7,111.05,1.7,67 -397,46,30,2.7,111.05,1.7,67 -398,46,30,2.7,111.05,1.7,67 -399,46,30,2.7,111.05,1.7,67 -400,46,30,2.7,111.05,1.7,67 -401,46,30,2.7,111.05,1.7,66.9975 -402,46,30,2.7,111.05,1.7,66.995 -403,46,30,2.7,111.05,1.7,66.9925 -404,46,30,2.7,111.05,1.7,66.99 -405,46,30,2.7,111.05,1.7,66.9875 -406,46,30,2.7,111.05,1.7,66.985 -407,46,30,2.7,111.05,1.7,66.9825 -408,46,30,2.7,111.05,1.7,66.98 -409,46,30,2.7,111.05,1.7,66.9775 -410,46,30,2.7,111.05,1.7,66.975 -411,46,30,2.7,111.05,1.7,66.9725 -412,46,30,2.7,111.05,1.7,66.97 -413,46,30,2.7,111.05,1.7,66.9675 -414,46,30,2.7,111.05,1.7,66.965 -415,46,30,2.7,111.05,1.7,66.9625 -416,46,30,2.7,111.05,1.7,66.96 -417,46,30,2.7,111.05,1.7,66.9575 -418,46,30,2.7,111.05,1.7,66.955 -419,46,30,2.7,111.05,1.7,66.9525 -420,46,30,2.7,111.05,1.7,66.95 -421,46,30,2.7,111.05,1.7,66.9475 -422,46,30,2.7,111.05,1.7,66.945 -423,46,30,2.7,111.05,1.7,66.9425 -424,46,30,2.7,111.05,1.7,66.94 -425,46,30,2.7,111.05,1.7,66.9375 -426,46,30,2.7,111.05,1.7,66.935 -427,46,30,2.7,111.05,1.7,66.9325 -428,46,30,2.7,111.05,1.7,66.93 -429,46,30,2.7,111.05,1.7,66.9275 -430,46,30,2.7,111.05,1.7,66.925 -431,46,30,2.7,111.05,1.7,66.9225 -432,46,30,2.7,111.05,1.7,66.92 -433,46,30,2.7,111.05,1.7,66.9175 -434,46,30,2.7,111.05,1.7,66.915 -435,46,30,2.7,111.05,1.7,66.9125 -436,46,30,2.7,111.05,1.7,66.91 -437,46,30,2.7,111.05,1.7,66.9075 -438,46,30,2.7,111.05,1.7,66.905 -439,46,30,2.7,111.05,1.7,66.9025 -440,46,30,2.7,111.05,1.7,66.9 -441,46,30,2.7,111.05,1.7,66.8975 -442,46,30,2.7,111.05,1.7,66.895 -443,46,30,2.7,111.05,1.7,66.8925 -444,46,30,2.7,111.05,1.7,66.89 -445,46,30,2.7,111.05,1.7,66.8875 -446,46,30,2.7,111.05,1.7,66.885 -447,46,30,2.7,111.05,1.7,66.8825 -448,46,30,2.7,111.05,1.7,66.88 -449,46,30,2.7,111.05,1.7,66.8775 -450,46,30,2.7,111.05,1.7,66.875 -451,46,30,2.7,111.05,1.7,66.8725 -452,46,30,2.7,111.05,1.7,66.87 -453,46,30,2.7,111.05,1.7,66.8675 -454,46,30,2.7,111.05,1.7,66.865 -455,46,30,2.7,111.05,1.7,66.8625 -456,46,30,2.7,111.05,1.7,66.86 -457,46,30,2.7,111.05,1.7,66.8575 -458,46,30,2.7,111.05,1.7,66.855 -459,46,30,2.7,111.05,1.7,66.8525 -460,46,30,2.7,111.05,1.7,66.85 -461,46,30,2.7,111.05,1.7,66.8475 -462,46,30,2.7,111.05,1.7,66.845 -463,46,30,2.7,111.05,1.7,66.8425 -464,46,30,2.7,111.05,1.7,66.84 -465,46,30,2.7,111.05,1.7,66.8375 -466,46,30,2.7,111.05,1.7,66.835 -467,46,30,2.7,111.05,1.7,66.8325 -468,46,30,2.7,111.05,1.7,66.83 -469,46,30,2.7,111.05,1.7,66.8275 -470,46,30,2.7,111.05,1.7,66.825 -471,46,30,2.7,111.05,1.7,66.8225 -472,46,30,2.7,111.05,1.7,66.82 -473,46,30,2.7,111.05,1.7,66.8175 -474,46,30,2.7,111.05,1.7,66.815 -475,46,30,2.7,111.05,1.7,66.8125 -476,46,30,2.7,111.05,1.7,66.81 -477,46,30,2.7,111.05,1.7,66.8075 -478,46,30,2.7,111.05,1.7,66.805 -479,46,30,2.7,111.05,1.7,66.8025 -480,46,30,2.7,111.05,1.7,66.8 -481,46,30,2.7,111.05,1.7,66.7975 -482,46,30,2.7,111.05,1.7,66.795 -483,46,30,2.7,111.05,1.7,66.7925 -484,46,30,2.7,111.05,1.7,66.79 -485,46,30,2.7,111.05,1.7,66.7875 -486,46,30,2.7,111.05,1.7,66.785 -487,46,30,2.7,111.05,1.7,66.7825 -488,46,30,2.7,111.05,1.7,66.78 -489,46,30,2.7,111.05,1.7,66.7775 -490,46,30,2.7,111.05,1.7,66.775 -491,46,30,2.7,111.05,1.7,66.7725 -492,46,30,2.7,111.05,1.7,66.77 -493,46,30,2.7,111.05,1.7,66.7675 -494,46,30,2.7,111.05,1.7,66.765 -495,46,30,2.7,111.05,1.7,66.7625 -496,46,30,2.7,111.05,1.7,66.76 -497,46,30,2.7,111.05,1.7,66.7575 -498,46,30,2.7,111.05,1.7,66.755 -499,46,30,2.7,111.05,1.7,66.7525 -500,46,30,2.7,111.05,1.7,66.75 -501,46,30,2.7,111.05,1.7,66.7475 -502,46,30,2.7,111.05,1.7,66.745 -503,46,30,2.7,111.05,1.7,66.7425 -504,46,30,2.7,111.05,1.7,66.74 -505,46,30,2.7,111.05,1.7,66.7375 -506,46,30,2.7,111.05,1.7,66.735 -507,46,30,2.7,111.05,1.7,66.7325 -508,46,30,2.7,111.05,1.7,66.73 -509,46,30,2.7,111.05,1.7,66.7275 -510,46,30,2.7,111.05,1.7,66.725 -511,46,30,2.7,111.05,1.7,66.7225 -512,46,30,2.7,111.05,1.7,66.72 -513,46,30,2.7,111.05,1.7,66.7175 -514,46,30,2.7,111.05,1.7,66.715 -515,46,30,2.7,111.05,1.7,66.7125 -516,46,30,2.7,111.05,1.7,66.71 -517,46,30,2.7,111.05,1.7,66.7075 -518,46,30,2.7,111.05,1.7,66.705 -519,46,30,2.7,111.05,1.7,66.7025 -520,46,30,2.7,111.05,1.7,66.7 -521,46,30,2.7,111.05,1.7,66.6975 -522,46,30,2.7,111.05,1.7,66.695 -523,46,30,2.7,111.05,1.7,66.6925 -524,46,30,2.7,111.05,1.7,66.69 -525,46,30,2.7,111.05,1.7,66.6875 -526,46,30,2.7,111.05,1.7,66.685 -527,46,30,2.7,111.05,1.7,66.6825 -528,46,30,2.7,111.05,1.7,66.68 -529,46,30,2.7,111.05,1.7,66.6775 -530,46,30,2.7,111.05,1.7,66.675 -531,46,30,2.7,111.05,1.7,66.6725 -532,46,30,2.7,111.05,1.7,66.67 -533,46,30,2.7,111.05,1.7,66.6675 -534,46,30,2.7,111.05,1.7,66.665 -535,46,30,2.7,111.05,1.7,66.6625 -536,46,30,2.7,111.05,1.7,66.66 -537,46,30,2.7,111.05,1.7,66.6575 -538,46,30,2.7,111.05,1.7,66.655 -539,46,30,2.7,111.05,1.7,66.6525 -540,46,30,2.7,111.05,1.7,66.65 -541,46,30,2.7,111.05,1.7,66.6475 -542,46,30,2.7,111.05,1.7,66.645 -543,46,30,2.7,111.05,1.7,66.6425 -544,46,30,2.7,111.05,1.7,66.64 -545,46,30,2.7,111.05,1.7,66.6375 -546,46,30,2.7,111.05,1.7,66.635 -547,46,30,2.7,111.05,1.7,66.6325 -548,46,30,2.7,111.05,1.7,66.63 -549,46,30,2.7,111.05,1.7,66.6275 -550,46,30,2.7,111.05,1.7,66.625 -551,46,30,2.7,111.05,1.7,66.6225 -552,46,30,2.7,111.05,1.7,66.62 -553,46,30,2.7,111.05,1.7,66.6175 -554,46,30,2.7,111.05,1.7,66.615 -555,46,30,2.7,111.05,1.7,66.6125 -556,46,30,2.7,111.05,1.7,66.61 -557,46,30,2.7,111.05,1.7,66.6075 -558,46,30,2.7,111.05,1.7,66.605 -559,46,30,2.7,111.05,1.7,66.6025 -560,46,30,2.7,111.05,1.7,66.6 -561,46,30,2.7,111.05,1.7,66.5975 -562,46,30,2.7,111.05,1.7,66.595 -563,46,30,2.7,111.05,1.7,66.5925 -564,46,30,2.7,111.05,1.7,66.59 -565,46,30,2.7,111.05,1.7,66.5875 -566,46,30,2.7,111.05,1.7,66.585 -567,46,30,2.7,111.05,1.7,66.5825 -568,46,30,2.7,111.05,1.7,66.58 -569,46,30,2.7,111.05,1.7,66.5775 -570,46,30,2.7,111.05,1.7,66.575 -571,46,30,2.7,111.05,1.7,66.5725 -572,46,30,2.7,111.05,1.7,66.57 -573,46,30,2.7,111.05,1.7,66.5675 -574,46,30,2.7,111.05,1.7,66.565 -575,46,30,2.7,111.05,1.7,66.5625 -576,46,30,2.7,111.05,1.7,66.56 -577,46,30,2.7,111.05,1.7,66.5575 -578,46,30,2.7,111.05,1.7,66.555 -579,46,30,2.7,111.05,1.7,66.5525 -580,46,30,2.7,111.05,1.7,66.55 -581,46,30,2.7,111.05,1.7,66.5475 -582,46,30,2.7,111.05,1.7,66.545 -583,46,30,2.7,111.05,1.7,66.5425 -584,46,30,2.7,111.05,1.7,66.54 -585,46,30,2.7,111.05,1.7,66.5375 -586,46,30,2.7,111.05,1.7,66.535 -587,46,30,2.7,111.05,1.7,66.5325 -588,46,30,2.7,111.05,1.7,66.53 -589,46,30,2.7,111.05,1.7,66.5275 -590,46,30,2.7,111.05,1.7,66.525 -591,46,30,2.7,111.05,1.7,66.5225 -592,46,30,2.7,111.05,1.7,66.52 -593,46,30,2.7,111.05,1.7,66.5175 -594,46,30,2.7,111.05,1.7,66.515 -595,46,30,2.7,111.05,1.7,66.5125 -596,46,30,2.7,111.05,1.7,66.51 -597,46,30,2.7,111.05,1.7,66.5075 -598,46,30,2.7,111.05,1.7,66.505 -599,46,30,2.7,111.05,1.7,66.5025 -600,46,30,2.7,111.05,1.7,66.5 -601,46,30,2.7,111.05,1.7,66.495 -602,46,30,2.7,111.05,1.7,66.49 -603,46,30,2.7,111.05,1.7,66.485 -604,46,30,2.7,111.05,1.7,66.48 -605,46,30,2.7,111.05,1.7,66.475 -606,46,30,2.7,111.05,1.7,66.47 -607,46,30,2.7,111.05,1.7,66.465 -608,46,30,2.7,111.05,1.7,66.46 -609,46,30,2.7,111.05,1.7,66.455 -610,46,30,2.7,111.05,1.7,66.45 -611,46,30,2.7,111.05,1.7,66.445 -612,46,30,2.7,111.05,1.7,66.44 -613,46,30,2.7,111.05,1.7,66.435 -614,46,30,2.7,111.05,1.7,66.43 -615,46,30,2.7,111.05,1.7,66.425 -616,46,30,2.7,111.05,1.7,66.42 -617,46,30,2.7,111.05,1.7,66.415 -618,46,30,2.7,111.05,1.7,66.41 -619,46,30,2.7,111.05,1.7,66.405 -620,46,30,2.7,111.05,1.7,66.4 -621,46,30,2.7,111.05,1.7,66.395 -622,46,30,2.7,111.05,1.7,66.39 -623,46,30,2.7,111.05,1.7,66.385 -624,46,30,2.7,111.05,1.7,66.38 -625,46,30,2.7,111.05,1.7,66.375 -626,46,30,2.7,111.05,1.7,66.37 -627,46,30,2.7,111.05,1.7,66.365 -628,46,30,2.7,111.05,1.7,66.36 -629,46,30,2.7,111.05,1.7,66.355 -630,46,30,2.7,111.05,1.7,66.35 -631,46,30,2.7,111.05,1.7,66.345 -632,46,30,2.7,111.05,1.7,66.34 -633,46,30,2.7,111.05,1.7,66.335 -634,46,30,2.7,111.05,1.7,66.33 -635,46,30,2.7,111.05,1.7,66.325 -636,46,30,2.7,111.05,1.7,66.32 -637,46,30,2.7,111.05,1.7,66.315 -638,46,30,2.7,111.05,1.7,66.31 -639,46,30,2.7,111.05,1.7,66.305 -640,46,30,2.7,111.05,1.7,66.3 -641,46,30,2.7,111.05,1.7,66.295 -642,46,30,2.7,111.05,1.7,66.29 -643,46,30,2.7,111.05,1.7,66.285 -644,46,30,2.7,111.05,1.7,66.28 -645,46,30,2.7,111.05,1.7,66.275 -646,46,30,2.7,111.05,1.7,66.27 -647,46,30,2.7,111.05,1.7,66.265 -648,46,30,2.7,111.05,1.7,66.26 -649,46,30,2.7,111.05,1.7,66.255 -650,46,30,2.7,111.05,1.7,66.25 -651,46,30,2.7,111.05,1.7,66.245 -652,46,30,2.7,111.05,1.7,66.24 -653,46,30,2.7,111.05,1.7,66.235 -654,46,30,2.7,111.05,1.7,66.23 -655,46,30,2.7,111.05,1.7,66.225 -656,46,30,2.7,111.05,1.7,66.22 -657,46,30,2.7,111.05,1.7,66.215 -658,46,30,2.7,111.05,1.7,66.21 -659,46,30,2.7,111.05,1.7,66.205 -660,46,30,2.7,111.05,1.7,66.2 -661,46,30,2.7,111.05,1.7,66.195 -662,46,30,2.7,111.05,1.7,66.19 -663,46,30,2.7,111.05,1.7,66.185 -664,46,30,2.7,111.05,1.7,66.18 -665,46,30,2.7,111.05,1.7,66.175 -666,46,30,2.7,111.05,1.7,66.17 -667,46,30,2.7,111.05,1.7,66.165 -668,46,30,2.7,111.05,1.7,66.16 -669,46,30,2.7,111.05,1.7,66.155 -670,46,30,2.7,111.05,1.7,66.15 -671,46,30,2.7,111.05,1.7,66.145 -672,46,30,2.7,111.05,1.7,66.14 -673,46,30,2.7,111.05,1.7,66.135 -674,46,30,2.7,111.05,1.7,66.13 -675,46,30,2.7,111.05,1.7,66.125 -676,46,30,2.7,111.05,1.7,66.12 -677,46,30,2.7,111.05,1.7,66.115 -678,46,30,2.7,111.05,1.7,66.11 -679,46,30,2.7,111.05,1.7,66.105 -680,46,30,2.7,111.05,1.7,66.1 -681,46,30,2.7,111.05,1.7,66.095 -682,46,30,2.7,111.05,1.7,66.09 -683,46,30,2.7,111.05,1.7,66.085 -684,46,30,2.7,111.05,1.7,66.08 -685,46,30,2.7,111.05,1.7,66.075 -686,46,30,2.7,111.05,1.7,66.07 -687,46,30,2.7,111.05,1.7,66.065 -688,46,30,2.7,111.05,1.7,66.06 -689,46,30,2.7,111.05,1.7,66.055 -690,46,30,2.7,111.05,1.7,66.05 -691,46,30,2.7,111.05,1.7,66.045 -692,46,30,2.7,111.05,1.7,66.04 -693,46,30,2.7,111.05,1.7,66.035 -694,46,30,2.7,111.05,1.7,66.03 -695,46,30,2.7,111.05,1.7,66.025 -696,46,30,2.7,111.05,1.7,66.02 -697,46,30,2.7,111.05,1.7,66.015 -698,46,30,2.7,111.05,1.7,66.01 -699,46,30,2.7,111.05,1.7,66.005 -700,46,30,2.7,111.05,1.7,66 -701,46,30,2.7,111.05,1.7,65.995 -702,46,30,2.7,111.05,1.7,65.99 -703,46,30,2.7,111.05,1.7,65.985 -704,46,30,2.7,111.05,1.7,65.98 -705,46,30,2.7,111.05,1.7,65.975 -706,46,30,2.7,111.05,1.7,65.97 -707,46,30,2.7,111.05,1.7,65.965 -708,46,30,2.7,111.05,1.7,65.96 -709,46,30,2.7,111.05,1.7,65.955 -710,46,30,2.7,111.05,1.7,65.95 -711,46,30,2.7,111.05,1.7,65.945 -712,46,30,2.7,111.05,1.7,65.94 -713,46,30,2.7,111.05,1.7,65.935 -714,46,30,2.7,111.05,1.7,65.93 -715,46,30,2.7,111.05,1.7,65.925 -716,46,30,2.7,111.05,1.7,65.92 -717,46,30,2.7,111.05,1.7,65.915 -718,46,30,2.7,111.05,1.7,65.91 -719,46,30,2.7,111.05,1.7,65.905 -720,46,30,2.7,111.05,1.7,65.9 -721,46,30,2.7,111.05,1.7,65.895 -722,46,30,2.7,111.05,1.7,65.89 -723,46,30,2.7,111.05,1.7,65.885 -724,46,30,2.7,111.05,1.7,65.88 -725,46,30,2.7,111.05,1.7,65.875 -726,46,30,2.7,111.05,1.7,65.87 -727,46,30,2.7,111.05,1.7,65.865 -728,46,30,2.7,111.05,1.7,65.86 -729,46,30,2.7,111.05,1.7,65.855 -730,46,30,2.7,111.05,1.7,65.85 -731,46,30,2.7,111.05,1.7,65.845 -732,46,30,2.7,111.05,1.7,65.84 -733,46,30,2.7,111.05,1.7,65.835 -734,46,30,2.7,111.05,1.7,65.83 -735,46,30,2.7,111.05,1.7,65.825 -736,46,30,2.7,111.05,1.7,65.82 -737,46,30,2.7,111.05,1.7,65.815 -738,46,30,2.7,111.05,1.7,65.81 -739,46,30,2.7,111.05,1.7,65.805 -740,46,30,2.7,111.05,1.7,65.8 -741,46,30,2.7,111.05,1.7,65.795 -742,46,30,2.7,111.05,1.7,65.79 -743,46,30,2.7,111.05,1.7,65.785 -744,46,30,2.7,111.05,1.7,65.78 -745,46,30,2.7,111.05,1.7,65.775 -746,46,30,2.7,111.05,1.7,65.77 -747,46,30,2.7,111.05,1.7,65.765 -748,46,30,2.7,111.05,1.7,65.76 -749,46,30,2.7,111.05,1.7,65.755 -750,46,30,2.7,111.05,1.7,65.75 -751,46,30,2.7,111.05,1.7,65.745 -752,46,30,2.7,111.05,1.7,65.74 -753,46,30,2.7,111.05,1.7,65.735 -754,46,30,2.7,111.05,1.7,65.73 -755,46,30,2.7,111.05,1.7,65.725 -756,46,30,2.7,111.05,1.7,65.72 -757,46,30,2.7,111.05,1.7,65.715 -758,46,30,2.7,111.05,1.7,65.71 -759,46,30,2.7,111.05,1.7,65.705 -760,46,30,2.7,111.05,1.7,65.7 -761,46,30,2.7,111.05,1.7,65.695 -762,46,30,2.7,111.05,1.7,65.69 -763,46,30,2.7,111.05,1.7,65.685 -764,46,30,2.7,111.05,1.7,65.68 -765,46,30,2.7,111.05,1.7,65.675 -766,46,30,2.7,111.05,1.7,65.67 -767,46,30,2.7,111.05,1.7,65.665 -768,46,30,2.7,111.05,1.7,65.66 -769,46,30,2.7,111.05,1.7,65.655 -770,46,30,2.7,111.05,1.7,65.65 -771,46,30,2.7,111.05,1.7,65.645 -772,46,30,2.7,111.05,1.7,65.64 -773,46,30,2.7,111.05,1.7,65.635 -774,46,30,2.7,111.05,1.7,65.63 -775,46,30,2.7,111.05,1.7,65.625 -776,46,30,2.7,111.05,1.7,65.62 -777,46,30,2.7,111.05,1.7,65.615 -778,46,30,2.7,111.05,1.7,65.61 -779,46,30,2.7,111.05,1.7,65.605 -780,46,30,2.7,111.05,1.7,65.6 -781,46,30,2.7,111.05,1.7,65.595 -782,46,30,2.7,111.05,1.7,65.59 -783,46,30,2.7,111.05,1.7,65.585 -784,46,30,2.7,111.05,1.7,65.58 -785,46,30,2.7,111.05,1.7,65.575 -786,46,30,2.7,111.05,1.7,65.57 -787,46,30,2.7,111.05,1.7,65.565 -788,46,30,2.7,111.05,1.7,65.56 -789,46,30,2.7,111.05,1.7,65.555 -790,46,30,2.7,111.05,1.7,65.55 -791,46,30,2.7,111.05,1.7,65.545 -792,46,30,2.7,111.05,1.7,65.54 -793,46,30,2.7,111.05,1.7,65.535 -794,46,30,2.7,111.05,1.7,65.53 -795,46,30,2.7,111.05,1.7,65.525 -796,46,30,2.7,111.05,1.7,65.52 -797,46,30,2.7,111.05,1.7,65.515 -798,46,30,2.7,111.05,1.7,65.51 -799,46,30,2.7,111.05,1.7,65.505 -800,46,30,2.7,111.05,1.7,65.5 -801,46,30,2.7,111.05,1.7,65.495 -802,46,30,2.7,111.05,1.7,65.49 -803,46,30,2.7,111.05,1.7,65.485 -804,46,30,2.7,111.05,1.7,65.48 -805,46,30,2.7,111.05,1.7,65.475 -806,46,30,2.7,111.05,1.7,65.47 -807,46,30,2.7,111.05,1.7,65.465 -808,46,30,2.7,111.05,1.7,65.46 -809,46,30,2.7,111.05,1.7,65.455 -810,46,30,2.7,111.05,1.7,65.45 -811,46,30,2.7,111.05,1.7,65.445 -812,46,30,2.7,111.05,1.7,65.44 -813,46,30,2.7,111.05,1.7,65.435 -814,46,30,2.7,111.05,1.7,65.43 -815,46,30,2.7,111.05,1.7,65.425 -816,46,30,2.7,111.05,1.7,65.42 -817,46,30,2.7,111.05,1.7,65.415 -818,46,30,2.7,111.05,1.7,65.41 -819,46,30,2.7,111.05,1.7,65.405 -820,46,30,2.7,111.05,1.7,65.4 -821,46,30,2.7,111.05,1.7,65.395 -822,46,30,2.7,111.05,1.7,65.39 -823,46,30,2.7,111.05,1.7,65.385 -824,46,30,2.7,111.05,1.7,65.38 -825,46,30,2.7,111.05,1.7,65.375 -826,46,30,2.7,111.05,1.7,65.37 -827,46,30,2.7,111.05,1.7,65.365 -828,46,30,2.7,111.05,1.7,65.36 -829,46,30,2.7,111.05,1.7,65.355 -830,46,30,2.7,111.05,1.7,65.35 -831,46,30,2.7,111.05,1.7,65.345 -832,46,30,2.7,111.05,1.7,65.34 -833,46,30,2.7,111.05,1.7,65.335 -834,46,30,2.7,111.05,1.7,65.33 -835,46,30,2.7,111.05,1.7,65.325 -836,46,30,2.7,111.05,1.7,65.32 -837,46,30,2.7,111.05,1.7,65.315 -838,46,30,2.7,111.05,1.7,65.31 -839,46,30,2.7,111.05,1.7,65.305 -840,46,30,2.7,111.05,1.7,65.3 -841,46,30,2.7,111.05,1.7,65.295 -842,46,30,2.7,111.05,1.7,65.29 -843,46,30,2.7,111.05,1.7,65.285 -844,46,30,2.7,111.05,1.7,65.28 -845,46,30,2.7,111.05,1.7,65.275 -846,46,30,2.7,111.05,1.7,65.27 -847,46,30,2.7,111.05,1.7,65.265 -848,46,30,2.7,111.05,1.7,65.26 -849,46,30,2.7,111.05,1.7,65.255 -850,46,30,2.7,111.05,1.7,65.25 -851,46,30,2.7,111.05,1.7,65.245 -852,46,30,2.7,111.05,1.7,65.24 -853,46,30,2.7,111.05,1.7,65.235 -854,46,30,2.7,111.05,1.7,65.23 -855,46,30,2.7,111.05,1.7,65.225 -856,46,30,2.7,111.05,1.7,65.22 -857,46,30,2.7,111.05,1.7,65.215 -858,46,30,2.7,111.05,1.7,65.21 -859,46,30,2.7,111.05,1.7,65.205 -860,46,30,2.7,111.05,1.7,65.2 -861,46,30,2.7,111.05,1.7,65.195 -862,46,30,2.7,111.05,1.7,65.19 -863,46,30,2.7,111.05,1.7,65.185 -864,46,30,2.7,111.05,1.7,65.18 -865,46,30,2.7,111.05,1.7,65.175 -866,46,30,2.7,111.05,1.7,65.17 -867,46,30,2.7,111.05,1.7,65.165 -868,46,30,2.7,111.05,1.7,65.16 -869,46,30,2.7,111.05,1.7,65.155 -870,46,30,2.7,111.05,1.7,65.15 -871,46,30,2.7,111.05,1.7,65.145 -872,46,30,2.7,111.05,1.7,65.14 -873,46,30,2.7,111.05,1.7,65.135 -874,46,30,2.7,111.05,1.7,65.13 -875,46,30,2.7,111.05,1.7,65.125 -876,46,30,2.7,111.05,1.7,65.12 -877,46,30,2.7,111.05,1.7,65.115 -878,46,30,2.7,111.05,1.7,65.11 -879,46,30,2.7,111.05,1.7,65.105 -880,46,30,2.7,111.05,1.7,65.1 -881,46,30,2.7,111.05,1.7,65.095 -882,46,30,2.7,111.05,1.7,65.09 -883,46,30,2.7,111.05,1.7,65.085 -884,46,30,2.7,111.05,1.7,65.08 -885,46,30,2.7,111.05,1.7,65.075 -886,46,30,2.7,111.05,1.7,65.07 -887,46,30,2.7,111.05,1.7,65.065 -888,46,30,2.7,111.05,1.7,65.06 -889,46,30,2.7,111.05,1.7,65.055 -890,46,30,2.7,111.05,1.7,65.05 -891,46,30,2.7,111.05,1.7,65.045 -892,46,30,2.7,111.05,1.7,65.04 -893,46,30,2.7,111.05,1.7,65.035 -894,46,30,2.7,111.05,1.7,65.03 -895,46,30,2.7,111.05,1.7,65.025 -896,46,30,2.7,111.05,1.7,65.02 -897,46,30,2.7,111.05,1.7,65.015 -898,46,30,2.7,111.05,1.7,65.01 -899,46,30,2.7,111.05,1.7,65.005 -900,46,30,2.7,111.05,1.7,65 -901,46,30,2.7,111.05,1.7,64.99833333 -902,46,30,2.7,111.05,1.7,64.99666667 -903,46,30,2.7,111.05,1.7,64.995 -904,46,30,2.7,111.05,1.7,64.99333333 -905,46,30,2.7,111.05,1.7,64.99166667 -906,46,30,2.7,111.05,1.7,64.99 -907,46,30,2.7,111.05,1.7,64.98833333 -908,46,30,2.7,111.05,1.7,64.98666667 -909,46,30,2.7,111.05,1.7,64.985 -910,46,30,2.7,111.05,1.7,64.98333333 -911,46,30,2.7,111.05,1.7,64.98166667 -912,46,30,2.7,111.05,1.7,64.98 -913,46,30,2.7,111.05,1.7,64.97833333 -914,46,30,2.7,111.05,1.7,64.97666667 -915,46,30,2.7,111.05,1.7,64.975 -916,46,30,2.7,111.05,1.7,64.97333333 -917,46,30,2.7,111.05,1.7,64.97166667 -918,46,30,2.7,111.05,1.7,64.97 -919,46,30,2.7,111.05,1.7,64.96833333 -920,46,30,2.7,111.05,1.7,64.96666667 -921,46,30,2.7,111.05,1.7,64.965 -922,46,30,2.7,111.05,1.7,64.96333333 -923,46,30,2.7,111.05,1.7,64.96166667 -924,46,30,2.7,111.05,1.7,64.96 -925,46,30,2.7,111.05,1.7,64.95833333 -926,46,30,2.7,111.05,1.7,64.95666667 -927,46,30,2.7,111.05,1.7,64.955 -928,46,30,2.7,111.05,1.7,64.95333333 -929,46,30,2.7,111.05,1.7,64.95166667 -930,46,30,2.7,111.05,1.7,64.95 -931,46,30,2.7,111.05,1.7,64.94833333 -932,46,30,2.7,111.05,1.7,64.94666667 -933,46,30,2.7,111.05,1.7,64.945 -934,46,30,2.7,111.05,1.7,64.94333333 -935,46,30,2.7,111.05,1.7,64.94166667 -936,46,30,2.7,111.05,1.7,64.94 -937,46,30,2.7,111.05,1.7,64.93833333 -938,46,30,2.7,111.05,1.7,64.93666667 -939,46,30,2.7,111.05,1.7,64.935 -940,46,30,2.7,111.05,1.7,64.93333333 -941,46,30,2.7,111.05,1.7,64.93166667 -942,46,30,2.7,111.05,1.7,64.93 -943,46,30,2.7,111.05,1.7,64.92833333 -944,46,30,2.7,111.05,1.7,64.92666667 -945,46,30,2.7,111.05,1.7,64.925 -946,46,30,2.7,111.05,1.7,64.92333333 -947,46,30,2.7,111.05,1.7,64.92166667 -948,46,30,2.7,111.05,1.7,64.92 -949,46,30,2.7,111.05,1.7,64.91833333 -950,46,30,2.7,111.05,1.7,64.91666667 -951,46,30,2.7,111.05,1.7,64.915 -952,46,30,2.7,111.05,1.7,64.91333333 -953,46,30,2.7,111.05,1.7,64.91166666 -954,46,30,2.7,111.05,1.7,64.91 -955,46,30,2.7,111.05,1.7,64.90833333 -956,46,30,2.7,111.05,1.7,64.90666666 -957,46,30,2.7,111.05,1.7,64.905 -958,46,30,2.7,111.05,1.7,64.90333333 -959,46,30,2.7,111.05,1.7,64.90166666 -960,46,30,2.7,111.05,1.7,64.9 -961,46,30,2.7,111.05,1.7,64.89833333 -962,46,30,2.7,111.05,1.7,64.89666666 -963,46,30,2.7,111.05,1.7,64.895 -964,46,30,2.7,111.05,1.7,64.89333333 -965,46,30,2.7,111.05,1.7,64.89166666 -966,46,30,2.7,111.05,1.7,64.89 -967,46,30,2.7,111.05,1.7,64.88833333 -968,46,30,2.7,111.05,1.7,64.88666666 -969,46,30,2.7,111.05,1.7,64.885 -970,46,30,2.7,111.05,1.7,64.88333333 -971,46,30,2.7,111.05,1.7,64.88166666 -972,46,30,2.7,111.05,1.7,64.88 -973,46,30,2.7,111.05,1.7,64.87833333 -974,46,30,2.7,111.05,1.7,64.87666666 -975,46,30,2.7,111.05,1.7,64.875 -976,46,30,2.7,111.05,1.7,64.87333333 -977,46,30,2.7,111.05,1.7,64.87166666 -978,46,30,2.7,111.05,1.7,64.87 -979,46,30,2.7,111.05,1.7,64.86833333 -980,46,30,2.7,111.05,1.7,64.86666666 -981,46,30,2.7,111.05,1.7,64.865 -982,46,30,2.7,111.05,1.7,64.86333333 -983,46,30,2.7,111.05,1.7,64.86166666 -984,46,30,2.7,111.05,1.7,64.86 -985,46,30,2.7,111.05,1.7,64.85833333 -986,46,30,2.7,111.05,1.7,64.85666666 -987,46,30,2.7,111.05,1.7,64.855 -988,46,30,2.7,111.05,1.7,64.85333333 -989,46,30,2.7,111.05,1.7,64.85166666 -990,46,30,2.7,111.05,1.7,64.85 -991,46,30,2.7,111.05,1.7,64.84833333 -992,46,30,2.7,111.05,1.7,64.84666666 -993,46,30,2.7,111.05,1.7,64.845 -994,46,30,2.7,111.05,1.7,64.84333333 -995,46,30,2.7,111.05,1.7,64.84166666 -996,46,30,2.7,111.05,1.7,64.84 -997,46,30,2.7,111.05,1.7,64.83833333 -998,46,30,2.7,111.05,1.7,64.83666666 -999,46,30,2.7,111.05,1.7,64.835 -1000,46,30,2.7,111.05,1.7,64.83333333 -1001,46,30,2.7,111.05,1.7,64.83166666 -1002,46,30,2.7,111.05,1.7,64.83 -1003,46,30,2.7,111.05,1.7,64.82833333 -1004,46,30,2.7,111.05,1.7,64.82666666 -1005,46,30,2.7,111.05,1.7,64.825 -1006,46,30,2.7,111.05,1.7,64.82333333 -1007,46,30,2.7,111.05,1.7,64.82166666 -1008,46,30,2.7,111.05,1.7,64.82 -1009,46,30,2.7,111.05,1.7,64.81833333 -1010,46,30,2.7,111.05,1.7,64.81666666 -1011,46,30,2.7,111.05,1.7,64.815 -1012,46,30,2.7,111.05,1.7,64.81333333 -1013,46,30,2.7,111.05,1.7,64.81166666 -1014,46,30,2.7,111.05,1.7,64.81 -1015,46,30,2.7,111.05,1.7,64.80833333 -1016,46,30,2.7,111.05,1.7,64.80666666 -1017,46,30,2.7,111.05,1.7,64.805 -1018,46,30,2.7,111.05,1.7,64.80333333 -1019,46,30,2.7,111.05,1.7,64.80166666 -1020,46,30,2.7,111.05,1.7,64.8 -1021,46,30,2.7,111.05,1.7,64.79833333 -1022,46,30,2.7,111.05,1.7,64.79666666 -1023,46,30,2.7,111.05,1.7,64.795 -1024,46,30,2.7,111.05,1.7,64.79333333 -1025,46,30,2.7,111.05,1.7,64.79166666 -1026,46,30,2.7,111.05,1.7,64.79 -1027,46,30,2.7,111.05,1.7,64.78833333 -1028,46,30,2.7,111.05,1.7,64.78666666 -1029,46,30,2.7,111.05,1.7,64.785 -1030,46,30,2.7,111.05,1.7,64.78333333 -1031,46,30,2.7,111.05,1.7,64.78166666 -1032,46,30,2.7,111.05,1.7,64.78 -1033,46,30,2.7,111.05,1.7,64.77833333 -1034,46,30,2.7,111.05,1.7,64.77666666 -1035,46,30,2.7,111.05,1.7,64.775 -1036,46,30,2.7,111.05,1.7,64.77333333 -1037,46,30,2.7,111.05,1.7,64.77166666 -1038,46,30,2.7,111.05,1.7,64.77 -1039,46,30,2.7,111.05,1.7,64.76833333 -1040,46,30,2.7,111.05,1.7,64.76666666 -1041,46,30,2.7,111.05,1.7,64.765 -1042,46,30,2.7,111.05,1.7,64.76333333 -1043,46,30,2.7,111.05,1.7,64.76166666 -1044,46,30,2.7,111.05,1.7,64.76 -1045,46,30,2.7,111.05,1.7,64.75833333 -1046,46,30,2.7,111.05,1.7,64.75666666 -1047,46,30,2.7,111.05,1.7,64.755 -1048,46,30,2.7,111.05,1.7,64.75333333 -1049,46,30,2.7,111.05,1.7,64.75166666 -1050,46,30,2.7,111.05,1.7,64.75 -1051,46,30,2.7,111.05,1.7,64.74833333 -1052,46,30,2.7,111.05,1.7,64.74666666 -1053,46,30,2.7,111.05,1.7,64.74499999 -1054,46,30,2.7,111.05,1.7,64.74333333 -1055,46,30,2.7,111.05,1.7,64.74166666 -1056,46,30,2.7,111.05,1.7,64.73999999 -1057,46,30,2.7,111.05,1.7,64.73833333 -1058,46,30,2.7,111.05,1.7,64.73666666 -1059,46,30,2.7,111.05,1.7,64.73499999 -1060,46,30,2.7,111.05,1.7,64.73333333 -1061,46,30,2.7,111.05,1.7,64.73166666 -1062,46,30,2.7,111.05,1.7,64.72999999 -1063,46,30,2.7,111.05,1.7,64.72833333 -1064,46,30,2.7,111.05,1.7,64.72666666 -1065,46,30,2.7,111.05,1.7,64.72499999 -1066,46,30,2.7,111.05,1.7,64.72333333 -1067,46,30,2.7,111.05,1.7,64.72166666 -1068,46,30,2.7,111.05,1.7,64.71999999 -1069,46,30,2.7,111.05,1.7,64.71833333 -1070,46,30,2.7,111.05,1.7,64.71666666 -1071,46,30,2.7,111.05,1.7,64.71499999 -1072,46,30,2.7,111.05,1.7,64.71333333 -1073,46,30,2.7,111.05,1.7,64.71166666 -1074,46,30,2.7,111.05,1.7,64.70999999 -1075,46,30,2.7,111.05,1.7,64.70833333 -1076,46,30,2.7,111.05,1.7,64.70666666 -1077,46,30,2.7,111.05,1.7,64.70499999 -1078,46,30,2.7,111.05,1.7,64.70333333 -1079,46,30,2.7,111.05,1.7,64.70166666 -1080,46,30,2.7,111.05,1.7,64.69999999 -1081,46,30,2.7,111.05,1.7,64.69833333 -1082,46,30,2.7,111.05,1.7,64.69666666 -1083,46,30,2.7,111.05,1.7,64.69499999 -1084,46,30,2.7,111.05,1.7,64.69333333 -1085,46,30,2.7,111.05,1.7,64.69166666 -1086,46,30,2.7,111.05,1.7,64.68999999 -1087,46,30,2.7,111.05,1.7,64.68833333 -1088,46,30,2.7,111.05,1.7,64.68666666 -1089,46,30,2.7,111.05,1.7,64.68499999 -1090,46,30,2.7,111.05,1.7,64.68333333 -1091,46,30,2.7,111.05,1.7,64.68166666 -1092,46,30,2.7,111.05,1.7,64.67999999 -1093,46,30,2.7,111.05,1.7,64.67833333 -1094,46,30,2.7,111.05,1.7,64.67666666 -1095,46,30,2.7,111.05,1.7,64.67499999 -1096,46,30,2.7,111.05,1.7,64.67333333 -1097,46,30,2.7,111.05,1.7,64.67166666 -1098,46,30,2.7,111.05,1.7,64.66999999 -1099,46,30,2.7,111.05,1.7,64.66833333 -1100,46,30,2.7,111.05,1.7,64.66666666 -1101,46,30,2.7,111.05,1.7,64.66499999 -1102,46,30,2.7,111.05,1.7,64.66333333 -1103,46,30,2.7,111.05,1.7,64.66166666 -1104,46,30,2.7,111.05,1.7,64.65999999 -1105,46,30,2.7,111.05,1.7,64.65833333 -1106,46,30,2.7,111.05,1.7,64.65666666 -1107,46,30,2.7,111.05,1.7,64.65499999 -1108,46,30,2.7,111.05,1.7,64.65333333 -1109,46,30,2.7,111.05,1.7,64.65166666 -1110,46,30,2.7,111.05,1.7,64.64999999 -1111,46,30,2.7,111.05,1.7,64.64833333 -1112,46,30,2.7,111.05,1.7,64.64666666 -1113,46,30,2.7,111.05,1.7,64.64499999 -1114,46,30,2.7,111.05,1.7,64.64333333 -1115,46,30,2.7,111.05,1.7,64.64166666 -1116,46,30,2.7,111.05,1.7,64.63999999 -1117,46,30,2.7,111.05,1.7,64.63833333 -1118,46,30,2.7,111.05,1.7,64.63666666 -1119,46,30,2.7,111.05,1.7,64.63499999 -1120,46,30,2.7,111.05,1.7,64.63333333 -1121,46,30,2.7,111.05,1.7,64.63166666 -1122,46,30,2.7,111.05,1.7,64.62999999 -1123,46,30,2.7,111.05,1.7,64.62833333 -1124,46,30,2.7,111.05,1.7,64.62666666 -1125,46,30,2.7,111.05,1.7,64.62499999 -1126,46,30,2.7,111.05,1.7,64.62333333 -1127,46,30,2.7,111.05,1.7,64.62166666 -1128,46,30,2.7,111.05,1.7,64.61999999 -1129,46,30,2.7,111.05,1.7,64.61833333 -1130,46,30,2.7,111.05,1.7,64.61666666 -1131,46,30,2.7,111.05,1.7,64.61499999 -1132,46,30,2.7,111.05,1.7,64.61333333 -1133,46,30,2.7,111.05,1.7,64.61166666 -1134,46,30,2.7,111.05,1.7,64.60999999 -1135,46,30,2.7,111.05,1.7,64.60833333 -1136,46,30,2.7,111.05,1.7,64.60666666 -1137,46,30,2.7,111.05,1.7,64.60499999 -1138,46,30,2.7,111.05,1.7,64.60333333 -1139,46,30,2.7,111.05,1.7,64.60166666 -1140,46,30,2.7,111.05,1.7,64.59999999 -1141,46,30,2.7,111.05,1.7,64.59833333 -1142,46,30,2.7,111.05,1.7,64.59666666 -1143,46,30,2.7,111.05,1.7,64.59499999 -1144,46,30,2.7,111.05,1.7,64.59333333 -1145,46,30,2.7,111.05,1.7,64.59166666 -1146,46,30,2.7,111.05,1.7,64.58999999 -1147,46,30,2.7,111.05,1.7,64.58833333 -1148,46,30,2.7,111.05,1.7,64.58666666 -1149,46,30,2.7,111.05,1.7,64.58499999 -1150,46,30,2.7,111.05,1.7,64.58333333 -1151,46,30,2.7,111.05,1.7,64.58166666 -1152,46,30,2.7,111.05,1.7,64.57999999 -1153,46,30,2.7,111.05,1.7,64.57833332 -1154,46,30,2.7,111.05,1.7,64.57666666 -1155,46,30,2.7,111.05,1.7,64.57499999 -1156,46,30,2.7,111.05,1.7,64.57333332 -1157,46,30,2.7,111.05,1.7,64.57166666 -1158,46,30,2.7,111.05,1.7,64.56999999 -1159,46,30,2.7,111.05,1.7,64.56833332 -1160,46,30,2.7,111.05,1.7,64.56666666 -1161,46,30,2.7,111.05,1.7,64.56499999 -1162,46,30,2.7,111.05,1.7,64.56333332 -1163,46,30,2.7,111.05,1.7,64.56166666 -1164,46,30,2.7,111.05,1.7,64.55999999 -1165,46,30,2.7,111.05,1.7,64.55833332 -1166,46,30,2.7,111.05,1.7,64.55666666 -1167,46,30,2.7,111.05,1.7,64.55499999 -1168,46,30,2.7,111.05,1.7,64.55333332 -1169,46,30,2.7,111.05,1.7,64.55166666 -1170,46,30,2.7,111.05,1.7,64.54999999 -1171,46,30,2.7,111.05,1.7,64.54833332 -1172,46,30,2.7,111.05,1.7,64.54666666 -1173,46,30,2.7,111.05,1.7,64.54499999 -1174,46,30,2.7,111.05,1.7,64.54333332 -1175,46,30,2.7,111.05,1.7,64.54166666 -1176,46,30,2.7,111.05,1.7,64.53999999 -1177,46,30,2.7,111.05,1.7,64.53833332 -1178,46,30,2.7,111.05,1.7,64.53666666 -1179,46,30,2.7,111.05,1.7,64.53499999 -1180,46,30,2.7,111.05,1.7,64.53333332 -1181,46,30,2.7,111.05,1.7,64.53166666 -1182,46,30,2.7,111.05,1.7,64.52999999 -1183,46,30,2.7,111.05,1.7,64.52833332 -1184,46,30,2.7,111.05,1.7,64.52666666 -1185,46,30,2.7,111.05,1.7,64.52499999 -1186,46,30,2.7,111.05,1.7,64.52333332 -1187,46,30,2.7,111.05,1.7,64.52166666 -1188,46,30,2.7,111.05,1.7,64.51999999 -1189,46,30,2.7,111.05,1.7,64.51833332 -1190,46,30,2.7,111.05,1.7,64.51666666 -1191,46,30,2.7,111.05,1.7,64.51499999 -1192,46,30,2.7,111.05,1.7,64.51333332 -1193,46,30,2.7,111.05,1.7,64.51166666 -1194,46,30,2.7,111.05,1.7,64.50999999 -1195,46,30,2.7,111.05,1.7,64.50833332 -1196,46,30,2.7,111.05,1.7,64.50666666 -1197,46,30,2.7,111.05,1.7,64.50499999 -1198,46,30,2.7,111.05,1.7,64.50333332 -1199,46,30,2.7,111.05,1.7,64.50166666 -1200,46,30,2.7,111.05,1.7,64.5 -1201,46,30,2.7,111.05,1.7,64.499375 -1202,46,30,2.7,111.05,1.7,64.49875 -1203,46,30,2.7,111.05,1.7,64.498125 -1204,46,30,2.7,111.05,1.7,64.4975 -1205,46,30,2.7,111.05,1.7,64.496875 -1206,46,30,2.7,111.05,1.7,64.49625 -1207,46,30,2.7,111.05,1.7,64.495625 -1208,46,30,2.7,111.05,1.7,64.495 -1209,46,30,2.7,111.05,1.7,64.494375 -1210,46,30,2.7,111.05,1.7,64.49375 -1211,46,30,2.7,111.05,1.7,64.493125 -1212,46,30,2.7,111.05,1.7,64.4925 -1213,46,30,2.7,111.05,1.7,64.491875 -1214,46,30,2.7,111.05,1.7,64.49125 -1215,46,30,2.7,111.05,1.7,64.490625 -1216,46,30,2.7,111.05,1.7,64.49 -1217,46,30,2.7,111.05,1.7,64.489375 -1218,46,30,2.7,111.05,1.7,64.48875 -1219,46,30,2.7,111.05,1.7,64.488125 -1220,46,30,2.7,111.05,1.7,64.4875 -1221,46,30,2.7,111.05,1.7,64.486875 -1222,46,30,2.7,111.05,1.7,64.48625 -1223,46,30,2.7,111.05,1.7,64.485625 -1224,46,30,2.7,111.05,1.7,64.485 -1225,46,30,2.7,111.05,1.7,64.484375 -1226,46,30,2.7,111.05,1.7,64.48375 -1227,46,30,2.7,111.05,1.7,64.483125 -1228,46,30,2.7,111.05,1.7,64.4825 -1229,46,30,2.7,111.05,1.7,64.481875 -1230,46,30,2.7,111.05,1.7,64.48125 -1231,46,30,2.7,111.05,1.7,64.480625 -1232,46,30,2.7,111.05,1.7,64.48 -1233,46,30,2.7,111.05,1.7,64.479375 -1234,46,30,2.7,111.05,1.7,64.47875 -1235,46,30,2.7,111.05,1.7,64.478125 -1236,46,30,2.7,111.05,1.7,64.4775 -1237,46,30,2.7,111.05,1.7,64.476875 -1238,46,30,2.7,111.05,1.7,64.47625 -1239,46,30,2.7,111.05,1.7,64.475625 -1240,46,30,2.7,111.05,1.7,64.475 -1241,46,30,2.7,111.05,1.7,64.474375 -1242,46,30,2.7,111.05,1.7,64.47375 -1243,46,30,2.7,111.05,1.7,64.473125 -1244,46,30,2.7,111.05,1.7,64.4725 -1245,46,30,2.7,111.05,1.7,64.471875 -1246,46,30,2.7,111.05,1.7,64.47125 -1247,46,30,2.7,111.05,1.7,64.470625 -1248,46,30,2.7,111.05,1.7,64.47 -1249,46,30,2.7,111.05,1.7,64.469375 -1250,46,30,2.7,111.05,1.7,64.46875 -1251,46,30,2.7,111.05,1.7,64.468125 -1252,46,30,2.7,111.05,1.7,64.4675 -1253,46,30,2.7,111.05,1.7,64.466875 -1254,46,30,2.7,111.05,1.7,64.46625 -1255,46,30,2.7,111.05,1.7,64.465625 -1256,46,30,2.7,111.05,1.7,64.465 -1257,46,30,2.7,111.05,1.7,64.464375 -1258,46,30,2.7,111.05,1.7,64.46375 -1259,46,30,2.7,111.05,1.7,64.463125 -1260,46,30,2.7,111.05,1.7,64.4625 -1261,46,30,2.7,111.05,1.7,64.461875 -1262,46,30,2.7,111.05,1.7,64.46125 -1263,46,30,2.7,111.05,1.7,64.460625 -1264,46,30,2.7,111.05,1.7,64.46 -1265,46,30,2.7,111.05,1.7,64.459375 -1266,46,30,2.7,111.05,1.7,64.45875 -1267,46,30,2.7,111.05,1.7,64.458125 -1268,46,30,2.7,111.05,1.7,64.4575 -1269,46,30,2.7,111.05,1.7,64.456875 -1270,46,30,2.7,111.05,1.7,64.45625 -1271,46,30,2.7,111.05,1.7,64.455625 -1272,46,30,2.7,111.05,1.7,64.455 -1273,46,30,2.7,111.05,1.7,64.454375 -1274,46,30,2.7,111.05,1.7,64.45375 -1275,46,30,2.7,111.05,1.7,64.453125 -1276,46,30,2.7,111.05,1.7,64.4525 -1277,46,30,2.7,111.05,1.7,64.451875 -1278,46,30,2.7,111.05,1.7,64.45125 -1279,46,30,2.7,111.05,1.7,64.450625 -1280,46,30,2.7,111.05,1.7,64.45 -1281,46,30,2.7,111.05,1.7,64.449375 -1282,46,30,2.7,111.05,1.7,64.44875 -1283,46,30,2.7,111.05,1.7,64.448125 -1284,46,30,2.7,111.05,1.7,64.4475 -1285,46,30,2.7,111.05,1.7,64.446875 -1286,46,30,2.7,111.05,1.7,64.44625 -1287,46,30,2.7,111.05,1.7,64.445625 -1288,46,30,2.7,111.05,1.7,64.445 -1289,46,30,2.7,111.05,1.7,64.444375 -1290,46,30,2.7,111.05,1.7,64.44375 -1291,46,30,2.7,111.05,1.7,64.443125 -1292,46,30,2.7,111.05,1.7,64.4425 -1293,46,30,2.7,111.05,1.7,64.441875 -1294,46,30,2.7,111.05,1.7,64.44125 -1295,46,30,2.7,111.05,1.7,64.440625 -1296,46,30,2.7,111.05,1.7,64.44 -1297,46,30,2.7,111.05,1.7,64.439375 -1298,46,30,2.7,111.05,1.7,64.43875 -1299,46,30,2.7,111.05,1.7,64.438125 -1300,46,30,2.7,111.05,1.7,64.4375 -1301,46,30,2.7,111.05,1.7,64.436875 -1302,46,30,2.7,111.05,1.7,64.43625 -1303,46,30,2.7,111.05,1.7,64.435625 -1304,46,30,2.7,111.05,1.7,64.435 -1305,46,30,2.7,111.05,1.7,64.434375 -1306,46,30,2.7,111.05,1.7,64.43375 -1307,46,30,2.7,111.05,1.7,64.433125 -1308,46,30,2.7,111.05,1.7,64.4325 -1309,46,30,2.7,111.05,1.7,64.431875 -1310,46,30,2.7,111.05,1.7,64.43125 -1311,46,30,2.7,111.05,1.7,64.430625 -1312,46,30,2.7,111.05,1.7,64.43 -1313,46,30,2.7,111.05,1.7,64.429375 -1314,46,30,2.7,111.05,1.7,64.42875 -1315,46,30,2.7,111.05,1.7,64.428125 -1316,46,30,2.7,111.05,1.7,64.4275 -1317,46,30,2.7,111.05,1.7,64.426875 -1318,46,30,2.7,111.05,1.7,64.42625 -1319,46,30,2.7,111.05,1.7,64.425625 -1320,46,30,2.7,111.05,1.7,64.425 -1321,46,30,2.7,111.05,1.7,64.424375 -1322,46,30,2.7,111.05,1.7,64.42375 -1323,46,30,2.7,111.05,1.7,64.423125 -1324,46,30,2.7,111.05,1.7,64.4225 -1325,46,30,2.7,111.05,1.7,64.421875 -1326,46,30,2.7,111.05,1.7,64.42125 -1327,46,30,2.7,111.05,1.7,64.420625 -1328,46,30,2.7,111.05,1.7,64.42 -1329,46,30,2.7,111.05,1.7,64.419375 -1330,46,30,2.7,111.05,1.7,64.41875 -1331,46,30,2.7,111.05,1.7,64.418125 -1332,46,30,2.7,111.05,1.7,64.4175 -1333,46,30,2.7,111.05,1.7,64.416875 -1334,46,30,2.7,111.05,1.7,64.41625 -1335,46,30,2.7,111.05,1.7,64.415625 -1336,46,30,2.7,111.05,1.7,64.415 -1337,46,30,2.7,111.05,1.7,64.414375 -1338,46,30,2.7,111.05,1.7,64.41375 -1339,46,30,2.7,111.05,1.7,64.413125 -1340,46,30,2.7,111.05,1.7,64.4125 -1341,46,30,2.7,111.05,1.7,64.411875 -1342,46,30,2.7,111.05,1.7,64.41125 -1343,46,30,2.7,111.05,1.7,64.410625 -1344,46,30,2.7,111.05,1.7,64.41 -1345,46,30,2.7,111.05,1.7,64.409375 -1346,46,30,2.7,111.05,1.7,64.40875 -1347,46,30,2.7,111.05,1.7,64.408125 -1348,46,30,2.7,111.05,1.7,64.4075 -1349,46,30,2.7,111.05,1.7,64.406875 -1350,46,30,2.7,111.05,1.7,64.40625 -1351,46,30,2.7,111.05,1.7,64.405625 -1352,46,30,2.7,111.05,1.7,64.405 -1353,46,30,2.7,111.05,1.7,64.404375 -1354,46,30,2.7,111.05,1.7,64.40375 -1355,46,30,2.7,111.05,1.7,64.403125 -1356,46,30,2.7,111.05,1.7,64.4025 -1357,46,30,2.7,111.05,1.7,64.401875 -1358,46,30,2.7,111.05,1.7,64.40125 -1359,46,30,2.7,111.05,1.7,64.400625 -1360,46,30,2.7,111.05,1.7,64.4 -1361,46,30,2.7,111.05,1.7,64.399375 -1362,46,30,2.7,111.05,1.7,64.39875 -1363,46,30,2.7,111.05,1.7,64.398125 -1364,46,30,2.7,111.05,1.7,64.3975 -1365,46,30,2.7,111.05,1.7,64.396875 -1366,46,30,2.7,111.05,1.7,64.39625 -1367,46,30,2.7,111.05,1.7,64.395625 -1368,46,30,2.7,111.05,1.7,64.395 -1369,46,30,2.7,111.05,1.7,64.394375 -1370,46,30,2.7,111.05,1.7,64.39375 -1371,46,30,2.7,111.05,1.7,64.393125 -1372,46,30,2.7,111.05,1.7,64.3925 -1373,46,30,2.7,111.05,1.7,64.391875 -1374,46,30,2.7,111.05,1.7,64.39125 -1375,46,30,2.7,111.05,1.7,64.390625 -1376,46,30,2.7,111.05,1.7,64.39 -1377,46,30,2.7,111.05,1.7,64.389375 -1378,46,30,2.7,111.05,1.7,64.38875 -1379,46,30,2.7,111.05,1.7,64.388125 -1380,46,30,2.7,111.05,1.7,64.3875 -1381,46,30,2.7,111.05,1.7,64.386875 -1382,46,30,2.7,111.05,1.7,64.38625 -1383,46,30,2.7,111.05,1.7,64.385625 -1384,46,30,2.7,111.05,1.7,64.385 -1385,46,30,2.7,111.05,1.7,64.384375 -1386,46,30,2.7,111.05,1.7,64.38375 -1387,46,30,2.7,111.05,1.7,64.383125 -1388,46,30,2.7,111.05,1.7,64.3825 -1389,46,30,2.7,111.05,1.7,64.381875 -1390,46,30,2.7,111.05,1.7,64.38125 -1391,46,30,2.7,111.05,1.7,64.380625 -1392,46,30,2.7,111.05,1.7,64.38 -1393,46,30,2.7,111.05,1.7,64.379375 -1394,46,30,2.7,111.05,1.7,64.37875 -1395,46,30,2.7,111.05,1.7,64.378125 -1396,46,30,2.7,111.05,1.7,64.3775 -1397,46,30,2.7,111.05,1.7,64.376875 -1398,46,30,2.7,111.05,1.7,64.37625 -1399,46,30,2.7,111.05,1.7,64.375625 -1400,46,30,2.7,111.05,1.7,64.375 -1401,46,30,2.7,111.05,1.7,64.374375 -1402,46,30,2.7,111.05,1.7,64.37375 -1403,46,30,2.7,111.05,1.7,64.373125 -1404,46,30,2.7,111.05,1.7,64.3725 -1405,46,30,2.7,111.05,1.7,64.371875 -1406,46,30,2.7,111.05,1.7,64.37125 -1407,46,30,2.7,111.05,1.7,64.370625 -1408,46,30,2.7,111.05,1.7,64.37 -1409,46,30,2.7,111.05,1.7,64.369375 -1410,46,30,2.7,111.05,1.7,64.36875 -1411,46,30,2.7,111.05,1.7,64.368125 -1412,46,30,2.7,111.05,1.7,64.3675 -1413,46,30,2.7,111.05,1.7,64.366875 -1414,46,30,2.7,111.05,1.7,64.36625 -1415,46,30,2.7,111.05,1.7,64.365625 -1416,46,30,2.7,111.05,1.7,64.365 -1417,46,30,2.7,111.05,1.7,64.364375 -1418,46,30,2.7,111.05,1.7,64.36375 -1419,46,30,2.7,111.05,1.7,64.363125 -1420,46,30,2.7,111.05,1.7,64.3625 -1421,46,30,2.7,111.05,1.7,64.361875 -1422,46,30,2.7,111.05,1.7,64.36125 -1423,46,30,2.7,111.05,1.7,64.360625 -1424,46,30,2.7,111.05,1.7,64.36 -1425,46,30,2.7,111.05,1.7,64.359375 -1426,46,30,2.7,111.05,1.7,64.35875 -1427,46,30,2.7,111.05,1.7,64.358125 -1428,46,30,2.7,111.05,1.7,64.3575 -1429,46,30,2.7,111.05,1.7,64.356875 -1430,46,30,2.7,111.05,1.7,64.35625 -1431,46,30,2.7,111.05,1.7,64.355625 -1432,46,30,2.7,111.05,1.7,64.355 -1433,46,30,2.7,111.05,1.7,64.354375 -1434,46,30,2.7,111.05,1.7,64.35375 -1435,46,30,2.7,111.05,1.7,64.353125 -1436,46,30,2.7,111.05,1.7,64.3525 -1437,46,30,2.7,111.05,1.7,64.351875 -1438,46,30,2.7,111.05,1.7,64.35125 -1439,46,30,2.7,111.05,1.7,64.350625 -1440,46,30,2.7,111.05,1.7,64.35 -1441,46,30,2.7,111.05,1.7,64.349375 -1442,46,30,2.7,111.05,1.7,64.34875 -1443,46,30,2.7,111.05,1.7,64.348125 -1444,46,30,2.7,111.05,1.7,64.3475 -1445,46,30,2.7,111.05,1.7,64.346875 -1446,46,30,2.7,111.05,1.7,64.34625 -1447,46,30,2.7,111.05,1.7,64.345625 -1448,46,30,2.7,111.05,1.7,64.345 -1449,46,30,2.7,111.05,1.7,64.344375 -1450,46,30,2.7,111.05,1.7,64.34375 -1451,46,30,2.7,111.05,1.7,64.343125 -1452,46,30,2.7,111.05,1.7,64.3425 -1453,46,30,2.7,111.05,1.7,64.341875 -1454,46,30,2.7,111.05,1.7,64.34125 -1455,46,30,2.7,111.05,1.7,64.340625 -1456,46,30,2.7,111.05,1.7,64.34 -1457,46,30,2.7,111.05,1.7,64.339375 -1458,46,30,2.7,111.05,1.7,64.33875 -1459,46,30,2.7,111.05,1.7,64.338125 -1460,46,30,2.7,111.05,1.7,64.3375 -1461,46,30,2.7,111.05,1.7,64.336875 -1462,46,30,2.7,111.05,1.7,64.33625 -1463,46,30,2.7,111.05,1.7,64.335625 -1464,46,30,2.7,111.05,1.7,64.335 -1465,46,30,2.7,111.05,1.7,64.334375 -1466,46,30,2.7,111.05,1.7,64.33375 -1467,46,30,2.7,111.05,1.7,64.333125 -1468,46,30,2.7,111.05,1.7,64.3325 -1469,46,30,2.7,111.05,1.7,64.331875 -1470,46,30,2.7,111.05,1.7,64.33125 -1471,46,30,2.7,111.05,1.7,64.330625 -1472,46,30,2.7,111.05,1.7,64.33 -1473,46,30,2.7,111.05,1.7,64.329375 -1474,46,30,2.7,111.05,1.7,64.32875 -1475,46,30,2.7,111.05,1.7,64.328125 -1476,46,30,2.7,111.05,1.7,64.3275 -1477,46,30,2.7,111.05,1.7,64.326875 -1478,46,30,2.7,111.05,1.7,64.32625 -1479,46,30,2.7,111.05,1.7,64.325625 -1480,46,30,2.7,111.05,1.7,64.325 -1481,46,30,2.7,111.05,1.7,64.324375 -1482,46,30,2.7,111.05,1.7,64.32375 -1483,46,30,2.7,111.05,1.7,64.323125 -1484,46,30,2.7,111.05,1.7,64.3225 -1485,46,30,2.7,111.05,1.7,64.321875 -1486,46,30,2.7,111.05,1.7,64.32125 -1487,46,30,2.7,111.05,1.7,64.320625 -1488,46,30,2.7,111.05,1.7,64.32 -1489,46,30,2.7,111.05,1.7,64.319375 -1490,46,30,2.6,111.05,1.7,64.31875 -1491,46,30,2.6,111.05,1.7,64.318125 -1492,46,30,2.6,111.05,1.7,64.3175 -1493,46,30,2.6,111.05,1.7,64.316875 -1494,46,30,2.6,111.05,1.7,64.31625 -1495,46,30,2.6,111.05,1.7,64.315625 -1496,46,30,2.6,111.05,1.7,64.315 -1497,46,30,2.6,111.05,1.7,64.314375 -1498,46,30,2.6,111.05,1.7,64.31375 -1499,46,30,2.6,111.05,1.7,64.313125 -1500,46,30,2.6,111.05,1.7,64.3125 -1501,46,30,2.6,111.05,1.7,64.311875 -1502,46,30,2.6,111.05,1.7,64.31125 -1503,46,30,2.6,111.05,1.7,64.310625 -1504,46,30,2.6,111.05,1.7,64.31 -1505,46,30,2.6,111.05,1.7,64.309375 -1506,46,30,2.6,111.05,1.7,64.30875 -1507,46,30,2.6,111.05,1.7,64.308125 -1508,46,30,2.6,111.05,1.7,64.3075 -1509,46,30,2.6,111.05,1.7,64.306875 -1510,46,30,2.6,111.05,1.7,64.30625 -1511,46,30,2.6,111.05,1.7,64.305625 -1512,46,30,2.6,111.05,1.7,64.305 -1513,46,30,2.6,111.05,1.7,64.304375 -1514,46,30,2.6,111.05,1.7,64.30375 -1515,46,30,2.6,111.05,1.7,64.303125 -1516,46,30,2.6,111.05,1.7,64.3025 -1517,46,30,2.6,111.05,1.7,64.301875 -1518,46,30,2.6,111.05,1.7,64.30125 -1519,46,30,2.6,111.05,1.7,64.300625 -1520,46,30,2.6,111.05,1.7,64.3 -1521,46,30,2.6,111.05,1.7,64.299375 -1522,46,30,2.6,111.05,1.7,64.29875 -1523,46,30,2.6,111.05,1.7,64.298125 -1524,46,30,2.6,111.05,1.7,64.2975 -1525,46,30,2.6,111.05,1.7,64.296875 -1526,46,30,2.6,111.05,1.7,64.29625 -1527,46,30,2.6,111.05,1.7,64.295625 -1528,46,30,2.6,111.05,1.7,64.295 -1529,46,30,2.6,111.05,1.7,64.294375 -1530,46,30,2.6,111.05,1.7,64.29375 -1531,46,30,2.6,111.05,1.7,64.293125 -1532,46,30,2.6,111.05,1.7,64.2925 -1533,46,30,2.6,111.05,1.7,64.291875 -1534,46,30,2.6,111.05,1.7,64.29125 -1535,46,30,2.6,111.05,1.7,64.290625 -1536,46,30,2.6,111.05,1.7,64.29 -1537,46,30,2.6,111.05,1.7,64.289375 -1538,46,30,2.6,111.05,1.7,64.28875 -1539,46,30,2.6,111.05,1.7,64.288125 -1540,46,30,2.6,111.05,1.7,64.2875 -1541,46,30,2.6,111.05,1.7,64.286875 -1542,46,30,2.6,111.05,1.7,64.28625 -1543,46,30,2.6,111.05,1.7,64.285625 -1544,46,30,2.6,111.05,1.7,64.285 -1545,46,30,2.6,111.05,1.7,64.284375 -1546,46,30,2.6,111.05,1.7,64.28375 -1547,46,30,2.6,111.05,1.7,64.283125 -1548,46,30,2.6,111.05,1.7,64.2825 -1549,46,30,2.6,111.05,1.7,64.281875 -1550,46,30,2.6,111.05,1.7,64.28125 -1551,46,30,2.6,111.05,1.7,64.280625 -1552,46,30,2.6,111.05,1.7,64.28 -1553,46,30,2.6,111.05,1.7,64.279375 -1554,46,30,2.6,111.05,1.7,64.27875 -1555,46,30,2.6,111.05,1.7,64.278125 -1556,46,30,2.6,111.05,1.7,64.2775 -1557,46,30,2.6,111.05,1.7,64.276875 -1558,46,30,2.6,111.05,1.7,64.27625 -1559,46,30,2.6,111.05,1.7,64.275625 -1560,46,30,2.6,111.05,1.7,64.275 -1561,46,30,2.6,111.05,1.7,64.274375 -1562,46,30,2.6,111.05,1.7,64.27375 -1563,46,30,2.6,111.05,1.7,64.273125 -1564,46,30,2.6,111.05,1.7,64.2725 -1565,46,30,2.6,111.05,1.7,64.271875 -1566,46,30,2.6,111.05,1.7,64.27125 -1567,46,30,2.6,111.05,1.7,64.270625 -1568,46,30,2.6,111.05,1.7,64.27 -1569,46,30,2.6,111.05,1.7,64.269375 -1570,46,30,2.6,111.05,1.7,64.26875 -1571,46,30,2.6,111.05,1.7,64.268125 -1572,46,30,2.6,111.05,1.7,64.2675 -1573,46,30,2.6,111.05,1.7,64.266875 -1574,46,30,2.6,111.05,1.7,64.26625 -1575,46,30,2.6,111.05,1.7,64.265625 -1576,46,30,2.6,111.05,1.7,64.265 -1577,46,30,2.6,111.05,1.7,64.264375 -1578,46,30,2.6,111.05,1.7,64.26375 -1579,46,30,2.6,111.05,1.7,64.263125 -1580,46,30,2.6,111.05,1.7,64.2625 -1581,46,30,2.6,111.05,1.7,64.261875 -1582,46,30,2.6,111.05,1.7,64.26125 -1583,46,30,2.6,111.05,1.7,64.260625 -1584,46,30,2.6,111.05,1.7,64.26 -1585,46,30,2.6,111.05,1.7,64.259375 -1586,46,30,2.6,111.05,1.7,64.25875 -1587,46,30,2.6,111.05,1.7,64.258125 -1588,46,30,2.6,111.05,1.7,64.2575 -1589,46,30,2.6,111.05,1.7,64.256875 -1590,46,30,2.6,111.05,1.7,64.25625 -1591,46,30,2.6,111.05,1.7,64.255625 -1592,46,30,2.6,111.05,1.7,64.255 -1593,46,30,2.6,111.05,1.7,64.254375 -1594,46,30,2.6,111.05,1.7,64.25375 -1595,46,30,2.6,111.05,1.7,64.253125 -1596,46,30,2.6,111.05,1.7,64.2525 -1597,46,30,2.6,111.05,1.7,64.251875 -1598,46,30,2.6,111.05,1.7,64.25125 -1599,46,30,2.6,111.05,1.7,64.250625 -1600,46,30,2.6,111.05,1.7,64.25 -1601,46,30,2.6,111.05,1.7,64.249375 -1602,46,30,2.6,111.05,1.7,64.24875 -1603,46,30,2.6,111.05,1.7,64.248125 -1604,46,30,2.6,111.05,1.7,64.2475 -1605,46,30,2.6,111.05,1.7,64.246875 -1606,46,30,2.6,111.05,1.7,64.24625 -1607,46,30,2.6,111.05,1.7,64.245625 -1608,46,30,2.6,111.05,1.7,64.245 -1609,46,30,2.6,111.05,1.7,64.244375 -1610,46,30,2.6,111.05,1.7,64.24375 -1611,46,30,2.6,111.05,1.7,64.243125 -1612,46,30,2.6,111.05,1.7,64.2425 -1613,46,30,2.6,111.05,1.7,64.241875 -1614,46,30,2.6,111.05,1.7,64.24125 -1615,46,30,2.6,111.05,1.7,64.240625 -1616,46,30,2.6,111.05,1.7,64.24 -1617,46,30,2.6,111.05,1.7,64.239375 -1618,46,30,2.6,111.05,1.7,64.23875 -1619,46,30,2.6,111.05,1.7,64.238125 -1620,46,30,2.6,111.05,1.7,64.2375 -1621,46,30,2.6,111.05,1.7,64.236875 -1622,46,30,2.6,111.05,1.7,64.23625 -1623,46,30,2.6,111.05,1.7,64.235625 -1624,46,30,2.6,111.05,1.7,64.235 -1625,46,30,2.6,111.05,1.7,64.234375 -1626,46,30,2.6,111.05,1.7,64.23375 -1627,46,30,2.6,111.05,1.7,64.233125 -1628,46,30,2.6,111.05,1.7,64.2325 -1629,46,30,2.6,111.05,1.7,64.231875 -1630,46,30,2.6,111.05,1.7,64.23125 -1631,46,30,2.6,111.05,1.7,64.230625 -1632,46,30,2.6,111.05,1.7,64.23 -1633,46,30,2.6,111.05,1.7,64.229375 -1634,46,30,2.6,111.05,1.7,64.22875 -1635,46,30,2.6,111.05,1.7,64.228125 -1636,46,30,2.6,111.05,1.7,64.2275 -1637,46,30,2.6,111.05,1.7,64.226875 -1638,46,30,2.6,111.05,1.7,64.22625 -1639,46,30,2.6,111.05,1.7,64.225625 -1640,46,30,2.6,111.05,1.7,64.225 -1641,46,30,2.6,111.05,1.7,64.224375 -1642,46,30,2.6,111.05,1.7,64.22375 -1643,46,30,2.6,111.05,1.7,64.223125 -1644,46,30,2.6,111.05,1.7,64.2225 -1645,46,30,2.6,111.05,1.7,64.221875 -1646,46,30,2.6,111.05,1.7,64.22125 -1647,46,30,2.6,111.05,1.7,64.220625 -1648,46,30,2.6,111.05,1.7,64.22 -1649,46,30,2.6,111.05,1.7,64.219375 -1650,46,30,2.6,111.05,1.7,64.21875 -1651,46,30,2.6,111.05,1.7,64.218125 -1652,46,30,2.6,111.05,1.7,64.2175 -1653,46,30,2.6,111.05,1.7,64.216875 -1654,46,30,2.6,111.05,1.7,64.21625 -1655,46,30,2.6,111.05,1.7,64.215625 -1656,46,30,2.6,111.05,1.7,64.215 -1657,46,30,2.6,111.05,1.7,64.214375 -1658,46,30,2.6,111.05,1.7,64.21375 -1659,46,30,2.6,111.05,1.7,64.213125 -1660,46,30,2.6,111.05,1.7,64.2125 -1661,46,30,2.6,111.05,1.7,64.211875 -1662,46,30,2.6,111.05,1.7,64.21125 -1663,46,30,2.6,111.05,1.7,64.210625 -1664,46,30,2.6,111.05,1.7,64.21 -1665,46,30,2.6,111.05,1.7,64.209375 -1666,46,30,2.6,111.05,1.7,64.20875 -1667,46,30,2.6,111.05,1.7,64.208125 -1668,46,30,2.6,111.05,1.7,64.2075 -1669,46,30,2.6,111.05,1.7,64.206875 -1670,46,30,2.6,111.05,1.7,64.20625 -1671,46,30,2.6,111.05,1.7,64.205625 -1672,46,30,2.6,111.05,1.7,64.205 -1673,46,30,2.6,111.05,1.7,64.204375 -1674,46,30,2.6,111.05,1.7,64.20375 -1675,46,30,2.6,111.05,1.7,64.203125 -1676,46,30,2.6,111.05,1.7,64.2025 -1677,46,30,2.6,111.05,1.7,64.201875 -1678,46,30,2.6,111.05,1.7,64.20125 -1679,46,30,2.6,111.05,1.7,64.200625 -1680,46,30,2.6,111.05,1.7,64.2 -1681,46,30,2.6,111.05,1.7,64.199375 -1682,46,30,2.6,111.05,1.7,64.19875 -1683,46,30,2.6,111.05,1.7,64.198125 -1684,46,30,2.6,111.05,1.7,64.1975 -1685,46,30,2.6,111.05,1.7,64.196875 -1686,46,30,2.6,111.05,1.7,64.19625 -1687,46,30,2.6,111.05,1.7,64.195625 -1688,46,30,2.6,111.05,1.7,64.195 -1689,46,30,2.6,111.05,1.7,64.194375 -1690,46,30,2.6,111.05,1.7,64.19375 -1691,46,30,2.6,111.05,1.7,64.193125 -1692,46,30,2.6,111.05,1.7,64.1925 -1693,46,30,2.6,111.05,1.7,64.191875 -1694,46,30,2.6,111.05,1.7,64.19125 -1695,46,30,2.6,111.05,1.7,64.190625 -1696,46,30,2.6,111.05,1.7,64.19 -1697,46,30,2.6,111.05,1.7,64.189375 -1698,46,30,2.6,111.05,1.7,64.18875 -1699,46,30,2.6,111.05,1.7,64.188125 -1700,46,30,2.6,111.05,1.7,64.1875 -1701,46,30,2.6,111.05,1.7,64.186875 -1702,46,30,2.6,111.05,1.7,64.18625 -1703,46,30,2.6,111.05,1.7,64.185625 -1704,46,30,2.6,111.05,1.7,64.185 -1705,46,30,2.6,111.05,1.7,64.184375 -1706,46,30,2.6,111.05,1.7,64.18375 -1707,46,30,2.6,111.05,1.7,64.183125 -1708,46,30,2.6,111.05,1.7,64.1825 -1709,46,30,2.6,111.05,1.7,64.181875 -1710,46,30,2.6,111.05,1.7,64.18125 -1711,46,30,2.6,111.05,1.7,64.180625 -1712,46,30,2.6,111.05,1.7,64.18 -1713,46,30,2.6,111.05,1.7,64.179375 -1714,46,30,2.6,111.05,1.7,64.17875 -1715,46,30,2.6,111.05,1.7,64.178125 -1716,46,30,2.6,111.05,1.7,64.1775 -1717,46,30,2.6,111.05,1.7,64.176875 -1718,46,30,2.6,111.05,1.7,64.17625 -1719,46,30,2.6,111.05,1.7,64.175625 -1720,46,30,2.6,111.05,1.7,64.175 -1721,46,30,2.6,111.05,1.7,64.174375 -1722,46,30,2.6,111.05,1.7,64.17375 -1723,46,30,2.6,111.05,1.7,64.173125 -1724,46,30,2.6,111.05,1.7,64.1725 -1725,46,30,2.6,111.05,1.7,64.171875 -1726,46,30,2.6,111.05,1.7,64.17125 -1727,46,30,2.6,111.05,1.7,64.170625 -1728,46,30,2.6,111.05,1.7,64.17 -1729,46,30,2.6,111.05,1.7,64.169375 -1730,46,30,2.6,111.05,1.7,64.16875 -1731,46,30,2.6,111.05,1.7,64.168125 -1732,46,30,2.6,111.05,1.7,64.1675 -1733,46,30,2.6,111.05,1.7,64.166875 -1734,46,30,2.6,111.05,1.7,64.16625 -1735,46,30,2.6,111.05,1.7,64.165625 -1736,46,30,2.6,111.05,1.7,64.165 -1737,46,30,2.6,111.05,1.7,64.164375 -1738,46,30,2.6,111.05,1.7,64.16375 -1739,46,30,2.6,111.05,1.7,64.163125 -1740,46,30,2.6,111.05,1.7,64.1625 -1741,46,30,2.6,111.05,1.7,64.161875 -1742,46,30,2.6,111.05,1.7,64.16125 -1743,46,30,2.6,111.05,1.7,64.160625 -1744,46,30,2.6,111.05,1.7,64.16 -1745,46,30,2.6,111.05,1.7,64.159375 -1746,46,30,2.6,111.05,1.7,64.15875 -1747,46,30,2.6,111.05,1.7,64.158125 -1748,46,30,2.6,111.05,1.7,64.1575 -1749,46,30,2.6,111.05,1.7,64.156875 -1750,46,30,2.6,111.05,1.7,64.15625 -1751,46,30,2.6,111.05,1.7,64.155625 -1752,46,30,2.6,111.05,1.7,64.155 -1753,46,30,2.6,111.05,1.7,64.154375 -1754,46,30,2.6,111.05,1.7,64.15375 -1755,46,30,2.6,111.05,1.7,64.153125 -1756,46,30,2.6,111.05,1.7,64.1525 -1757,46,30,2.6,111.05,1.7,64.151875 -1758,46,30,2.6,111.05,1.7,64.15125 -1759,46,30,2.6,111.05,1.7,64.150625 -1760,46,30,2.6,111.05,1.7,64.15 -1761,46,30,2.6,111.05,1.7,64.149375 -1762,46,30,2.6,111.05,1.7,64.14875 -1763,46,30,2.6,111.05,1.7,64.148125 -1764,46,30,2.6,111.05,1.7,64.1475 -1765,46,30,2.6,111.05,1.7,64.146875 -1766,46,30,2.6,111.05,1.7,64.14625 -1767,46,30,2.6,111.05,1.7,64.145625 -1768,46,30,2.6,111.05,1.7,64.145 -1769,46,30,2.6,111.05,1.7,64.144375 -1770,46,30,2.6,111.05,1.7,64.14375 -1771,46,30,2.6,111.05,1.7,64.143125 -1772,46,30,2.6,111.05,1.7,64.1425 -1773,46,30,2.6,111.05,1.7,64.141875 -1774,46,30,2.6,111.05,1.7,64.14125 -1775,46,30,2.6,111.05,1.7,64.140625 -1776,46,30,2.6,111.05,1.7,64.14 -1777,46,30,2.6,111.05,1.7,64.139375 -1778,46,30,2.6,111.05,1.7,64.13875 -1779,46,30,2.6,111.05,1.7,64.138125 -1780,46,30,2.6,111.05,1.7,64.1375 -1781,46,30,2.6,111.05,1.7,64.136875 -1782,46,30,2.6,111.05,1.7,64.13625 -1783,46,30,2.6,111.05,1.7,64.135625 -1784,46,30,2.6,111.05,1.7,64.135 -1785,46,30,2.6,111.05,1.7,64.134375 -1786,46,30,2.6,111.05,1.7,64.13375 -1787,46,30,2.6,111.05,1.7,64.133125 -1788,46,30,2.6,111.05,1.7,64.1325 -1789,46,30,2.6,111.05,1.7,64.131875 -1790,46,30,2.6,111.05,1.7,64.13125 -1791,46,30,2.6,111.05,1.7,64.130625 -1792,46,30,2.6,111.05,1.7,64.13 -1793,46,30,2.6,111.05,1.7,64.129375 -1794,46,30,2.6,111.05,1.7,64.12875 -1795,46,30,2.6,111.05,1.7,64.128125 -1796,46,30,2.6,111.05,1.7,64.1275 -1797,46,30,2.6,111.05,1.7,64.126875 -1798,46,30,2.6,111.05,1.7,64.12625 -1799,46,30,2.6,111.05,1.7,64.125625 -1800,46,30,2.6,111.05,1.7,64.125 -1801,46,30,2.6,111.05,1.7,64.124375 -1802,46,30,2.6,111.05,1.7,64.12375 -1803,46,30,2.6,111.05,1.7,64.123125 -1804,46,30,2.6,111.05,1.7,64.1225 -1805,46,30,2.6,111.05,1.7,64.121875 -1806,46,30,2.6,111.05,1.7,64.12125 -1807,46,30,2.6,111.05,1.7,64.120625 -1808,46,30,2.6,111.05,1.7,64.12 -1809,46,30,2.6,111.05,1.7,64.119375 -1810,46,30,2.6,111.05,1.7,64.11875 -1811,46,30,2.6,111.05,1.7,64.118125 -1812,46,30,2.6,111.05,1.7,64.1175 -1813,46,30,2.6,111.05,1.7,64.116875 -1814,46,30,2.6,111.05,1.7,64.11625 -1815,46,30,2.6,111.05,1.7,64.115625 -1816,46,30,2.6,111.05,1.7,64.115 -1817,46,30,2.6,111.05,1.7,64.114375 -1818,46,30,2.6,111.05,1.7,64.11375 -1819,46,30,2.6,111.05,1.7,64.113125 -1820,46,30,2.6,111.05,1.7,64.1125 -1821,46,30,2.6,111.05,1.7,64.111875 -1822,46,30,2.6,111.05,1.7,64.11125 -1823,46,30,2.6,111.05,1.7,64.110625 -1824,46,30,2.6,111.05,1.7,64.11 -1825,46,30,2.6,111.05,1.7,64.109375 -1826,46,30,2.6,111.05,1.7,64.10875 -1827,46,30,2.6,111.05,1.7,64.108125 -1828,46,30,2.6,111.05,1.7,64.1075 -1829,46,30,2.6,111.05,1.7,64.106875 -1830,46,30,2.6,111.05,1.7,64.10625 -1831,46,30,2.6,111.05,1.7,64.105625 -1832,46,30,2.6,111.05,1.7,64.105 -1833,46,30,2.6,111.05,1.7,64.104375 -1834,46,30,2.6,111.05,1.7,64.10375 -1835,46,30,2.6,111.05,1.7,64.103125 -1836,46,30,2.6,111.05,1.7,64.1025 -1837,46,30,2.6,111.05,1.7,64.101875 -1838,46,30,2.6,111.05,1.7,64.10125 -1839,46,30,2.6,111.05,1.7,64.100625 -1840,46,30,2.6,111.05,1.7,64.1 -1841,46,30,2.6,111.05,1.7,64.099375 -1842,46,30,2.6,111.05,1.7,64.09875 -1843,46,30,2.6,111.05,1.7,64.098125 -1844,46,30,2.6,111.05,1.7,64.0975 -1845,46,30,2.6,111.05,1.7,64.096875 -1846,46,30,2.6,111.05,1.7,64.09625 -1847,46,30,2.6,111.05,1.7,64.095625 -1848,46,30,2.6,111.05,1.7,64.095 -1849,46,30,2.6,111.05,1.7,64.094375 -1850,46,30,2.6,111.05,1.7,64.09375 -1851,46,30,2.6,111.05,1.7,64.093125 -1852,46,30,2.6,111.05,1.7,64.0925 -1853,46,30,2.6,111.05,1.7,64.091875 -1854,46,30,2.6,111.05,1.7,64.09125 -1855,46,30,2.6,111.05,1.7,64.090625 -1856,46,30,2.6,111.05,1.7,64.09 -1857,46,30,2.6,111.05,1.7,64.089375 -1858,46,30,2.6,111.05,1.7,64.08875 -1859,46,30,2.6,111.05,1.7,64.088125 -1860,46,30,2.6,111.05,1.7,64.0875 -1861,46,30,2.6,111.05,1.7,64.086875 -1862,46,30,2.6,111.05,1.7,64.08625 -1863,46,30,2.6,111.05,1.7,64.085625 -1864,46,30,2.6,111.05,1.7,64.085 -1865,46,30,2.6,111.05,1.7,64.084375 -1866,46,30,2.6,111.05,1.7,64.08375 -1867,46,30,2.6,111.05,1.7,64.083125 -1868,46,30,2.6,111.05,1.7,64.0825 -1869,46,30,2.6,111.05,1.7,64.081875 -1870,46,30,2.6,111.05,1.7,64.08125 -1871,46,30,2.6,111.05,1.7,64.080625 -1872,46,30,2.6,111.05,1.7,64.08 -1873,46,30,2.6,111.05,1.7,64.079375 -1874,46,30,2.6,111.05,1.7,64.07875 -1875,46,30,2.6,111.05,1.7,64.078125 -1876,46,30,2.6,111.05,1.7,64.0775 -1877,46,30,2.6,111.05,1.7,64.076875 -1878,46,30,2.6,111.05,1.7,64.07625 -1879,46,30,2.6,111.05,1.7,64.075625 -1880,46,30,2.6,111.05,1.7,64.075 -1881,46,30,2.6,111.05,1.7,64.074375 -1882,46,30,2.6,111.05,1.7,64.07375 -1883,46,30,2.6,111.05,1.7,64.073125 -1884,46,30,2.6,111.05,1.7,64.0725 -1885,46,30,2.6,111.05,1.7,64.071875 -1886,46,30,2.6,111.05,1.7,64.07125 -1887,46,30,2.6,111.05,1.7,64.070625 -1888,46,30,2.6,111.05,1.7,64.07 -1889,46,30,2.6,111.05,1.7,64.069375 -1890,46,30,2.6,111.05,1.7,64.06875 -1891,46,30,2.6,111.05,1.7,64.068125 -1892,46,30,2.6,111.05,1.7,64.0675 -1893,46,30,2.6,111.05,1.7,64.066875 -1894,46,30,2.6,111.05,1.7,64.06625 -1895,46,30,2.6,111.05,1.7,64.065625 -1896,46,30,2.6,111.05,1.7,64.065 -1897,46,30,2.6,111.05,1.7,64.064375 -1898,46,30,2.6,111.05,1.7,64.06375 -1899,46,30,2.6,111.05,1.7,64.063125 -1900,46,30,2.6,111.05,1.7,64.0625 -1901,46,30,2.6,111.05,1.7,64.061875 -1902,46,30,2.6,111.05,1.7,64.06125 -1903,46,30,2.6,111.05,1.7,64.060625 -1904,46,30,2.6,111.05,1.7,64.06 -1905,46,30,2.6,111.05,1.7,64.059375 -1906,46,30,2.6,111.05,1.7,64.05875 -1907,46,30,2.6,111.05,1.7,64.058125 -1908,46,30,2.6,111.05,1.7,64.0575 -1909,46,30,2.6,111.05,1.7,64.056875 -1910,46,30,2.6,111.05,1.7,64.05625 -1911,46,30,2.6,111.05,1.7,64.055625 -1912,46,30,2.6,111.05,1.7,64.055 -1913,46,30,2.6,111.05,1.7,64.054375 -1914,46,30,2.6,111.05,1.7,64.05375 -1915,46,30,2.6,111.05,1.7,64.053125 -1916,46,30,2.6,111.05,1.7,64.0525 -1917,46,30,2.6,111.05,1.7,64.051875 -1918,46,30,2.6,111.05,1.7,64.05125 -1919,46,30,2.6,111.05,1.7,64.050625 -1920,46,30,2.6,111.05,1.7,64.05 -1921,46,30,2.6,111.05,1.7,64.049375 -1922,46,30,2.6,111.05,1.7,64.04875 -1923,46,30,2.6,111.05,1.7,64.048125 -1924,46,30,2.6,111.05,1.7,64.0475 -1925,46,30,2.6,111.05,1.7,64.046875 -1926,46,30,2.6,111.05,1.7,64.04625 -1927,46,30,2.6,111.05,1.7,64.045625 -1928,46,30,2.6,111.05,1.7,64.045 -1929,46,30,2.6,111.05,1.7,64.044375 -1930,46,30,2.6,111.05,1.7,64.04375 -1931,46,30,2.6,111.05,1.7,64.043125 -1932,46,30,2.6,111.05,1.7,64.0425 -1933,46,30,2.6,111.05,1.7,64.041875 -1934,46,30,2.6,111.05,1.7,64.04125 -1935,46,30,2.6,111.05,1.7,64.040625 -1936,46,30,2.6,111.05,1.7,64.04 -1937,46,30,2.6,111.05,1.7,64.039375 -1938,46,30,2.6,111.05,1.7,64.03875 -1939,46,30,2.6,111.05,1.7,64.038125 -1940,46,30,2.6,111.05,1.7,64.0375 -1941,46,30,2.6,111.05,1.7,64.036875 -1942,46,30,2.6,111.05,1.7,64.03625 -1943,46,30,2.6,111.05,1.7,64.035625 -1944,46,30,2.6,111.05,1.7,64.035 -1945,46,30,2.6,111.05,1.7,64.034375 -1946,46,30,2.6,111.05,1.7,64.03375 -1947,46,30,2.6,111.05,1.7,64.033125 -1948,46,30,2.6,111.05,1.7,64.0325 -1949,46,30,2.6,111.05,1.7,64.031875 -1950,46,30,2.6,111.05,1.7,64.03125 -1951,46,30,2.6,111.05,1.7,64.030625 -1952,46,30,2.6,111.05,1.7,64.03 -1953,46,30,2.6,111.05,1.7,64.029375 -1954,46,30,2.6,111.05,1.7,64.02875 -1955,46,30,2.6,111.05,1.7,64.028125 -1956,46,30,2.6,111.05,1.7,64.0275 -1957,46,30,2.6,111.05,1.7,64.026875 -1958,46,30,2.6,111.05,1.7,64.02625 -1959,46,30,2.6,111.05,1.7,64.025625 -1960,46,30,2.6,111.05,1.7,64.025 -1961,46,30,2.6,111.05,1.7,64.024375 -1962,46,30,2.6,111.05,1.7,64.02375 -1963,46,30,2.6,111.05,1.7,64.023125 -1964,46,30,2.6,111.05,1.7,64.0225 -1965,46,30,2.6,111.05,1.7,64.021875 -1966,46,30,2.6,111.05,1.7,64.02125 -1967,46,30,2.6,111.05,1.7,64.020625 -1968,46,30,2.6,111.05,1.7,64.02 -1969,46,30,2.6,111.05,1.7,64.019375 -1970,46,30,2.6,111.05,1.7,64.01875 -1971,46,30,2.6,111.05,1.7,64.018125 -1972,46,30,2.6,111.05,1.7,64.0175 -1973,46,30,2.6,111.05,1.7,64.016875 -1974,46,30,2.6,111.05,1.7,64.01625 -1975,46,30,2.6,111.05,1.7,64.015625 -1976,46,30,2.6,111.05,1.7,64.015 -1977,46,30,2.6,111.05,1.7,64.014375 -1978,46,30,2.6,111.05,1.7,64.01375 -1979,46,30,2.6,111.05,1.7,64.013125 -1980,46,30,2.6,111.05,1.7,64.0125 -1981,46,30,2.6,111.05,1.7,64.011875 -1982,46,30,2.6,111.05,1.7,64.01125 -1983,46,30,2.6,111.05,1.7,64.010625 -1984,46,30,2.6,111.05,1.7,64.01 -1985,46,30,2.6,111.05,1.7,64.009375 -1986,46,30,2.6,111.05,1.7,64.00875 -1987,46,30,2.6,111.05,1.7,64.008125 -1988,46,30,2.6,111.05,1.7,64.0075 -1989,46,30,2.6,111.05,1.7,64.006875 -1990,46,30,2.6,111.05,1.7,64.00625 -1991,46,30,2.6,111.05,1.7,64.005625 -1992,46,30,2.6,111.05,1.7,64.005 -1993,46,30,2.6,111.05,1.7,64.004375 -1994,46,30,2.6,111.05,1.7,64.00375 -1995,46,30,2.6,111.05,1.7,64.003125 -1996,46,30,2.6,111.05,1.7,64.0025 -1997,46,30,2.6,111.05,1.7,64.001875 -1998,46,30,2.6,111.05,1.7,64.00125 -1999,46,30,2.6,111.05,1.7,64.000625 -2000,46,30,2.6,111.05,1.7,64 -2001,46,30,2.6,111.05,1.7,63.99975 -2002,46,30,2.6,111.05,1.7,63.9995 -2003,46,30,2.6,111.05,1.7,63.99925 -2004,46,30,2.6,111.05,1.7,63.999 -2005,46,30,2.6,111.05,1.7,63.99875 -2006,46,30,2.6,111.05,1.7,63.9985 -2007,46,30,2.6,111.05,1.7,63.99825 -2008,46,30,2.6,111.05,1.7,63.998 -2009,46,30,2.6,111.05,1.7,63.99775 -2010,46,30,2.6,111.05,1.7,63.9975 -2011,46,30,2.6,111.05,1.7,63.99725 -2012,46,30,2.6,111.05,1.7,63.997 -2013,46,30,2.6,111.05,1.7,63.99675 -2014,46,30,2.6,111.05,1.7,63.9965 -2015,46,30,2.6,111.05,1.7,63.99625 -2016,46,30,2.6,111.05,1.7,63.996 -2017,46,30,2.6,111.05,1.7,63.99575 -2018,46,30,2.6,111.05,1.7,63.9955 -2019,46,30,2.6,111.05,1.7,63.99525 -2020,46,30,2.6,111.05,1.7,63.995 -2021,46,30,2.6,111.05,1.7,63.99475 -2022,46,30,2.6,111.05,1.7,63.9945 -2023,46,30,2.6,111.05,1.7,63.99425 -2024,46,30,2.6,111.05,1.7,63.994 -2025,46,30,2.6,111.05,1.7,63.99375 -2026,46,30,2.6,111.05,1.7,63.9935 -2027,46,30,2.6,111.05,1.7,63.99325 -2028,46,30,2.6,111.05,1.7,63.993 -2029,46,30,2.6,111.05,1.7,63.99275 -2030,46,30,2.6,111.05,1.7,63.9925 -2031,46,30,2.6,111.05,1.7,63.99225 -2032,46,30,2.6,111.05,1.7,63.992 -2033,46,30,2.6,111.05,1.7,63.99175 -2034,46,30,2.6,111.05,1.7,63.9915 -2035,46,30,2.6,111.05,1.7,63.99125 -2036,46,30,2.6,111.05,1.7,63.991 -2037,46,30,2.6,111.05,1.7,63.99075 -2038,46,30,2.6,111.05,1.7,63.9905 -2039,46,30,2.6,111.05,1.7,63.99025 -2040,46,30,2.6,111.05,1.7,63.99 -2041,46,30,2.6,111.05,1.7,63.98975 -2042,46,30,2.6,111.05,1.7,63.9895 -2043,46,30,2.6,111.05,1.7,63.98925 -2044,46,30,2.6,111.05,1.7,63.989 -2045,46,30,2.6,111.05,1.7,63.98875 -2046,46,30,2.6,111.05,1.7,63.9885 -2047,46,30,2.6,111.05,1.7,63.98825 -2048,46,30,2.6,111.05,1.7,63.988 -2049,46,30,2.6,111.05,1.7,63.98775 -2050,46,30,2.6,111.05,1.7,63.9875 -2051,46,30,2.6,111.05,1.7,63.98725 -2052,46,30,2.6,111.05,1.7,63.987 -2053,46,30,2.6,111.05,1.7,63.98675 -2054,46,30,2.6,111.05,1.7,63.9865 -2055,46,30,2.6,111.05,1.7,63.98625 -2056,46,30,2.6,111.05,1.7,63.986 -2057,46,30,2.6,111.05,1.7,63.98575 -2058,46,30,2.6,111.05,1.7,63.9855 -2059,46,30,2.6,111.05,1.7,63.98525 -2060,46,30,2.6,111.05,1.7,63.985 -2061,46,30,2.6,111.05,1.7,63.98475 -2062,46,30,2.6,111.05,1.7,63.9845 -2063,46,30,2.6,111.05,1.7,63.98425 -2064,46,30,2.6,111.05,1.7,63.984 -2065,46,30,2.6,111.05,1.7,63.98375 -2066,46,30,2.6,111.05,1.7,63.9835 -2067,46,30,2.6,111.05,1.7,63.98325 -2068,46,30,2.6,111.05,1.7,63.983 -2069,46,30,2.6,111.05,1.7,63.98275 -2070,46,30,2.6,111.05,1.7,63.9825 -2071,46,30,2.6,111.05,1.7,63.98225 -2072,46,30,2.6,111.05,1.7,63.982 -2073,46,30,2.6,111.05,1.7,63.98175 -2074,46,30,2.6,111.05,1.7,63.9815 -2075,46,30,2.6,111.05,1.7,63.98125 -2076,46,30,2.6,111.05,1.7,63.981 -2077,46,30,2.6,111.05,1.7,63.98075 -2078,46,30,2.6,111.05,1.7,63.9805 -2079,46,30,2.6,111.05,1.7,63.98025 -2080,46,30,2.6,111.05,1.7,63.98 -2081,46,30,2.6,111.05,1.7,63.97975 -2082,46,30,2.6,111.05,1.7,63.9795 -2083,46,30,2.6,111.05,1.7,63.97925 -2084,46,30,2.6,111.05,1.7,63.979 -2085,46,30,2.6,111.05,1.7,63.97875 -2086,46,30,2.6,111.05,1.7,63.9785 -2087,46,30,2.6,111.05,1.7,63.97825 -2088,46,30,2.6,111.05,1.7,63.978 -2089,46,30,2.6,111.05,1.7,63.97775 -2090,46,30,2.6,111.05,1.7,63.9775 -2091,46,30,2.6,111.05,1.7,63.97725 -2092,46,30,2.6,111.05,1.7,63.977 -2093,46,30,2.6,111.05,1.7,63.97675 -2094,46,30,2.6,111.05,1.7,63.9765 -2095,46,30,2.6,111.05,1.7,63.97625 -2096,46,30,2.6,111.05,1.7,63.976 -2097,46,30,2.6,111.05,1.7,63.97575 -2098,46,30,2.6,111.05,1.7,63.9755 -2099,46,30,2.6,111.05,1.7,63.97525 -2100,46,30,2.6,111.05,1.7,63.975 -2101,46,30,2.6,111.05,1.7,63.97475 -2102,46,30,2.6,111.05,1.7,63.9745 -2103,46,30,2.6,111.05,1.7,63.97425 -2104,46,30,2.6,111.05,1.7,63.974 -2105,46,30,2.6,111.05,1.7,63.97375 -2106,46,30,2.6,111.05,1.7,63.9735 -2107,46,30,2.6,111.05,1.7,63.97325 -2108,46,30,2.6,111.05,1.7,63.973 -2109,46,30,2.6,111.05,1.7,63.97275 -2110,46,30,2.6,111.05,1.7,63.9725 -2111,46,30,2.6,111.05,1.7,63.97225 -2112,46,30,2.6,111.05,1.7,63.972 -2113,46,30,2.6,111.05,1.7,63.97175 -2114,46,30,2.6,111.05,1.7,63.9715 -2115,46,30,2.6,111.05,1.7,63.97125 -2116,46,30,2.6,111.05,1.7,63.971 -2117,46,30,2.6,111.05,1.7,63.97075 -2118,46,30,2.6,111.05,1.7,63.9705 -2119,46,30,2.6,111.05,1.7,63.97025 -2120,46,30,2.6,111.05,1.7,63.97 -2121,46,30,2.6,111.05,1.7,63.96975 -2122,46,30,2.6,111.05,1.7,63.9695 -2123,46,30,2.6,111.05,1.7,63.96925 -2124,46,30,2.6,111.05,1.7,63.969 -2125,46,30,2.6,111.05,1.7,63.96875 -2126,46,30,2.6,111.05,1.7,63.9685 -2127,46,30,2.6,111.05,1.7,63.96825 -2128,46,30,2.6,111.05,1.7,63.968 -2129,46,30,2.6,111.05,1.7,63.96775 -2130,46,30,2.6,111.05,1.7,63.9675 -2131,46,30,2.6,111.05,1.7,63.96725 -2132,46,30,2.6,111.05,1.7,63.967 -2133,46,30,2.6,111.05,1.7,63.96675 -2134,46,30,2.6,111.05,1.7,63.9665 -2135,46,30,2.6,111.05,1.7,63.96625 -2136,46,30,2.6,111.05,1.7,63.966 -2137,46,30,2.6,111.05,1.7,63.96575 -2138,46,30,2.6,111.05,1.7,63.9655 -2139,46,30,2.6,111.05,1.7,63.96525 -2140,46,30,2.6,111.05,1.7,63.965 -2141,46,30,2.6,111.05,1.7,63.96475 -2142,46,30,2.6,111.05,1.7,63.9645 -2143,46,30,2.6,111.05,1.7,63.96425 -2144,46,30,2.6,111.05,1.7,63.964 -2145,46,30,2.6,111.05,1.7,63.96375 -2146,46,30,2.6,111.05,1.7,63.9635 -2147,46,30,2.6,111.05,1.7,63.96325 -2148,46,30,2.6,111.05,1.7,63.963 -2149,46,30,2.6,111.05,1.7,63.96275 -2150,46,30,2.6,111.05,1.7,63.9625 -2151,46,30,2.6,111.05,1.7,63.96225 -2152,46,30,2.6,111.05,1.7,63.962 -2153,46,30,2.6,111.05,1.7,63.96175 -2154,46,30,2.6,111.05,1.7,63.9615 -2155,46,30,2.6,111.05,1.7,63.96125 -2156,46,30,2.6,111.05,1.7,63.961 -2157,46,30,2.6,111.05,1.7,63.96075 -2158,46,30,2.6,111.05,1.7,63.9605 -2159,46,30,2.6,111.05,1.7,63.96025 -2160,46,30,2.6,111.05,1.7,63.96 -2161,46,30,2.6,111.05,1.7,63.95975 -2162,46,30,2.6,111.05,1.7,63.9595 -2163,46,30,2.6,111.05,1.7,63.95925 -2164,46,30,2.6,111.05,1.7,63.959 -2165,46,30,2.6,111.05,1.7,63.95875 -2166,46,30,2.6,111.05,1.7,63.9585 -2167,46,30,2.6,111.05,1.7,63.95825 -2168,46,30,2.6,111.05,1.7,63.958 -2169,46,30,2.6,111.05,1.7,63.95775 -2170,46,30,2.6,111.05,1.7,63.9575 -2171,46,30,2.6,111.05,1.7,63.95725 -2172,46,30,2.6,111.05,1.7,63.957 -2173,46,30,2.6,111.05,1.7,63.95675 -2174,46,30,2.6,111.05,1.7,63.9565 -2175,46,30,2.6,111.05,1.7,63.95625 -2176,46,30,2.6,111.05,1.7,63.956 -2177,46,30,2.6,111.05,1.7,63.95575 -2178,46,30,2.6,111.05,1.7,63.9555 -2179,46,30,2.6,111.05,1.7,63.95525 -2180,46,30,2.6,111.05,1.7,63.955 -2181,46,30,2.6,111.05,1.7,63.95475 -2182,46,30,2.6,111.05,1.7,63.9545 -2183,46,30,2.6,111.05,1.7,63.95425 -2184,46,30,2.6,111.05,1.7,63.954 -2185,46,30,2.6,111.05,1.7,63.95375 -2186,46,30,2.6,111.05,1.7,63.9535 -2187,46,30,2.6,111.05,1.7,63.95325 -2188,46,30,2.6,111.05,1.7,63.953 -2189,46,30,2.6,111.05,1.7,63.95275 -2190,46,30,2.6,111.05,1.7,63.9525 -2191,46,30,2.6,111.05,1.7,63.95225 -2192,46,30,2.6,111.05,1.7,63.952 -2193,46,30,2.6,111.05,1.7,63.95175 -2194,46,30,2.6,111.05,1.7,63.9515 -2195,46,30,2.6,111.05,1.7,63.95125 -2196,46,30,2.6,111.05,1.7,63.951 -2197,46,30,2.6,111.05,1.7,63.95075 -2198,46,30,2.6,111.05,1.7,63.9505 -2199,46,30,2.6,111.05,1.7,63.95025 -2200,46,30,2.6,111.05,1.7,63.95 -2201,46,30,2.6,111.05,1.7,63.94975 -2202,46,30,2.6,111.05,1.7,63.9495 -2203,46,30,2.6,111.05,1.7,63.94925 -2204,46,30,2.6,111.05,1.7,63.949 -2205,46,30,2.6,111.05,1.7,63.94875 -2206,46,30,2.6,111.05,1.7,63.9485 -2207,46,30,2.6,111.05,1.7,63.94825 -2208,46,30,2.6,111.05,1.7,63.948 -2209,46,30,2.6,111.05,1.7,63.94775 -2210,46,30,2.6,111.05,1.7,63.9475 -2211,46,30,2.6,111.05,1.7,63.94725 -2212,46,30,2.6,111.05,1.7,63.947 -2213,46,30,2.6,111.05,1.7,63.94675 -2214,46,30,2.6,111.05,1.7,63.9465 -2215,46,30,2.6,111.05,1.7,63.94625 -2216,46,30,2.6,111.05,1.7,63.946 -2217,46,30,2.6,111.05,1.7,63.94575 -2218,46,30,2.6,111.05,1.7,63.9455 -2219,46,30,2.6,111.05,1.7,63.94525 -2220,46,30,2.6,111.05,1.7,63.945 -2221,46,30,2.6,111.05,1.7,63.94475 -2222,46,30,2.6,111.05,1.7,63.9445 -2223,46,30,2.6,111.05,1.7,63.94425 -2224,46,30,2.6,111.05,1.7,63.944 -2225,46,30,2.6,111.05,1.7,63.94375 -2226,46,30,2.6,111.05,1.7,63.9435 -2227,46,30,2.6,111.05,1.7,63.94325 -2228,46,30,2.6,111.05,1.7,63.943 -2229,46,30,2.6,111.05,1.7,63.94275 -2230,46,30,2.6,111.05,1.7,63.9425 -2231,46,30,2.6,111.05,1.7,63.94225 -2232,46,30,2.6,111.05,1.7,63.942 -2233,46,30,2.6,111.05,1.7,63.94175 -2234,46,30,2.6,111.05,1.7,63.9415 -2235,46,30,2.6,111.05,1.7,63.94125 -2236,46,30,2.6,111.05,1.7,63.941 -2237,46,30,2.6,111.05,1.7,63.94075 -2238,46,30,2.6,111.05,1.7,63.9405 -2239,46,30,2.6,111.05,1.7,63.94025 -2240,46,30,2.6,111.05,1.7,63.94 -2241,46,30,2.6,111.05,1.7,63.93975 -2242,46,30,2.6,111.05,1.7,63.9395 -2243,46,30,2.6,111.05,1.7,63.93925 -2244,46,30,2.6,111.05,1.7,63.939 -2245,46,30,2.6,111.05,1.7,63.93875 -2246,46,30,2.6,111.05,1.7,63.9385 -2247,46,30,2.6,111.05,1.7,63.93825 -2248,46,30,2.6,111.05,1.7,63.938 -2249,46,30,2.6,111.05,1.7,63.93775 -2250,46,30,2.6,111.05,1.7,63.9375 -2251,46,30,2.6,111.05,1.7,63.93725 -2252,46,30,2.6,111.05,1.7,63.937 -2253,46,30,2.6,111.05,1.7,63.93675 -2254,46,30,2.6,111.05,1.7,63.9365 -2255,46,30,2.6,111.05,1.7,63.93625 -2256,46,30,2.6,111.05,1.7,63.936 -2257,46,30,2.6,111.05,1.7,63.93575 -2258,46,30,2.6,111.05,1.7,63.9355 -2259,46,30,2.6,111.05,1.7,63.93525 -2260,46,30,2.6,111.05,1.7,63.935 -2261,46,30,2.6,111.05,1.7,63.93475 -2262,46,30,2.6,111.05,1.7,63.9345 -2263,46,30,2.6,111.05,1.7,63.93425 -2264,46,30,2.6,111.05,1.7,63.934 -2265,46,30,2.6,111.05,1.7,63.93375 -2266,46,30,2.6,111.05,1.7,63.9335 -2267,46,30,2.6,111.05,1.7,63.93325 -2268,46,30,2.6,111.05,1.7,63.933 -2269,46,30,2.6,111.05,1.7,63.93275 -2270,46,30,2.6,111.05,1.7,63.9325 -2271,46,30,2.6,111.05,1.7,63.93225 -2272,46,30,2.6,111.05,1.7,63.932 -2273,46,30,2.6,111.05,1.7,63.93175 -2274,46,30,2.6,111.05,1.7,63.9315 -2275,46,30,2.6,111.05,1.7,63.93125 -2276,46,30,2.6,111.05,1.7,63.931 -2277,46,30,2.6,111.05,1.7,63.93075 -2278,46,30,2.6,111.05,1.7,63.9305 -2279,46,30,2.6,111.05,1.7,63.93025 -2280,46,30,2.6,111.05,1.7,63.93 -2281,46,30,2.6,111.05,1.7,63.92975 -2282,46,30,2.6,111.05,1.7,63.9295 -2283,46,30,2.6,111.05,1.7,63.92925 -2284,46,30,2.6,111.05,1.7,63.929 -2285,46,30,2.6,111.05,1.7,63.92875 -2286,46,30,2.6,111.05,1.7,63.9285 -2287,46,30,2.6,111.05,1.7,63.92825 -2288,46,30,2.6,111.05,1.7,63.928 -2289,46,30,2.6,111.05,1.7,63.92775 -2290,46,30,2.6,111.05,1.7,63.9275 -2291,46,30,2.6,111.05,1.7,63.92725 -2292,46,30,2.6,111.05,1.7,63.927 -2293,46,30,2.6,111.05,1.7,63.92675 -2294,46,30,2.6,111.05,1.7,63.9265 -2295,46,30,2.6,111.05,1.7,63.92625 -2296,46,30,2.6,111.05,1.7,63.926 -2297,46,30,2.6,111.05,1.7,63.92575 -2298,46,30,2.6,111.05,1.7,63.9255 -2299,46,30,2.6,111.05,1.7,63.92525 -2300,46,30,2.6,111.05,1.7,63.925 -2301,46,30,2.6,111.05,1.7,63.92475 -2302,46,30,2.6,111.05,1.7,63.9245 -2303,46,30,2.6,111.05,1.7,63.92425 -2304,46,30,2.6,111.05,1.7,63.924 -2305,46,30,2.6,111.05,1.7,63.92375 -2306,46,30,2.6,111.05,1.7,63.9235 -2307,46,30,2.6,111.05,1.7,63.92325 -2308,46,30,2.6,111.05,1.7,63.923 -2309,46,30,2.6,111.05,1.7,63.92275 -2310,46,30,2.6,111.05,1.7,63.9225 -2311,46,30,2.6,111.05,1.7,63.92225 -2312,46,30,2.6,111.05,1.7,63.922 -2313,46,30,2.6,111.05,1.7,63.92175 -2314,46,30,2.6,111.05,1.7,63.9215 -2315,46,30,2.6,111.05,1.7,63.92125 -2316,46,30,2.6,111.05,1.7,63.921 -2317,46,30,2.6,111.05,1.7,63.92075 -2318,46,30,2.6,111.05,1.7,63.9205 -2319,46,30,2.6,111.05,1.7,63.92025 -2320,46,30,2.6,111.05,1.7,63.92 -2321,46,30,2.6,111.05,1.7,63.91975 -2322,46,30,2.6,111.05,1.7,63.9195 -2323,46,30,2.6,111.05,1.7,63.91925 -2324,46,30,2.6,111.05,1.7,63.919 -2325,46,30,2.6,111.05,1.7,63.91875 -2326,46,30,2.6,111.05,1.7,63.9185 -2327,46,30,2.6,111.05,1.7,63.91825 -2328,46,30,2.6,111.05,1.7,63.918 -2329,46,30,2.6,111.05,1.7,63.91775 -2330,46,30,2.6,111.05,1.7,63.9175 -2331,46,30,2.6,111.05,1.7,63.91725 -2332,46,30,2.6,111.05,1.7,63.917 -2333,46,30,2.6,111.05,1.7,63.91675 -2334,46,30,2.6,111.05,1.7,63.9165 -2335,46,30,2.6,111.05,1.7,63.91625 -2336,46,30,2.6,111.05,1.7,63.916 -2337,46,30,2.6,111.05,1.7,63.91575 -2338,46,30,2.6,111.05,1.7,63.9155 -2339,46,30,2.6,111.05,1.7,63.91525 -2340,46,30,2.6,111.05,1.7,63.915 -2341,46,30,2.6,111.05,1.7,63.91475 -2342,46,30,2.6,111.05,1.7,63.9145 -2343,46,30,2.6,111.05,1.7,63.91425 -2344,46,30,2.6,111.05,1.7,63.914 -2345,46,30,2.6,111.05,1.7,63.91375 -2346,46,30,2.6,111.05,1.7,63.9135 -2347,46,30,2.6,111.05,1.7,63.91325 -2348,46,30,2.6,111.05,1.7,63.913 -2349,46,30,2.6,111.05,1.7,63.91275 -2350,46,30,2.6,111.05,1.7,63.9125 -2351,46,30,2.6,111.05,1.7,63.91225 -2352,46,30,2.6,111.05,1.7,63.912 -2353,46,30,2.6,111.05,1.7,63.91175 -2354,46,30,2.6,111.05,1.7,63.9115 -2355,46,30,2.6,111.05,1.7,63.91125 -2356,46,30,2.6,111.05,1.7,63.911 -2357,46,30,2.6,111.05,1.7,63.91075 -2358,46,30,2.6,111.05,1.7,63.9105 -2359,46,30,2.6,111.05,1.7,63.91025 -2360,46,30,2.6,111.05,1.7,63.91 -2361,46,30,2.6,111.05,1.7,63.90975 -2362,46,30,2.6,111.05,1.7,63.9095 -2363,46,30,2.6,111.05,1.7,63.90925 -2364,46,30,2.6,111.05,1.7,63.909 -2365,46,30,2.6,111.05,1.7,63.90875 -2366,46,30,2.6,111.05,1.7,63.9085 -2367,46,30,2.6,111.05,1.7,63.90825 -2368,46,30,2.6,111.05,1.7,63.908 -2369,46,30,2.6,111.05,1.7,63.90775 -2370,46,30,2.6,111.05,1.7,63.9075 -2371,46,30,2.6,111.05,1.7,63.90725 -2372,46,30,2.6,111.05,1.7,63.907 -2373,46,30,2.6,111.05,1.7,63.90675 -2374,46,30,2.6,111.05,1.7,63.9065 -2375,46,30,2.6,111.05,1.7,63.90625 -2376,46,30,2.6,111.05,1.7,63.906 -2377,46,30,2.6,111.05,1.7,63.90575 -2378,46,30,2.6,111.05,1.7,63.9055 -2379,46,30,2.6,111.05,1.7,63.90525 -2380,46,30,2.6,111.05,1.7,63.905 -2381,46,30,2.6,111.05,1.7,63.90475 -2382,46,30,2.6,111.05,1.7,63.9045 -2383,46,30,2.6,111.05,1.7,63.90425 -2384,46,30,2.6,111.05,1.7,63.904 -2385,46,30,2.6,111.05,1.7,63.90375 -2386,46,30,2.6,111.05,1.7,63.9035 -2387,46,30,2.6,111.05,1.7,63.90325 -2388,46,30,2.6,111.05,1.7,63.903 -2389,46,30,2.6,111.05,1.7,63.90275 -2390,46,30,2.6,111.05,1.7,63.9025 -2391,46,30,2.6,111.05,1.7,63.90225 -2392,46,30,2.6,111.05,1.7,63.902 -2393,46,30,2.6,111.05,1.7,63.90175 -2394,46,30,2.6,111.05,1.7,63.9015 -2395,46,30,2.6,111.05,1.7,63.90125 -2396,46,30,2.6,111.05,1.7,63.901 -2397,46,30,2.6,111.05,1.7,63.90075 -2398,46,30,2.6,111.05,1.7,63.9005 -2399,46,30,2.6,111.05,1.7,63.90025 -2400,46,30,2.6,111.05,1.7,63.9 -2401,46,30,2.6,111.05,1.7,63.89975 -2402,46,30,2.6,111.05,1.7,63.8995 -2403,46,30,2.6,111.05,1.7,63.89925 -2404,46,30,2.6,111.05,1.7,63.899 -2405,46,30,2.6,111.05,1.7,63.89875 -2406,46,30,2.6,111.05,1.7,63.8985 -2407,46,30,2.6,111.05,1.7,63.89825 -2408,46,30,2.6,111.05,1.7,63.898 -2409,46,30,2.6,111.05,1.7,63.89775 -2410,46,30,2.6,111.05,1.7,63.8975 -2411,46,30,2.6,111.05,1.7,63.89725 -2412,46,30,2.6,111.05,1.7,63.897 -2413,46,30,2.6,111.05,1.7,63.89675 -2414,46,30,2.6,111.05,1.7,63.8965 -2415,46,30,2.6,111.05,1.7,63.89625 -2416,46,30,2.6,111.05,1.7,63.896 -2417,46,30,2.6,111.05,1.7,63.89575 -2418,46,30,2.6,111.05,1.7,63.8955 -2419,46,30,2.6,111.05,1.7,63.89525 -2420,46,30,2.6,111.05,1.7,63.895 -2421,46,30,2.6,111.05,1.7,63.89475 -2422,46,30,2.6,111.05,1.7,63.8945 -2423,46,30,2.6,111.05,1.7,63.89425 -2424,46,30,2.6,111.05,1.7,63.894 -2425,46,30,2.6,111.05,1.7,63.89375 -2426,46,30,2.6,111.05,1.7,63.8935 -2427,46,30,2.6,111.05,1.7,63.89325 -2428,46,30,2.6,111.05,1.7,63.893 -2429,46,30,2.6,111.05,1.7,63.89275 -2430,46,30,2.6,111.05,1.7,63.8925 -2431,46,30,2.6,111.05,1.7,63.89225 -2432,46,30,2.6,111.05,1.7,63.892 -2433,46,30,2.6,111.05,1.7,63.89175 -2434,46,30,2.6,111.05,1.7,63.8915 -2435,46,30,2.6,111.05,1.7,63.89125 -2436,46,30,2.6,111.05,1.7,63.891 -2437,46,30,2.6,111.05,1.7,63.89075 -2438,46,30,2.6,111.05,1.7,63.8905 -2439,46,30,2.6,111.05,1.7,63.89025 -2440,46,30,2.6,111.05,1.7,63.89 -2441,46,30,2.6,111.05,1.7,63.88975 -2442,46,30,2.6,111.05,1.7,63.8895 -2443,46,30,2.6,111.05,1.7,63.88925 -2444,46,30,2.6,111.05,1.7,63.889 -2445,46,30,2.6,111.05,1.7,63.88875 -2446,46,30,2.6,111.05,1.7,63.8885 -2447,46,30,2.6,111.05,1.7,63.88825 -2448,46,30,2.6,111.05,1.7,63.888 -2449,46,30,2.6,111.05,1.7,63.88775 -2450,46,30,2.6,111.05,1.7,63.8875 -2451,46,30,2.6,111.05,1.7,63.88725 -2452,46,30,2.6,111.05,1.7,63.887 -2453,46,30,2.6,111.05,1.7,63.88675 -2454,46,30,2.6,111.05,1.7,63.8865 -2455,46,30,2.6,111.05,1.7,63.88625 -2456,46,30,2.6,111.05,1.7,63.886 -2457,46,30,2.6,111.05,1.7,63.88575 -2458,46,30,2.6,111.05,1.7,63.8855 -2459,46,30,2.6,111.05,1.7,63.88525 -2460,46,30,2.6,111.05,1.7,63.885 -2461,46,30,2.6,111.05,1.7,63.88475 -2462,46,30,2.6,111.05,1.7,63.8845 -2463,46,30,2.6,111.05,1.7,63.88425 -2464,46,30,2.6,111.05,1.7,63.884 -2465,46,30,2.6,111.05,1.7,63.88375 -2466,46,30,2.6,111.05,1.7,63.8835 -2467,46,30,2.6,111.05,1.7,63.88325 -2468,46,30,2.6,111.05,1.7,63.883 -2469,46,30,2.6,111.05,1.7,63.88275 -2470,46,30,2.6,111.05,1.7,63.8825 -2471,46,30,2.6,111.05,1.7,63.88225 -2472,46,30,2.6,111.05,1.7,63.882 -2473,46,30,2.6,111.05,1.7,63.88175 -2474,46,30,2.6,111.05,1.7,63.8815 -2475,46,30,2.6,111.05,1.7,63.88125 -2476,46,30,2.6,111.05,1.7,63.881 -2477,46,30,2.6,111.05,1.7,63.88075 -2478,46,30,2.6,111.05,1.7,63.8805 -2479,46,30,2.6,111.05,1.7,63.88025 -2480,46,30,2.6,111.05,1.7,63.88 -2481,46,30,2.6,111.05,1.7,63.87975 -2482,46,30,2.6,111.05,1.7,63.8795 -2483,46,30,2.6,111.05,1.7,63.87925 -2484,46,30,2.6,111.05,1.7,63.879 -2485,46,30,2.6,111.05,1.7,63.87875 -2486,46,30,2.6,111.05,1.7,63.8785 -2487,46,30,2.6,111.05,1.7,63.87825 -2488,46,30,2.6,111.05,1.7,63.878 -2489,46,30,2.6,111.05,1.7,63.87775 -2490,46,30,2.5,111.05,1.7,63.8775 -2491,46,30,2.5,111.05,1.7,63.87725 -2492,46,30,2.5,111.05,1.7,63.877 -2493,46,30,2.5,111.05,1.7,63.87675 -2494,46,30,2.5,111.05,1.7,63.8765 -2495,46,30,2.5,111.05,1.7,63.87625 -2496,46,30,2.5,111.05,1.7,63.876 -2497,46,30,2.5,111.05,1.7,63.87575 -2498,46,30,2.5,111.05,1.7,63.8755 -2499,46,30,2.5,111.05,1.7,63.87525 -2500,46,30,2.5,111.05,1.7,63.875 -2501,46,30,2.5,111.05,1.7,63.87475 -2502,46,30,2.5,111.05,1.7,63.8745 -2503,46,30,2.5,111.05,1.7,63.87425 -2504,46,30,2.5,111.05,1.7,63.874 -2505,46,30,2.5,111.05,1.7,63.87375 -2506,46,30,2.5,111.05,1.7,63.8735 -2507,46,30,2.5,111.05,1.7,63.87325 -2508,46,30,2.5,111.05,1.7,63.873 -2509,46,30,2.5,111.05,1.7,63.87275 -2510,46,30,2.5,111.05,1.7,63.8725 -2511,46,30,2.5,111.05,1.7,63.87225 -2512,46,30,2.5,111.05,1.7,63.872 -2513,46,30,2.5,111.05,1.7,63.87175 -2514,46,30,2.5,111.05,1.7,63.8715 -2515,46,30,2.5,111.05,1.7,63.87125 -2516,46,30,2.5,111.05,1.7,63.871 -2517,46,30,2.5,111.05,1.7,63.87075 -2518,46,30,2.5,111.05,1.7,63.8705 -2519,46,30,2.5,111.05,1.7,63.87025 -2520,46,30,2.5,111.05,1.7,63.87 -2521,46,30,2.5,111.05,1.7,63.86975 -2522,46,30,2.5,111.05,1.7,63.8695 -2523,46,30,2.5,111.05,1.7,63.86925 -2524,46,30,2.5,111.05,1.7,63.869 -2525,46,30,2.5,111.05,1.7,63.86875 -2526,46,30,2.5,111.05,1.7,63.8685 -2527,46,30,2.5,111.05,1.7,63.86825 -2528,46,30,2.5,111.05,1.7,63.868 -2529,46,30,2.5,111.05,1.7,63.86775 -2530,46,30,2.5,111.05,1.7,63.8675 -2531,46,30,2.5,111.05,1.7,63.86725 -2532,46,30,2.5,111.05,1.7,63.867 -2533,46,30,2.5,111.05,1.7,63.86675 -2534,46,30,2.5,111.05,1.7,63.8665 -2535,46,30,2.5,111.05,1.7,63.86625 -2536,46,30,2.5,111.05,1.7,63.866 -2537,46,30,2.5,111.05,1.7,63.86575 -2538,46,30,2.5,111.05,1.7,63.8655 -2539,46,30,2.5,111.05,1.7,63.86525 -2540,46,30,2.5,111.05,1.7,63.865 -2541,46,30,2.5,111.05,1.7,63.86475 -2542,46,30,2.5,111.05,1.7,63.8645 -2543,46,30,2.5,111.05,1.7,63.86425 -2544,46,30,2.5,111.05,1.7,63.864 -2545,46,30,2.5,111.05,1.7,63.86375 -2546,46,30,2.5,111.05,1.7,63.8635 -2547,46,30,2.5,111.05,1.7,63.86325 -2548,46,30,2.5,111.05,1.7,63.863 -2549,46,30,2.5,111.05,1.7,63.86275 -2550,46,30,2.5,111.05,1.7,63.8625 -2551,46,30,2.5,111.05,1.7,63.86225 -2552,46,30,2.5,111.05,1.7,63.862 -2553,46,30,2.5,111.05,1.7,63.86175 -2554,46,30,2.5,111.05,1.7,63.8615 -2555,46,30,2.5,111.05,1.7,63.86125 -2556,46,30,2.5,111.05,1.7,63.861 -2557,46,30,2.5,111.05,1.7,63.86075 -2558,46,30,2.5,111.05,1.7,63.8605 -2559,46,30,2.5,111.05,1.7,63.86025 -2560,46,30,2.5,111.05,1.7,63.86 -2561,46,30,2.5,111.05,1.7,63.85975 -2562,46,30,2.5,111.05,1.7,63.8595 -2563,46,30,2.5,111.05,1.7,63.85925 -2564,46,30,2.5,111.05,1.7,63.859 -2565,46,30,2.5,111.05,1.7,63.85875 -2566,46,30,2.5,111.05,1.7,63.8585 -2567,46,30,2.5,111.05,1.7,63.85825 -2568,46,30,2.5,111.05,1.7,63.858 -2569,46,30,2.5,111.05,1.7,63.85775 -2570,46,30,2.5,111.05,1.7,63.8575 -2571,46,30,2.5,111.05,1.7,63.85725 -2572,46,30,2.5,111.05,1.7,63.857 -2573,46,30,2.5,111.05,1.7,63.85675 -2574,46,30,2.5,111.05,1.7,63.8565 -2575,46,30,2.5,111.05,1.7,63.85625 -2576,46,30,2.5,111.05,1.7,63.856 -2577,46,30,2.5,111.05,1.7,63.85575 -2578,46,30,2.5,111.05,1.7,63.8555 -2579,46,30,2.5,111.05,1.7,63.85525 -2580,46,30,2.5,111.05,1.7,63.855 -2581,46,30,2.5,111.05,1.7,63.85475 -2582,46,30,2.5,111.05,1.7,63.8545 -2583,46,30,2.5,111.05,1.7,63.85425 -2584,46,30,2.5,111.05,1.7,63.854 -2585,46,30,2.5,111.05,1.7,63.85375 -2586,46,30,2.5,111.05,1.7,63.8535 -2587,46,30,2.5,111.05,1.7,63.85325 -2588,46,30,2.5,111.05,1.7,63.853 -2589,46,30,2.5,111.05,1.7,63.85275 -2590,46,30,2.5,111.05,1.7,63.8525 -2591,46,30,2.5,111.05,1.7,63.85225 -2592,46,30,2.5,111.05,1.7,63.852 -2593,46,30,2.5,111.05,1.7,63.85175 -2594,46,30,2.5,111.05,1.7,63.8515 -2595,46,30,2.5,111.05,1.7,63.85125 -2596,46,30,2.5,111.05,1.7,63.851 -2597,46,30,2.5,111.05,1.7,63.85075 -2598,46,30,2.5,111.05,1.7,63.8505 -2599,46,30,2.5,111.05,1.7,63.85025 -2600,46,30,2.5,111.05,1.7,63.85 -2601,46,30,2.5,111.05,1.7,63.84975 -2602,46,30,2.5,111.05,1.7,63.8495 -2603,46,30,2.5,111.05,1.7,63.84925 -2604,46,30,2.5,111.05,1.7,63.849 -2605,46,30,2.5,111.05,1.7,63.84875 -2606,46,30,2.5,111.05,1.7,63.8485 -2607,46,30,2.5,111.05,1.7,63.84825 -2608,46,30,2.5,111.05,1.7,63.848 -2609,46,30,2.5,111.05,1.7,63.84775 -2610,46,30,2.5,111.05,1.7,63.8475 -2611,46,30,2.5,111.05,1.7,63.84725 -2612,46,30,2.5,111.05,1.7,63.847 -2613,46,30,2.5,111.05,1.7,63.84675 -2614,46,30,2.5,111.05,1.7,63.8465 -2615,46,30,2.5,111.05,1.7,63.84625 -2616,46,30,2.5,111.05,1.7,63.846 -2617,46,30,2.5,111.05,1.7,63.84575 -2618,46,30,2.5,111.05,1.7,63.8455 -2619,46,30,2.5,111.05,1.7,63.84525 -2620,46,30,2.5,111.05,1.7,63.845 -2621,46,30,2.5,111.05,1.7,63.84475 -2622,46,30,2.5,111.05,1.7,63.8445 -2623,46,30,2.5,111.05,1.7,63.84425 -2624,46,30,2.5,111.05,1.7,63.844 -2625,46,30,2.5,111.05,1.7,63.84375 -2626,46,30,2.5,111.05,1.7,63.8435 -2627,46,30,2.5,111.05,1.7,63.84325 -2628,46,30,2.5,111.05,1.7,63.843 -2629,46,30,2.5,111.05,1.7,63.84275 -2630,46,30,2.5,111.05,1.7,63.8425 -2631,46,30,2.5,111.05,1.7,63.84225 -2632,46,30,2.5,111.05,1.7,63.842 -2633,46,30,2.5,111.05,1.7,63.84175 -2634,46,30,2.5,111.05,1.7,63.8415 -2635,46,30,2.5,111.05,1.7,63.84125 -2636,46,30,2.5,111.05,1.7,63.841 -2637,46,30,2.5,111.05,1.7,63.84075 -2638,46,30,2.5,111.05,1.7,63.8405 -2639,46,30,2.5,111.05,1.7,63.84025 -2640,46,30,2.5,111.05,1.7,63.84 -2641,46,30,2.5,111.05,1.7,63.83975 -2642,46,30,2.5,111.05,1.7,63.8395 -2643,46,30,2.5,111.05,1.7,63.83925 -2644,46,30,2.5,111.05,1.7,63.839 -2645,46,30,2.5,111.05,1.7,63.83875 -2646,46,30,2.5,111.05,1.7,63.8385 -2647,46,30,2.5,111.05,1.7,63.83825 -2648,46,30,2.5,111.05,1.7,63.838 -2649,46,30,2.5,111.05,1.7,63.83775 -2650,46,30,2.5,111.05,1.7,63.8375 -2651,46,30,2.5,111.05,1.7,63.83725 -2652,46,30,2.5,111.05,1.7,63.837 -2653,46,30,2.5,111.05,1.7,63.83675 -2654,46,30,2.5,111.05,1.7,63.8365 -2655,46,30,2.5,111.05,1.7,63.83625 -2656,46,30,2.5,111.05,1.7,63.836 -2657,46,30,2.5,111.05,1.7,63.83575 -2658,46,30,2.5,111.05,1.7,63.8355 -2659,46,30,2.5,111.05,1.7,63.83525 -2660,46,30,2.5,111.05,1.7,63.835 -2661,46,30,2.5,111.05,1.7,63.83475 -2662,46,30,2.5,111.05,1.7,63.8345 -2663,46,30,2.5,111.05,1.7,63.83425 -2664,46,30,2.5,111.05,1.7,63.834 -2665,46,30,2.5,111.05,1.7,63.83375 -2666,46,30,2.5,111.05,1.7,63.8335 -2667,46,30,2.5,111.05,1.7,63.83325 -2668,46,30,2.5,111.05,1.7,63.833 -2669,46,30,2.5,111.05,1.7,63.83275 -2670,46,30,2.5,111.05,1.7,63.8325 -2671,46,30,2.5,111.05,1.7,63.83225 -2672,46,30,2.5,111.05,1.7,63.832 -2673,46,30,2.5,111.05,1.7,63.83175 -2674,46,30,2.5,111.05,1.7,63.8315 -2675,46,30,2.5,111.05,1.7,63.83125 -2676,46,30,2.5,111.05,1.7,63.831 -2677,46,30,2.5,111.05,1.7,63.83075 -2678,46,30,2.5,111.05,1.7,63.8305 -2679,46,30,2.5,111.05,1.7,63.83025 -2680,46,30,2.5,111.05,1.7,63.83 -2681,46,30,2.5,111.05,1.7,63.82975 -2682,46,30,2.5,111.05,1.7,63.8295 -2683,46,30,2.5,111.05,1.7,63.82925 -2684,46,30,2.5,111.05,1.7,63.829 -2685,46,30,2.5,111.05,1.7,63.82875 -2686,46,30,2.5,111.05,1.7,63.8285 -2687,46,30,2.5,111.05,1.7,63.82825 -2688,46,30,2.5,111.05,1.7,63.828 -2689,46,30,2.5,111.05,1.7,63.82775 -2690,46,30,2.5,111.05,1.7,63.8275 -2691,46,30,2.5,111.05,1.7,63.82725 -2692,46,30,2.5,111.05,1.7,63.827 -2693,46,30,2.5,111.05,1.7,63.82675 -2694,46,30,2.5,111.05,1.7,63.8265 -2695,46,30,2.5,111.05,1.7,63.82625 -2696,46,30,2.5,111.05,1.7,63.826 -2697,46,30,2.5,111.05,1.7,63.82575 -2698,46,30,2.5,111.05,1.7,63.8255 -2699,46,30,2.5,111.05,1.7,63.82525 -2700,46,30,2.5,111.05,1.7,63.825 -2701,46,30,2.5,111.05,1.7,63.82475 -2702,46,30,2.5,111.05,1.7,63.8245 -2703,46,30,2.5,111.05,1.7,63.82425 -2704,46,30,2.5,111.05,1.7,63.824 -2705,46,30,2.5,111.05,1.7,63.82375 -2706,46,30,2.5,111.05,1.7,63.8235 -2707,46,30,2.5,111.05,1.7,63.82325 -2708,46,30,2.5,111.05,1.7,63.823 -2709,46,30,2.5,111.05,1.7,63.82275 -2710,46,30,2.5,111.05,1.7,63.8225 -2711,46,30,2.5,111.05,1.7,63.82225 -2712,46,30,2.5,111.05,1.7,63.822 -2713,46,30,2.5,111.05,1.7,63.82175 -2714,46,30,2.5,111.05,1.7,63.8215 -2715,46,30,2.5,111.05,1.7,63.82125 -2716,46,30,2.5,111.05,1.7,63.821 -2717,46,30,2.5,111.05,1.7,63.82075 -2718,46,30,2.5,111.05,1.7,63.8205 -2719,46,30,2.5,111.05,1.7,63.82025 -2720,46,30,2.5,111.05,1.7,63.82 -2721,46,30,2.5,111.05,1.7,63.81975 -2722,46,30,2.5,111.05,1.7,63.8195 -2723,46,30,2.5,111.05,1.7,63.81925 -2724,46,30,2.5,111.05,1.7,63.819 -2725,46,30,2.5,111.05,1.7,63.81875 -2726,46,30,2.5,111.05,1.7,63.8185 -2727,46,30,2.5,111.05,1.7,63.81825 -2728,46,30,2.5,111.05,1.7,63.818 -2729,46,30,2.5,111.05,1.7,63.81775 -2730,46,30,2.5,111.05,1.7,63.8175 -2731,46,30,2.5,111.05,1.7,63.81725 -2732,46,30,2.5,111.05,1.7,63.817 -2733,46,30,2.5,111.05,1.7,63.81675 -2734,46,30,2.5,111.05,1.7,63.8165 -2735,46,30,2.5,111.05,1.7,63.81625 -2736,46,30,2.5,111.05,1.7,63.816 -2737,46,30,2.5,111.05,1.7,63.81575 -2738,46,30,2.5,111.05,1.7,63.8155 -2739,46,30,2.5,111.05,1.7,63.81525 -2740,46,30,2.5,111.05,1.7,63.815 -2741,46,30,2.5,111.05,1.7,63.81475 -2742,46,30,2.5,111.05,1.7,63.8145 -2743,46,30,2.5,111.05,1.7,63.81425 -2744,46,30,2.5,111.05,1.7,63.814 -2745,46,30,2.5,111.05,1.7,63.81375 -2746,46,30,2.5,111.05,1.7,63.8135 -2747,46,30,2.5,111.05,1.7,63.81325 -2748,46,30,2.5,111.05,1.7,63.813 -2749,46,30,2.5,111.05,1.7,63.81275 -2750,46,30,2.5,111.05,1.7,63.8125 -2751,46,30,2.5,111.05,1.7,63.81225 -2752,46,30,2.5,111.05,1.7,63.812 -2753,46,30,2.5,111.05,1.7,63.81175 -2754,46,30,2.5,111.05,1.7,63.8115 -2755,46,30,2.5,111.05,1.7,63.81125 -2756,46,30,2.5,111.05,1.7,63.811 -2757,46,30,2.5,111.05,1.7,63.81075 -2758,46,30,2.5,111.05,1.7,63.8105 -2759,46,30,2.5,111.05,1.7,63.81025 -2760,46,30,2.5,111.05,1.7,63.81 -2761,46,30,2.5,111.05,1.7,63.80975 -2762,46,30,2.5,111.05,1.7,63.8095 -2763,46,30,2.5,111.05,1.7,63.80925 -2764,46,30,2.5,111.05,1.7,63.809 -2765,46,30,2.5,111.05,1.7,63.80875 -2766,46,30,2.5,111.05,1.7,63.8085 -2767,46,30,2.5,111.05,1.7,63.80825 -2768,46,30,2.5,111.05,1.7,63.808 -2769,46,30,2.5,111.05,1.7,63.80775 -2770,46,30,2.5,111.05,1.7,63.8075 -2771,46,30,2.5,111.05,1.7,63.80725 -2772,46,30,2.5,111.05,1.7,63.807 -2773,46,30,2.5,111.05,1.7,63.80675 -2774,46,30,2.5,111.05,1.7,63.8065 -2775,46,30,2.5,111.05,1.7,63.80625 -2776,46,30,2.5,111.05,1.7,63.806 -2777,46,30,2.5,111.05,1.7,63.80575 -2778,46,30,2.5,111.05,1.7,63.8055 -2779,46,30,2.5,111.05,1.7,63.80525 -2780,46,30,2.5,111.05,1.7,63.805 -2781,46,30,2.5,111.05,1.7,63.80475 -2782,46,30,2.5,111.05,1.7,63.8045 -2783,46,30,2.5,111.05,1.7,63.80425 -2784,46,30,2.5,111.05,1.7,63.804 -2785,46,30,2.5,111.05,1.7,63.80375 -2786,46,30,2.5,111.05,1.7,63.8035 -2787,46,30,2.5,111.05,1.7,63.80325 -2788,46,30,2.5,111.05,1.7,63.803 -2789,46,30,2.5,111.05,1.7,63.80275 -2790,46,30,2.5,111.05,1.7,63.8025 -2791,46,30,2.5,111.05,1.7,63.80225 -2792,46,30,2.5,111.05,1.7,63.802 -2793,46,30,2.5,111.05,1.7,63.80175 -2794,46,30,2.5,111.05,1.7,63.8015 -2795,46,30,2.5,111.05,1.7,63.80125 -2796,46,30,2.5,111.05,1.7,63.801 -2797,46,30,2.5,111.05,1.7,63.80075 -2798,46,30,2.5,111.05,1.7,63.8005 -2799,46,30,2.5,111.05,1.7,63.80025 -2800,46,30,2.5,111.05,1.7,63.8 -2801,46,30,2.5,111.05,1.7,63.79975 -2802,46,30,2.5,111.05,1.7,63.7995 -2803,46,30,2.5,111.05,1.7,63.79925 -2804,46,30,2.5,111.05,1.7,63.799 -2805,46,30,2.5,111.05,1.7,63.79875 -2806,46,30,2.5,111.05,1.7,63.7985 -2807,46,30,2.5,111.05,1.7,63.79825 -2808,46,30,2.5,111.05,1.7,63.798 -2809,46,30,2.5,111.05,1.7,63.79775 -2810,46,30,2.5,111.05,1.7,63.7975 -2811,46,30,2.5,111.05,1.7,63.79725 -2812,46,30,2.5,111.05,1.7,63.797 -2813,46,30,2.5,111.05,1.7,63.79675 -2814,46,30,2.5,111.05,1.7,63.7965 -2815,46,30,2.5,111.05,1.7,63.79625 -2816,46,30,2.5,111.05,1.7,63.796 -2817,46,30,2.5,111.05,1.7,63.79575 -2818,46,30,2.5,111.05,1.7,63.7955 -2819,46,30,2.5,111.05,1.7,63.79525 -2820,46,30,2.5,111.05,1.7,63.795 -2821,46,30,2.5,111.05,1.7,63.79475 -2822,46,30,2.5,111.05,1.7,63.7945 -2823,46,30,2.5,111.05,1.7,63.79425 -2824,46,30,2.5,111.05,1.7,63.794 -2825,46,30,2.5,111.05,1.7,63.79375 -2826,46,30,2.5,111.05,1.7,63.7935 -2827,46,30,2.5,111.05,1.7,63.79325 -2828,46,30,2.5,111.05,1.7,63.793 -2829,46,30,2.5,111.05,1.7,63.79275 -2830,46,30,2.5,111.05,1.7,63.7925 -2831,46,30,2.5,111.05,1.7,63.79225 -2832,46,30,2.5,111.05,1.7,63.792 -2833,46,30,2.5,111.05,1.7,63.79175 -2834,46,30,2.5,111.05,1.7,63.7915 -2835,46,30,2.5,111.05,1.7,63.79125 -2836,46,30,2.5,111.05,1.7,63.791 -2837,46,30,2.5,111.05,1.7,63.79075 -2838,46,30,2.5,111.05,1.7,63.7905 -2839,46,30,2.5,111.05,1.7,63.79025 -2840,46,30,2.5,111.05,1.7,63.79 -2841,46,30,2.5,111.05,1.7,63.78975 -2842,46,30,2.5,111.05,1.7,63.7895 -2843,46,30,2.5,111.05,1.7,63.78925 -2844,46,30,2.5,111.05,1.7,63.789 -2845,46,30,2.5,111.05,1.7,63.78875 -2846,46,30,2.5,111.05,1.7,63.7885 -2847,46,30,2.5,111.05,1.7,63.78825 -2848,46,30,2.5,111.05,1.7,63.788 -2849,46,30,2.5,111.05,1.7,63.78775 -2850,46,30,2.5,111.05,1.7,63.7875 -2851,46,30,2.5,111.05,1.7,63.78725 -2852,46,30,2.5,111.05,1.7,63.787 -2853,46,30,2.5,111.05,1.7,63.78675 -2854,46,30,2.5,111.05,1.7,63.7865 -2855,46,30,2.5,111.05,1.7,63.78625 -2856,46,30,2.5,111.05,1.7,63.786 -2857,46,30,2.5,111.05,1.7,63.78575 -2858,46,30,2.5,111.05,1.7,63.7855 -2859,46,30,2.5,111.05,1.7,63.78525 -2860,46,30,2.5,111.05,1.7,63.785 -2861,46,30,2.5,111.05,1.7,63.78475 -2862,46,30,2.5,111.05,1.7,63.7845 -2863,46,30,2.5,111.05,1.7,63.78425 -2864,46,30,2.5,111.05,1.7,63.784 -2865,46,30,2.5,111.05,1.7,63.78375 -2866,46,30,2.5,111.05,1.7,63.7835 -2867,46,30,2.5,111.05,1.7,63.78325 -2868,46,30,2.5,111.05,1.7,63.783 -2869,46,30,2.5,111.05,1.7,63.78275 -2870,46,30,2.5,111.05,1.7,63.7825 -2871,46,30,2.5,111.05,1.7,63.78225 -2872,46,30,2.5,111.05,1.7,63.782 -2873,46,30,2.5,111.05,1.7,63.78175 -2874,46,30,2.5,111.05,1.7,63.7815 -2875,46,30,2.5,111.05,1.7,63.78125 -2876,46,30,2.5,111.05,1.7,63.781 -2877,46,30,2.5,111.05,1.7,63.78075 -2878,46,30,2.5,111.05,1.7,63.7805 -2879,46,30,2.5,111.05,1.7,63.78025 -2880,46,30,2.5,111.05,1.7,63.78 -2881,46,30,2.5,111.05,1.7,63.77975 -2882,46,30,2.5,111.05,1.7,63.7795 -2883,46,30,2.5,111.05,1.7,63.77925 -2884,46,30,2.5,111.05,1.7,63.779 -2885,46,30,2.5,111.05,1.7,63.77875 -2886,46,30,2.5,111.05,1.7,63.7785 -2887,46,30,2.5,111.05,1.7,63.77825 -2888,46,30,2.5,111.05,1.7,63.778 -2889,46,30,2.5,111.05,1.7,63.77775 -2890,46,30,2.5,111.05,1.7,63.7775 -2891,46,30,2.5,111.05,1.7,63.77725 -2892,46,30,2.5,111.05,1.7,63.777 -2893,46,30,2.5,111.05,1.7,63.77675 -2894,46,30,2.5,111.05,1.7,63.7765 -2895,46,30,2.5,111.05,1.7,63.77625 -2896,46,30,2.5,111.05,1.7,63.776 -2897,46,30,2.5,111.05,1.7,63.77575 -2898,46,30,2.5,111.05,1.7,63.7755 -2899,46,30,2.5,111.05,1.7,63.77525 -2900,46,30,2.5,111.05,1.7,63.775 -2901,46,30,2.5,111.05,1.7,63.77475 -2902,46,30,2.5,111.05,1.7,63.7745 -2903,46,30,2.5,111.05,1.7,63.77425 -2904,46,30,2.5,111.05,1.7,63.774 -2905,46,30,2.5,111.05,1.7,63.77375 -2906,46,30,2.5,111.05,1.7,63.7735 -2907,46,30,2.5,111.05,1.7,63.77325 -2908,46,30,2.5,111.05,1.7,63.773 -2909,46,30,2.5,111.05,1.7,63.77275 -2910,46,30,2.5,111.05,1.7,63.7725 -2911,46,30,2.5,111.05,1.7,63.77225 -2912,46,30,2.5,111.05,1.7,63.772 -2913,46,30,2.5,111.05,1.7,63.77175 -2914,46,30,2.5,111.05,1.7,63.7715 -2915,46,30,2.5,111.05,1.7,63.77125 -2916,46,30,2.5,111.05,1.7,63.771 -2917,46,30,2.5,111.05,1.7,63.77075 -2918,46,30,2.5,111.05,1.7,63.7705 -2919,46,30,2.5,111.05,1.7,63.77025 -2920,46,30,2.5,111.05,1.7,63.77 -2921,46,30,2.5,111.05,1.7,63.76975 -2922,46,30,2.5,111.05,1.7,63.7695 -2923,46,30,2.5,111.05,1.7,63.76925 -2924,46,30,2.5,111.05,1.7,63.769 -2925,46,30,2.5,111.05,1.7,63.76875 -2926,46,30,2.5,111.05,1.7,63.7685 -2927,46,30,2.5,111.05,1.7,63.76825 -2928,46,30,2.5,111.05,1.7,63.768 -2929,46,30,2.5,111.05,1.7,63.76775 -2930,46,30,2.5,111.05,1.7,63.7675 -2931,46,30,2.5,111.05,1.7,63.76725 -2932,46,30,2.5,111.05,1.7,63.767 -2933,46,30,2.5,111.05,1.7,63.76675 -2934,46,30,2.5,111.05,1.7,63.7665 -2935,46,30,2.5,111.05,1.7,63.76625 -2936,46,30,2.5,111.05,1.7,63.766 -2937,46,30,2.5,111.05,1.7,63.76575 -2938,46,30,2.5,111.05,1.7,63.7655 -2939,46,30,2.5,111.05,1.7,63.76525 -2940,46,30,2.5,111.05,1.7,63.765 -2941,46,30,2.5,111.05,1.7,63.76475 -2942,46,30,2.5,111.05,1.7,63.7645 -2943,46,30,2.5,111.05,1.7,63.76425 -2944,46,30,2.5,111.05,1.7,63.764 -2945,46,30,2.5,111.05,1.7,63.76375 -2946,46,30,2.5,111.05,1.7,63.7635 -2947,46,30,2.5,111.05,1.7,63.76325 -2948,46,30,2.5,111.05,1.7,63.763 -2949,46,30,2.5,111.05,1.7,63.76275 -2950,46,30,2.5,111.05,1.7,63.7625 -2951,46,30,2.5,111.05,1.7,63.76225 -2952,46,30,2.5,111.05,1.7,63.762 -2953,46,30,2.5,111.05,1.7,63.76175 -2954,46,30,2.5,111.05,1.7,63.7615 -2955,46,30,2.5,111.05,1.7,63.76125 -2956,46,30,2.5,111.05,1.7,63.761 -2957,46,30,2.5,111.05,1.7,63.76075 -2958,46,30,2.5,111.05,1.7,63.7605 -2959,46,30,2.5,111.05,1.7,63.76025 -2960,46,30,2.5,111.05,1.7,63.76 -2961,46,30,2.5,111.05,1.7,63.75975 -2962,46,30,2.5,111.05,1.7,63.7595 -2963,46,30,2.5,111.05,1.7,63.75925 -2964,46,30,2.5,111.05,1.7,63.759 -2965,46,30,2.5,111.05,1.7,63.75875 -2966,46,30,2.5,111.05,1.7,63.7585 -2967,46,30,2.5,111.05,1.7,63.75825 -2968,46,30,2.5,111.05,1.7,63.758 -2969,46,30,2.5,111.05,1.7,63.75775 -2970,46,30,2.5,111.05,1.7,63.7575 -2971,46,30,2.5,111.05,1.7,63.75725 -2972,46,30,2.5,111.05,1.7,63.757 -2973,46,30,2.5,111.05,1.7,63.75675 -2974,46,30,2.5,111.05,1.7,63.7565 -2975,46,30,2.5,111.05,1.7,63.75625 -2976,46,30,2.5,111.05,1.7,63.756 -2977,46,30,2.5,111.05,1.7,63.75575 -2978,46,30,2.5,111.05,1.7,63.7555 -2979,46,30,2.5,111.05,1.7,63.75525 -2980,46,30,2.5,111.05,1.7,63.755 -2981,46,30,2.5,111.05,1.7,63.75475 -2982,46,30,2.5,111.05,1.7,63.7545 -2983,46,30,2.5,111.05,1.7,63.75425 -2984,46,30,2.5,111.05,1.7,63.754 -2985,46,30,2.5,111.05,1.7,63.75375 -2986,46,30,2.5,111.05,1.7,63.7535 -2987,46,30,2.5,111.05,1.7,63.75325 -2988,46,30,2.5,111.05,1.7,63.753 -2989,46,30,2.5,111.05,1.7,63.75275 -2990,46,30,2.5,111.05,1.7,63.7525 -2991,46,30,2.5,111.05,1.7,63.75225 -2992,46,30,2.5,111.05,1.7,63.752 -2993,46,30,2.5,111.05,1.7,63.75175 -2994,46,30,2.5,111.05,1.7,63.7515 -2995,46,30,2.5,111.05,1.7,63.75125 -2996,46,30,2.5,111.05,1.7,63.751 -2997,46,30,2.5,111.05,1.7,63.75075 -2998,46,30,2.5,111.05,1.7,63.7505 -2999,46,30,2.5,111.05,1.7,63.75025 -3000,46,30,2.5,111.05,1.7,63.75 -3001,46,30,2.5,111.05,1.7,63.75 -3002,46,30,2.5,111.05,1.7,63.75 -3003,46,30,2.5,111.05,1.7,63.75 -3004,46,30,2.5,111.05,1.7,63.75 -3005,46,30,2.5,111.05,1.7,63.75 -3006,46,30,2.5,111.05,1.7,63.75 -3007,46,30,2.5,111.05,1.7,63.75 -3008,46,30,2.5,111.05,1.7,63.75 -3009,46,30,2.5,111.05,1.7,63.75 -3010,46,30,2.5,111.05,1.7,63.75 -3011,46,30,2.5,111.05,1.7,63.75 -3012,46,30,2.5,111.05,1.7,63.75 -3013,46,30,2.5,111.05,1.7,63.75 -3014,46,30,2.5,111.05,1.7,63.75 -3015,46,30,2.5,111.05,1.7,63.75 -3016,46,30,2.5,111.05,1.7,63.75 -3017,46,30,2.5,111.05,1.7,63.75 -3018,46,30,2.5,111.05,1.7,63.75 -3019,46,30,2.5,111.05,1.7,63.75 -3020,46,30,2.5,111.05,1.7,63.75 -3021,46,30,2.5,111.05,1.7,63.75 -3022,46,30,2.5,111.05,1.7,63.75 -3023,46,30,2.5,111.05,1.7,63.75 -3024,46,30,2.5,111.05,1.7,63.75 -3025,46,30,2.5,111.05,1.7,63.75 -3026,46,30,2.5,111.05,1.7,63.75 -3027,46,30,2.5,111.05,1.7,63.75 -3028,46,30,2.5,111.05,1.7,63.75 -3029,46,30,2.5,111.05,1.7,63.75 -3030,46,30,2.5,111.05,1.7,63.75 -3031,46,30,2.5,111.05,1.7,63.75 -3032,46,30,2.5,111.05,1.7,63.75 -3033,46,30,2.5,111.05,1.7,63.75 -3034,46,30,2.5,111.05,1.7,63.75 -3035,46,30,2.5,111.05,1.7,63.75 -3036,46,30,2.5,111.05,1.7,63.75 -3037,46,30,2.5,111.05,1.7,63.75 -3038,46,30,2.5,111.05,1.7,63.75 -3039,46,30,2.5,111.05,1.7,63.75 -3040,46,30,2.5,111.05,1.7,63.75 -3041,46,30,2.5,111.05,1.7,63.75 -3042,46,30,2.5,111.05,1.7,63.75 -3043,46,30,2.5,111.05,1.7,63.75 -3044,46,30,2.5,111.05,1.7,63.75 -3045,46,30,2.5,111.05,1.7,63.75 -3046,46,30,2.5,111.05,1.7,63.75 -3047,46,30,2.5,111.05,1.7,63.75 -3048,46,30,2.5,111.05,1.7,63.75 -3049,46,30,2.5,111.05,1.7,63.75 -3050,46,30,2.5,111.05,1.7,63.75 -3051,46,30,2.5,111.05,1.7,63.75 -3052,46,30,2.5,111.05,1.7,63.75 -3053,46,30,2.5,111.05,1.7,63.75 -3054,46,30,2.5,111.05,1.7,63.75 -3055,46,30,2.5,111.05,1.7,63.75 -3056,46,30,2.5,111.05,1.7,63.75 -3057,46,30,2.5,111.05,1.7,63.75 -3058,46,30,2.5,111.05,1.7,63.75 -3059,46,30,2.5,111.05,1.7,63.75 -3060,46,30,2.5,111.05,1.7,63.75 -3061,46,30,2.5,111.05,1.7,63.75 -3062,46,30,2.5,111.05,1.7,63.75 -3063,46,30,2.5,111.05,1.7,63.75 -3064,46,30,2.5,111.05,1.7,63.75 -3065,46,30,2.5,111.05,1.7,63.75 -3066,46,30,2.5,111.05,1.7,63.75 -3067,46,30,2.5,111.05,1.7,63.75 -3068,46,30,2.5,111.05,1.7,63.75 -3069,46,30,2.5,111.05,1.7,63.75 -3070,46,30,2.5,111.05,1.7,63.75 -3071,46,30,2.5,111.05,1.7,63.75 -3072,46,30,2.5,111.05,1.7,63.75 -3073,46,30,2.5,111.05,1.7,63.75 -3074,46,30,2.5,111.05,1.7,63.75 -3075,46,30,2.5,111.05,1.7,63.75 -3076,46,30,2.5,111.05,1.7,63.75 -3077,46,30,2.5,111.05,1.7,63.75 -3078,46,30,2.5,111.05,1.7,63.75 -3079,46,30,2.5,111.05,1.7,63.75 -3080,46,30,2.5,111.05,1.7,63.75 -3081,46,30,2.5,111.05,1.7,63.75 -3082,46,30,2.5,111.05,1.7,63.75 -3083,46,30,2.5,111.05,1.7,63.75 -3084,46,30,2.5,111.05,1.7,63.75 -3085,46,30,2.5,111.05,1.7,63.75 -3086,46,30,2.5,111.05,1.7,63.75 -3087,46,30,2.5,111.05,1.7,63.75 -3088,46,30,2.5,111.05,1.7,63.75 -3089,46,30,2.5,111.05,1.7,63.75 -3090,46,30,2.5,111.05,1.7,63.75 -3091,46,30,2.5,111.05,1.7,63.75 -3092,46,30,2.5,111.05,1.7,63.75 -3093,46,30,2.5,111.05,1.7,63.75 -3094,46,30,2.5,111.05,1.7,63.75 -3095,46,30,2.5,111.05,1.7,63.75 -3096,46,30,2.5,111.05,1.7,63.75 -3097,46,30,2.5,111.05,1.7,63.75 -3098,46,30,2.5,111.05,1.7,63.75 -3099,46,30,2.5,111.05,1.7,63.75 -3100,46,30,2.5,111.05,1.7,63.75 -3101,46,30,2.5,111.05,1.7,63.75 -3102,46,30,2.5,111.05,1.7,63.75 -3103,46,30,2.5,111.05,1.7,63.75 -3104,46,30,2.5,111.05,1.7,63.75 -3105,46,30,2.5,111.05,1.7,63.75 -3106,46,30,2.5,111.05,1.7,63.75 -3107,46,30,2.5,111.05,1.7,63.75 -3108,46,30,2.5,111.05,1.7,63.75 -3109,46,30,2.5,111.05,1.7,63.75 -3110,46,30,2.5,111.05,1.7,63.75 -3111,46,30,2.5,111.05,1.7,63.75 -3112,46,30,2.5,111.05,1.7,63.75 -3113,46,30,2.5,111.05,1.7,63.75 -3114,46,30,2.5,111.05,1.7,63.75 -3115,46,30,2.5,111.05,1.7,63.75 -3116,46,30,2.5,111.05,1.7,63.75 -3117,46,30,2.5,111.05,1.7,63.75 -3118,46,30,2.5,111.05,1.7,63.75 -3119,46,30,2.5,111.05,1.7,63.75 -3120,46,30,2.5,111.05,1.7,63.75 -3121,46,30,2.5,111.05,1.7,63.75 -3122,46,30,2.5,111.05,1.7,63.75 -3123,46,30,2.5,111.05,1.7,63.75 -3124,46,30,2.5,111.05,1.7,63.75 -3125,46,30,2.5,111.05,1.7,63.75 -3126,46,30,2.5,111.05,1.7,63.75 -3127,46,30,2.5,111.05,1.7,63.75 -3128,46,30,2.5,111.05,1.7,63.75 -3129,46,30,2.5,111.05,1.7,63.75 -3130,46,30,2.5,111.05,1.7,63.75 -3131,46,30,2.5,111.05,1.7,63.75 -3132,46,30,2.5,111.05,1.7,63.75 -3133,46,30,2.5,111.05,1.7,63.75 -3134,46,30,2.5,111.05,1.7,63.75 -3135,46,30,2.5,111.05,1.7,63.75 -3136,46,30,2.5,111.05,1.7,63.75 -3137,46,30,2.5,111.05,1.7,63.75 -3138,46,30,2.5,111.05,1.7,63.75 -3139,46,30,2.5,111.05,1.7,63.75 -3140,46,30,2.5,111.05,1.7,63.75 -3141,46,30,2.5,111.05,1.7,63.75 -3142,46,30,2.5,111.05,1.7,63.75 -3143,46,30,2.5,111.05,1.7,63.75 -3144,46,30,2.5,111.05,1.7,63.75 -3145,46,30,2.5,111.05,1.7,63.75 -3146,46,30,2.5,111.05,1.7,63.75 -3147,46,30,2.5,111.05,1.7,63.75 -3148,46,30,2.5,111.05,1.7,63.75 -3149,46,30,2.5,111.05,1.7,63.75 -3150,46,30,2.5,111.05,1.7,63.75 -3151,46,30,2.5,111.05,1.7,63.75 -3152,46,30,2.5,111.05,1.7,63.75 -3153,46,30,2.5,111.05,1.7,63.75 -3154,46,30,2.5,111.05,1.7,63.75 -3155,46,30,2.5,111.05,1.7,63.75 -3156,46,30,2.5,111.05,1.7,63.75 -3157,46,30,2.5,111.05,1.7,63.75 -3158,46,30,2.5,111.05,1.7,63.75 -3159,46,30,2.5,111.05,1.7,63.75 -3160,46,30,2.5,111.05,1.7,63.75 -3161,46,30,2.5,111.05,1.7,63.75 -3162,46,30,2.5,111.05,1.7,63.75 -3163,46,30,2.5,111.05,1.7,63.75 -3164,46,30,2.5,111.05,1.7,63.75 -3165,46,30,2.5,111.05,1.7,63.75 -3166,46,30,2.5,111.05,1.7,63.75 -3167,46,30,2.5,111.05,1.7,63.75 -3168,46,30,2.5,111.05,1.7,63.75 -3169,46,30,2.5,111.05,1.7,63.75 -3170,46,30,2.5,111.05,1.7,63.75 -3171,46,30,2.5,111.05,1.7,63.75 -3172,46,30,2.5,111.05,1.7,63.75 -3173,46,30,2.5,111.05,1.7,63.75 -3174,46,30,2.5,111.05,1.7,63.75 -3175,46,30,2.5,111.05,1.7,63.75 -3176,46,30,2.5,111.05,1.7,63.75 -3177,46,30,2.5,111.05,1.7,63.75 -3178,46,30,2.5,111.05,1.7,63.75 -3179,46,30,2.5,111.05,1.7,63.75 -3180,46,30,2.5,111.05,1.7,63.75 -3181,46,30,2.5,111.05,1.7,63.75 -3182,46,30,2.5,111.05,1.7,63.75 -3183,46,30,2.5,111.05,1.7,63.75 -3184,46,30,2.5,111.05,1.7,63.75 -3185,46,30,2.5,111.05,1.7,63.75 -3186,46,30,2.5,111.05,1.7,63.75 -3187,46,30,2.5,111.05,1.7,63.75 -3188,46,30,2.5,111.05,1.7,63.75 -3189,46,30,2.5,111.05,1.7,63.75 -3190,46,30,2.5,111.05,1.7,63.75 -3191,46,30,2.5,111.05,1.7,63.75 -3192,46,30,2.5,111.05,1.7,63.75 -3193,46,30,2.5,111.05,1.7,63.75 -3194,46,30,2.5,111.05,1.7,63.75 -3195,46,30,2.5,111.05,1.7,63.75 -3196,46,30,2.5,111.05,1.7,63.75 -3197,46,30,2.5,111.05,1.7,63.75 -3198,46,30,2.5,111.05,1.7,63.75 -3199,46,30,2.5,111.05,1.7,63.75 -3200,46,30,2.5,111.05,1.7,63.75 -3201,46,30,2.5,111.05,1.7,63.75 -3202,46,30,2.5,111.05,1.7,63.75 -3203,46,30,2.5,111.05,1.7,63.75 -3204,46,30,2.5,111.05,1.7,63.75 -3205,46,30,2.5,111.05,1.7,63.75 -3206,46,30,2.5,111.05,1.7,63.75 -3207,46,30,2.5,111.05,1.7,63.75 -3208,46,30,2.5,111.05,1.7,63.75 -3209,46,30,2.5,111.05,1.7,63.75 -3210,46,30,2.5,111.05,1.7,63.75 -3211,46,30,2.5,111.05,1.7,63.75 -3212,46,30,2.5,111.05,1.7,63.75 -3213,46,30,2.5,111.05,1.7,63.75 -3214,46,30,2.5,111.05,1.7,63.75 -3215,46,30,2.5,111.05,1.7,63.75 -3216,46,30,2.5,111.05,1.7,63.75 -3217,46,30,2.5,111.05,1.7,63.75 -3218,46,30,2.5,111.05,1.7,63.75 -3219,46,30,2.5,111.05,1.7,63.75 -3220,46,30,2.5,111.05,1.7,63.75 -3221,46,30,2.5,111.05,1.7,63.75 -3222,46,30,2.5,111.05,1.7,63.75 -3223,46,30,2.5,111.05,1.7,63.75 -3224,46,30,2.5,111.05,1.7,63.75 -3225,46,30,2.5,111.05,1.7,63.75 -3226,46,30,2.5,111.05,1.7,63.75 -3227,46,30,2.5,111.05,1.7,63.75 -3228,46,30,2.5,111.05,1.7,63.75 -3229,46,30,2.5,111.05,1.7,63.75 -3230,46,30,2.5,111.05,1.7,63.75 -3231,46,30,2.5,111.05,1.7,63.75 -3232,46,30,2.5,111.05,1.7,63.75 -3233,46,30,2.5,111.05,1.7,63.75 -3234,46,30,2.5,111.05,1.7,63.75 -3235,46,30,2.5,111.05,1.7,63.75 -3236,46,30,2.5,111.05,1.7,63.75 -3237,46,30,2.5,111.05,1.7,63.75 -3238,46,30,2.5,111.05,1.7,63.75 -3239,46,30,2.5,111.05,1.7,63.75 -3240,46,30,2.5,111.05,1.7,63.75 -3241,46,30,2.5,111.05,1.7,63.75 -3242,46,30,2.5,111.05,1.7,63.75 -3243,46,30,2.5,111.05,1.7,63.75 -3244,46,30,2.5,111.05,1.7,63.75 -3245,46,30,2.5,111.05,1.7,63.75 -3246,46,30,2.5,111.05,1.7,63.75 -3247,46,30,2.5,111.05,1.7,63.75 -3248,46,30,2.5,111.05,1.7,63.75 -3249,46,30,2.5,111.05,1.7,63.75 -3250,46,30,2.5,111.05,1.7,63.75 -3251,46,30,2.5,111.05,1.7,63.75 -3252,46,30,2.5,111.05,1.7,63.75 -3253,46,30,2.5,111.05,1.7,63.75 -3254,46,30,2.5,111.05,1.7,63.75 -3255,46,30,2.5,111.05,1.7,63.75 -3256,46,30,2.5,111.05,1.7,63.75 -3257,46,30,2.5,111.05,1.7,63.75 -3258,46,30,2.5,111.05,1.7,63.75 -3259,46,30,2.5,111.05,1.7,63.75 -3260,46,30,2.5,111.05,1.7,63.75 -3261,46,30,2.5,111.05,1.7,63.75 -3262,46,30,2.5,111.05,1.7,63.75 -3263,46,30,2.5,111.05,1.7,63.75 -3264,46,30,2.5,111.05,1.7,63.75 -3265,46,30,2.5,111.05,1.7,63.75 -3266,46,30,2.5,111.05,1.7,63.75 -3267,46,30,2.5,111.05,1.7,63.75 -3268,46,30,2.5,111.05,1.7,63.75 -3269,46,30,2.5,111.05,1.7,63.75 -3270,46,30,2.5,111.05,1.7,63.75 -3271,46,30,2.5,111.05,1.7,63.75 -3272,46,30,2.5,111.05,1.7,63.75 -3273,46,30,2.5,111.05,1.7,63.75 -3274,46,30,2.5,111.05,1.7,63.75 -3275,46,30,2.5,111.05,1.7,63.75 -3276,46,30,2.5,111.05,1.7,63.75 -3277,46,30,2.5,111.05,1.7,63.75 -3278,46,30,2.5,111.05,1.7,63.75 -3279,46,30,2.5,111.05,1.7,63.75 -3280,46,30,2.5,111.05,1.7,63.75 -3281,46,30,2.5,111.05,1.7,63.75 -3282,46,30,2.5,111.05,1.7,63.75 -3283,46,30,2.5,111.05,1.7,63.75 -3284,46,30,2.5,111.05,1.7,63.75 -3285,46,30,2.5,111.05,1.7,63.75 -3286,46,30,2.5,111.05,1.7,63.75 -3287,46,30,2.5,111.05,1.7,63.75 -3288,46,30,2.5,111.05,1.7,63.75 -3289,46,30,2.5,111.05,1.7,63.75 -3290,46,30,2.5,111.05,1.7,63.75 -3291,46,30,2.5,111.05,1.7,63.75 -3292,46,30,2.5,111.05,1.7,63.75 -3293,46,30,2.5,111.05,1.7,63.75 -3294,46,30,2.5,111.05,1.7,63.75 -3295,46,30,2.5,111.05,1.7,63.75 -3296,46,30,2.5,111.05,1.7,63.75 -3297,46,30,2.5,111.05,1.7,63.75 -3298,46,30,2.5,111.05,1.7,63.75 -3299,46,30,2.5,111.05,1.7,63.75 -3300,46,30,2.5,111.05,1.7,63.75 -3301,46,30,2.5,111.05,1.7,63.75 -3302,46,30,2.5,111.05,1.7,63.75 -3303,46,30,2.5,111.05,1.7,63.75 -3304,46,30,2.5,111.05,1.7,63.75 -3305,46,30,2.5,111.05,1.7,63.75 -3306,46,30,2.5,111.05,1.7,63.75 -3307,46,30,2.5,111.05,1.7,63.75 -3308,46,30,2.5,111.05,1.7,63.75 -3309,46,30,2.5,111.05,1.7,63.75 -3310,46,30,2.5,111.05,1.7,63.75 -3311,46,30,2.5,111.05,1.7,63.75 -3312,46,30,2.5,111.05,1.7,63.75 -3313,46,30,2.5,111.05,1.7,63.75 -3314,46,30,2.5,111.05,1.7,63.75 -3315,46,30,2.5,111.05,1.7,63.75 -3316,46,30,2.5,111.05,1.7,63.75 -3317,46,30,2.5,111.05,1.7,63.75 -3318,46,30,2.5,111.05,1.7,63.75 -3319,46,30,2.5,111.05,1.7,63.75 -3320,46,30,2.5,111.05,1.7,63.75 -3321,46,30,2.5,111.05,1.7,63.75 -3322,46,30,2.5,111.05,1.7,63.75 -3323,46,30,2.5,111.05,1.7,63.75 -3324,46,30,2.5,111.05,1.7,63.75 -3325,46,30,2.5,111.05,1.7,63.75 -3326,46,30,2.5,111.05,1.7,63.75 -3327,46,30,2.5,111.05,1.7,63.75 -3328,46,30,2.5,111.05,1.7,63.75 -3329,46,30,2.5,111.05,1.7,63.75 -3330,46,30,2.5,111.05,1.7,63.75 -3331,46,30,2.5,111.05,1.7,63.75 -3332,46,30,2.5,111.05,1.7,63.75 -3333,46,30,2.5,111.05,1.7,63.75 -3334,46,30,2.5,111.05,1.7,63.75 -3335,46,30,2.5,111.05,1.7,63.75 -3336,46,30,2.5,111.05,1.7,63.75 -3337,46,30,2.5,111.05,1.7,63.75 -3338,46,30,2.5,111.05,1.7,63.75 -3339,46,30,2.5,111.05,1.7,63.75 -3340,46,30,2.5,111.05,1.7,63.75 -3341,46,30,2.5,111.05,1.7,63.75 -3342,46,30,2.5,111.05,1.7,63.75 -3343,46,30,2.5,111.05,1.7,63.75 -3344,46,30,2.5,111.05,1.7,63.75 -3345,46,30,2.5,111.05,1.7,63.75 -3346,46,30,2.5,111.05,1.7,63.75 -3347,46,30,2.5,111.05,1.7,63.75 -3348,46,30,2.5,111.05,1.7,63.75 -3349,46,30,2.5,111.05,1.7,63.75 -3350,46,30,2.5,111.05,1.7,63.75 -3351,46,30,2.5,111.05,1.7,63.75 -3352,46,30,2.5,111.05,1.7,63.75 -3353,46,30,2.5,111.05,1.7,63.75 -3354,46,30,2.5,111.05,1.7,63.75 -3355,46,30,2.5,111.05,1.7,63.75 -3356,46,30,2.5,111.05,1.7,63.75 -3357,46,30,2.5,111.05,1.7,63.75 -3358,46,30,2.5,111.05,1.7,63.75 -3359,46,30,2.5,111.05,1.7,63.75 -3360,46,30,2.5,111.05,1.7,63.75 -3361,46,30,2.5,111.05,1.7,63.75 -3362,46,30,2.5,111.05,1.7,63.75 -3363,46,30,2.5,111.05,1.7,63.75 -3364,46,30,2.5,111.05,1.7,63.75 -3365,46,30,2.5,111.05,1.7,63.75 -3366,46,30,2.5,111.05,1.7,63.75 -3367,46,30,2.5,111.05,1.7,63.75 -3368,46,30,2.5,111.05,1.7,63.75 -3369,46,30,2.5,111.05,1.7,63.75 -3370,46,30,2.5,111.05,1.7,63.75 -3371,46,30,2.5,111.05,1.7,63.75 -3372,46,30,2.5,111.05,1.7,63.75 -3373,46,30,2.5,111.05,1.7,63.75 -3374,46,30,2.5,111.05,1.7,63.75 -3375,46,30,2.5,111.05,1.7,63.75 -3376,46,30,2.5,111.05,1.7,63.75 -3377,46,30,2.5,111.05,1.7,63.75 -3378,46,30,2.5,111.05,1.7,63.75 -3379,46,30,2.5,111.05,1.7,63.75 -3380,46,30,2.5,111.05,1.7,63.75 -3381,46,30,2.5,111.05,1.7,63.75 -3382,46,30,2.5,111.05,1.7,63.75 -3383,46,30,2.5,111.05,1.7,63.75 -3384,46,30,2.5,111.05,1.7,63.75 -3385,46,30,2.5,111.05,1.7,63.75 -3386,46,30,2.5,111.05,1.7,63.75 -3387,46,30,2.5,111.05,1.7,63.75 -3388,46,30,2.5,111.05,1.7,63.75 -3389,46,30,2.5,111.05,1.7,63.75 -3390,46,30,2.5,111.05,1.7,63.75 -3391,46,30,2.5,111.05,1.7,63.75 -3392,46,30,2.5,111.05,1.7,63.75 -3393,46,30,2.5,111.05,1.7,63.75 -3394,46,30,2.5,111.05,1.7,63.75 -3395,46,30,2.5,111.05,1.7,63.75 -3396,46,30,2.5,111.05,1.7,63.75 -3397,46,30,2.5,111.05,1.7,63.75 -3398,46,30,2.5,111.05,1.7,63.75 -3399,46,30,2.5,111.05,1.7,63.75 -3400,46,30,2.5,111.05,1.7,63.75 -3401,46,30,2.5,111.05,1.7,63.75 -3402,46,30,2.5,111.05,1.7,63.75 -3403,46,30,2.5,111.05,1.7,63.75 -3404,46,30,2.5,111.05,1.7,63.75 -3405,46,30,2.5,111.05,1.7,63.75 -3406,46,30,2.5,111.05,1.7,63.75 -3407,46,30,2.5,111.05,1.7,63.75 -3408,46,30,2.5,111.05,1.7,63.75 -3409,46,30,2.5,111.05,1.7,63.75 -3410,46,30,2.5,111.05,1.7,63.75 -3411,46,30,2.5,111.05,1.7,63.75 -3412,46,30,2.5,111.05,1.7,63.75 -3413,46,30,2.5,111.05,1.7,63.75 -3414,46,30,2.5,111.05,1.7,63.75 -3415,46,30,2.5,111.05,1.7,63.75 -3416,46,30,2.5,111.05,1.7,63.75 -3417,46,30,2.5,111.05,1.7,63.75 -3418,46,30,2.5,111.05,1.7,63.75 -3419,46,30,2.5,111.05,1.7,63.75 -3420,46,30,2.5,111.05,1.7,63.75 -3421,46,30,2.5,111.05,1.7,63.75 -3422,46,30,2.5,111.05,1.7,63.75 -3423,46,30,2.5,111.05,1.7,63.75 -3424,46,30,2.5,111.05,1.7,63.75 -3425,46,30,2.5,111.05,1.7,63.75 -3426,46,30,2.5,111.05,1.7,63.75 -3427,46,30,2.5,111.05,1.7,63.75 -3428,46,30,2.5,111.05,1.7,63.75 -3429,46,30,2.5,111.05,1.7,63.75 -3430,46,30,2.5,111.05,1.7,63.75 -3431,46,30,2.5,111.05,1.7,63.75 -3432,46,30,2.5,111.05,1.7,63.75 -3433,46,30,2.5,111.05,1.7,63.75 -3434,46,30,2.5,111.05,1.7,63.75 -3435,46,30,2.5,111.05,1.7,63.75 -3436,46,30,2.5,111.05,1.7,63.75 -3437,46,30,2.5,111.05,1.7,63.75 -3438,46,30,2.5,111.05,1.7,63.75 -3439,46,30,2.5,111.05,1.7,63.75 -3440,46,30,2.5,111.05,1.7,63.75 -3441,46,30,2.5,111.05,1.7,63.75 -3442,46,30,2.5,111.05,1.7,63.75 -3443,46,30,2.5,111.05,1.7,63.75 -3444,46,30,2.5,111.05,1.7,63.75 -3445,46,30,2.5,111.05,1.7,63.75 -3446,46,30,2.5,111.05,1.7,63.75 -3447,46,30,2.5,111.05,1.7,63.75 -3448,46,30,2.5,111.05,1.7,63.75 -3449,46,30,2.5,111.05,1.7,63.75 -3450,46,30,2.5,111.05,1.7,63.75 -3451,46,30,2.5,111.05,1.7,63.75 -3452,46,30,2.5,111.05,1.7,63.75 -3453,46,30,2.5,111.05,1.7,63.75 -3454,46,30,2.5,111.05,1.7,63.75 -3455,46,30,2.5,111.05,1.7,63.75 -3456,46,30,2.5,111.05,1.7,63.75 -3457,46,30,2.5,111.05,1.7,63.75 -3458,46,30,2.5,111.05,1.7,63.75 -3459,46,30,2.5,111.05,1.7,63.75 -3460,46,30,2.5,111.05,1.7,63.75 -3461,46,30,2.5,111.05,1.7,63.75 -3462,46,30,2.5,111.05,1.7,63.75 -3463,46,30,2.5,111.05,1.7,63.75 -3464,46,30,2.5,111.05,1.7,63.75 -3465,46,30,2.5,111.05,1.7,63.75 -3466,46,30,2.5,111.05,1.7,63.75 -3467,46,30,2.5,111.05,1.7,63.75 -3468,46,30,2.5,111.05,1.7,63.75 -3469,46,30,2.5,111.05,1.7,63.75 -3470,46,30,2.5,111.05,1.7,63.75 -3471,46,30,2.5,111.05,1.7,63.75 -3472,46,30,2.5,111.05,1.7,63.75 -3473,46,30,2.5,111.05,1.7,63.75 -3474,46,30,2.5,111.05,1.7,63.75 -3475,46,30,2.5,111.05,1.7,63.75 -3476,46,30,2.5,111.05,1.7,63.75 -3477,46,30,2.5,111.05,1.7,63.75 -3478,46,30,2.5,111.05,1.7,63.75 -3479,46,30,2.5,111.05,1.7,63.75 -3480,46,30,2.5,111.05,1.7,63.75 -3481,46,30,2.5,111.05,1.7,63.75 -3482,46,30,2.5,111.05,1.7,63.75 -3483,46,30,2.5,111.05,1.7,63.75 -3484,46,30,2.5,111.05,1.7,63.75 -3485,46,30,2.5,111.05,1.7,63.75 -3486,46,30,2.5,111.05,1.7,63.75 -3487,46,30,2.5,111.05,1.7,63.75 -3488,46,30,2.5,111.05,1.7,63.75 -3489,46,30,2.5,111.05,1.7,63.75 -3490,46,30,2.5,111.05,1.7,63.75 -3491,46,30,2.5,111.05,1.7,63.75 -3492,46,30,2.5,111.05,1.7,63.75 -3493,46,30,2.5,111.05,1.7,63.75 -3494,46,30,2.5,111.05,1.7,63.75 -3495,46,30,2.5,111.05,1.7,63.75 -3496,46,30,2.5,111.05,1.7,63.75 -3497,46,30,2.5,111.05,1.7,63.75 -3498,46,30,2.5,111.05,1.7,63.75 -3499,46,30,2.5,111.05,1.7,63.75 -3500,46,30,2.5,111.05,1.7,63.75 -3501,46,30,2.5,111.05,1.7,63.75 -3502,46,30,2.5,111.05,1.7,63.75 -3503,46,30,2.5,111.05,1.7,63.75 -3504,46,30,2.5,111.05,1.7,63.75 -3505,46,30,2.5,111.05,1.7,63.75 -3506,46,30,2.5,111.05,1.7,63.75 -3507,46,30,2.5,111.05,1.7,63.75 -3508,46,30,2.5,111.05,1.7,63.75 -3509,46,30,2.5,111.05,1.7,63.75 -3510,46,30,2.5,111.05,1.7,63.75 -3511,46,30,2.5,111.05,1.7,63.75 -3512,46,30,2.5,111.05,1.7,63.75 -3513,46,30,2.5,111.05,1.7,63.75 -3514,46,30,2.5,111.05,1.7,63.75 -3515,46,30,2.5,111.05,1.7,63.75 -3516,46,30,2.5,111.05,1.7,63.75 -3517,46,30,2.5,111.05,1.7,63.75 -3518,46,30,2.5,111.05,1.7,63.75 -3519,46,30,2.5,111.05,1.7,63.75 -3520,46,30,2.5,111.05,1.7,63.75 -3521,46,30,2.5,111.05,1.7,63.75 -3522,46,30,2.5,111.05,1.7,63.75 -3523,46,30,2.5,111.05,1.7,63.75 -3524,46,30,2.5,111.05,1.7,63.75 -3525,46,30,2.5,111.05,1.7,63.75 -3526,46,30,2.5,111.05,1.7,63.75 -3527,46,30,2.5,111.05,1.7,63.75 -3528,46,30,2.5,111.05,1.7,63.75 -3529,46,30,2.5,111.05,1.7,63.75 -3530,46,30,2.5,111.05,1.7,63.75 -3531,46,30,2.5,111.05,1.7,63.75 -3532,46,30,2.5,111.05,1.7,63.75 -3533,46,30,2.5,111.05,1.7,63.75 -3534,46,30,2.5,111.05,1.7,63.75 -3535,46,30,2.5,111.05,1.7,63.75 -3536,46,30,2.5,111.05,1.7,63.75 -3537,46,30,2.5,111.05,1.7,63.75 -3538,46,30,2.5,111.05,1.7,63.75 -3539,46,30,2.5,111.05,1.7,63.75 -3540,46,30,2.5,111.05,1.7,63.75 -3541,46,30,2.5,111.05,1.7,63.75 -3542,46,30,2.5,111.05,1.7,63.75 -3543,46,30,2.5,111.05,1.7,63.75 -3544,46,30,2.5,111.05,1.7,63.75 -3545,46,30,2.5,111.05,1.7,63.75 -3546,46,30,2.5,111.05,1.7,63.75 -3547,46,30,2.5,111.05,1.7,63.75 -3548,46,30,2.5,111.05,1.7,63.75 -3549,46,30,2.5,111.05,1.7,63.75 -3550,46,30,2.5,111.05,1.7,63.75 -3551,46,30,2.5,111.05,1.7,63.75 -3552,46,30,2.5,111.05,1.7,63.75 -3553,46,30,2.5,111.05,1.7,63.75 -3554,46,30,2.5,111.05,1.7,63.75 -3555,46,30,2.5,111.05,1.7,63.75 -3556,46,30,2.5,111.05,1.7,63.75 -3557,46,30,2.5,111.05,1.7,63.75 -3558,46,30,2.5,111.05,1.7,63.75 -3559,46,30,2.5,111.05,1.7,63.75 -3560,46,30,2.5,111.05,1.7,63.75 -3561,46,30,2.5,111.05,1.7,63.75 -3562,46,30,2.5,111.05,1.7,63.75 -3563,46,30,2.5,111.05,1.7,63.75 -3564,46,30,2.5,111.05,1.7,63.75 -3565,46,30,2.5,111.05,1.7,63.75 -3566,46,30,2.5,111.05,1.7,63.75 -3567,46,30,2.5,111.05,1.7,63.75 -3568,46,30,2.5,111.05,1.7,63.75 -3569,46,30,2.5,111.05,1.7,63.75 -3570,46,30,2.5,111.05,1.7,63.75 -3571,46,30,2.5,111.05,1.7,63.75 -3572,46,30,2.5,111.05,1.7,63.75 -3573,46,30,2.5,111.05,1.7,63.75 -3574,46,30,2.5,111.05,1.7,63.75 -3575,46,30,2.5,111.05,1.7,63.75 -3576,46,30,2.5,111.05,1.7,63.75 -3577,46,30,2.5,111.05,1.7,63.75 -3578,46,30,2.5,111.05,1.7,63.75 -3579,46,30,2.5,111.05,1.7,63.75 -3580,46,30,2.5,111.05,1.7,63.75 -3581,46,30,2.5,111.05,1.7,63.75 -3582,46,30,2.5,111.05,1.7,63.75 -3583,46,30,2.5,111.05,1.7,63.75 -3584,46,30,2.5,111.05,1.7,63.75 -3585,46,30,2.5,111.05,1.7,63.75 -3586,46,30,2.5,111.05,1.7,63.75 -3587,46,30,2.5,111.05,1.7,63.75 -3588,46,30,2.5,111.05,1.7,63.75 -3589,46,30,2.5,111.05,1.7,63.75 -3590,46,30,2.5,111.05,1.7,63.75 -3591,46,30,2.5,111.05,1.7,63.75 -3592,46,30,2.5,111.05,1.7,63.75 -3593,46,30,2.5,111.05,1.7,63.75 -3594,46,30,2.5,111.05,1.7,63.75 -3595,46,30,2.5,111.05,1.7,63.75 -3596,46,30,2.5,111.05,1.7,63.75 -3597,46,30,2.5,111.05,1.7,63.75 -3598,46,30,2.5,111.05,1.7,63.75 -3599,46,30,2.5,111.05,1.7,63.75 -3600,46,30,2.5,111.05,1.7,63.75 -3601,46,30,2.5,111.05,1.7,63.75 -3602,46,30,2.5,111.05,1.7,63.75 -3603,46,30,2.5,111.05,1.7,63.75 -3604,46,30,2.5,111.05,1.7,63.75 -3605,46,30,2.5,111.05,1.7,63.75 -3606,46,30,2.5,111.05,1.7,63.75 -3607,46,30,2.5,111.05,1.7,63.75 -3608,46,30,2.5,111.05,1.7,63.75 -3609,46,30,2.5,111.05,1.7,63.75 -3610,46,30,2.5,111.05,1.7,63.75 -3611,46,30,2.5,111.05,1.7,63.75 -3612,46,30,2.5,111.05,1.7,63.75 -3613,46,30,2.5,111.05,1.7,63.75 -3614,46,30,2.5,111.05,1.7,63.75 -3615,46,30,2.5,111.05,1.7,63.75 -3616,46,30,2.5,111.05,1.7,63.75 -3617,46,30,2.5,111.05,1.7,63.75 -3618,46,30,2.5,111.05,1.7,63.75 -3619,46,30,2.5,111.05,1.7,63.75 -3620,46,30,2.5,111.05,1.7,63.75 -3621,46,30,2.5,111.05,1.7,63.75 -3622,46,30,2.5,111.05,1.7,63.75 -3623,46,30,2.5,111.05,1.7,63.75 -3624,46,30,2.5,111.05,1.7,63.75 -3625,46,30,2.5,111.05,1.7,63.75 -3626,46,30,2.5,111.05,1.7,63.75 -3627,46,30,2.5,111.05,1.7,63.75 -3628,46,30,2.5,111.05,1.7,63.75 -3629,46,30,2.5,111.05,1.7,63.75 -3630,46,30,2.5,111.05,1.7,63.75 -3631,46,30,2.5,111.05,1.7,63.75 -3632,46,30,2.5,111.05,1.7,63.75 -3633,46,30,2.5,111.05,1.7,63.75 -3634,46,30,2.5,111.05,1.7,63.75 -3635,46,30,2.5,111.05,1.7,63.75 -3636,46,30,2.5,111.05,1.7,63.75 -3637,46,30,2.5,111.05,1.7,63.75 -3638,46,30,2.5,111.05,1.7,63.75 -3639,46,30,2.5,111.05,1.7,63.75 -3640,46,30,2.5,111.05,1.7,63.75 -3641,46,30,2.5,111.05,1.7,63.75 -3642,46,30,2.5,111.05,1.7,63.75 -3643,46,30,2.5,111.05,1.7,63.75 -3644,46,30,2.5,111.05,1.7,63.75 -3645,46,30,2.5,111.05,1.7,63.75 -3646,46,30,2.5,111.05,1.7,63.75 -3647,46,30,2.5,111.05,1.7,63.75 -3648,46,30,2.5,111.05,1.7,63.75 -3649,46,30,2.5,111.05,1.7,63.75 -3650,46,30,2.5,111.05,1.7,63.75 -3651,46,30,2.5,111.05,1.7,63.75 -3652,46,30,2.5,111.05,1.7,63.75 -3653,46,30,2.5,111.05,1.7,63.75 -3654,46,30,2.5,111.05,1.7,63.75 -3655,46,30,2.5,111.05,1.7,63.75 -3656,46,30,2.5,111.05,1.7,63.75 -3657,46,30,2.5,111.05,1.7,63.75 -3658,46,30,2.5,111.05,1.7,63.75 -3659,46,30,2.5,111.05,1.7,63.75 -3660,46,30,2.5,111.05,1.7,63.75 -3661,46,30,2.5,111.05,1.7,63.75 -3662,46,30,2.5,111.05,1.7,63.75 -3663,46,30,2.5,111.05,1.7,63.75 -3664,46,30,2.5,111.05,1.7,63.75 -3665,46,30,2.5,111.05,1.7,63.75 -3666,46,30,2.5,111.05,1.7,63.75 -3667,46,30,2.5,111.05,1.7,63.75 -3668,46,30,2.5,111.05,1.7,63.75 -3669,46,30,2.5,111.05,1.7,63.75 -3670,46,30,2.5,111.05,1.7,63.75 -3671,46,30,2.5,111.05,1.7,63.75 -3672,46,30,2.5,111.05,1.7,63.75 -3673,46,30,2.5,111.05,1.7,63.75 -3674,46,30,2.5,111.05,1.7,63.75 -3675,46,30,2.5,111.05,1.7,63.75 -3676,46,30,2.5,111.05,1.7,63.75 -3677,46,30,2.5,111.05,1.7,63.75 -3678,46,30,2.5,111.05,1.7,63.75 -3679,46,30,2.5,111.05,1.7,63.75 -3680,46,30,2.5,111.05,1.7,63.75 -3681,46,30,2.5,111.05,1.7,63.75 -3682,46,30,2.5,111.05,1.7,63.75 -3683,46,30,2.5,111.05,1.7,63.75 -3684,46,30,2.5,111.05,1.7,63.75 -3685,46,30,2.5,111.05,1.7,63.75 -3686,46,30,2.5,111.05,1.7,63.75 -3687,46,30,2.5,111.05,1.7,63.75 -3688,46,30,2.5,111.05,1.7,63.75 -3689,46,30,2.5,111.05,1.7,63.75 -3690,46,30,2.5,111.05,1.7,63.75 -3691,46,30,2.5,111.05,1.7,63.75 -3692,46,30,2.5,111.05,1.7,63.75 -3693,46,30,2.5,111.05,1.7,63.75 -3694,46,30,2.5,111.05,1.7,63.75 -3695,46,30,2.5,111.05,1.7,63.75 -3696,46,30,2.5,111.05,1.7,63.75 -3697,46,30,2.5,111.05,1.7,63.75 -3698,46,30,2.5,111.05,1.7,63.75 -3699,46,30,2.5,111.05,1.7,63.75 -3700,46,30,2.5,111.05,1.7,63.75 -3701,46,30,2.5,111.05,1.7,63.75 -3702,46,30,2.5,111.05,1.7,63.75 -3703,46,30,2.5,111.05,1.7,63.75 -3704,46,30,2.5,111.05,1.7,63.75 -3705,46,30,2.5,111.05,1.7,63.75 -3706,46,30,2.5,111.05,1.7,63.75 -3707,46,30,2.5,111.05,1.7,63.75 -3708,46,30,2.5,111.05,1.7,63.75 -3709,46,30,2.5,111.05,1.7,63.75 -3710,46,30,2.5,111.05,1.7,63.75 -3711,46,30,2.5,111.05,1.7,63.75 -3712,46,30,2.5,111.05,1.7,63.75 -3713,46,30,2.5,111.05,1.7,63.75 -3714,46,30,2.5,111.05,1.7,63.75 -3715,46,30,2.5,111.05,1.7,63.75 -3716,46,30,2.5,111.05,1.7,63.75 -3717,46,30,2.5,111.05,1.7,63.75 -3718,46,30,2.5,111.05,1.7,63.75 -3719,46,30,2.5,111.05,1.7,63.75 -3720,46,30,2.5,111.05,1.7,63.75 -3721,46,30,2.5,111.05,1.7,63.75 -3722,46,30,2.5,111.05,1.7,63.75 -3723,46,30,2.5,111.05,1.7,63.75 -3724,46,30,2.5,111.05,1.7,63.75 -3725,46,30,2.5,111.05,1.7,63.75 -3726,46,30,2.5,111.05,1.7,63.75 -3727,46,30,2.5,111.05,1.7,63.75 -3728,46,30,2.5,111.05,1.7,63.75 -3729,46,30,2.5,111.05,1.7,63.75 -3730,46,30,2.5,111.05,1.7,63.75 -3731,46,30,2.5,111.05,1.7,63.75 -3732,46,30,2.5,111.05,1.7,63.75 -3733,46,30,2.5,111.05,1.7,63.75 -3734,46,30,2.5,111.05,1.7,63.75 -3735,46,30,2.5,111.05,1.7,63.75 -3736,46,30,2.5,111.05,1.7,63.75 -3737,46,30,2.5,111.05,1.7,63.75 -3738,46,30,2.5,111.05,1.7,63.75 -3739,46,30,2.5,111.05,1.7,63.75 -3740,46,30,2.5,111.05,1.7,63.75 -3741,46,30,2.5,111.05,1.7,63.75 -3742,46,30,2.5,111.05,1.7,63.75 -3743,46,30,2.5,111.05,1.7,63.75 -3744,46,30,2.5,111.05,1.7,63.75 -3745,46,30,2.5,111.05,1.7,63.75 -3746,46,30,2.5,111.05,1.7,63.75 -3747,46,30,2.5,111.05,1.7,63.75 -3748,46,30,2.5,111.05,1.7,63.75 -3749,46,30,2.5,111.05,1.7,63.75 -3750,46,30,2.5,111.05,1.7,63.75 -3751,46,30,2.5,111.05,1.7,63.75 -3752,46,30,2.5,111.05,1.7,63.75 -3753,46,30,2.5,111.05,1.7,63.75 -3754,46,30,2.5,111.05,1.7,63.75 -3755,46,30,2.5,111.05,1.7,63.75 -3756,46,30,2.5,111.05,1.7,63.75 -3757,46,30,2.5,111.05,1.7,63.75 -3758,46,30,2.5,111.05,1.7,63.75 -3759,46,30,2.5,111.05,1.7,63.75 -3760,46,30,2.5,111.05,1.7,63.75 -3761,46,30,2.5,111.05,1.7,63.75 -3762,46,30,2.5,111.05,1.7,63.75 -3763,46,30,2.5,111.05,1.7,63.75 -3764,46,30,2.5,111.05,1.7,63.75 -3765,46,30,2.5,111.05,1.7,63.75 -3766,46,30,2.5,111.05,1.7,63.75 -3767,46,30,2.5,111.05,1.7,63.75 -3768,46,30,2.5,111.05,1.7,63.75 -3769,46,30,2.5,111.05,1.7,63.75 -3770,46,30,2.5,111.05,1.7,63.75 -3771,46,30,2.5,111.05,1.7,63.75 -3772,46,30,2.5,111.05,1.7,63.75 -3773,46,30,2.5,111.05,1.7,63.75 -3774,46,30,2.5,111.05,1.7,63.75 -3775,46,30,2.5,111.05,1.7,63.75 -3776,46,30,2.5,111.05,1.7,63.75 -3777,46,30,2.5,111.05,1.7,63.75 -3778,46,30,2.5,111.05,1.7,63.75 -3779,46,30,2.5,111.05,1.7,63.75 -3780,46,30,2.5,111.05,1.7,63.75 -3781,46,30,2.5,111.05,1.7,63.75 -3782,46,30,2.5,111.05,1.7,63.75 -3783,46,30,2.5,111.05,1.7,63.75 -3784,46,30,2.5,111.05,1.7,63.75 -3785,46,30,2.5,111.05,1.7,63.75 -3786,46,30,2.5,111.05,1.7,63.75 -3787,46,30,2.5,111.05,1.7,63.75 -3788,46,30,2.5,111.05,1.7,63.75 -3789,46,30,2.5,111.05,1.7,63.75 -3790,46,30,2.5,111.05,1.7,63.75 -3791,46,30,2.5,111.05,1.7,63.75 -3792,46,30,2.5,111.05,1.7,63.75 -3793,46,30,2.5,111.05,1.7,63.75 -3794,46,30,2.5,111.05,1.7,63.75 -3795,46,30,2.5,111.05,1.7,63.75 -3796,46,30,2.5,111.05,1.7,63.75 -3797,46,30,2.5,111.05,1.7,63.75 -3798,46,30,2.5,111.05,1.7,63.75 -3799,46,30,2.5,111.05,1.7,63.75 -3800,46,30,2.5,111.05,1.7,63.75 -3801,46,30,2.5,111.05,1.7,63.75 -3802,46,30,2.5,111.05,1.7,63.75 -3803,46,30,2.5,111.05,1.7,63.75 -3804,46,30,2.5,111.05,1.7,63.75 -3805,46,30,2.5,111.05,1.7,63.75 -3806,46,30,2.5,111.05,1.7,63.75 -3807,46,30,2.5,111.05,1.7,63.75 -3808,46,30,2.5,111.05,1.7,63.75 -3809,46,30,2.5,111.05,1.7,63.75 -3810,46,30,2.5,111.05,1.7,63.75 -3811,46,30,2.5,111.05,1.7,63.75 -3812,46,30,2.5,111.05,1.7,63.75 -3813,46,30,2.5,111.05,1.7,63.75 -3814,46,30,2.5,111.05,1.7,63.75 -3815,46,30,2.5,111.05,1.7,63.75 -3816,46,30,2.5,111.05,1.7,63.75 -3817,46,30,2.5,111.05,1.7,63.75 -3818,46,30,2.5,111.05,1.7,63.75 -3819,46,30,2.5,111.05,1.7,63.75 -3820,46,30,2.5,111.05,1.7,63.75 -3821,46,30,2.5,111.05,1.7,63.75 -3822,46,30,2.5,111.05,1.7,63.75 -3823,46,30,2.5,111.05,1.7,63.75 -3824,46,30,2.5,111.05,1.7,63.75 -3825,46,30,2.5,111.05,1.7,63.75 -3826,46,30,2.5,111.05,1.7,63.75 -3827,46,30,2.5,111.05,1.7,63.75 -3828,46,30,2.5,111.05,1.7,63.75 -3829,46,30,2.5,111.05,1.7,63.75 -3830,46,30,2.5,111.05,1.7,63.75 -3831,46,30,2.5,111.05,1.7,63.75 -3832,46,30,2.5,111.05,1.7,63.75 -3833,46,30,2.5,111.05,1.7,63.75 -3834,46,30,2.5,111.05,1.7,63.75 -3835,46,30,2.5,111.05,1.7,63.75 -3836,46,30,2.5,111.05,1.7,63.75 -3837,46,30,2.5,111.05,1.7,63.75 -3838,46,30,2.5,111.05,1.7,63.75 -3839,46,30,2.5,111.05,1.7,63.75 -3840,46,30,2.5,111.05,1.7,63.75 -3841,46,30,2.5,111.05,1.7,63.75 -3842,46,30,2.5,111.05,1.7,63.75 -3843,46,30,2.5,111.05,1.7,63.75 -3844,46,30,2.5,111.05,1.7,63.75 -3845,46,30,2.5,111.05,1.7,63.75 -3846,46,30,2.5,111.05,1.7,63.75 -3847,46,30,2.5,111.05,1.7,63.75 -3848,46,30,2.5,111.05,1.7,63.75 -3849,46,30,2.5,111.05,1.7,63.75 -3850,46,30,2.5,111.05,1.7,63.75 -3851,46,30,2.5,111.05,1.7,63.75 -3852,46,30,2.5,111.05,1.7,63.75 -3853,46,30,2.5,111.05,1.7,63.75 -3854,46,30,2.5,111.05,1.7,63.75 -3855,46,30,2.5,111.05,1.7,63.75 -3856,46,30,2.5,111.05,1.7,63.75 -3857,46,30,2.5,111.05,1.7,63.75 -3858,46,30,2.5,111.05,1.7,63.75 -3859,46,30,2.5,111.05,1.7,63.75 -3860,46,30,2.5,111.05,1.7,63.75 -3861,46,30,2.5,111.05,1.7,63.75 -3862,46,30,2.5,111.05,1.7,63.75 -3863,46,30,2.5,111.05,1.7,63.75 -3864,46,30,2.5,111.05,1.7,63.75 -3865,46,30,2.5,111.05,1.7,63.75 -3866,46,30,2.5,111.05,1.7,63.75 -3867,46,30,2.5,111.05,1.7,63.75 -3868,46,30,2.5,111.05,1.7,63.75 -3869,46,30,2.5,111.05,1.7,63.75 -3870,46,30,2.5,111.05,1.7,63.75 -3871,46,30,2.5,111.05,1.7,63.75 -3872,46,30,2.5,111.05,1.7,63.75 -3873,46,30,2.5,111.05,1.7,63.75 -3874,46,30,2.5,111.05,1.7,63.75 -3875,46,30,2.5,111.05,1.7,63.75 -3876,46,30,2.5,111.05,1.7,63.75 -3877,46,30,2.5,111.05,1.7,63.75 -3878,46,30,2.5,111.05,1.7,63.75 -3879,46,30,2.5,111.05,1.7,63.75 -3880,46,30,2.5,111.05,1.7,63.75 -3881,46,30,2.5,111.05,1.7,63.75 -3882,46,30,2.5,111.05,1.7,63.75 -3883,46,30,2.5,111.05,1.7,63.75 -3884,46,30,2.5,111.05,1.7,63.75 -3885,46,30,2.5,111.05,1.7,63.75 -3886,46,30,2.5,111.05,1.7,63.75 -3887,46,30,2.5,111.05,1.7,63.75 -3888,46,30,2.5,111.05,1.7,63.75 -3889,46,30,2.5,111.05,1.7,63.75 -3890,46,30,2.5,111.05,1.7,63.75 -3891,46,30,2.5,111.05,1.7,63.75 -3892,46,30,2.5,111.05,1.7,63.75 -3893,46,30,2.5,111.05,1.7,63.75 -3894,46,30,2.5,111.05,1.7,63.75 -3895,46,30,2.5,111.05,1.7,63.75 -3896,46,30,2.5,111.05,1.7,63.75 -3897,46,30,2.5,111.05,1.7,63.75 -3898,46,30,2.5,111.05,1.7,63.75 -3899,46,30,2.5,111.05,1.7,63.75 -3900,46,30,2.5,111.05,1.7,63.75 -3901,46,30,2.5,111.05,1.7,63.75 -3902,46,30,2.5,111.05,1.7,63.75 -3903,46,30,2.5,111.05,1.7,63.75 -3904,46,30,2.5,111.05,1.7,63.75 -3905,46,30,2.5,111.05,1.7,63.75 -3906,46,30,2.5,111.05,1.7,63.75 -3907,46,30,2.5,111.05,1.7,63.75 -3908,46,30,2.5,111.05,1.7,63.75 -3909,46,30,2.5,111.05,1.7,63.75 -3910,46,30,2.5,111.05,1.7,63.75 -3911,46,30,2.5,111.05,1.7,63.75 -3912,46,30,2.5,111.05,1.7,63.75 -3913,46,30,2.5,111.05,1.7,63.75 -3914,46,30,2.5,111.05,1.7,63.75 -3915,46,30,2.5,111.05,1.7,63.75 -3916,46,30,2.5,111.05,1.7,63.75 -3917,46,30,2.5,111.05,1.7,63.75 -3918,46,30,2.5,111.05,1.7,63.75 -3919,46,30,2.5,111.05,1.7,63.75 -3920,46,30,2.5,111.05,1.7,63.75 -3921,46,30,2.5,111.05,1.7,63.75 -3922,46,30,2.5,111.05,1.7,63.75 -3923,46,30,2.5,111.05,1.7,63.75 -3924,46,30,2.5,111.05,1.7,63.75 -3925,46,30,2.5,111.05,1.7,63.75 -3926,46,30,2.5,111.05,1.7,63.75 -3927,46,30,2.5,111.05,1.7,63.75 -3928,46,30,2.5,111.05,1.7,63.75 -3929,46,30,2.5,111.05,1.7,63.75 -3930,46,30,2.5,111.05,1.7,63.75 -3931,46,30,2.5,111.05,1.7,63.75 -3932,46,30,2.5,111.05,1.7,63.75 -3933,46,30,2.5,111.05,1.7,63.75 -3934,46,30,2.5,111.05,1.7,63.75 -3935,46,30,2.5,111.05,1.7,63.75 -3936,46,30,2.5,111.05,1.7,63.75 -3937,46,30,2.5,111.05,1.7,63.75 -3938,46,30,2.5,111.05,1.7,63.75 -3939,46,30,2.5,111.05,1.7,63.75 -3940,46,30,2.5,111.05,1.7,63.75 -3941,46,30,2.5,111.05,1.7,63.75 -3942,46,30,2.5,111.05,1.7,63.75 -3943,46,30,2.5,111.05,1.7,63.75 -3944,46,30,2.5,111.05,1.7,63.75 -3945,46,30,2.5,111.05,1.7,63.75 -3946,46,30,2.5,111.05,1.7,63.75 -3947,46,30,2.5,111.05,1.7,63.75 -3948,46,30,2.5,111.05,1.7,63.75 -3949,46,30,2.5,111.05,1.7,63.75 -3950,46,30,2.5,111.05,1.7,63.75 -3951,46,30,2.5,111.05,1.7,63.75 -3952,46,30,2.5,111.05,1.7,63.75 -3953,46,30,2.5,111.05,1.7,63.75 -3954,46,30,2.5,111.05,1.7,63.75 -3955,46,30,2.5,111.05,1.7,63.75 -3956,46,30,2.5,111.05,1.7,63.75 -3957,46,30,2.5,111.05,1.7,63.75 -3958,46,30,2.5,111.05,1.7,63.75 -3959,46,30,2.5,111.05,1.7,63.75 -3960,46,30,2.5,111.05,1.7,63.75 -3961,46,30,2.5,111.05,1.7,63.75 -3962,46,30,2.5,111.05,1.7,63.75 -3963,46,30,2.5,111.05,1.7,63.75 -3964,46,30,2.5,111.05,1.7,63.75 -3965,46,30,2.5,111.05,1.7,63.75 -3966,46,30,2.5,111.05,1.7,63.75 -3967,46,30,2.5,111.05,1.7,63.75 -3968,46,30,2.5,111.05,1.7,63.75 -3969,46,30,2.5,111.05,1.7,63.75 -3970,46,30,2.5,111.05,1.7,63.75 -3971,46,30,2.5,111.05,1.7,63.75 -3972,46,30,2.5,111.05,1.7,63.75 -3973,46,30,2.5,111.05,1.7,63.75 -3974,46,30,2.5,111.05,1.7,63.75 -3975,46,30,2.5,111.05,1.7,63.75 -3976,46,30,2.5,111.05,1.7,63.75 -3977,46,30,2.5,111.05,1.7,63.75 -3978,46,30,2.5,111.05,1.7,63.75 -3979,46,30,2.5,111.05,1.7,63.75 -3980,46,30,2.5,111.05,1.7,63.75 -3981,46,30,2.5,111.05,1.7,63.75 -3982,46,30,2.5,111.05,1.7,63.75 -3983,46,30,2.5,111.05,1.7,63.75 -3984,46,30,2.5,111.05,1.7,63.75 -3985,46,30,2.5,111.05,1.7,63.75 -3986,46,30,2.5,111.05,1.7,63.75 -3987,46,30,2.5,111.05,1.7,63.75 -3988,46,30,2.5,111.05,1.7,63.75 -3989,46,30,2.5,111.05,1.7,63.75 -3990,46,30,2.5,111.05,1.7,63.75 -3991,46,30,2.5,111.05,1.7,63.75 -3992,46,30,2.5,111.05,1.7,63.75 -3993,46,30,2.5,111.05,1.7,63.75 -3994,46,30,2.5,111.05,1.7,63.75 -3995,46,30,2.5,111.05,1.7,63.75 -3996,46,30,2.5,111.05,1.7,63.75 -3997,46,30,2.5,111.05,1.7,63.75 -3998,46,30,2.5,111.05,1.7,63.75 -3999,46,30,2.5,111.05,1.7,63.75 -4000,46,30,2.5,111.05,1.7,63.75 -4001,46,30,2.5,111.05,1.7,63.75 -4002,46,30,2.5,111.05,1.7,63.75 -4003,46,30,2.5,111.05,1.7,63.75 -4004,46,30,2.5,111.05,1.7,63.75 -4005,46,30,2.5,111.05,1.7,63.75 -4006,46,30,2.5,111.05,1.7,63.75 -4007,46,30,2.5,111.05,1.7,63.75 -4008,46,30,2.5,111.05,1.7,63.75 -4009,46,30,2.5,111.05,1.7,63.75 -4010,46,30,2.5,111.05,1.7,63.75 -4011,46,30,2.5,111.05,1.7,63.75 -4012,46,30,2.5,111.05,1.7,63.75 -4013,46,30,2.5,111.05,1.7,63.75 -4014,46,30,2.5,111.05,1.7,63.75 -4015,46,30,2.5,111.05,1.7,63.75 -4016,46,30,2.5,111.05,1.7,63.75 -4017,46,30,2.5,111.05,1.7,63.75 -4018,46,30,2.5,111.05,1.7,63.75 -4019,46,30,2.5,111.05,1.7,63.75 -4020,46,30,2.5,111.05,1.7,63.75 -4021,46,30,2.5,111.05,1.7,63.75 -4022,46,30,2.5,111.05,1.7,63.75 -4023,46,30,2.5,111.05,1.7,63.75 -4024,46,30,2.5,111.05,1.7,63.75 -4025,46,30,2.5,111.05,1.7,63.75 -4026,46,30,2.5,111.05,1.7,63.75 -4027,46,30,2.5,111.05,1.7,63.75 -4028,46,30,2.5,111.05,1.7,63.75 -4029,46,30,2.5,111.05,1.7,63.75 -4030,46,30,2.5,111.05,1.7,63.75 -4031,46,30,2.5,111.05,1.7,63.75 -4032,46,30,2.5,111.05,1.7,63.75 -4033,46,30,2.5,111.05,1.7,63.75 -4034,46,30,2.5,111.05,1.7,63.75 -4035,46,30,2.5,111.05,1.7,63.75 -4036,46,30,2.5,111.05,1.7,63.75 -4037,46,30,2.5,111.05,1.7,63.75 -4038,46,30,2.5,111.05,1.7,63.75 -4039,46,30,2.5,111.05,1.7,63.75 -4040,46,30,2.5,111.05,1.7,63.75 -4041,46,30,2.5,111.05,1.7,63.75 -4042,46,30,2.5,111.05,1.7,63.75 -4043,46,30,2.5,111.05,1.7,63.75 -4044,46,30,2.5,111.05,1.7,63.75 -4045,46,30,2.5,111.05,1.7,63.75 -4046,46,30,2.5,111.05,1.7,63.75 -4047,46,30,2.5,111.05,1.7,63.75 -4048,46,30,2.5,111.05,1.7,63.75 -4049,46,30,2.5,111.05,1.7,63.75 -4050,46,30,2.5,111.05,1.7,63.75 -4051,46,30,2.5,111.05,1.7,63.75 -4052,46,30,2.5,111.05,1.7,63.75 -4053,46,30,2.5,111.05,1.7,63.75 -4054,46,30,2.5,111.05,1.7,63.75 -4055,46,30,2.5,111.05,1.7,63.75 -4056,46,30,2.5,111.05,1.7,63.75 -4057,46,30,2.5,111.05,1.7,63.75 -4058,46,30,2.5,111.05,1.7,63.75 -4059,46,30,2.5,111.05,1.7,63.75 -4060,46,30,2.5,111.05,1.7,63.75 -4061,46,30,2.5,111.05,1.7,63.75 -4062,46,30,2.5,111.05,1.7,63.75 -4063,46,30,2.5,111.05,1.7,63.75 -4064,46,30,2.5,111.05,1.7,63.75 -4065,46,30,2.5,111.05,1.7,63.75 -4066,46,30,2.5,111.05,1.7,63.75 -4067,46,30,2.5,111.05,1.7,63.75 -4068,46,30,2.5,111.05,1.7,63.75 -4069,46,30,2.5,111.05,1.7,63.75 -4070,46,30,2.5,111.05,1.7,63.75 -4071,46,30,2.5,111.05,1.7,63.75 -4072,46,30,2.5,111.05,1.7,63.75 -4073,46,30,2.5,111.05,1.7,63.75 -4074,46,30,2.5,111.05,1.7,63.75 -4075,46,30,2.5,111.05,1.7,63.75 -4076,46,30,2.5,111.05,1.7,63.75 -4077,46,30,2.5,111.05,1.7,63.75 -4078,46,30,2.5,111.05,1.7,63.75 -4079,46,30,2.5,111.05,1.7,63.75 -4080,46,30,2.5,111.05,1.7,63.75 -4081,46,30,2.5,111.05,1.7,63.75 -4082,46,30,2.5,111.05,1.7,63.75 -4083,46,30,2.5,111.05,1.7,63.75 -4084,46,30,2.5,111.05,1.7,63.75 -4085,46,30,2.5,111.05,1.7,63.75 -4086,46,30,2.5,111.05,1.7,63.75 -4087,46,30,2.5,111.05,1.7,63.75 -4088,46,30,2.5,111.05,1.7,63.75 -4089,46,30,2.5,111.05,1.7,63.75 -4090,46,30,2.5,111.05,1.7,63.75 -4091,46,30,2.5,111.05,1.7,63.75 -4092,46,30,2.5,111.05,1.7,63.75 -4093,46,30,2.5,111.05,1.7,63.75 -4094,46,30,2.5,111.05,1.7,63.75 -4095,46,30,2.5,111.05,1.7,63.75 -4096,46,30,2.5,111.05,1.7,63.75 -4097,46,30,2.5,111.05,1.7,63.75 -4098,46,30,2.5,111.05,1.7,63.75 -4099,46,30,2.5,111.05,1.7,63.75 -4100,46,30,2.5,111.05,1.7,63.75 -4101,46,30,2.5,111.05,1.7,63.75 -4102,46,30,2.5,111.05,1.7,63.75 -4103,46,30,2.5,111.05,1.7,63.75 -4104,46,30,2.5,111.05,1.7,63.75 -4105,46,30,2.5,111.05,1.7,63.75 -4106,46,30,2.5,111.05,1.7,63.75 -4107,46,30,2.5,111.05,1.7,63.75 -4108,46,30,2.5,111.05,1.7,63.75 -4109,46,30,2.5,111.05,1.7,63.75 -4110,46,30,2.5,111.05,1.7,63.75 -4111,46,30,2.5,111.05,1.7,63.75 -4112,46,30,2.5,111.05,1.7,63.75 -4113,46,30,2.5,111.05,1.7,63.75 -4114,46,30,2.5,111.05,1.7,63.75 -4115,46,30,2.5,111.05,1.7,63.75 -4116,46,30,2.5,111.05,1.7,63.75 -4117,46,30,2.5,111.05,1.7,63.75 -4118,46,30,2.5,111.05,1.7,63.75 -4119,46,30,2.5,111.05,1.7,63.75 -4120,46,30,2.5,111.05,1.7,63.75 -4121,46,30,2.5,111.05,1.7,63.75 -4122,46,30,2.5,111.05,1.7,63.75 -4123,46,30,2.5,111.05,1.7,63.75 -4124,46,30,2.5,111.05,1.7,63.75 -4125,46,30,2.5,111.05,1.7,63.75 -4126,46,30,2.5,111.05,1.7,63.75 -4127,46,30,2.5,111.05,1.7,63.75 -4128,46,30,2.5,111.05,1.7,63.75 -4129,46,30,2.5,111.05,1.7,63.75 -4130,46,30,2.5,111.05,1.7,63.75 -4131,46,30,2.5,111.05,1.7,63.75 -4132,46,30,2.5,111.05,1.7,63.75 -4133,46,30,2.5,111.05,1.7,63.75 -4134,46,30,2.5,111.05,1.7,63.75 -4135,46,30,2.5,111.05,1.7,63.75 -4136,46,30,2.5,111.05,1.7,63.75 -4137,46,30,2.5,111.05,1.7,63.75 -4138,46,30,2.5,111.05,1.7,63.75 -4139,46,30,2.5,111.05,1.7,63.75 -4140,46,30,2.5,111.05,1.7,63.75 -4141,46,30,2.5,111.05,1.7,63.75 -4142,46,30,2.5,111.05,1.7,63.75 -4143,46,30,2.5,111.05,1.7,63.75 -4144,46,30,2.5,111.05,1.7,63.75 -4145,46,30,2.5,111.05,1.7,63.75 -4146,46,30,2.5,111.05,1.7,63.75 -4147,46,30,2.5,111.05,1.7,63.75 -4148,46,30,2.5,111.05,1.7,63.75 -4149,46,30,2.5,111.05,1.7,63.75 -4150,46,30,2.5,111.05,1.7,63.75 -4151,46,30,2.5,111.05,1.7,63.75 -4152,46,30,2.5,111.05,1.7,63.75 -4153,46,30,2.5,111.05,1.7,63.75 -4154,46,30,2.5,111.05,1.7,63.75 -4155,46,30,2.5,111.05,1.7,63.75 -4156,46,30,2.5,111.05,1.7,63.75 -4157,46,30,2.5,111.05,1.7,63.75 -4158,46,30,2.5,111.05,1.7,63.75 -4159,46,30,2.5,111.05,1.7,63.75 -4160,46,30,2.5,111.05,1.7,63.75 -4161,46,30,2.5,111.05,1.7,63.75 -4162,46,30,2.5,111.05,1.7,63.75 -4163,46,30,2.5,111.05,1.7,63.75 -4164,46,30,2.5,111.05,1.7,63.75 -4165,46,30,2.5,111.05,1.7,63.75 -4166,46,30,2.5,111.05,1.7,63.75 -4167,46,30,2.5,111.05,1.7,63.75 -4168,46,30,2.5,111.05,1.7,63.75 -4169,46,30,2.5,111.05,1.7,63.75 -4170,46,30,2.5,111.05,1.7,63.75 -4171,46,30,2.5,111.05,1.7,63.75 -4172,46,30,2.5,111.05,1.7,63.75 -4173,46,30,2.5,111.05,1.7,63.75 -4174,46,30,2.5,111.05,1.7,63.75 -4175,46,30,2.5,111.05,1.7,63.75 -4176,46,30,2.5,111.05,1.7,63.75 -4177,46,30,2.5,111.05,1.7,63.75 -4178,46,30,2.5,111.05,1.7,63.75 -4179,46,30,2.5,111.05,1.7,63.75 -4180,46,30,2.5,111.05,1.7,63.75 -4181,46,30,2.5,111.05,1.7,63.75 -4182,46,30,2.5,111.05,1.7,63.75 -4183,46,30,2.5,111.05,1.7,63.75 -4184,46,30,2.5,111.05,1.7,63.75 -4185,46,30,2.5,111.05,1.7,63.75 -4186,46,30,2.5,111.05,1.7,63.75 -4187,46,30,2.5,111.05,1.7,63.75 -4188,46,30,2.5,111.05,1.7,63.75 -4189,46,30,2.5,111.05,1.7,63.75 -4190,46,30,2.5,111.05,1.7,63.75 -4191,46,30,2.5,111.05,1.7,63.75 -4192,46,30,2.5,111.05,1.7,63.75 -4193,46,30,2.5,111.05,1.7,63.75 -4194,46,30,2.5,111.05,1.7,63.75 -4195,46,30,2.5,111.05,1.7,63.75 -4196,46,30,2.5,111.05,1.7,63.75 -4197,46,30,2.5,111.05,1.7,63.75 -4198,46,30,2.5,111.05,1.7,63.75 -4199,46,30,2.5,111.05,1.7,63.75 -4200,46,30,2.5,111.05,1.7,63.75 -4201,46,30,2.5,111.05,1.7,63.75 -4202,46,30,2.5,111.05,1.7,63.75 -4203,46,30,2.5,111.05,1.7,63.75 -4204,46,30,2.5,111.05,1.7,63.75 -4205,46,30,2.5,111.05,1.7,63.75 -4206,46,30,2.5,111.05,1.7,63.75 -4207,46,30,2.5,111.05,1.7,63.75 -4208,46,30,2.5,111.05,1.7,63.75 -4209,46,30,2.5,111.05,1.7,63.75 -4210,46,30,2.5,111.05,1.7,63.75 -4211,46,30,2.5,111.05,1.7,63.75 -4212,46,30,2.5,111.05,1.7,63.75 -4213,46,30,2.5,111.05,1.7,63.75 -4214,46,30,2.5,111.05,1.7,63.75 -4215,46,30,2.5,111.05,1.7,63.75 -4216,46,30,2.5,111.05,1.7,63.75 -4217,46,30,2.5,111.05,1.7,63.75 -4218,46,30,2.5,111.05,1.7,63.75 -4219,46,30,2.5,111.05,1.7,63.75 -4220,46,30,2.5,111.05,1.7,63.75 -4221,46,30,2.5,111.05,1.7,63.75 -4222,46,30,2.5,111.05,1.7,63.75 -4223,46,30,2.5,111.05,1.7,63.75 -4224,46,30,2.5,111.05,1.7,63.75 -4225,46,30,2.5,111.05,1.7,63.75 -4226,46,30,2.5,111.05,1.7,63.75 -4227,46,30,2.5,111.05,1.7,63.75 -4228,46,30,2.5,111.05,1.7,63.75 -4229,46,30,2.5,111.05,1.7,63.75 -4230,46,30,2.5,111.05,1.7,63.75 -4231,46,30,2.5,111.05,1.7,63.75 -4232,46,30,2.5,111.05,1.7,63.75 -4233,46,30,2.5,111.05,1.7,63.75 -4234,46,30,2.5,111.05,1.7,63.75 -4235,46,30,2.5,111.05,1.7,63.75 -4236,46,30,2.5,111.05,1.7,63.75 -4237,46,30,2.5,111.05,1.7,63.75 -4238,46,30,2.5,111.05,1.7,63.75 -4239,46,30,2.5,111.05,1.7,63.75 -4240,46,30,2.5,111.05,1.7,63.75 -4241,46,30,2.5,111.05,1.7,63.75 -4242,46,30,2.5,111.05,1.7,63.75 -4243,46,30,2.5,111.05,1.7,63.75 -4244,46,30,2.5,111.05,1.7,63.75 -4245,46,30,2.5,111.05,1.7,63.75 -4246,46,30,2.5,111.05,1.7,63.75 -4247,46,30,2.5,111.05,1.7,63.75 -4248,46,30,2.5,111.05,1.7,63.75 -4249,46,30,2.5,111.05,1.7,63.75 -4250,46,30,2.5,111.05,1.7,63.75 -4251,46,30,2.5,111.05,1.7,63.75 -4252,46,30,2.5,111.05,1.7,63.75 -4253,46,30,2.5,111.05,1.7,63.75 -4254,46,30,2.5,111.05,1.7,63.75 -4255,46,30,2.5,111.05,1.7,63.75 -4256,46,30,2.5,111.05,1.7,63.75 -4257,46,30,2.5,111.05,1.7,63.75 -4258,46,30,2.5,111.05,1.7,63.75 -4259,46,30,2.5,111.05,1.7,63.75 -4260,46,30,2.5,111.05,1.7,63.75 -4261,46,30,2.5,111.05,1.7,63.75 -4262,46,30,2.5,111.05,1.7,63.75 -4263,46,30,2.5,111.05,1.7,63.75 -4264,46,30,2.5,111.05,1.7,63.75 -4265,46,30,2.5,111.05,1.7,63.75 -4266,46,30,2.5,111.05,1.7,63.75 -4267,46,30,2.5,111.05,1.7,63.75 -4268,46,30,2.5,111.05,1.7,63.75 -4269,46,30,2.5,111.05,1.7,63.75 -4270,46,30,2.5,111.05,1.7,63.75 -4271,46,30,2.5,111.05,1.7,63.75 -4272,46,30,2.5,111.05,1.7,63.75 -4273,46,30,2.5,111.05,1.7,63.75 -4274,46,30,2.5,111.05,1.7,63.75 -4275,46,30,2.5,111.05,1.7,63.75 -4276,46,30,2.5,111.05,1.7,63.75 -4277,46,30,2.5,111.05,1.7,63.75 -4278,46,30,2.5,111.05,1.7,63.75 -4279,46,30,2.5,111.05,1.7,63.75 -4280,46,30,2.5,111.05,1.7,63.75 -4281,46,30,2.5,111.05,1.7,63.75 -4282,46,30,2.5,111.05,1.7,63.75 -4283,46,30,2.5,111.05,1.7,63.75 -4284,46,30,2.5,111.05,1.7,63.75 -4285,46,30,2.5,111.05,1.7,63.75 -4286,46,30,2.5,111.05,1.7,63.75 -4287,46,30,2.5,111.05,1.7,63.75 -4288,46,30,2.5,111.05,1.7,63.75 -4289,46,30,2.5,111.05,1.7,63.75 -4290,46,30,2.5,111.05,1.7,63.75 -4291,46,30,2.5,111.05,1.7,63.75 -4292,46,30,2.5,111.05,1.7,63.75 -4293,46,30,2.5,111.05,1.7,63.75 -4294,46,30,2.5,111.05,1.7,63.75 -4295,46,30,2.5,111.05,1.7,63.75 -4296,46,30,2.5,111.05,1.7,63.75 -4297,46,30,2.5,111.05,1.7,63.75 -4298,46,30,2.5,111.05,1.7,63.75 -4299,46,30,2.5,111.05,1.7,63.75 -4300,46,30,2.5,111.05,1.7,63.75 -4301,46,30,2.5,111.05,1.7,63.75 -4302,46,30,2.5,111.05,1.7,63.75 -4303,46,30,2.5,111.05,1.7,63.75 -4304,46,30,2.5,111.05,1.7,63.75 -4305,46,30,2.5,111.05,1.7,63.75 -4306,46,30,2.5,111.05,1.7,63.75 -4307,46,30,2.5,111.05,1.7,63.75 -4308,46,30,2.5,111.05,1.7,63.75 -4309,46,30,2.5,111.05,1.7,63.75 -4310,46,30,2.5,111.05,1.7,63.75 -4311,46,30,2.5,111.05,1.7,63.75 -4312,46,30,2.5,111.05,1.7,63.75 -4313,46,30,2.5,111.05,1.7,63.75 -4314,46,30,2.5,111.05,1.7,63.75 -4315,46,30,2.5,111.05,1.7,63.75 -4316,46,30,2.5,111.05,1.7,63.75 -4317,46,30,2.5,111.05,1.7,63.75 -4318,46,30,2.5,111.05,1.7,63.75 -4319,46,30,2.5,111.05,1.7,63.75 -4320,46,30,2.5,111.05,1.7,63.75 -4321,46,30,2.5,111.05,1.7,63.75 -4322,46,30,2.5,111.05,1.7,63.75 -4323,46,30,2.5,111.05,1.7,63.75 -4324,46,30,2.5,111.05,1.7,63.75 -4325,46,30,2.5,111.05,1.7,63.75 -4326,46,30,2.5,111.05,1.7,63.75 -4327,46,30,2.5,111.05,1.7,63.75 -4328,46,30,2.5,111.05,1.7,63.75 -4329,46,30,2.5,111.05,1.7,63.75 -4330,46,30,2.5,111.05,1.7,63.75 -4331,46,30,2.5,111.05,1.7,63.75 -4332,46,30,2.5,111.05,1.7,63.75 -4333,46,30,2.5,111.05,1.7,63.75 -4334,46,30,2.5,111.05,1.7,63.75 -4335,46,30,2.5,111.05,1.7,63.75 -4336,46,30,2.5,111.05,1.7,63.75 -4337,46,30,2.5,111.05,1.7,63.75 -4338,46,30,2.5,111.05,1.7,63.75 -4339,46,30,2.5,111.05,1.7,63.75 -4340,46,30,2.5,111.05,1.7,63.75 -4341,46,30,2.5,111.05,1.7,63.75 -4342,46,30,2.5,111.05,1.7,63.75 -4343,46,30,2.5,111.05,1.7,63.75 -4344,46,30,2.5,111.05,1.7,63.75 -4345,46,30,2.5,111.05,1.7,63.75 -4346,46,30,2.5,111.05,1.7,63.75 -4347,46,30,2.5,111.05,1.7,63.75 -4348,46,30,2.5,111.05,1.7,63.75 -4349,46,30,2.5,111.05,1.7,63.75 -4350,46,30,2.5,111.05,1.7,63.75 -4351,46,30,2.5,111.05,1.7,63.75 -4352,46,30,2.5,111.05,1.7,63.75 -4353,46,30,2.5,111.05,1.7,63.75 -4354,46,30,2.5,111.05,1.7,63.75 -4355,46,30,2.5,111.05,1.7,63.75 -4356,46,30,2.5,111.05,1.7,63.75 -4357,46,30,2.5,111.05,1.7,63.75 -4358,46,30,2.5,111.05,1.7,63.75 -4359,46,30,2.5,111.05,1.7,63.75 -4360,46,30,2.5,111.05,1.7,63.75 -4361,46,30,2.5,111.05,1.7,63.75 -4362,46,30,2.5,111.05,1.7,63.75 -4363,46,30,2.5,111.05,1.7,63.75 -4364,46,30,2.5,111.05,1.7,63.75 -4365,46,30,2.5,111.05,1.7,63.75 -4366,46,30,2.5,111.05,1.7,63.75 -4367,46,30,2.5,111.05,1.7,63.75 -4368,46,30,2.5,111.05,1.7,63.75 -4369,46,30,2.5,111.05,1.7,63.75 -4370,46,30,2.5,111.05,1.7,63.75 -4371,46,30,2.5,111.05,1.7,63.75 -4372,46,30,2.5,111.05,1.7,63.75 -4373,46,30,2.5,111.05,1.7,63.75 -4374,46,30,2.5,111.05,1.7,63.75 -4375,46,30,2.5,111.05,1.7,63.75 -4376,46,30,2.5,111.05,1.7,63.75 -4377,46,30,2.5,111.05,1.7,63.75 -4378,46,30,2.5,111.05,1.7,63.75 -4379,46,30,2.5,111.05,1.7,63.75 -4380,46,30,2.5,111.05,1.7,63.75 -4381,46,30,2.5,111.05,1.7,63.75 -4382,46,30,2.5,111.05,1.7,63.75 -4383,46,30,2.5,111.05,1.7,63.75 -4384,46,30,2.5,111.05,1.7,63.75 -4385,46,30,2.5,111.05,1.7,63.75 -4386,46,30,2.5,111.05,1.7,63.75 -4387,46,30,2.5,111.05,1.7,63.75 -4388,46,30,2.5,111.05,1.7,63.75 -4389,46,30,2.5,111.05,1.7,63.75 -4390,46,30,2.5,111.05,1.7,63.75 -4391,46,30,2.5,111.05,1.7,63.75 -4392,46,30,2.5,111.05,1.7,63.75 -4393,46,30,2.5,111.05,1.7,63.75 -4394,46,30,2.5,111.05,1.7,63.75 -4395,46,30,2.5,111.05,1.7,63.75 -4396,46,30,2.5,111.05,1.7,63.75 -4397,46,30,2.5,111.05,1.7,63.75 -4398,46,30,2.5,111.05,1.7,63.75 -4399,46,30,2.5,111.05,1.7,63.75 -4400,46,30,2.5,111.05,1.7,63.75 -4401,46,30,2.5,111.05,1.7,63.75 -4402,46,30,2.5,111.05,1.7,63.75 -4403,46,30,2.5,111.05,1.7,63.75 -4404,46,30,2.5,111.05,1.7,63.75 -4405,46,30,2.5,111.05,1.7,63.75 -4406,46,30,2.5,111.05,1.7,63.75 -4407,46,30,2.5,111.05,1.7,63.75 -4408,46,30,2.5,111.05,1.7,63.75 -4409,46,30,2.5,111.05,1.7,63.75 -4410,46,30,2.5,111.05,1.7,63.75 -4411,46,30,2.5,111.05,1.7,63.75 -4412,46,30,2.5,111.05,1.7,63.75 -4413,46,30,2.5,111.05,1.7,63.75 -4414,46,30,2.5,111.05,1.7,63.75 -4415,46,30,2.5,111.05,1.7,63.75 -4416,46,30,2.5,111.05,1.7,63.75 -4417,46,30,2.5,111.05,1.7,63.75 -4418,46,30,2.5,111.05,1.7,63.75 -4419,46,30,2.5,111.05,1.7,63.75 -4420,46,30,2.5,111.05,1.7,63.75 -4421,46,30,2.5,111.05,1.7,63.75 -4422,46,30,2.5,111.05,1.7,63.75 -4423,46,30,2.5,111.05,1.7,63.75 -4424,46,30,2.5,111.05,1.7,63.75 -4425,46,30,2.5,111.05,1.7,63.75 -4426,46,30,2.5,111.05,1.7,63.75 -4427,46,30,2.5,111.05,1.7,63.75 -4428,46,30,2.5,111.05,1.7,63.75 -4429,46,30,2.5,111.05,1.7,63.75 -4430,46,30,2.5,111.05,1.7,63.75 -4431,46,30,2.5,111.05,1.7,63.75 -4432,46,30,2.5,111.05,1.7,63.75 -4433,46,30,2.5,111.05,1.7,63.75 -4434,46,30,2.5,111.05,1.7,63.75 -4435,46,30,2.5,111.05,1.7,63.75 -4436,46,30,2.5,111.05,1.7,63.75 -4437,46,30,2.5,111.05,1.7,63.75 -4438,46,30,2.5,111.05,1.7,63.75 -4439,46,30,2.5,111.05,1.7,63.75 -4440,46,30,2.5,111.05,1.7,63.75 -4441,46,30,2.5,111.05,1.7,63.75 -4442,46,30,2.5,111.05,1.7,63.75 -4443,46,30,2.5,111.05,1.7,63.75 -4444,46,30,2.5,111.05,1.7,63.75 -4445,46,30,2.5,111.05,1.7,63.75 -4446,46,30,2.5,111.05,1.7,63.75 -4447,46,30,2.5,111.05,1.7,63.75 -4448,46,30,2.5,111.05,1.7,63.75 -4449,46,30,2.5,111.05,1.7,63.75 -4450,46,30,2.5,111.05,1.7,63.75 -4451,46,30,2.5,111.05,1.7,63.75 -4452,46,30,2.5,111.05,1.7,63.75 -4453,46,30,2.5,111.05,1.7,63.75 -4454,46,30,2.5,111.05,1.7,63.75 -4455,46,30,2.5,111.05,1.7,63.75 -4456,46,30,2.5,111.05,1.7,63.75 -4457,46,30,2.5,111.05,1.7,63.75 -4458,46,30,2.5,111.05,1.7,63.75 -4459,46,30,2.5,111.05,1.7,63.75 -4460,46,30,2.5,111.05,1.7,63.75 -4461,46,30,2.5,111.05,1.7,63.75 -4462,46,30,2.5,111.05,1.7,63.75 -4463,46,30,2.5,111.05,1.7,63.75 -4464,46,30,2.5,111.05,1.7,63.75 -4465,46,30,2.5,111.05,1.7,63.75 -4466,46,30,2.5,111.05,1.7,63.75 -4467,46,30,2.5,111.05,1.7,63.75 -4468,46,30,2.5,111.05,1.7,63.75 -4469,46,30,2.5,111.05,1.7,63.75 -4470,46,30,2.5,111.05,1.7,63.75 -4471,46,30,2.5,111.05,1.7,63.75 -4472,46,30,2.5,111.05,1.7,63.75 -4473,46,30,2.5,111.05,1.7,63.75 -4474,46,30,2.5,111.05,1.7,63.75 -4475,46,30,2.5,111.05,1.7,63.75 -4476,46,30,2.5,111.05,1.7,63.75 -4477,46,30,2.5,111.05,1.7,63.75 -4478,46,30,2.5,111.05,1.7,63.75 -4479,46,30,2.5,111.05,1.7,63.75 -4480,46,30,2.5,111.05,1.7,63.75 -4481,46,30,2.5,111.05,1.7,63.75 -4482,46,30,2.5,111.05,1.7,63.75 -4483,46,30,2.5,111.05,1.7,63.75 -4484,46,30,2.5,111.05,1.7,63.75 -4485,46,30,2.5,111.05,1.7,63.75 -4486,46,30,2.5,111.05,1.7,63.75 -4487,46,30,2.5,111.05,1.7,63.75 -4488,46,30,2.5,111.05,1.7,63.75 -4489,46,30,2.5,111.05,1.7,63.75 -4490,46,30,2.5,111.05,1.7,63.75 -4491,46,30,2.5,111.05,1.7,63.75 -4492,46,30,2.5,111.05,1.7,63.75 -4493,46,30,2.5,111.05,1.7,63.75 -4494,46,30,2.5,111.05,1.7,63.75 -4495,46,30,2.5,111.05,1.7,63.75 -4496,46,30,2.5,111.05,1.7,63.75 -4497,46,30,2.5,111.05,1.7,63.75 -4498,46,30,2.5,111.05,1.7,63.75 -4499,46,30,2.5,111.05,1.7,63.75 -4500,46,30,2.5,111.05,1.7,63.75 -4501,46,30,2.5,111.05,1.7,63.75 -4502,46,30,2.5,111.05,1.7,63.75 -4503,46,30,2.5,111.05,1.7,63.75 -4504,46,30,2.5,111.05,1.7,63.75 -4505,46,30,2.5,111.05,1.7,63.75 -4506,46,30,2.5,111.05,1.7,63.75 -4507,46,30,2.5,111.05,1.7,63.75 -4508,46,30,2.5,111.05,1.7,63.75 -4509,46,30,2.5,111.05,1.7,63.75 -4510,46,30,2.5,111.05,1.7,63.75 -4511,46,30,2.5,111.05,1.7,63.75 -4512,46,30,2.5,111.05,1.7,63.75 -4513,46,30,2.5,111.05,1.7,63.75 -4514,46,30,2.5,111.05,1.7,63.75 -4515,46,30,2.5,111.05,1.7,63.75 -4516,46,30,2.5,111.05,1.7,63.75 -4517,46,30,2.5,111.05,1.7,63.75 -4518,46,30,2.5,111.05,1.7,63.75 -4519,46,30,2.5,111.05,1.7,63.75 -4520,46,30,2.5,111.05,1.7,63.75 -4521,46,30,2.5,111.05,1.7,63.75 -4522,46,30,2.5,111.05,1.7,63.75 -4523,46,30,2.5,111.05,1.7,63.75 -4524,46,30,2.5,111.05,1.7,63.75 -4525,46,30,2.5,111.05,1.7,63.75 -4526,46,30,2.5,111.05,1.7,63.75 -4527,46,30,2.5,111.05,1.7,63.75 -4528,46,30,2.5,111.05,1.7,63.75 -4529,46,30,2.5,111.05,1.7,63.75 -4530,46,30,2.5,111.05,1.7,63.75 -4531,46,30,2.5,111.05,1.7,63.75 -4532,46,30,2.5,111.05,1.7,63.75 -4533,46,30,2.5,111.05,1.7,63.75 -4534,46,30,2.5,111.05,1.7,63.75 -4535,46,30,2.5,111.05,1.7,63.75 -4536,46,30,2.5,111.05,1.7,63.75 -4537,46,30,2.5,111.05,1.7,63.75 -4538,46,30,2.5,111.05,1.7,63.75 -4539,46,30,2.5,111.05,1.7,63.75 -4540,46,30,2.5,111.05,1.7,63.75 -4541,46,30,2.5,111.05,1.7,63.75 -4542,46,30,2.5,111.05,1.7,63.75 -4543,46,30,2.5,111.05,1.7,63.75 -4544,46,30,2.5,111.05,1.7,63.75 -4545,46,30,2.5,111.05,1.7,63.75 -4546,46,30,2.5,111.05,1.7,63.75 -4547,46,30,2.5,111.05,1.7,63.75 -4548,46,30,2.5,111.05,1.7,63.75 -4549,46,30,2.5,111.05,1.7,63.75 -4550,46,30,2.5,111.05,1.7,63.75 -4551,46,30,2.5,111.05,1.7,63.75 -4552,46,30,2.5,111.05,1.7,63.75 -4553,46,30,2.5,111.05,1.7,63.75 -4554,46,30,2.5,111.05,1.7,63.75 -4555,46,30,2.5,111.05,1.7,63.75 -4556,46,30,2.5,111.05,1.7,63.75 -4557,46,30,2.5,111.05,1.7,63.75 -4558,46,30,2.5,111.05,1.7,63.75 -4559,46,30,2.5,111.05,1.7,63.75 -4560,46,30,2.5,111.05,1.7,63.75 -4561,46,30,2.5,111.05,1.7,63.75 -4562,46,30,2.5,111.05,1.7,63.75 -4563,46,30,2.5,111.05,1.7,63.75 -4564,46,30,2.5,111.05,1.7,63.75 -4565,46,30,2.5,111.05,1.7,63.75 -4566,46,30,2.5,111.05,1.7,63.75 -4567,46,30,2.5,111.05,1.7,63.75 -4568,46,30,2.5,111.05,1.7,63.75 -4569,46,30,2.5,111.05,1.7,63.75 -4570,46,30,2.5,111.05,1.7,63.75 -4571,46,30,2.5,111.05,1.7,63.75 -4572,46,30,2.5,111.05,1.7,63.75 -4573,46,30,2.5,111.05,1.7,63.75 -4574,46,30,2.5,111.05,1.7,63.75 -4575,46,30,2.5,111.05,1.7,63.75 -4576,46,30,2.5,111.05,1.7,63.75 -4577,46,30,2.5,111.05,1.7,63.75 -4578,46,30,2.5,111.05,1.7,63.75 -4579,46,30,2.5,111.05,1.7,63.75 -4580,46,30,2.5,111.05,1.7,63.75 -4581,46,30,2.5,111.05,1.7,63.75 -4582,46,30,2.5,111.05,1.7,63.75 -4583,46,30,2.5,111.05,1.7,63.75 -4584,46,30,2.5,111.05,1.7,63.75 -4585,46,30,2.5,111.05,1.7,63.75 -4586,46,30,2.5,111.05,1.7,63.75 -4587,46,30,2.5,111.05,1.7,63.75 -4588,46,30,2.5,111.05,1.7,63.75 -4589,46,30,2.5,111.05,1.7,63.75 -4590,46,30,2.5,111.05,1.7,63.75 -4591,46,30,2.5,111.05,1.7,63.75 -4592,46,30,2.5,111.05,1.7,63.75 -4593,46,30,2.5,111.05,1.7,63.75 -4594,46,30,2.5,111.05,1.7,63.75 -4595,46,30,2.5,111.05,1.7,63.75 -4596,46,30,2.5,111.05,1.7,63.75 -4597,46,30,2.5,111.05,1.7,63.75 -4598,46,30,2.5,111.05,1.7,63.75 -4599,46,30,2.5,111.05,1.7,63.75 -4600,46,30,2.5,111.05,1.7,63.75 -4601,46,30,2.5,111.05,1.7,63.75 -4602,46,30,2.5,111.05,1.7,63.75 -4603,46,30,2.5,111.05,1.7,63.75 -4604,46,30,2.5,111.05,1.7,63.75 -4605,46,30,2.5,111.05,1.7,63.75 -4606,46,30,2.5,111.05,1.7,63.75 -4607,46,30,2.5,111.05,1.7,63.75 -4608,46,30,2.5,111.05,1.7,63.75 -4609,46,30,2.5,111.05,1.7,63.75 -4610,46,30,2.5,111.05,1.7,63.75 -4611,46,30,2.5,111.05,1.7,63.75 -4612,46,30,2.5,111.05,1.7,63.75 -4613,46,30,2.5,111.05,1.7,63.75 -4614,46,30,2.5,111.05,1.7,63.75 -4615,46,30,2.5,111.05,1.7,63.75 -4616,46,30,2.5,111.05,1.7,63.75 -4617,46,30,2.5,111.05,1.7,63.75 -4618,46,30,2.5,111.05,1.7,63.75 -4619,46,30,2.5,111.05,1.7,63.75 -4620,46,30,2.5,111.05,1.7,63.75 -4621,46,30,2.5,111.05,1.7,63.75 -4622,46,30,2.5,111.05,1.7,63.75 -4623,46,30,2.5,111.05,1.7,63.75 -4624,46,30,2.5,111.05,1.7,63.75 -4625,46,30,2.5,111.05,1.7,63.75 -4626,46,30,2.5,111.05,1.7,63.75 -4627,46,30,2.5,111.05,1.7,63.75 -4628,46,30,2.5,111.05,1.7,63.75 -4629,46,30,2.5,111.05,1.7,63.75 -4630,46,30,2.5,111.05,1.7,63.75 -4631,46,30,2.5,111.05,1.7,63.75 -4632,46,30,2.5,111.05,1.7,63.75 -4633,46,30,2.5,111.05,1.7,63.75 -4634,46,30,2.5,111.05,1.7,63.75 -4635,46,30,2.5,111.05,1.7,63.75 -4636,46,30,2.5,111.05,1.7,63.75 -4637,46,30,2.5,111.05,1.7,63.75 -4638,46,30,2.5,111.05,1.7,63.75 -4639,46,30,2.5,111.05,1.7,63.75 -4640,46,30,2.5,111.05,1.7,63.75 -4641,46,30,2.5,111.05,1.7,63.75 -4642,46,30,2.5,111.05,1.7,63.75 -4643,46,30,2.5,111.05,1.7,63.75 -4644,46,30,2.5,111.05,1.7,63.75 -4645,46,30,2.5,111.05,1.7,63.75 -4646,46,30,2.5,111.05,1.7,63.75 -4647,46,30,2.5,111.05,1.7,63.75 -4648,46,30,2.5,111.05,1.7,63.75 -4649,46,30,2.5,111.05,1.7,63.75 -4650,46,30,2.5,111.05,1.7,63.75 -4651,46,30,2.5,111.05,1.7,63.75 -4652,46,30,2.5,111.05,1.7,63.75 -4653,46,30,2.5,111.05,1.7,63.75 -4654,46,30,2.5,111.05,1.7,63.75 -4655,46,30,2.5,111.05,1.7,63.75 -4656,46,30,2.5,111.05,1.7,63.75 -4657,46,30,2.5,111.05,1.7,63.75 -4658,46,30,2.5,111.05,1.7,63.75 -4659,46,30,2.5,111.05,1.7,63.75 -4660,46,30,2.5,111.05,1.7,63.75 -4661,46,30,2.5,111.05,1.7,63.75 -4662,46,30,2.5,111.05,1.7,63.75 -4663,46,30,2.5,111.05,1.7,63.75 -4664,46,30,2.5,111.05,1.7,63.75 -4665,46,30,2.5,111.05,1.7,63.75 -4666,46,30,2.5,111.05,1.7,63.75 -4667,46,30,2.5,111.05,1.7,63.75 -4668,46,30,2.5,111.05,1.7,63.75 -4669,46,30,2.5,111.05,1.7,63.75 -4670,46,30,2.5,111.05,1.7,63.75 -4671,46,30,2.5,111.05,1.7,63.75 -4672,46,30,2.5,111.05,1.7,63.75 -4673,46,30,2.5,111.05,1.7,63.75 -4674,46,30,2.5,111.05,1.7,63.75 -4675,46,30,2.5,111.05,1.7,63.75 -4676,46,30,2.5,111.05,1.7,63.75 -4677,46,30,2.5,111.05,1.7,63.75 -4678,46,30,2.5,111.05,1.7,63.75 -4679,46,30,2.5,111.05,1.7,63.75 -4680,46,30,2.5,111.05,1.7,63.75 -4681,46,30,2.5,111.05,1.7,63.75 -4682,46,30,2.5,111.05,1.7,63.75 -4683,46,30,2.5,111.05,1.7,63.75 -4684,46,30,2.5,111.05,1.7,63.75 -4685,46,30,2.5,111.05,1.7,63.75 -4686,46,30,2.5,111.05,1.7,63.75 -4687,46,30,2.5,111.05,1.7,63.75 -4688,46,30,2.5,111.05,1.7,63.75 -4689,46,30,2.5,111.05,1.7,63.75 -4690,46,30,2.5,111.05,1.7,63.75 -4691,46,30,2.5,111.05,1.7,63.75 -4692,46,30,2.5,111.05,1.7,63.75 -4693,46,30,2.5,111.05,1.7,63.75 -4694,46,30,2.5,111.05,1.7,63.75 -4695,46,30,2.5,111.05,1.7,63.75 -4696,46,30,2.5,111.05,1.7,63.75 -4697,46,30,2.5,111.05,1.7,63.75 -4698,46,30,2.5,111.05,1.7,63.75 -4699,46,30,2.5,111.05,1.7,63.75 -4700,46,30,2.5,111.05,1.7,63.75 -4701,46,30,2.5,111.05,1.7,63.75 -4702,46,30,2.5,111.05,1.7,63.75 -4703,46,30,2.5,111.05,1.7,63.75 -4704,46,30,2.5,111.05,1.7,63.75 -4705,46,30,2.5,111.05,1.7,63.75 -4706,46,30,2.5,111.05,1.7,63.75 -4707,46,30,2.5,111.05,1.7,63.75 -4708,46,30,2.5,111.05,1.7,63.75 -4709,46,30,2.5,111.05,1.7,63.75 -4710,46,30,2.5,111.05,1.7,63.75 -4711,46,30,2.5,111.05,1.7,63.75 -4712,46,30,2.5,111.05,1.7,63.75 -4713,46,30,2.5,111.05,1.7,63.75 -4714,46,30,2.5,111.05,1.7,63.75 -4715,46,30,2.5,111.05,1.7,63.75 -4716,46,30,2.5,111.05,1.7,63.75 -4717,46,30,2.5,111.05,1.7,63.75 -4718,46,30,2.5,111.05,1.7,63.75 -4719,46,30,2.5,111.05,1.7,63.75 -4720,46,30,2.5,111.05,1.7,63.75 -4721,46,30,2.5,111.05,1.7,63.75 -4722,46,30,2.5,111.05,1.7,63.75 -4723,46,30,2.5,111.05,1.7,63.75 -4724,46,30,2.5,111.05,1.7,63.75 -4725,46,30,2.5,111.05,1.7,63.75 -4726,46,30,2.5,111.05,1.7,63.75 -4727,46,30,2.5,111.05,1.7,63.75 -4728,46,30,2.5,111.05,1.7,63.75 -4729,46,30,2.5,111.05,1.7,63.75 -4730,46,30,2.5,111.05,1.7,63.75 -4731,46,30,2.5,111.05,1.7,63.75 -4732,46,30,2.5,111.05,1.7,63.75 -4733,46,30,2.5,111.05,1.7,63.75 -4734,46,30,2.5,111.05,1.7,63.75 -4735,46,30,2.5,111.05,1.7,63.75 -4736,46,30,2.5,111.05,1.7,63.75 -4737,46,30,2.5,111.05,1.7,63.75 -4738,46,30,2.5,111.05,1.7,63.75 -4739,46,30,2.5,111.05,1.7,63.75 -4740,46,30,2.5,111.05,1.7,63.75 -4741,46,30,2.5,111.05,1.7,63.75 -4742,46,30,2.5,111.05,1.7,63.75 -4743,46,30,2.5,111.05,1.7,63.75 -4744,46,30,2.5,111.05,1.7,63.75 -4745,46,30,2.5,111.05,1.7,63.75 -4746,46,30,2.5,111.05,1.7,63.75 -4747,46,30,2.5,111.05,1.7,63.75 -4748,46,30,2.5,111.05,1.7,63.75 -4749,46,30,2.5,111.05,1.7,63.75 -4750,46,30,2.5,111.05,1.7,63.75 -4751,46,30,2.5,111.05,1.7,63.75 -4752,46,30,2.5,111.05,1.7,63.75 -4753,46,30,2.5,111.05,1.7,63.75 -4754,46,30,2.5,111.05,1.7,63.75 -4755,46,30,2.5,111.05,1.7,63.75 -4756,46,30,2.5,111.05,1.7,63.75 -4757,46,30,2.5,111.05,1.7,63.75 -4758,46,30,2.5,111.05,1.7,63.75 -4759,46,30,2.5,111.05,1.7,63.75 -4760,46,30,2.5,111.05,1.7,63.75 -4761,46,30,2.5,111.05,1.7,63.75 -4762,46,30,2.5,111.05,1.7,63.75 -4763,46,30,2.5,111.05,1.7,63.75 -4764,46,30,2.5,111.05,1.7,63.75 -4765,46,30,2.5,111.05,1.7,63.75 -4766,46,30,2.5,111.05,1.7,63.75 -4767,46,30,2.5,111.05,1.7,63.75 -4768,46,30,2.5,111.05,1.7,63.75 -4769,46,30,2.5,111.05,1.7,63.75 -4770,46,30,2.5,111.05,1.7,63.75 -4771,46,30,2.5,111.05,1.7,63.75 -4772,46,30,2.5,111.05,1.7,63.75 -4773,46,30,2.5,111.05,1.7,63.75 -4774,46,30,2.5,111.05,1.7,63.75 -4775,46,30,2.5,111.05,1.7,63.75 -4776,46,30,2.5,111.05,1.7,63.75 -4777,46,30,2.5,111.05,1.7,63.75 -4778,46,30,2.5,111.05,1.7,63.75 -4779,46,30,2.5,111.05,1.7,63.75 -4780,46,30,2.5,111.05,1.7,63.75 -4781,46,30,2.5,111.05,1.7,63.75 -4782,46,30,2.5,111.05,1.7,63.75 -4783,46,30,2.5,111.05,1.7,63.75 -4784,46,30,2.5,111.05,1.7,63.75 -4785,46,30,2.5,111.05,1.7,63.75 -4786,46,30,2.5,111.05,1.7,63.75 -4787,46,30,2.5,111.05,1.7,63.75 -4788,46,30,2.5,111.05,1.7,63.75 -4789,46,30,2.5,111.05,1.7,63.75 -4790,46,30,2.5,111.05,1.7,63.75 -4791,46,30,2.5,111.05,1.7,63.75 -4792,46,30,2.5,111.05,1.7,63.75 -4793,46,30,2.5,111.05,1.7,63.75 -4794,46,30,2.5,111.05,1.7,63.75 -4795,46,30,2.5,111.05,1.7,63.75 -4796,46,30,2.5,111.05,1.7,63.75 -4797,46,30,2.5,111.05,1.7,63.75 -4798,46,30,2.5,111.05,1.7,63.75 -4799,46,30,2.5,111.05,1.7,63.75 -4800,46,30,2.5,111.05,1.7,63.75 -4801,46,30,2.5,111.05,1.7,63.75 -4802,46,30,2.5,111.05,1.7,63.75 -4803,46,30,2.5,111.05,1.7,63.75 -4804,46,30,2.5,111.05,1.7,63.75 -4805,46,30,2.5,111.05,1.7,63.75 -4806,46,30,2.5,111.05,1.7,63.75 -4807,46,30,2.5,111.05,1.7,63.75 -4808,46,30,2.5,111.05,1.7,63.75 -4809,46,30,2.5,111.05,1.7,63.75 -4810,46,30,2.5,111.05,1.7,63.75 -4811,46,30,2.5,111.05,1.7,63.75 -4812,46,30,2.5,111.05,1.7,63.75 -4813,46,30,2.5,111.05,1.7,63.75 -4814,46,30,2.5,111.05,1.7,63.75 -4815,46,30,2.5,111.05,1.7,63.75 -4816,46,30,2.5,111.05,1.7,63.75 -4817,46,30,2.5,111.05,1.7,63.75 -4818,46,30,2.5,111.05,1.7,63.75 -4819,46,30,2.5,111.05,1.7,63.75 -4820,46,30,2.5,111.05,1.7,63.75 -4821,46,30,2.5,111.05,1.7,63.75 -4822,46,30,2.5,111.05,1.7,63.75 -4823,46,30,2.5,111.05,1.7,63.75 -4824,46,30,2.5,111.05,1.7,63.75 -4825,46,30,2.5,111.05,1.7,63.75 -4826,46,30,2.5,111.05,1.7,63.75 -4827,46,30,2.5,111.05,1.7,63.75 -4828,46,30,2.5,111.05,1.7,63.75 -4829,46,30,2.5,111.05,1.7,63.75 -4830,46,30,2.5,111.05,1.7,63.75 -4831,46,30,2.5,111.05,1.7,63.75 -4832,46,30,2.5,111.05,1.7,63.75 -4833,46,30,2.5,111.05,1.7,63.75 -4834,46,30,2.5,111.05,1.7,63.75 -4835,46,30,2.5,111.05,1.7,63.75 -4836,46,30,2.5,111.05,1.7,63.75 -4837,46,30,2.5,111.05,1.7,63.75 -4838,46,30,2.5,111.05,1.7,63.75 -4839,46,30,2.5,111.05,1.7,63.75 -4840,46,30,2.5,111.05,1.7,63.75 -4841,46,30,2.5,111.05,1.7,63.75 -4842,46,30,2.5,111.05,1.7,63.75 -4843,46,30,2.5,111.05,1.7,63.75 -4844,46,30,2.5,111.05,1.7,63.75 -4845,46,30,2.5,111.05,1.7,63.75 -4846,46,30,2.5,111.05,1.7,63.75 -4847,46,30,2.5,111.05,1.7,63.75 -4848,46,30,2.5,111.05,1.7,63.75 -4849,46,30,2.5,111.05,1.7,63.75 -4850,46,30,2.5,111.05,1.7,63.75 -4851,46,30,2.5,111.05,1.7,63.75 -4852,46,30,2.5,111.05,1.7,63.75 -4853,46,30,2.5,111.05,1.7,63.75 -4854,46,30,2.5,111.05,1.7,63.75 -4855,46,30,2.5,111.05,1.7,63.75 -4856,46,30,2.5,111.05,1.7,63.75 -4857,46,30,2.5,111.05,1.7,63.75 -4858,46,30,2.5,111.05,1.7,63.75 -4859,46,30,2.5,111.05,1.7,63.75 -4860,46,30,2.5,111.05,1.7,63.75 -4861,46,30,2.5,111.05,1.7,63.75 -4862,46,30,2.5,111.05,1.7,63.75 -4863,46,30,2.5,111.05,1.7,63.75 -4864,46,30,2.5,111.05,1.7,63.75 -4865,46,30,2.5,111.05,1.7,63.75 -4866,46,30,2.5,111.05,1.7,63.75 -4867,46,30,2.5,111.05,1.7,63.75 -4868,46,30,2.5,111.05,1.7,63.75 -4869,46,30,2.5,111.05,1.7,63.75 -4870,46,30,2.5,111.05,1.7,63.75 -4871,46,30,2.5,111.05,1.7,63.75 -4872,46,30,2.5,111.05,1.7,63.75 -4873,46,30,2.5,111.05,1.7,63.75 -4874,46,30,2.5,111.05,1.7,63.75 -4875,46,30,2.5,111.05,1.7,63.75 -4876,46,30,2.5,111.05,1.7,63.75 -4877,46,30,2.5,111.05,1.7,63.75 -4878,46,30,2.5,111.05,1.7,63.75 -4879,46,30,2.5,111.05,1.7,63.75 -4880,46,30,2.5,111.05,1.7,63.75 -4881,46,30,2.5,111.05,1.7,63.75 -4882,46,30,2.5,111.05,1.7,63.75 -4883,46,30,2.5,111.05,1.7,63.75 -4884,46,30,2.5,111.05,1.7,63.75 -4885,46,30,2.5,111.05,1.7,63.75 -4886,46,30,2.5,111.05,1.7,63.75 -4887,46,30,2.5,111.05,1.7,63.75 -4888,46,30,2.5,111.05,1.7,63.75 -4889,46,30,2.5,111.05,1.7,63.75 -4890,46,30,2.5,111.05,1.7,63.75 -4891,46,30,2.5,111.05,1.7,63.75 -4892,46,30,2.5,111.05,1.7,63.75 -4893,46,30,2.5,111.05,1.7,63.75 -4894,46,30,2.5,111.05,1.7,63.75 -4895,46,30,2.5,111.05,1.7,63.75 -4896,46,30,2.5,111.05,1.7,63.75 -4897,46,30,2.5,111.05,1.7,63.75 -4898,46,30,2.5,111.05,1.7,63.75 -4899,46,30,2.5,111.05,1.7,63.75 -4900,46,30,2.5,111.05,1.7,63.75 -4901,46,30,2.5,111.05,1.7,63.75 -4902,46,30,2.5,111.05,1.7,63.75 -4903,46,30,2.5,111.05,1.7,63.75 -4904,46,30,2.5,111.05,1.7,63.75 -4905,46,30,2.5,111.05,1.7,63.75 -4906,46,30,2.5,111.05,1.7,63.75 -4907,46,30,2.5,111.05,1.7,63.75 -4908,46,30,2.5,111.05,1.7,63.75 -4909,46,30,2.5,111.05,1.7,63.75 -4910,46,30,2.5,111.05,1.7,63.75 -4911,46,30,2.5,111.05,1.7,63.75 -4912,46,30,2.5,111.05,1.7,63.75 -4913,46,30,2.5,111.05,1.7,63.75 -4914,46,30,2.5,111.05,1.7,63.75 -4915,46,30,2.5,111.05,1.7,63.75 -4916,46,30,2.5,111.05,1.7,63.75 -4917,46,30,2.5,111.05,1.7,63.75 -4918,46,30,2.5,111.05,1.7,63.75 -4919,46,30,2.5,111.05,1.7,63.75 -4920,46,30,2.5,111.05,1.7,63.75 -4921,46,30,2.5,111.05,1.7,63.75 -4922,46,30,2.5,111.05,1.7,63.75 -4923,46,30,2.5,111.05,1.7,63.75 -4924,46,30,2.5,111.05,1.7,63.75 -4925,46,30,2.5,111.05,1.7,63.75 -4926,46,30,2.5,111.05,1.7,63.75 -4927,46,30,2.5,111.05,1.7,63.75 -4928,46,30,2.5,111.05,1.7,63.75 -4929,46,30,2.5,111.05,1.7,63.75 -4930,46,30,2.5,111.05,1.7,63.75 -4931,46,30,2.5,111.05,1.7,63.75 -4932,46,30,2.5,111.05,1.7,63.75 -4933,46,30,2.5,111.05,1.7,63.75 -4934,46,30,2.5,111.05,1.7,63.75 -4935,46,30,2.5,111.05,1.7,63.75 -4936,46,30,2.5,111.05,1.7,63.75 -4937,46,30,2.5,111.05,1.7,63.75 -4938,46,30,2.5,111.05,1.7,63.75 -4939,46,30,2.5,111.05,1.7,63.75 -4940,46,30,2.5,111.05,1.7,63.75 -4941,46,30,2.5,111.05,1.7,63.75 -4942,46,30,2.5,111.05,1.7,63.75 -4943,46,30,2.5,111.05,1.7,63.75 -4944,46,30,2.5,111.05,1.7,63.75 -4945,46,30,2.5,111.05,1.7,63.75 -4946,46,30,2.5,111.05,1.7,63.75 -4947,46,30,2.5,111.05,1.7,63.75 -4948,46,30,2.5,111.05,1.7,63.75 -4949,46,30,2.5,111.05,1.7,63.75 -4950,46,30,2.5,111.05,1.7,63.75 -4951,46,30,2.5,111.05,1.7,63.75 -4952,46,30,2.5,111.05,1.7,63.75 -4953,46,30,2.5,111.05,1.7,63.75 -4954,46,30,2.5,111.05,1.7,63.75 -4955,46,30,2.5,111.05,1.7,63.75 -4956,46,30,2.5,111.05,1.7,63.75 -4957,46,30,2.5,111.05,1.7,63.75 -4958,46,30,2.5,111.05,1.7,63.75 -4959,46,30,2.5,111.05,1.7,63.75 -4960,46,30,2.5,111.05,1.7,63.75 -4961,46,30,2.5,111.05,1.7,63.75 -4962,46,30,2.5,111.05,1.7,63.75 -4963,46,30,2.5,111.05,1.7,63.75 -4964,46,30,2.5,111.05,1.7,63.75 -4965,46,30,2.5,111.05,1.7,63.75 -4966,46,30,2.5,111.05,1.7,63.75 -4967,46,30,2.5,111.05,1.7,63.75 -4968,46,30,2.5,111.05,1.7,63.75 -4969,46,30,2.5,111.05,1.7,63.75 -4970,46,30,2.5,111.05,1.7,63.75 -4971,46,30,2.5,111.05,1.7,63.75 -4972,46,30,2.5,111.05,1.7,63.75 -4973,46,30,2.5,111.05,1.7,63.75 -4974,46,30,2.5,111.05,1.7,63.75 -4975,46,30,2.5,111.05,1.7,63.75 -4976,46,30,2.5,111.05,1.7,63.75 -4977,46,30,2.5,111.05,1.7,63.75 -4978,46,30,2.5,111.05,1.7,63.75 -4979,46,30,2.5,111.05,1.7,63.75 -4980,46,30,2.5,111.05,1.7,63.75 -4981,46,30,2.5,111.05,1.7,63.75 -4982,46,30,2.5,111.05,1.7,63.75 -4983,46,30,2.5,111.05,1.7,63.75 -4984,46,30,2.5,111.05,1.7,63.75 -4985,46,30,2.5,111.05,1.7,63.75 -4986,46,30,2.5,111.05,1.7,63.75 -4987,46,30,2.5,111.05,1.7,63.75 -4988,46,30,2.5,111.05,1.7,63.75 -4989,46,30,2.5,111.05,1.7,63.75 -4990,46,30,2.5,111.05,1.7,63.75 -4991,46,30,2.5,111.05,1.7,63.75 -4992,46,30,2.5,111.05,1.7,63.75 -4993,46,30,2.5,111.05,1.7,63.75 -4994,46,30,2.5,111.05,1.7,63.75 -4995,46,30,2.5,111.05,1.7,63.75 -4996,46,30,2.5,111.05,1.7,63.75 -4997,46,30,2.5,111.05,1.7,63.75 -4998,46,30,2.5,111.05,1.7,63.75 -4999,46,30,2.5,111.05,1.7,63.75 -5000,46,30,2.5,111.05,1.7,63.75 -5001,46,30,2.5,111.05,1.7,63.75 -5002,46,30,2.5,111.05,1.7,63.75 -5003,46,30,2.5,111.05,1.7,63.75 -5004,46,30,2.5,111.05,1.7,63.75 -5005,46,30,2.5,111.05,1.7,63.75 -5006,46,30,2.5,111.05,1.7,63.75 -5007,46,30,2.5,111.05,1.7,63.75 -5008,46,30,2.5,111.05,1.7,63.75 -5009,46,30,2.5,111.05,1.7,63.75 -5010,46,30,2.5,111.05,1.7,63.75 -5011,46,30,2.5,111.05,1.7,63.75 -5012,46,30,2.5,111.05,1.7,63.75 -5013,46,30,2.5,111.05,1.7,63.75 -5014,46,30,2.5,111.05,1.7,63.75 -5015,46,30,2.5,111.05,1.7,63.75 -5016,46,30,2.5,111.05,1.7,63.75 -5017,46,30,2.5,111.05,1.7,63.75 -5018,46,30,2.5,111.05,1.7,63.75 -5019,46,30,2.5,111.05,1.7,63.75 -5020,46,30,2.5,111.05,1.7,63.75 -5021,46,30,2.5,111.05,1.7,63.75 -5022,46,30,2.5,111.05,1.7,63.75 -5023,46,30,2.5,111.05,1.7,63.75 -5024,46,30,2.5,111.05,1.7,63.75 -5025,46,30,2.5,111.05,1.7,63.75 -5026,46,30,2.5,111.05,1.7,63.75 -5027,46,30,2.5,111.05,1.7,63.75 -5028,46,30,2.5,111.05,1.7,63.75 -5029,46,30,2.5,111.05,1.7,63.75 -5030,46,30,2.5,111.05,1.7,63.75 -5031,46,30,2.5,111.05,1.7,63.75 -5032,46,30,2.5,111.05,1.7,63.75 -5033,46,30,2.5,111.05,1.7,63.75 -5034,46,30,2.5,111.05,1.7,63.75 -5035,46,30,2.5,111.05,1.7,63.75 -5036,46,30,2.5,111.05,1.7,63.75 -5037,46,30,2.5,111.05,1.7,63.75 -5038,46,30,2.5,111.05,1.7,63.75 -5039,46,30,2.5,111.05,1.7,63.75 -5040,46,30,2.5,111.05,1.7,63.75 -5041,46,30,2.5,111.05,1.7,63.75 -5042,46,30,2.5,111.05,1.7,63.75 -5043,46,30,2.5,111.05,1.7,63.75 -5044,46,30,2.5,111.05,1.7,63.75 -5045,46,30,2.5,111.05,1.7,63.75 -5046,46,30,2.5,111.05,1.7,63.75 -5047,46,30,2.5,111.05,1.7,63.75 -5048,46,30,2.5,111.05,1.7,63.75 -5049,46,30,2.5,111.05,1.7,63.75 -5050,46,30,2.5,111.05,1.7,63.75 -5051,46,30,2.5,111.05,1.7,63.75 -5052,46,30,2.5,111.05,1.7,63.75 -5053,46,30,2.5,111.05,1.7,63.75 -5054,46,30,2.5,111.05,1.7,63.75 -5055,46,30,2.5,111.05,1.7,63.75 -5056,46,30,2.5,111.05,1.7,63.75 -5057,46,30,2.5,111.05,1.7,63.75 -5058,46,30,2.5,111.05,1.7,63.75 -5059,46,30,2.5,111.05,1.7,63.75 -5060,46,30,2.5,111.05,1.7,63.75 -5061,46,30,2.5,111.05,1.7,63.75 -5062,46,30,2.5,111.05,1.7,63.75 -5063,46,30,2.5,111.05,1.7,63.75 -5064,46,30,2.5,111.05,1.7,63.75 -5065,46,30,2.5,111.05,1.7,63.75 -5066,46,30,2.5,111.05,1.7,63.75 -5067,46,30,2.5,111.05,1.7,63.75 -5068,46,30,2.5,111.05,1.7,63.75 -5069,46,30,2.5,111.05,1.7,63.75 -5070,46,30,2.5,111.05,1.7,63.75 -5071,46,30,2.5,111.05,1.7,63.75 -5072,46,30,2.5,111.05,1.7,63.75 -5073,46,30,2.5,111.05,1.7,63.75 -5074,46,30,2.5,111.05,1.7,63.75 -5075,46,30,2.5,111.05,1.7,63.75 -5076,46,30,2.5,111.05,1.7,63.75 -5077,46,30,2.5,111.05,1.7,63.75 -5078,46,30,2.5,111.05,1.7,63.75 -5079,46,30,2.5,111.05,1.7,63.75 -5080,46,30,2.5,111.05,1.7,63.75 -5081,46,30,2.5,111.05,1.7,63.75 -5082,46,30,2.5,111.05,1.7,63.75 -5083,46,30,2.5,111.05,1.7,63.75 -5084,46,30,2.5,111.05,1.7,63.75 -5085,46,30,2.5,111.05,1.7,63.75 -5086,46,30,2.5,111.05,1.7,63.75 -5087,46,30,2.5,111.05,1.7,63.75 -5088,46,30,2.5,111.05,1.7,63.75 -5089,46,30,2.5,111.05,1.7,63.75 -5090,46,30,2.5,111.05,1.7,63.75 -5091,46,30,2.5,111.05,1.7,63.75 -5092,46,30,2.5,111.05,1.7,63.75 -5093,46,30,2.5,111.05,1.7,63.75 -5094,46,30,2.5,111.05,1.7,63.75 -5095,46,30,2.5,111.05,1.7,63.75 -5096,46,30,2.5,111.05,1.7,63.75 -5097,46,30,2.5,111.05,1.7,63.75 -5098,46,30,2.5,111.05,1.7,63.75 -5099,46,30,2.5,111.05,1.7,63.75 -5100,46,30,2.5,111.05,1.7,63.75 -5101,46,30,2.5,111.05,1.7,63.75 -5102,46,30,2.5,111.05,1.7,63.75 -5103,46,30,2.5,111.05,1.7,63.75 -5104,46,30,2.5,111.05,1.7,63.75 -5105,46,30,2.5,111.05,1.7,63.75 -5106,46,30,2.5,111.05,1.7,63.75 -5107,46,30,2.5,111.05,1.7,63.75 -5108,46,30,2.5,111.05,1.7,63.75 -5109,46,30,2.5,111.05,1.7,63.75 -5110,46,30,2.5,111.05,1.7,63.75 -5111,46,30,2.5,111.05,1.7,63.75 -5112,46,30,2.5,111.05,1.7,63.75 -5113,46,30,2.5,111.05,1.7,63.75 -5114,46,30,2.5,111.05,1.7,63.75 -5115,46,30,2.5,111.05,1.7,63.75 -5116,46,30,2.5,111.05,1.7,63.75 -5117,46,30,2.5,111.05,1.7,63.75 -5118,46,30,2.5,111.05,1.7,63.75 -5119,46,30,2.5,111.05,1.7,63.75 -5120,46,30,2.5,111.05,1.7,63.75 -5121,46,30,2.5,111.05,1.7,63.75 -5122,46,30,2.5,111.05,1.7,63.75 -5123,46,30,2.5,111.05,1.7,63.75 -5124,46,30,2.5,111.05,1.7,63.75 -5125,46,30,2.5,111.05,1.7,63.75 -5126,46,30,2.5,111.05,1.7,63.75 -5127,46,30,2.5,111.05,1.7,63.75 -5128,46,30,2.5,111.05,1.7,63.75 -5129,46,30,2.5,111.05,1.7,63.75 -5130,46,30,2.5,111.05,1.7,63.75 -5131,46,30,2.5,111.05,1.7,63.75 -5132,46,30,2.5,111.05,1.7,63.75 -5133,46,30,2.5,111.05,1.7,63.75 -5134,46,30,2.5,111.05,1.7,63.75 -5135,46,30,2.5,111.05,1.7,63.75 -5136,46,30,2.5,111.05,1.7,63.75 -5137,46,30,2.5,111.05,1.7,63.75 -5138,46,30,2.5,111.05,1.7,63.75 -5139,46,30,2.5,111.05,1.7,63.75 -5140,46,30,2.5,111.05,1.7,63.75 -5141,46,30,2.5,111.05,1.7,63.75 -5142,46,30,2.5,111.05,1.7,63.75 -5143,46,30,2.5,111.05,1.7,63.75 -5144,46,30,2.5,111.05,1.7,63.75 -5145,46,30,2.5,111.05,1.7,63.75 -5146,46,30,2.5,111.05,1.7,63.75 -5147,46,30,2.5,111.05,1.7,63.75 -5148,46,30,2.5,111.05,1.7,63.75 -5149,46,30,2.5,111.05,1.7,63.75 -5150,46,30,2.5,111.05,1.7,63.75 -5151,46,30,2.5,111.05,1.7,63.75 -5152,46,30,2.5,111.05,1.7,63.75 -5153,46,30,2.5,111.05,1.7,63.75 -5154,46,30,2.5,111.05,1.7,63.75 -5155,46,30,2.5,111.05,1.7,63.75 -5156,46,30,2.5,111.05,1.7,63.75 -5157,46,30,2.5,111.05,1.7,63.75 -5158,46,30,2.5,111.05,1.7,63.75 -5159,46,30,2.5,111.05,1.7,63.75 -5160,46,30,2.5,111.05,1.7,63.75 -5161,46,30,2.5,111.05,1.7,63.75 -5162,46,30,2.5,111.05,1.7,63.75 -5163,46,30,2.5,111.05,1.7,63.75 -5164,46,30,2.5,111.05,1.7,63.75 -5165,46,30,2.5,111.05,1.7,63.75 -5166,46,30,2.5,111.05,1.7,63.75 -5167,46,30,2.5,111.05,1.7,63.75 -5168,46,30,2.5,111.05,1.7,63.75 -5169,46,30,2.5,111.05,1.7,63.75 -5170,46,30,2.5,111.05,1.7,63.75 -5171,46,30,2.5,111.05,1.7,63.75 -5172,46,30,2.5,111.05,1.7,63.75 -5173,46,30,2.5,111.05,1.7,63.75 -5174,46,30,2.5,111.05,1.7,63.75 -5175,46,30,2.5,111.05,1.7,63.75 -5176,46,30,2.5,111.05,1.7,63.75 -5177,46,30,2.5,111.05,1.7,63.75 -5178,46,30,2.5,111.05,1.7,63.75 -5179,46,30,2.5,111.05,1.7,63.75 -5180,46,30,2.5,111.05,1.7,63.75 -5181,46,30,2.5,111.05,1.7,63.75 -5182,46,30,2.5,111.05,1.7,63.75 -5183,46,30,2.5,111.05,1.7,63.75 -5184,46,30,2.5,111.05,1.7,63.75 -5185,46,30,2.5,111.05,1.7,63.75 -5186,46,30,2.5,111.05,1.7,63.75 -5187,46,30,2.5,111.05,1.7,63.75 -5188,46,30,2.5,111.05,1.7,63.75 -5189,46,30,2.5,111.05,1.7,63.75 -5190,46,30,2.5,111.05,1.7,63.75 -5191,46,30,2.5,111.05,1.7,63.75 -5192,46,30,2.5,111.05,1.7,63.75 -5193,46,30,2.5,111.05,1.7,63.75 -5194,46,30,2.5,111.05,1.7,63.75 -5195,46,30,2.5,111.05,1.7,63.75 -5196,46,30,2.5,111.05,1.7,63.75 -5197,46,30,2.5,111.05,1.7,63.75 -5198,46,30,2.5,111.05,1.7,63.75 -5199,46,30,2.5,111.05,1.7,63.75 -5200,46,30,2.5,111.05,1.7,63.75 -5201,46,30,2.5,111.05,1.7,63.75 -5202,46,30,2.5,111.05,1.7,63.75 -5203,46,30,2.5,111.05,1.7,63.75 -5204,46,30,2.5,111.05,1.7,63.75 -5205,46,30,2.5,111.05,1.7,63.75 -5206,46,30,2.5,111.05,1.7,63.75 -5207,46,30,2.5,111.05,1.7,63.75 -5208,46,30,2.5,111.05,1.7,63.75 -5209,46,30,2.5,111.05,1.7,63.75 -5210,46,30,2.5,111.05,1.7,63.75 -5211,46,30,2.5,111.05,1.7,63.75 -5212,46,30,2.5,111.05,1.7,63.75 -5213,46,30,2.5,111.05,1.7,63.75 -5214,46,30,2.5,111.05,1.7,63.75 -5215,46,30,2.5,111.05,1.7,63.75 -5216,46,30,2.5,111.05,1.7,63.75 -5217,46,30,2.5,111.05,1.7,63.75 -5218,46,30,2.5,111.05,1.7,63.75 -5219,46,30,2.5,111.05,1.7,63.75 -5220,46,30,2.5,111.05,1.7,63.75 -5221,46,30,2.5,111.05,1.7,63.75 -5222,46,30,2.5,111.05,1.7,63.75 -5223,46,30,2.5,111.05,1.7,63.75 -5224,46,30,2.5,111.05,1.7,63.75 -5225,46,30,2.5,111.05,1.7,63.75 -5226,46,30,2.5,111.05,1.7,63.75 -5227,46,30,2.5,111.05,1.7,63.75 -5228,46,30,2.5,111.05,1.7,63.75 -5229,46,30,2.5,111.05,1.7,63.75 -5230,46,30,2.5,111.05,1.7,63.75 -5231,46,30,2.5,111.05,1.7,63.75 -5232,46,30,2.5,111.05,1.7,63.75 -5233,46,30,2.5,111.05,1.7,63.75 -5234,46,30,2.5,111.05,1.7,63.75 -5235,46,30,2.5,111.05,1.7,63.75 -5236,46,30,2.5,111.05,1.7,63.75 -5237,46,30,2.5,111.05,1.7,63.75 -5238,46,30,2.5,111.05,1.7,63.75 -5239,46,30,2.5,111.05,1.7,63.75 -5240,46,30,2.5,111.05,1.7,63.75 -5241,46,30,2.5,111.05,1.7,63.75 -5242,46,30,2.5,111.05,1.7,63.75 -5243,46,30,2.5,111.05,1.7,63.75 -5244,46,30,2.5,111.05,1.7,63.75 -5245,46,30,2.5,111.05,1.7,63.75 -5246,46,30,2.5,111.05,1.7,63.75 -5247,46,30,2.5,111.05,1.7,63.75 -5248,46,30,2.5,111.05,1.7,63.75 -5249,46,30,2.5,111.05,1.7,63.75 -5250,46,30,2.5,111.05,1.7,63.75 -5251,46,30,2.5,111.05,1.7,63.75 -5252,46,30,2.5,111.05,1.7,63.75 -5253,46,30,2.5,111.05,1.7,63.75 -5254,46,30,2.5,111.05,1.7,63.75 -5255,46,30,2.5,111.05,1.7,63.75 -5256,46,30,2.5,111.05,1.7,63.75 -5257,46,30,2.5,111.05,1.7,63.75 -5258,46,30,2.5,111.05,1.7,63.75 -5259,46,30,2.5,111.05,1.7,63.75 -5260,46,30,2.5,111.05,1.7,63.75 -5261,46,30,2.5,111.05,1.7,63.75 -5262,46,30,2.5,111.05,1.7,63.75 -5263,46,30,2.5,111.05,1.7,63.75 -5264,46,30,2.5,111.05,1.7,63.75 -5265,46,30,2.5,111.05,1.7,63.75 -5266,46,30,2.5,111.05,1.7,63.75 -5267,46,30,2.5,111.05,1.7,63.75 -5268,46,30,2.5,111.05,1.7,63.75 -5269,46,30,2.5,111.05,1.7,63.75 -5270,46,30,2.5,111.05,1.7,63.75 -5271,46,30,2.5,111.05,1.7,63.75 -5272,46,30,2.5,111.05,1.7,63.75 -5273,46,30,2.5,111.05,1.7,63.75 -5274,46,30,2.5,111.05,1.7,63.75 -5275,46,30,2.5,111.05,1.7,63.75 -5276,46,30,2.5,111.05,1.7,63.75 -5277,46,30,2.5,111.05,1.7,63.75 -5278,46,30,2.5,111.05,1.7,63.75 -5279,46,30,2.5,111.05,1.7,63.75 -5280,46,30,2.5,111.05,1.7,63.75 -5281,46,30,2.5,111.05,1.7,63.75 -5282,46,30,2.5,111.05,1.7,63.75 -5283,46,30,2.5,111.05,1.7,63.75 -5284,46,30,2.5,111.05,1.7,63.75 -5285,46,30,2.5,111.05,1.7,63.75 -5286,46,30,2.5,111.05,1.7,63.75 -5287,46,30,2.5,111.05,1.7,63.75 -5288,46,30,2.5,111.05,1.7,63.75 -5289,46,30,2.5,111.05,1.7,63.75 -5290,46,30,2.5,111.05,1.7,63.75 -5291,46,30,2.5,111.05,1.7,63.75 -5292,46,30,2.5,111.05,1.7,63.75 -5293,46,30,2.5,111.05,1.7,63.75 -5294,46,30,2.5,111.05,1.7,63.75 -5295,46,30,2.5,111.05,1.7,63.75 -5296,46,30,2.5,111.05,1.7,63.75 -5297,46,30,2.5,111.05,1.7,63.75 -5298,46,30,2.5,111.05,1.7,63.75 -5299,46,30,2.5,111.05,1.7,63.75 -5300,46,30,2.5,111.05,1.7,63.75 -5301,46,30,2.5,111.05,1.7,63.75 -5302,46,30,2.5,111.05,1.7,63.75 -5303,46,30,2.5,111.05,1.7,63.75 -5304,46,30,2.5,111.05,1.7,63.75 -5305,46,30,2.5,111.05,1.7,63.75 -5306,46,30,2.5,111.05,1.7,63.75 -5307,46,30,2.5,111.05,1.7,63.75 -5308,46,30,2.5,111.05,1.7,63.75 -5309,46,30,2.5,111.05,1.7,63.75 -5310,46,30,2.5,111.05,1.7,63.75 -5311,46,30,2.5,111.05,1.7,63.75 -5312,46,30,2.5,111.05,1.7,63.75 -5313,46,30,2.5,111.05,1.7,63.75 -5314,46,30,2.5,111.05,1.7,63.75 -5315,46,30,2.5,111.05,1.7,63.75 -5316,46,30,2.5,111.05,1.7,63.75 -5317,46,30,2.5,111.05,1.7,63.75 -5318,46,30,2.5,111.05,1.7,63.75 -5319,46,30,2.5,111.05,1.7,63.75 -5320,46,30,2.5,111.05,1.7,63.75 -5321,46,30,2.5,111.05,1.7,63.75 -5322,46,30,2.5,111.05,1.7,63.75 -5323,46,30,2.5,111.05,1.7,63.75 -5324,46,30,2.5,111.05,1.7,63.75 -5325,46,30,2.5,111.05,1.7,63.75 -5326,46,30,2.5,111.05,1.7,63.75 -5327,46,30,2.5,111.05,1.7,63.75 -5328,46,30,2.5,111.05,1.7,63.75 -5329,46,30,2.5,111.05,1.7,63.75 -5330,46,30,2.5,111.05,1.7,63.75 -5331,46,30,2.5,111.05,1.7,63.75 -5332,46,30,2.5,111.05,1.7,63.75 -5333,46,30,2.5,111.05,1.7,63.75 -5334,46,30,2.5,111.05,1.7,63.75 -5335,46,30,2.5,111.05,1.7,63.75 -5336,46,30,2.5,111.05,1.7,63.75 -5337,46,30,2.5,111.05,1.7,63.75 -5338,46,30,2.5,111.05,1.7,63.75 -5339,46,30,2.5,111.05,1.7,63.75 -5340,46,30,2.5,111.05,1.7,63.75 -5341,46,30,2.5,111.05,1.7,63.75 -5342,46,30,2.5,111.05,1.7,63.75 -5343,46,30,2.5,111.05,1.7,63.75 -5344,46,30,2.5,111.05,1.7,63.75 -5345,46,30,2.5,111.05,1.7,63.75 -5346,46,30,2.5,111.05,1.7,63.75 -5347,46,30,2.5,111.05,1.7,63.75 -5348,46,30,2.5,111.05,1.7,63.75 -5349,46,30,2.5,111.05,1.7,63.75 -5350,46,30,2.5,111.05,1.7,63.75 -5351,46,30,2.5,111.05,1.7,63.75 -5352,46,30,2.5,111.05,1.7,63.75 -5353,46,30,2.5,111.05,1.7,63.75 -5354,46,30,2.5,111.05,1.7,63.75 -5355,46,30,2.5,111.05,1.7,63.75 -5356,46,30,2.5,111.05,1.7,63.75 -5357,46,30,2.5,111.05,1.7,63.75 -5358,46,30,2.5,111.05,1.7,63.75 -5359,46,30,2.5,111.05,1.7,63.75 -5360,46,30,2.5,111.05,1.7,63.75 -5361,46,30,2.5,111.05,1.7,63.75 -5362,46,30,2.5,111.05,1.7,63.75 -5363,46,30,2.5,111.05,1.7,63.75 -5364,46,30,2.5,111.05,1.7,63.75 -5365,46,30,2.5,111.05,1.7,63.75 -5366,46,30,2.5,111.05,1.7,63.75 -5367,46,30,2.5,111.05,1.7,63.75 -5368,46,30,2.5,111.05,1.7,63.75 -5369,46,30,2.5,111.05,1.7,63.75 -5370,46,30,2.5,111.05,1.7,63.75 -5371,46,30,2.5,111.05,1.7,63.75 -5372,46,30,2.5,111.05,1.7,63.75 -5373,46,30,2.5,111.05,1.7,63.75 -5374,46,30,2.5,111.05,1.7,63.75 -5375,46,30,2.5,111.05,1.7,63.75 -5376,46,30,2.5,111.05,1.7,63.75 -5377,46,30,2.5,111.05,1.7,63.75 -5378,46,30,2.5,111.05,1.7,63.75 -5379,46,30,2.5,111.05,1.7,63.75 -5380,46,30,2.5,111.05,1.7,63.75 -5381,46,30,2.5,111.05,1.7,63.75 -5382,46,30,2.5,111.05,1.7,63.75 -5383,46,30,2.5,111.05,1.7,63.75 -5384,46,30,2.5,111.05,1.7,63.75 -5385,46,30,2.5,111.05,1.7,63.75 -5386,46,30,2.5,111.05,1.7,63.75 -5387,46,30,2.5,111.05,1.7,63.75 -5388,46,30,2.5,111.05,1.7,63.75 -5389,46,30,2.5,111.05,1.7,63.75 -5390,46,30,2.5,111.05,1.7,63.75 -5391,46,30,2.5,111.05,1.7,63.75 -5392,46,30,2.5,111.05,1.7,63.75 -5393,46,30,2.5,111.05,1.7,63.75 -5394,46,30,2.5,111.05,1.7,63.75 -5395,46,30,2.5,111.05,1.7,63.75 -5396,46,30,2.5,111.05,1.7,63.75 -5397,46,30,2.5,111.05,1.7,63.75 -5398,46,30,2.5,111.05,1.7,63.75 -5399,46,30,2.5,111.05,1.7,63.75 -5400,46,30,2.5,111.05,1.7,63.75 -5401,46,30,2.5,111.05,1.7,63.75 -5402,46,30,2.5,111.05,1.7,63.75 -5403,46,30,2.5,111.05,1.7,63.75 -5404,46,30,2.5,111.05,1.7,63.75 -5405,46,30,2.5,111.05,1.7,63.75 -5406,46,30,2.5,111.05,1.7,63.75 -5407,46,30,2.5,111.05,1.7,63.75 -5408,46,30,2.5,111.05,1.7,63.75 -5409,46,30,2.5,111.05,1.7,63.75 -5410,46,30,2.5,111.05,1.7,63.75 -5411,46,30,2.5,111.05,1.7,63.75 -5412,46,30,2.5,111.05,1.7,63.75 -5413,46,30,2.5,111.05,1.7,63.75 -5414,46,30,2.5,111.05,1.7,63.75 -5415,46,30,2.5,111.05,1.7,63.75 -5416,46,30,2.5,111.05,1.7,63.75 -5417,46,30,2.5,111.05,1.7,63.75 -5418,46,30,2.5,111.05,1.7,63.75 -5419,46,30,2.5,111.05,1.7,63.75 -5420,46,30,2.5,111.05,1.7,63.75 -5421,46,30,2.5,111.05,1.7,63.75 -5422,46,30,2.5,111.05,1.7,63.75 -5423,46,30,2.5,111.05,1.7,63.75 -5424,46,30,2.5,111.05,1.7,63.75 -5425,46,30,2.5,111.05,1.7,63.75 -5426,46,30,2.5,111.05,1.7,63.75 -5427,46,30,2.5,111.05,1.7,63.75 -5428,46,30,2.5,111.05,1.7,63.75 -5429,46,30,2.5,111.05,1.7,63.75 -5430,46,30,2.5,111.05,1.7,63.75 -5431,46,30,2.5,111.05,1.7,63.75 -5432,46,30,2.5,111.05,1.7,63.75 -5433,46,30,2.5,111.05,1.7,63.75 -5434,46,30,2.5,111.05,1.7,63.75 -5435,46,30,2.5,111.05,1.7,63.75 -5436,46,30,2.5,111.05,1.7,63.75 -5437,46,30,2.5,111.05,1.7,63.75 -5438,46,30,2.5,111.05,1.7,63.75 -5439,46,30,2.5,111.05,1.7,63.75 -5440,46,30,2.5,111.05,1.7,63.75 -5441,46,30,2.5,111.05,1.7,63.75 -5442,46,30,2.5,111.05,1.7,63.75 -5443,46,30,2.5,111.05,1.7,63.75 -5444,46,30,2.5,111.05,1.7,63.75 -5445,46,30,2.5,111.05,1.7,63.75 -5446,46,30,2.5,111.05,1.7,63.75 -5447,46,30,2.5,111.05,1.7,63.75 -5448,46,30,2.5,111.05,1.7,63.75 -5449,46,30,2.5,111.05,1.7,63.75 -5450,46,30,2.5,111.05,1.7,63.75 -5451,46,30,2.5,111.05,1.7,63.75 -5452,46,30,2.5,111.05,1.7,63.75 -5453,46,30,2.5,111.05,1.7,63.75 -5454,46,30,2.5,111.05,1.7,63.75 -5455,46,30,2.5,111.05,1.7,63.75 -5456,46,30,2.5,111.05,1.7,63.75 -5457,46,30,2.5,111.05,1.7,63.75 -5458,46,30,2.5,111.05,1.7,63.75 -5459,46,30,2.5,111.05,1.7,63.75 -5460,46,30,2.5,111.05,1.7,63.75 -5461,46,30,2.5,111.05,1.7,63.75 -5462,46,30,2.5,111.05,1.7,63.75 -5463,46,30,2.5,111.05,1.7,63.75 -5464,46,30,2.5,111.05,1.7,63.75 -5465,46,30,2.5,111.05,1.7,63.75 -5466,46,30,2.5,111.05,1.7,63.75 -5467,46,30,2.5,111.05,1.7,63.75 -5468,46,30,2.5,111.05,1.7,63.75 -5469,46,30,2.5,111.05,1.7,63.75 -5470,46,30,2.5,111.05,1.7,63.75 -5471,46,30,2.5,111.05,1.7,63.75 -5472,46,30,2.5,111.05,1.7,63.75 -5473,46,30,2.5,111.05,1.7,63.75 -5474,46,30,2.5,111.05,1.7,63.75 -5475,46,30,2.5,111.05,1.7,63.75 -5476,46,30,2.5,111.05,1.7,63.75 -5477,46,30,2.5,111.05,1.7,63.75 -5478,46,30,2.5,111.05,1.7,63.75 -5479,46,30,2.5,111.05,1.7,63.75 -5480,46,30,2.5,111.05,1.7,63.75 -5481,46,30,2.5,111.05,1.7,63.75 -5482,46,30,2.5,111.05,1.7,63.75 -5483,46,30,2.5,111.05,1.7,63.75 -5484,46,30,2.5,111.05,1.7,63.75 -5485,46,30,2.5,111.05,1.7,63.75 -5486,46,30,2.5,111.05,1.7,63.75 -5487,46,30,2.5,111.05,1.7,63.75 -5488,46,30,2.5,111.05,1.7,63.75 -5489,46,30,2.5,111.05,1.7,63.75 -5490,46,30,2.5,111.05,1.7,63.75 -5491,46,30,2.5,111.05,1.7,63.75 -5492,46,30,2.5,111.05,1.7,63.75 -5493,46,30,2.5,111.05,1.7,63.75 -5494,46,30,2.5,111.05,1.7,63.75 -5495,46,30,2.5,111.05,1.7,63.75 -5496,46,30,2.5,111.05,1.7,63.75 -5497,46,30,2.5,111.05,1.7,63.75 -5498,46,30,2.5,111.05,1.7,63.75 -5499,46,30,2.5,111.05,1.7,63.75 -5500,46,30,2.5,111.05,1.7,63.75 -5501,46,30,2.5,111.05,1.7,63.75 -5502,46,30,2.5,111.05,1.7,63.75 -5503,46,30,2.5,111.05,1.7,63.75 -5504,46,30,2.5,111.05,1.7,63.75 -5505,46,30,2.5,111.05,1.7,63.75 -5506,46,30,2.5,111.05,1.7,63.75 -5507,46,30,2.5,111.05,1.7,63.75 -5508,46,30,2.5,111.05,1.7,63.75 -5509,46,30,2.5,111.05,1.7,63.75 -5510,46,30,2.5,111.05,1.7,63.75 -5511,46,30,2.5,111.05,1.7,63.75 -5512,46,30,2.5,111.05,1.7,63.75 -5513,46,30,2.5,111.05,1.7,63.75 -5514,46,30,2.5,111.05,1.7,63.75 -5515,46,30,2.5,111.05,1.7,63.75 -5516,46,30,2.5,111.05,1.7,63.75 -5517,46,30,2.5,111.05,1.7,63.75 -5518,46,30,2.5,111.05,1.7,63.75 -5519,46,30,2.5,111.05,1.7,63.75 -5520,46,30,2.5,111.05,1.7,63.75 -5521,46,30,2.5,111.05,1.7,63.75 -5522,46,30,2.5,111.05,1.7,63.75 -5523,46,30,2.5,111.05,1.7,63.75 -5524,46,30,2.5,111.05,1.7,63.75 -5525,46,30,2.5,111.05,1.7,63.75 -5526,46,30,2.5,111.05,1.7,63.75 -5527,46,30,2.5,111.05,1.7,63.75 -5528,46,30,2.5,111.05,1.7,63.75 -5529,46,30,2.5,111.05,1.7,63.75 -5530,46,30,2.5,111.05,1.7,63.75 -5531,46,30,2.5,111.05,1.7,63.75 -5532,46,30,2.5,111.05,1.7,63.75 -5533,46,30,2.5,111.05,1.7,63.75 -5534,46,30,2.5,111.05,1.7,63.75 -5535,46,30,2.5,111.05,1.7,63.75 -5536,46,30,2.5,111.05,1.7,63.75 -5537,46,30,2.5,111.05,1.7,63.75 -5538,46,30,2.5,111.05,1.7,63.75 -5539,46,30,2.5,111.05,1.7,63.75 -5540,46,30,2.5,111.05,1.7,63.75 -5541,46,30,2.5,111.05,1.7,63.75 -5542,46,30,2.5,111.05,1.7,63.75 -5543,46,30,2.5,111.05,1.7,63.75 -5544,46,30,2.5,111.05,1.7,63.75 -5545,46,30,2.5,111.05,1.7,63.75 -5546,46,30,2.5,111.05,1.7,63.75 -5547,46,30,2.5,111.05,1.7,63.75 -5548,46,30,2.5,111.05,1.7,63.75 -5549,46,30,2.5,111.05,1.7,63.75 -5550,46,30,2.5,111.05,1.7,63.75 -5551,46,30,2.5,111.05,1.7,63.75 -5552,46,30,2.5,111.05,1.7,63.75 -5553,46,30,2.5,111.05,1.7,63.75 -5554,46,30,2.5,111.05,1.7,63.75 -5555,46,30,2.5,111.05,1.7,63.75 -5556,46,30,2.5,111.05,1.7,63.75 -5557,46,30,2.5,111.05,1.7,63.75 -5558,46,30,2.5,111.05,1.7,63.75 -5559,46,30,2.5,111.05,1.7,63.75 -5560,46,30,2.5,111.05,1.7,63.75 -5561,46,30,2.5,111.05,1.7,63.75 -5562,46,30,2.5,111.05,1.7,63.75 -5563,46,30,2.5,111.05,1.7,63.75 -5564,46,30,2.5,111.05,1.7,63.75 -5565,46,30,2.5,111.05,1.7,63.75 -5566,46,30,2.5,111.05,1.7,63.75 -5567,46,30,2.5,111.05,1.7,63.75 -5568,46,30,2.5,111.05,1.7,63.75 -5569,46,30,2.5,111.05,1.7,63.75 -5570,46,30,2.5,111.05,1.7,63.75 -5571,46,30,2.5,111.05,1.7,63.75 -5572,46,30,2.5,111.05,1.7,63.75 -5573,46,30,2.5,111.05,1.7,63.75 -5574,46,30,2.5,111.05,1.7,63.75 -5575,46,30,2.5,111.05,1.7,63.75 -5576,46,30,2.5,111.05,1.7,63.75 -5577,46,30,2.5,111.05,1.7,63.75 -5578,46,30,2.5,111.05,1.7,63.75 -5579,46,30,2.5,111.05,1.7,63.75 -5580,46,30,2.5,111.05,1.7,63.75 -5581,46,30,2.5,111.05,1.7,63.75 -5582,46,30,2.5,111.05,1.7,63.75 -5583,46,30,2.5,111.05,1.7,63.75 -5584,46,30,2.5,111.05,1.7,63.75 -5585,46,30,2.5,111.05,1.7,63.75 -5586,46,30,2.5,111.05,1.7,63.75 -5587,46,30,2.5,111.05,1.7,63.75 -5588,46,30,2.5,111.05,1.7,63.75 -5589,46,30,2.5,111.05,1.7,63.75 -5590,46,30,2.5,111.05,1.7,63.75 -5591,46,30,2.5,111.05,1.7,63.75 -5592,46,30,2.5,111.05,1.7,63.75 -5593,46,30,2.5,111.05,1.7,63.75 -5594,46,30,2.5,111.05,1.7,63.75 -5595,46,30,2.5,111.05,1.7,63.75 -5596,46,30,2.5,111.05,1.7,63.75 -5597,46,30,2.5,111.05,1.7,63.75 -5598,46,30,2.5,111.05,1.7,63.75 -5599,46,30,2.5,111.05,1.7,63.75 -5600,46,30,2.5,111.05,1.7,63.75 -5601,46,30,2.5,111.05,1.7,63.75 -5602,46,30,2.5,111.05,1.7,63.75 -5603,46,30,2.5,111.05,1.7,63.75 -5604,46,30,2.5,111.05,1.7,63.75 -5605,46,30,2.5,111.05,1.7,63.75 -5606,46,30,2.5,111.05,1.7,63.75 -5607,46,30,2.5,111.05,1.7,63.75 -5608,46,30,2.5,111.05,1.7,63.75 -5609,46,30,2.5,111.05,1.7,63.75 -5610,46,30,2.5,111.05,1.7,63.75 -5611,46,30,2.5,111.05,1.7,63.75 -5612,46,30,2.5,111.05,1.7,63.75 -5613,46,30,2.5,111.05,1.7,63.75 -5614,46,30,2.5,111.05,1.7,63.75 -5615,46,30,2.5,111.05,1.7,63.75 -5616,46,30,2.5,111.05,1.7,63.75 -5617,46,30,2.5,111.05,1.7,63.75 -5618,46,30,2.5,111.05,1.7,63.75 -5619,46,30,2.5,111.05,1.7,63.75 -5620,46,30,2.5,111.05,1.7,63.75 -5621,46,30,2.5,111.05,1.7,63.75 -5622,46,30,2.5,111.05,1.7,63.75 -5623,46,30,2.5,111.05,1.7,63.75 -5624,46,30,2.5,111.05,1.7,63.75 -5625,46,30,2.5,111.05,1.7,63.75 -5626,46,30,2.5,111.05,1.7,63.75 -5627,46,30,2.5,111.05,1.7,63.75 -5628,46,30,2.5,111.05,1.7,63.75 -5629,46,30,2.5,111.05,1.7,63.75 -5630,46,30,2.5,111.05,1.7,63.75 -5631,46,30,2.5,111.05,1.7,63.75 -5632,46,30,2.5,111.05,1.7,63.75 -5633,46,30,2.5,111.05,1.7,63.75 -5634,46,30,2.5,111.05,1.7,63.75 -5635,46,30,2.5,111.05,1.7,63.75 -5636,46,30,2.5,111.05,1.7,63.75 -5637,46,30,2.5,111.05,1.7,63.75 -5638,46,30,2.5,111.05,1.7,63.75 -5639,46,30,2.5,111.05,1.7,63.75 -5640,46,30,2.5,111.05,1.7,63.75 -5641,46,30,2.5,111.05,1.7,63.75 -5642,46,30,2.5,111.05,1.7,63.75 -5643,46,30,2.5,111.05,1.7,63.75 -5644,46,30,2.5,111.05,1.7,63.75 -5645,46,30,2.5,111.05,1.7,63.75 -5646,46,30,2.5,111.05,1.7,63.75 -5647,46,30,2.5,111.05,1.7,63.75 -5648,46,30,2.5,111.05,1.7,63.75 -5649,46,30,2.5,111.05,1.7,63.75 -5650,46,30,2.5,111.05,1.7,63.75 -5651,46,30,2.5,111.05,1.7,63.75 -5652,46,30,2.5,111.05,1.7,63.75 -5653,46,30,2.5,111.05,1.7,63.75 -5654,46,30,2.5,111.05,1.7,63.75 -5655,46,30,2.5,111.05,1.7,63.75 -5656,46,30,2.5,111.05,1.7,63.75 -5657,46,30,2.5,111.05,1.7,63.75 -5658,46,30,2.5,111.05,1.7,63.75 -5659,46,30,2.5,111.05,1.7,63.75 -5660,46,30,2.5,111.05,1.7,63.75 -5661,46,30,2.5,111.05,1.7,63.75 -5662,46,30,2.5,111.05,1.7,63.75 -5663,46,30,2.5,111.05,1.7,63.75 -5664,46,30,2.5,111.05,1.7,63.75 -5665,46,30,2.5,111.05,1.7,63.75 -5666,46,30,2.5,111.05,1.7,63.75 -5667,46,30,2.5,111.05,1.7,63.75 -5668,46,30,2.5,111.05,1.7,63.75 -5669,46,30,2.5,111.05,1.7,63.75 -5670,46,30,2.5,111.05,1.7,63.75 -5671,46,30,2.5,111.05,1.7,63.75 -5672,46,30,2.5,111.05,1.7,63.75 -5673,46,30,2.5,111.05,1.7,63.75 -5674,46,30,2.5,111.05,1.7,63.75 -5675,46,30,2.5,111.05,1.7,63.75 -5676,46,30,2.5,111.05,1.7,63.75 -5677,46,30,2.5,111.05,1.7,63.75 -5678,46,30,2.5,111.05,1.7,63.75 -5679,46,30,2.5,111.05,1.7,63.75 -5680,46,30,2.5,111.05,1.7,63.75 -5681,46,30,2.5,111.05,1.7,63.75 -5682,46,30,2.5,111.05,1.7,63.75 -5683,46,30,2.5,111.05,1.7,63.75 -5684,46,30,2.5,111.05,1.7,63.75 -5685,46,30,2.5,111.05,1.7,63.75 -5686,46,30,2.5,111.05,1.7,63.75 -5687,46,30,2.5,111.05,1.7,63.75 -5688,46,30,2.5,111.05,1.7,63.75 -5689,46,30,2.5,111.05,1.7,63.75 -5690,46,30,2.5,111.05,1.7,63.75 -5691,46,30,2.5,111.05,1.7,63.75 -5692,46,30,2.5,111.05,1.7,63.75 -5693,46,30,2.5,111.05,1.7,63.75 -5694,46,30,2.5,111.05,1.7,63.75 -5695,46,30,2.5,111.05,1.7,63.75 -5696,46,30,2.5,111.05,1.7,63.75 -5697,46,30,2.5,111.05,1.7,63.75 -5698,46,30,2.5,111.05,1.7,63.75 -5699,46,30,2.5,111.05,1.7,63.75 -5700,46,30,2.5,111.05,1.7,63.75 -5701,46,30,2.5,111.05,1.7,63.75 -5702,46,30,2.5,111.05,1.7,63.75 -5703,46,30,2.5,111.05,1.7,63.75 -5704,46,30,2.5,111.05,1.7,63.75 -5705,46,30,2.5,111.05,1.7,63.75 -5706,46,30,2.5,111.05,1.7,63.75 -5707,46,30,2.5,111.05,1.7,63.75 -5708,46,30,2.5,111.05,1.7,63.75 -5709,46,30,2.5,111.05,1.7,63.75 -5710,46,30,2.5,111.05,1.7,63.75 -5711,46,30,2.5,111.05,1.7,63.75 -5712,46,30,2.5,111.05,1.7,63.75 -5713,46,30,2.5,111.05,1.7,63.75 -5714,46,30,2.5,111.05,1.7,63.75 -5715,46,30,2.5,111.05,1.7,63.75 -5716,46,30,2.5,111.05,1.7,63.75 -5717,46,30,2.5,111.05,1.7,63.75 -5718,46,30,2.5,111.05,1.7,63.75 -5719,46,30,2.5,111.05,1.7,63.75 -5720,46,30,2.5,111.05,1.7,63.75 -5721,46,30,2.5,111.05,1.7,63.75 -5722,46,30,2.5,111.05,1.7,63.75 -5723,46,30,2.5,111.05,1.7,63.75 -5724,46,30,2.5,111.05,1.7,63.75 -5725,46,30,2.5,111.05,1.7,63.75 -5726,46,30,2.5,111.05,1.7,63.75 -5727,46,30,2.5,111.05,1.7,63.75 -5728,46,30,2.5,111.05,1.7,63.75 -5729,46,30,2.5,111.05,1.7,63.75 -5730,46,30,2.5,111.05,1.7,63.75 -5731,46,30,2.5,111.05,1.7,63.75 -5732,46,30,2.5,111.05,1.7,63.75 -5733,46,30,2.5,111.05,1.7,63.75 -5734,46,30,2.5,111.05,1.7,63.75 -5735,46,30,2.5,111.05,1.7,63.75 -5736,46,30,2.5,111.05,1.7,63.75 -5737,46,30,2.5,111.05,1.7,63.75 -5738,46,30,2.5,111.05,1.7,63.75 -5739,46,30,2.5,111.05,1.7,63.75 -5740,46,30,2.5,111.05,1.7,63.75 -5741,46,30,2.5,111.05,1.7,63.75 -5742,46,30,2.5,111.05,1.7,63.75 -5743,46,30,2.5,111.05,1.7,63.75 -5744,46,30,2.5,111.05,1.7,63.75 -5745,46,30,2.5,111.05,1.7,63.75 -5746,46,30,2.5,111.05,1.7,63.75 -5747,46,30,2.5,111.05,1.7,63.75 -5748,46,30,2.5,111.05,1.7,63.75 -5749,46,30,2.5,111.05,1.7,63.75 -5750,46,30,2.5,111.05,1.7,63.75 -5751,46,30,2.5,111.05,1.7,63.75 -5752,46,30,2.5,111.05,1.7,63.75 -5753,46,30,2.5,111.05,1.7,63.75 -5754,46,30,2.5,111.05,1.7,63.75 -5755,46,30,2.5,111.05,1.7,63.75 -5756,46,30,2.5,111.05,1.7,63.75 -5757,46,30,2.5,111.05,1.7,63.75 -5758,46,30,2.5,111.05,1.7,63.75 -5759,46,30,2.5,111.05,1.7,63.75 -5760,46,30,2.5,111.05,1.7,63.75 -5761,46,30,2.5,111.05,1.7,63.75 -5762,46,30,2.5,111.05,1.7,63.75 -5763,46,30,2.5,111.05,1.7,63.75 -5764,46,30,2.5,111.05,1.7,63.75 -5765,46,30,2.5,111.05,1.7,63.75 -5766,46,30,2.5,111.05,1.7,63.75 -5767,46,30,2.5,111.05,1.7,63.75 -5768,46,30,2.5,111.05,1.7,63.75 -5769,46,30,2.5,111.05,1.7,63.75 -5770,46,30,2.5,111.05,1.7,63.75 -5771,46,30,2.5,111.05,1.7,63.75 -5772,46,30,2.5,111.05,1.7,63.75 -5773,46,30,2.5,111.05,1.7,63.75 -5774,46,30,2.5,111.05,1.7,63.75 -5775,46,30,2.5,111.05,1.7,63.75 -5776,46,30,2.5,111.05,1.7,63.75 -5777,46,30,2.5,111.05,1.7,63.75 -5778,46,30,2.5,111.05,1.7,63.75 -5779,46,30,2.5,111.05,1.7,63.75 -5780,46,30,2.5,111.05,1.7,63.75 -5781,46,30,2.5,111.05,1.7,63.75 -5782,46,30,2.5,111.05,1.7,63.75 -5783,46,30,2.5,111.05,1.7,63.75 -5784,46,30,2.5,111.05,1.7,63.75 -5785,46,30,2.5,111.05,1.7,63.75 -5786,46,30,2.5,111.05,1.7,63.75 -5787,46,30,2.5,111.05,1.7,63.75 -5788,46,30,2.5,111.05,1.7,63.75 -5789,46,30,2.5,111.05,1.7,63.75 -5790,46,30,2.5,111.05,1.7,63.75 -5791,46,30,2.5,111.05,1.7,63.75 -5792,46,30,2.5,111.05,1.7,63.75 -5793,46,30,2.5,111.05,1.7,63.75 -5794,46,30,2.5,111.05,1.7,63.75 -5795,46,30,2.5,111.05,1.7,63.75 -5796,46,30,2.5,111.05,1.7,63.75 -5797,46,30,2.5,111.05,1.7,63.75 -5798,46,30,2.5,111.05,1.7,63.75 -5799,46,30,2.5,111.05,1.7,63.75 -5800,46,30,2.5,111.05,1.7,63.75 -5801,46,30,2.5,111.05,1.7,63.75 -5802,46,30,2.5,111.05,1.7,63.75 -5803,46,30,2.5,111.05,1.7,63.75 -5804,46,30,2.5,111.05,1.7,63.75 -5805,46,30,2.5,111.05,1.7,63.75 -5806,46,30,2.5,111.05,1.7,63.75 -5807,46,30,2.5,111.05,1.7,63.75 -5808,46,30,2.5,111.05,1.7,63.75 -5809,46,30,2.5,111.05,1.7,63.75 -5810,46,30,2.5,111.05,1.7,63.75 -5811,46,30,2.5,111.05,1.7,63.75 -5812,46,30,2.5,111.05,1.7,63.75 -5813,46,30,2.5,111.05,1.7,63.75 -5814,46,30,2.5,111.05,1.7,63.75 -5815,46,30,2.5,111.05,1.7,63.75 -5816,46,30,2.5,111.05,1.7,63.75 -5817,46,30,2.5,111.05,1.7,63.75 -5818,46,30,2.5,111.05,1.7,63.75 -5819,46,30,2.5,111.05,1.7,63.75 -5820,46,30,2.5,111.05,1.7,63.75 -5821,46,30,2.5,111.05,1.7,63.75 -5822,46,30,2.5,111.05,1.7,63.75 -5823,46,30,2.5,111.05,1.7,63.75 -5824,46,30,2.5,111.05,1.7,63.75 -5825,46,30,2.5,111.05,1.7,63.75 -5826,46,30,2.5,111.05,1.7,63.75 -5827,46,30,2.5,111.05,1.7,63.75 -5828,46,30,2.5,111.05,1.7,63.75 -5829,46,30,2.5,111.05,1.7,63.75 -5830,46,30,2.5,111.05,1.7,63.75 -5831,46,30,2.5,111.05,1.7,63.75 -5832,46,30,2.5,111.05,1.7,63.75 -5833,46,30,2.5,111.05,1.7,63.75 -5834,46,30,2.5,111.05,1.7,63.75 -5835,46,30,2.5,111.05,1.7,63.75 -5836,46,30,2.5,111.05,1.7,63.75 -5837,46,30,2.5,111.05,1.7,63.75 -5838,46,30,2.5,111.05,1.7,63.75 -5839,46,30,2.5,111.05,1.7,63.75 -5840,46,30,2.5,111.05,1.7,63.75 -5841,46,30,2.5,111.05,1.7,63.75 -5842,46,30,2.5,111.05,1.7,63.75 -5843,46,30,2.5,111.05,1.7,63.75 -5844,46,30,2.5,111.05,1.7,63.75 -5845,46,30,2.5,111.05,1.7,63.75 -5846,46,30,2.5,111.05,1.7,63.75 -5847,46,30,2.5,111.05,1.7,63.75 -5848,46,30,2.5,111.05,1.7,63.75 -5849,46,30,2.5,111.05,1.7,63.75 -5850,46,30,2.5,111.05,1.7,63.75 -5851,46,30,2.5,111.05,1.7,63.75 -5852,46,30,2.5,111.05,1.7,63.75 -5853,46,30,2.5,111.05,1.7,63.75 -5854,46,30,2.5,111.05,1.7,63.75 -5855,46,30,2.5,111.05,1.7,63.75 -5856,46,30,2.5,111.05,1.7,63.75 -5857,46,30,2.5,111.05,1.7,63.75 -5858,46,30,2.5,111.05,1.7,63.75 -5859,46,30,2.5,111.05,1.7,63.75 -5860,46,30,2.5,111.05,1.7,63.75 -5861,46,30,2.5,111.05,1.7,63.75 -5862,46,30,2.5,111.05,1.7,63.75 -5863,46,30,2.5,111.05,1.7,63.75 -5864,46,30,2.5,111.05,1.7,63.75 -5865,46,30,2.5,111.05,1.7,63.75 -5866,46,30,2.5,111.05,1.7,63.75 -5867,46,30,2.5,111.05,1.7,63.75 -5868,46,30,2.5,111.05,1.7,63.75 -5869,46,30,2.5,111.05,1.7,63.75 -5870,46,30,2.5,111.05,1.7,63.75 -5871,46,30,2.5,111.05,1.7,63.75 -5872,46,30,2.5,111.05,1.7,63.75 -5873,46,30,2.5,111.05,1.7,63.75 -5874,46,30,2.5,111.05,1.7,63.75 -5875,46,30,2.5,111.05,1.7,63.75 -5876,46,30,2.5,111.05,1.7,63.75 -5877,46,30,2.5,111.05,1.7,63.75 -5878,46,30,2.5,111.05,1.7,63.75 -5879,46,30,2.5,111.05,1.7,63.75 -5880,46,30,2.5,111.05,1.7,63.75 -5881,46,30,2.5,111.05,1.7,63.75 -5882,46,30,2.5,111.05,1.7,63.75 -5883,46,30,2.5,111.05,1.7,63.75 -5884,46,30,2.5,111.05,1.7,63.75 -5885,46,30,2.5,111.05,1.7,63.75 -5886,46,30,2.5,111.05,1.7,63.75 -5887,46,30,2.5,111.05,1.7,63.75 -5888,46,30,2.5,111.05,1.7,63.75 -5889,46,30,2.5,111.05,1.7,63.75 -5890,46,30,2.5,111.05,1.7,63.75 -5891,46,30,2.5,111.05,1.7,63.75 -5892,46,30,2.5,111.05,1.7,63.75 -5893,46,30,2.5,111.05,1.7,63.75 -5894,46,30,2.5,111.05,1.7,63.75 -5895,46,30,2.5,111.05,1.7,63.75 -5896,46,30,2.5,111.05,1.7,63.75 -5897,46,30,2.5,111.05,1.7,63.75 -5898,46,30,2.5,111.05,1.7,63.75 -5899,46,30,2.5,111.05,1.7,63.75 -5900,46,30,2.5,111.05,1.7,63.75 -5901,46,30,2.5,111.05,1.7,63.75 -5902,46,30,2.5,111.05,1.7,63.75 -5903,46,30,2.5,111.05,1.7,63.75 -5904,46,30,2.5,111.05,1.7,63.75 -5905,46,30,2.5,111.05,1.7,63.75 -5906,46,30,2.5,111.05,1.7,63.75 -5907,46,30,2.5,111.05,1.7,63.75 -5908,46,30,2.5,111.05,1.7,63.75 -5909,46,30,2.5,111.05,1.7,63.75 -5910,46,30,2.5,111.05,1.7,63.75 -5911,46,30,2.5,111.05,1.7,63.75 -5912,46,30,2.5,111.05,1.7,63.75 -5913,46,30,2.5,111.05,1.7,63.75 -5914,46,30,2.5,111.05,1.7,63.75 -5915,46,30,2.5,111.05,1.7,63.75 -5916,46,30,2.5,111.05,1.7,63.75 -5917,46,30,2.5,111.05,1.7,63.75 -5918,46,30,2.5,111.05,1.7,63.75 -5919,46,30,2.5,111.05,1.7,63.75 -5920,46,30,2.5,111.05,1.7,63.75 -5921,46,30,2.5,111.05,1.7,63.75 -5922,46,30,2.5,111.05,1.7,63.75 -5923,46,30,2.5,111.05,1.7,63.75 -5924,46,30,2.5,111.05,1.7,63.75 -5925,46,30,2.5,111.05,1.7,63.75 -5926,46,30,2.5,111.05,1.7,63.75 -5927,46,30,2.5,111.05,1.7,63.75 -5928,46,30,2.5,111.05,1.7,63.75 -5929,46,30,2.5,111.05,1.7,63.75 -5930,46,30,2.5,111.05,1.7,63.75 -5931,46,30,2.5,111.05,1.7,63.75 -5932,46,30,2.5,111.05,1.7,63.75 -5933,46,30,2.5,111.05,1.7,63.75 -5934,46,30,2.5,111.05,1.7,63.75 -5935,46,30,2.5,111.05,1.7,63.75 -5936,46,30,2.5,111.05,1.7,63.75 -5937,46,30,2.5,111.05,1.7,63.75 -5938,46,30,2.5,111.05,1.7,63.75 -5939,46,30,2.5,111.05,1.7,63.75 -5940,46,30,2.5,111.05,1.7,63.75 -5941,46,30,2.5,111.05,1.7,63.75 -5942,46,30,2.5,111.05,1.7,63.75 -5943,46,30,2.5,111.05,1.7,63.75 -5944,46,30,2.5,111.05,1.7,63.75 -5945,46,30,2.5,111.05,1.7,63.75 -5946,46,30,2.5,111.05,1.7,63.75 -5947,46,30,2.5,111.05,1.7,63.75 -5948,46,30,2.5,111.05,1.7,63.75 -5949,46,30,2.5,111.05,1.7,63.75 -5950,46,30,2.5,111.05,1.7,63.75 -5951,46,30,2.5,111.05,1.7,63.75 -5952,46,30,2.5,111.05,1.7,63.75 -5953,46,30,2.5,111.05,1.7,63.75 -5954,46,30,2.5,111.05,1.7,63.75 -5955,46,30,2.5,111.05,1.7,63.75 -5956,46,30,2.5,111.05,1.7,63.75 -5957,46,30,2.5,111.05,1.7,63.75 -5958,46,30,2.5,111.05,1.7,63.75 -5959,46,30,2.5,111.05,1.7,63.75 -5960,46,30,2.5,111.05,1.7,63.75 -5961,46,30,2.5,111.05,1.7,63.75 -5962,46,30,2.5,111.05,1.7,63.75 -5963,46,30,2.5,111.05,1.7,63.75 -5964,46,30,2.5,111.05,1.7,63.75 -5965,46,30,2.5,111.05,1.7,63.75 -5966,46,30,2.5,111.05,1.7,63.75 -5967,46,30,2.5,111.05,1.7,63.75 -5968,46,30,2.5,111.05,1.7,63.75 -5969,46,30,2.5,111.05,1.7,63.75 -5970,46,30,2.5,111.05,1.7,63.75 -5971,46,30,2.5,111.05,1.7,63.75 -5972,46,30,2.5,111.05,1.7,63.75 -5973,46,30,2.5,111.05,1.7,63.75 -5974,46,30,2.5,111.05,1.7,63.75 -5975,46,30,2.5,111.05,1.7,63.75 -5976,46,30,2.5,111.05,1.7,63.75 -5977,46,30,2.5,111.05,1.7,63.75 -5978,46,30,2.5,111.05,1.7,63.75 -5979,46,30,2.5,111.05,1.7,63.75 -5980,46,30,2.5,111.05,1.7,63.75 -5981,46,30,2.5,111.05,1.7,63.75 -5982,46,30,2.5,111.05,1.7,63.75 -5983,46,30,2.5,111.05,1.7,63.75 -5984,46,30,2.5,111.05,1.7,63.75 -5985,46,30,2.5,111.05,1.7,63.75 -5986,46,30,2.5,111.05,1.7,63.75 -5987,46,30,2.5,111.05,1.7,63.75 -5988,46,30,2.5,111.05,1.7,63.75 -5989,46,30,2.5,111.05,1.7,63.75 -5990,46,30,2.5,111.05,1.7,63.75 -5991,46,30,2.5,111.05,1.7,63.75 -5992,46,30,2.5,111.05,1.7,63.75 -5993,46,30,2.5,111.05,1.7,63.75 -5994,46,30,2.5,111.05,1.7,63.75 -5995,46,30,2.5,111.05,1.7,63.75 -5996,46,30,2.5,111.05,1.7,63.75 -5997,46,30,2.5,111.05,1.7,63.75 -5998,46,30,2.5,111.05,1.7,63.75 -5999,46,30,2.5,111.05,1.7,63.75 -6000,46,30,2.5,111.05,1.7,63.75 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv.original b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv.original deleted file mode 100644 index 44d05b7..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv.original +++ /dev/null @@ -1,6002 +0,0 @@ -#t (100ms),EW2-Voset (kV),EW3-VOset (kV),EW101-MC-Ioset (A),EW101-GC-Ioset (A),FPS101-Voset (V) -0,20,15,111.3,1.7,53.2 -1,20.5,14.5,111.3,1.7,62 -2,21,14,111.3,1.7,62 -3,21.5,13.5,111.3,1.7,62 -4,22,13,111.3,1.7,62 -5,22.5,12.5,111.3,1.7,62 -6,23,12,111.3,1.7,62 -7,23.5,11.5,111.3,1.7,62 -8,24,11,111.3,1.7,62 -9,24.5,10.5,111.3,1.7,62 -10,25,10,111.3,1.7,62 -11,25.5,9.5,111.3,1.7,62 -12,26,9,111.3,1.7,62 -13,26.5,8.5,111.3,1.7,62 -14,27,8,111.3,1.7,62 -15,27.5,7.5,111.3,1.7,62 -16,28,7,111.3,1.7,62 -17,28.5,6.5,111.3,1.7,62 -18,29,6,111.3,1.7,62 -19,29.5,5.5,111.3,1.7,62 -20,30,5,111.3,1.7,62 -21,30,4.5,111.3,1.7,62 -22,30,4,111.3,1.7,62 -23,30,4,111.3,1.7,62 -24,30,4,111.3,1.7,62 -25,30,4,111.3,1.7,62 -26,30,4,111.3,1.7,62 -27,30,4,111.3,1.7,62 -28,30,4,111.3,1.7,62 -29,30,4,111.3,1.7,62 -30,30,4,111.3,1.7,62 -31,30,3.4,111.3,1.7,62 -32,30,3.4,111.3,1.7,62 -33,30,3.4,111.3,1.7,62 -34,30,3.4,111.3,1.7,62 -35,30,3.4,111.3,1.7,62 -36,30,3.4,111.3,1.7,62 -37,30,3.4,111.3,1.7,62 -38,30,3.4,111.3,1.7,62 -39,30,3.4,111.3,1.7,62 -40,30,3.4,111.3,1.7,62 -41,30,3.4,111.3,1.7,62 -42,30,3.4,111.3,1.7,62 -43,30,3.4,111.3,1.7,62 -44,30,3.4,111.3,1.7,62 -45,30,3.4,111.3,1.7,62 -46,30,3.4,111.3,1.7,62 -47,30,3.4,111.3,1.7,62 -48,30,3.4,111.3,1.7,62 -49,30,3.4,111.3,1.7,62 -50,30,3.4,111.3,1.7,62 -51,30,3.4,111.3,1.7,62.1 -52,30,3.4,111.3,1.7,62.2 -53,30,3.4,111.3,1.7,62.3 -54,30,3.4,111.3,1.7,62.4 -55,30,3.4,111.3,1.7,62.5 -56,30,3.4,111.3,1.7,62.6 -57,30,3.4,111.3,1.7,62.7 -58,30,3.4,111.3,1.7,62.8 -59,30,3.4,111.3,1.7,62.9 -60,30,3.4,111.3,1.7,63 -61,30,3,111.3,1.7,63.1 -62,30,3,111.3,1.7,63.2 -63,30,3,111.3,1.7,63.3 -64,30,3,111.3,1.7,63.4 -65,30,3,111.3,1.7,63.5 -66,30,3,111.3,1.7,63.6 -67,30,3,111.3,1.7,63.7 -68,30,3,111.3,1.7,63.8 -69,30,3,111.3,1.7,63.9 -70,30,3,111.3,1.7,64 -71,30,3,111.3,1.7,64.1 -72,30,3,111.3,1.7,64.2 -73,30,3,111.3,1.7,64.3 -74,30,3,111.3,1.7,64.4 -75,30,3,111.3,1.7,64.5 -76,30,3,111.3,1.7,64.6 -77,30,3,111.3,1.7,64.7 -78,30,3,111.3,1.7,64.8 -79,30,3,111.3,1.7,64.9 -80,30,3,111.3,1.7,65 -81,30,3,111.3,1.7,65.1 -82,30,3,111.3,1.7,65.2 -83,30,3,111.3,1.7,65.3 -84,30,3,111.3,1.7,65.4 -85,30,3,111.3,1.7,65.5 -86,30,3,111.3,1.7,65.6 -87,30,3,111.3,1.7,65.7 -88,30,3,111.3,1.7,65.8 -89,30,3,111.3,1.7,65.9 -90,30,3,111.3,1.7,66 -91,30,3,111.3,1.7,66.1 -92,30,3,111.3,1.7,66.2 -93,30,3,111.3,1.7,66.3 -94,30,3,111.3,1.7,66.4 -95,30,3,111.3,1.7,66.5 -96,30,3,111.3,1.7,66.6 -97,30,3,111.3,1.7,66.7 -98,30,3,111.3,1.7,66.8 -99,30,3,111.3,1.7,66.9 -100,30,3,111.3,1.7,67 -101,30,3,111.3,1.7,67 -102,30,3,111.3,1.7,67 -103,30,3,111.3,1.7,67 -104,30,3,111.3,1.7,67 -105,30,3,111.3,1.7,67 -106,30,3,111.3,1.7,67 -107,30,3,111.3,1.7,67 -108,30,3,111.3,1.7,67 -109,30,3,111.3,1.7,67 -110,30,3,111.3,1.7,67 -111,30,3,111.3,1.7,67 -112,30,3,111.3,1.7,67 -113,30,3,111.3,1.7,67 -114,30,3,111.3,1.7,67 -115,30,3,111.3,1.7,67 -116,30,3,111.3,1.7,67 -117,30,3,111.3,1.7,67 -118,30,3,111.3,1.7,67 -119,30,3,111.3,1.7,67 -120,30,3,111.3,1.7,67 -121,30,3,111.3,1.7,67 -122,30,3,111.3,1.7,67 -123,30,3,111.3,1.7,67 -124,30,3,111.3,1.7,67 -125,30,3,111.3,1.7,67 -126,30,3,111.3,1.7,67 -127,30,3,111.3,1.7,67 -128,30,3,111.3,1.7,67 -129,30,3,111.3,1.7,67 -130,30,3,111.3,1.7,67 -131,30,3,111.3,1.7,67 -132,30,3,111.3,1.7,67 -133,30,3,111.3,1.7,67 -134,30,3,111.3,1.7,67 -135,30,3,111.3,1.7,67 -136,30,3,111.3,1.7,67 -137,30,3,111.3,1.7,67 -138,30,3,111.3,1.7,67 -139,30,3,111.3,1.7,67 -140,30,3,111.3,1.7,67 -141,30,3,111.3,1.7,67 -142,30,3,111.3,1.7,67 -143,30,3,111.3,1.7,67 -144,30,3,111.3,1.7,67 -145,30,3,111.3,1.7,67 -146,30,3,111.3,1.7,67 -147,30,3,111.3,1.7,67 -148,30,3,111.3,1.7,67 -149,30,3,111.3,1.7,67 -150,30,3,111.3,1.7,67 -151,30,3,111.3,1.7,67 -152,30,3,111.3,1.7,67 -153,30,3,111.3,1.7,67 -154,30,3,111.3,1.7,67 -155,30,3,111.3,1.7,67 -156,30,3,111.3,1.7,67 -157,30,3,111.3,1.7,67 -158,30,3,111.3,1.7,67 -159,30,3,111.3,1.7,67 -160,30,3,111.3,1.7,67 -161,30,3,111.3,1.7,67 -162,30,3,111.3,1.7,67 -163,30,3,111.3,1.7,67 -164,30,3,111.3,1.7,67 -165,30,3,111.3,1.7,67 -166,30,3,111.3,1.7,67 -167,30,3,111.3,1.7,67 -168,30,3,111.3,1.7,67 -169,30,3,111.3,1.7,67 -170,30,3,111.3,1.7,67 -171,30,3,111.3,1.7,67 -172,30,3,111.3,1.7,67 -173,30,3,111.3,1.7,67 -174,30,3,111.3,1.7,67 -175,30,3,111.3,1.7,67 -176,30,3,111.3,1.7,67 -177,30,3,111.3,1.7,67 -178,30,3,111.3,1.7,67 -179,30,3,111.3,1.7,67 -180,30,3,111.3,1.7,67 -181,30,3,111.3,1.7,67 -182,30,3,111.3,1.7,67 -183,30,3,111.3,1.7,67 -184,30,3,111.3,1.7,67 -185,30,3,111.3,1.7,67 -186,30,3,111.3,1.7,67 -187,30,3,111.3,1.7,67 -188,30,3,111.3,1.7,67 -189,30,3,111.3,1.7,67 -190,30,3,111.3,1.7,67 -191,30,3,111.3,1.7,67 -192,30,3,111.3,1.7,67 -193,30,3,111.3,1.7,67 -194,30,3,111.3,1.7,67 -195,30,3,111.3,1.7,67 -196,30,3,111.3,1.7,67 -197,30,3,111.3,1.7,67 -198,30,3,111.3,1.7,67 -199,30,3,111.3,1.7,67 -200,30,2.9,111.3,1.7,67 -201,30,2.9,111.05,1.7,67 -202,30,2.9,111.05,1.7,67 -203,30,2.9,111.05,1.7,67 -204,30,2.9,111.05,1.7,67 -205,30,2.9,111.05,1.7,67 -206,30,2.9,111.05,1.7,67 -207,30,2.9,111.05,1.7,67 -208,30,2.9,111.05,1.7,67 -209,30,2.9,111.05,1.7,67 -210,30,2.9,111.05,1.7,67 -211,30,2.9,111.05,1.7,67 -212,30,2.9,111.05,1.7,67 -213,30,2.9,111.05,1.7,67 -214,30,2.9,111.05,1.7,67 -215,30,2.9,111.05,1.7,67 -216,30,2.9,111.05,1.7,67 -217,30,2.9,111.05,1.7,67 -218,30,2.9,111.05,1.7,67 -219,30,2.9,111.05,1.7,67 -220,30,2.9,111.05,1.7,67 -221,30,2.9,111.05,1.7,67 -222,30,2.9,111.05,1.7,67 -223,30,2.9,111.05,1.7,67 -224,30,2.9,111.05,1.7,67 -225,30,2.9,111.05,1.7,67 -226,30,2.9,111.05,1.7,67 -227,30,2.9,111.05,1.7,67 -228,30,2.9,111.05,1.7,67 -229,30,2.9,111.05,1.7,67 -230,30,2.9,111.05,1.7,67 -231,30,2.9,111.05,1.7,67 -232,30,2.9,111.05,1.7,67 -233,30,2.9,111.05,1.7,67 -234,30,2.9,111.05,1.7,67 -235,30,2.9,111.05,1.7,67 -236,30,2.9,111.05,1.7,67 -237,30,2.9,111.05,1.7,67 -238,30,2.9,111.05,1.7,67 -239,30,2.9,111.05,1.7,67 -240,30,2.9,111.05,1.7,67 -241,30,2.9,111.05,1.7,67 -242,30,2.9,111.05,1.7,67 -243,30,2.9,111.05,1.7,67 -244,30,2.9,111.05,1.7,67 -245,30,2.9,111.05,1.7,67 -246,30,2.9,111.05,1.7,67 -247,30,2.9,111.05,1.7,67 -248,30,2.9,111.05,1.7,67 -249,30,2.9,111.05,1.7,67 -250,30,2.8,111.05,1.7,67 -251,30,2.8,111.05,1.7,67 -252,30,2.8,111.05,1.7,67 -253,30,2.8,111.05,1.7,67 -254,30,2.8,111.05,1.7,67 -255,30,2.8,111.05,1.7,67 -256,30,2.8,111.05,1.7,67 -257,30,2.8,111.05,1.7,67 -258,30,2.8,111.05,1.7,67 -259,30,2.8,111.05,1.7,67 -260,30,2.8,111.05,1.7,67 -261,30,2.8,111.05,1.7,67 -262,30,2.8,111.05,1.7,67 -263,30,2.8,111.05,1.7,67 -264,30,2.8,111.05,1.7,67 -265,30,2.8,111.05,1.7,67 -266,30,2.8,111.05,1.7,67 -267,30,2.8,111.05,1.7,67 -268,30,2.8,111.05,1.7,67 -269,30,2.8,111.05,1.7,67 -270,30,2.8,111.05,1.7,67 -271,30,2.8,111.05,1.7,67 -272,30,2.8,111.05,1.7,67 -273,30,2.8,111.05,1.7,67 -274,30,2.8,111.05,1.7,67 -275,30,2.8,111.05,1.7,67 -276,30,2.8,111.05,1.7,67 -277,30,2.8,111.05,1.7,67 -278,30,2.8,111.05,1.7,67 -279,30,2.8,111.05,1.7,67 -280,30,2.8,111.05,1.7,67 -281,30,2.8,111.05,1.7,67 -282,30,2.8,111.05,1.7,67 -283,30,2.8,111.05,1.7,67 -284,30,2.8,111.05,1.7,67 -285,30,2.8,111.05,1.7,67 -286,30,2.8,111.05,1.7,67 -287,30,2.8,111.05,1.7,67 -288,30,2.8,111.05,1.7,67 -289,30,2.8,111.05,1.7,67 -290,30,2.8,111.05,1.7,67 -291,30,2.8,111.05,1.7,67 -292,30,2.8,111.05,1.7,67 -293,30,2.8,111.05,1.7,67 -294,30,2.8,111.05,1.7,67 -295,30,2.8,111.05,1.7,67 -296,30,2.8,111.05,1.7,67 -297,30,2.8,111.05,1.7,67 -298,30,2.8,111.05,1.7,67 -299,30,2.8,111.05,1.7,67 -300,30,2.7,111.05,1.7,67 -301,30,2.7,111.05,1.7,67 -302,30,2.7,111.05,1.7,67 -303,30,2.7,111.05,1.7,67 -304,30,2.7,111.05,1.7,67 -305,30,2.7,111.05,1.7,67 -306,30,2.7,111.05,1.7,67 -307,30,2.7,111.05,1.7,67 -308,30,2.7,111.05,1.7,67 -309,30,2.7,111.05,1.7,67 -310,30,2.7,111.05,1.7,67 -311,30,2.7,111.05,1.7,67 -312,30,2.7,111.05,1.7,67 -313,30,2.7,111.05,1.7,67 -314,30,2.7,111.05,1.7,67 -315,30,2.7,111.05,1.7,67 -316,30,2.7,111.05,1.7,67 -317,30,2.7,111.05,1.7,67 -318,30,2.7,111.05,1.7,67 -319,30,2.7,111.05,1.7,67 -320,30,2.7,111.05,1.7,67 -321,30,2.7,111.05,1.7,67 -322,30,2.7,111.05,1.7,67 -323,30,2.7,111.05,1.7,67 -324,30,2.7,111.05,1.7,67 -325,30,2.7,111.05,1.7,67 -326,30,2.7,111.05,1.7,67 -327,30,2.7,111.05,1.7,67 -328,30,2.7,111.05,1.7,67 -329,30,2.7,111.05,1.7,67 -330,30,2.7,111.05,1.7,67 -331,30,2.7,111.05,1.7,67 -332,30,2.7,111.05,1.7,67 -333,30,2.7,111.05,1.7,67 -334,30,2.7,111.05,1.7,67 -335,30,2.7,111.05,1.7,67 -336,30,2.7,111.05,1.7,67 -337,30,2.7,111.05,1.7,67 -338,30,2.7,111.05,1.7,67 -339,30,2.7,111.05,1.7,67 -340,30,2.7,111.05,1.7,67 -341,30,2.7,111.05,1.7,67 -342,30,2.7,111.05,1.7,67 -343,30,2.7,111.05,1.7,67 -344,30,2.7,111.05,1.7,67 -345,30,2.7,111.05,1.7,67 -346,30,2.7,111.05,1.7,67 -347,30,2.7,111.05,1.7,67 -348,30,2.7,111.05,1.7,67 -349,30,2.7,111.05,1.7,67 -350,30,2.7,111.05,1.7,67 -351,30,2.7,111.05,1.7,67 -352,30,2.7,111.05,1.7,67 -353,30,2.7,111.05,1.7,67 -354,30,2.7,111.05,1.7,67 -355,30,2.7,111.05,1.7,67 -356,30,2.7,111.05,1.7,67 -357,30,2.7,111.05,1.7,67 -358,30,2.7,111.05,1.7,67 -359,30,2.7,111.05,1.7,67 -360,30,2.7,111.05,1.7,67 -361,30,2.7,111.05,1.7,67 -362,30,2.7,111.05,1.7,67 -363,30,2.7,111.05,1.7,67 -364,30,2.7,111.05,1.7,67 -365,30,2.7,111.05,1.7,67 -366,30,2.7,111.05,1.7,67 -367,30,2.7,111.05,1.7,67 -368,30,2.7,111.05,1.7,67 -369,30,2.7,111.05,1.7,67 -370,30,2.7,111.05,1.7,67 -371,30,2.7,111.05,1.7,67 -372,30,2.7,111.05,1.7,67 -373,30,2.7,111.05,1.7,67 -374,30,2.7,111.05,1.7,67 -375,30,2.7,111.05,1.7,67 -376,30,2.7,111.05,1.7,67 -377,30,2.7,111.05,1.7,67 -378,30,2.7,111.05,1.7,67 -379,30,2.7,111.05,1.7,67 -380,30,2.7,111.05,1.7,67 -381,30,2.7,111.05,1.7,67 -382,30,2.7,111.05,1.7,67 -383,30,2.7,111.05,1.7,67 -384,30,2.7,111.05,1.7,67 -385,30,2.7,111.05,1.7,67 -386,30,2.7,111.05,1.7,67 -387,30,2.7,111.05,1.7,67 -388,30,2.7,111.05,1.7,67 -389,30,2.7,111.05,1.7,67 -390,30,2.7,111.05,1.7,67 -391,30,2.7,111.05,1.7,67 -392,30,2.7,111.05,1.7,67 -393,30,2.7,111.05,1.7,67 -394,30,2.7,111.05,1.7,67 -395,30,2.7,111.05,1.7,67 -396,30,2.7,111.05,1.7,67 -397,30,2.7,111.05,1.7,67 -398,30,2.7,111.05,1.7,67 -399,30,2.7,111.05,1.7,67 -400,30,2.7,111.05,1.7,67 -401,30,2.7,111.05,1.7,66.9975 -402,30,2.7,111.05,1.7,66.995 -403,30,2.7,111.05,1.7,66.9925 -404,30,2.7,111.05,1.7,66.99 -405,30,2.7,111.05,1.7,66.9875 -406,30,2.7,111.05,1.7,66.985 -407,30,2.7,111.05,1.7,66.9825 -408,30,2.7,111.05,1.7,66.98 -409,30,2.7,111.05,1.7,66.9775 -410,30,2.7,111.05,1.7,66.975 -411,30,2.7,111.05,1.7,66.9725 -412,30,2.7,111.05,1.7,66.97 -413,30,2.7,111.05,1.7,66.9675 -414,30,2.7,111.05,1.7,66.965 -415,30,2.7,111.05,1.7,66.9625 -416,30,2.7,111.05,1.7,66.96 -417,30,2.7,111.05,1.7,66.9575 -418,30,2.7,111.05,1.7,66.955 -419,30,2.7,111.05,1.7,66.9525 -420,30,2.7,111.05,1.7,66.95 -421,30,2.7,111.05,1.7,66.9475 -422,30,2.7,111.05,1.7,66.945 -423,30,2.7,111.05,1.7,66.9425 -424,30,2.7,111.05,1.7,66.94 -425,30,2.7,111.05,1.7,66.9375 -426,30,2.7,111.05,1.7,66.935 -427,30,2.7,111.05,1.7,66.9325 -428,30,2.7,111.05,1.7,66.93 -429,30,2.7,111.05,1.7,66.9275 -430,30,2.7,111.05,1.7,66.925 -431,30,2.7,111.05,1.7,66.9225 -432,30,2.7,111.05,1.7,66.92 -433,30,2.7,111.05,1.7,66.9175 -434,30,2.7,111.05,1.7,66.915 -435,30,2.7,111.05,1.7,66.9125 -436,30,2.7,111.05,1.7,66.91 -437,30,2.7,111.05,1.7,66.9075 -438,30,2.7,111.05,1.7,66.905 -439,30,2.7,111.05,1.7,66.9025 -440,30,2.7,111.05,1.7,66.9 -441,30,2.7,111.05,1.7,66.8975 -442,30,2.7,111.05,1.7,66.895 -443,30,2.7,111.05,1.7,66.8925 -444,30,2.7,111.05,1.7,66.89 -445,30,2.7,111.05,1.7,66.8875 -446,30,2.7,111.05,1.7,66.885 -447,30,2.7,111.05,1.7,66.8825 -448,30,2.7,111.05,1.7,66.88 -449,30,2.7,111.05,1.7,66.8775 -450,30,2.7,111.05,1.7,66.875 -451,30,2.7,111.05,1.7,66.8725 -452,30,2.7,111.05,1.7,66.87 -453,30,2.7,111.05,1.7,66.8675 -454,30,2.7,111.05,1.7,66.865 -455,30,2.7,111.05,1.7,66.8625 -456,30,2.7,111.05,1.7,66.86 -457,30,2.7,111.05,1.7,66.8575 -458,30,2.7,111.05,1.7,66.855 -459,30,2.7,111.05,1.7,66.8525 -460,30,2.7,111.05,1.7,66.85 -461,30,2.7,111.05,1.7,66.8475 -462,30,2.7,111.05,1.7,66.845 -463,30,2.7,111.05,1.7,66.8425 -464,30,2.7,111.05,1.7,66.84 -465,30,2.7,111.05,1.7,66.8375 -466,30,2.7,111.05,1.7,66.835 -467,30,2.7,111.05,1.7,66.8325 -468,30,2.7,111.05,1.7,66.83 -469,30,2.7,111.05,1.7,66.8275 -470,30,2.7,111.05,1.7,66.825 -471,30,2.7,111.05,1.7,66.8225 -472,30,2.7,111.05,1.7,66.82 -473,30,2.7,111.05,1.7,66.8175 -474,30,2.7,111.05,1.7,66.815 -475,30,2.7,111.05,1.7,66.8125 -476,30,2.7,111.05,1.7,66.81 -477,30,2.7,111.05,1.7,66.8075 -478,30,2.7,111.05,1.7,66.805 -479,30,2.7,111.05,1.7,66.8025 -480,30,2.7,111.05,1.7,66.8 -481,30,2.7,111.05,1.7,66.7975 -482,30,2.7,111.05,1.7,66.795 -483,30,2.7,111.05,1.7,66.7925 -484,30,2.7,111.05,1.7,66.79 -485,30,2.7,111.05,1.7,66.7875 -486,30,2.7,111.05,1.7,66.785 -487,30,2.7,111.05,1.7,66.7825 -488,30,2.7,111.05,1.7,66.78 -489,30,2.7,111.05,1.7,66.7775 -490,30,2.7,111.05,1.7,66.775 -491,30,2.7,111.05,1.7,66.7725 -492,30,2.7,111.05,1.7,66.77 -493,30,2.7,111.05,1.7,66.7675 -494,30,2.7,111.05,1.7,66.765 -495,30,2.7,111.05,1.7,66.7625 -496,30,2.7,111.05,1.7,66.76 -497,30,2.7,111.05,1.7,66.7575 -498,30,2.7,111.05,1.7,66.755 -499,30,2.7,111.05,1.7,66.7525 -500,30,2.7,111.05,1.7,66.75 -501,30,2.7,111.05,1.7,66.7475 -502,30,2.7,111.05,1.7,66.745 -503,30,2.7,111.05,1.7,66.7425 -504,30,2.7,111.05,1.7,66.74 -505,30,2.7,111.05,1.7,66.7375 -506,30,2.7,111.05,1.7,66.735 -507,30,2.7,111.05,1.7,66.7325 -508,30,2.7,111.05,1.7,66.73 -509,30,2.7,111.05,1.7,66.7275 -510,30,2.7,111.05,1.7,66.725 -511,30,2.7,111.05,1.7,66.7225 -512,30,2.7,111.05,1.7,66.72 -513,30,2.7,111.05,1.7,66.7175 -514,30,2.7,111.05,1.7,66.715 -515,30,2.7,111.05,1.7,66.7125 -516,30,2.7,111.05,1.7,66.71 -517,30,2.7,111.05,1.7,66.7075 -518,30,2.7,111.05,1.7,66.705 -519,30,2.7,111.05,1.7,66.7025 -520,30,2.7,111.05,1.7,66.7 -521,30,2.7,111.05,1.7,66.6975 -522,30,2.7,111.05,1.7,66.695 -523,30,2.7,111.05,1.7,66.6925 -524,30,2.7,111.05,1.7,66.69 -525,30,2.7,111.05,1.7,66.6875 -526,30,2.7,111.05,1.7,66.685 -527,30,2.7,111.05,1.7,66.6825 -528,30,2.7,111.05,1.7,66.68 -529,30,2.7,111.05,1.7,66.6775 -530,30,2.7,111.05,1.7,66.675 -531,30,2.7,111.05,1.7,66.6725 -532,30,2.7,111.05,1.7,66.67 -533,30,2.7,111.05,1.7,66.6675 -534,30,2.7,111.05,1.7,66.665 -535,30,2.7,111.05,1.7,66.6625 -536,30,2.7,111.05,1.7,66.66 -537,30,2.7,111.05,1.7,66.6575 -538,30,2.7,111.05,1.7,66.655 -539,30,2.7,111.05,1.7,66.6525 -540,30,2.7,111.05,1.7,66.65 -541,30,2.7,111.05,1.7,66.6475 -542,30,2.7,111.05,1.7,66.645 -543,30,2.7,111.05,1.7,66.6425 -544,30,2.7,111.05,1.7,66.64 -545,30,2.7,111.05,1.7,66.6375 -546,30,2.7,111.05,1.7,66.635 -547,30,2.7,111.05,1.7,66.6325 -548,30,2.7,111.05,1.7,66.63 -549,30,2.7,111.05,1.7,66.6275 -550,30,2.7,111.05,1.7,66.625 -551,30,2.7,111.05,1.7,66.6225 -552,30,2.7,111.05,1.7,66.62 -553,30,2.7,111.05,1.7,66.6175 -554,30,2.7,111.05,1.7,66.615 -555,30,2.7,111.05,1.7,66.6125 -556,30,2.7,111.05,1.7,66.61 -557,30,2.7,111.05,1.7,66.6075 -558,30,2.7,111.05,1.7,66.605 -559,30,2.7,111.05,1.7,66.6025 -560,30,2.7,111.05,1.7,66.6 -561,30,2.7,111.05,1.7,66.5975 -562,30,2.7,111.05,1.7,66.595 -563,30,2.7,111.05,1.7,66.5925 -564,30,2.7,111.05,1.7,66.59 -565,30,2.7,111.05,1.7,66.5875 -566,30,2.7,111.05,1.7,66.585 -567,30,2.7,111.05,1.7,66.5825 -568,30,2.7,111.05,1.7,66.58 -569,30,2.7,111.05,1.7,66.5775 -570,30,2.7,111.05,1.7,66.575 -571,30,2.7,111.05,1.7,66.5725 -572,30,2.7,111.05,1.7,66.57 -573,30,2.7,111.05,1.7,66.5675 -574,30,2.7,111.05,1.7,66.565 -575,30,2.7,111.05,1.7,66.5625 -576,30,2.7,111.05,1.7,66.56 -577,30,2.7,111.05,1.7,66.5575 -578,30,2.7,111.05,1.7,66.555 -579,30,2.7,111.05,1.7,66.5525 -580,30,2.7,111.05,1.7,66.55 -581,30,2.7,111.05,1.7,66.5475 -582,30,2.7,111.05,1.7,66.545 -583,30,2.7,111.05,1.7,66.5425 -584,30,2.7,111.05,1.7,66.54 -585,30,2.7,111.05,1.7,66.5375 -586,30,2.7,111.05,1.7,66.535 -587,30,2.7,111.05,1.7,66.5325 -588,30,2.7,111.05,1.7,66.53 -589,30,2.7,111.05,1.7,66.5275 -590,30,2.7,111.05,1.7,66.525 -591,30,2.7,111.05,1.7,66.5225 -592,30,2.7,111.05,1.7,66.52 -593,30,2.7,111.05,1.7,66.5175 -594,30,2.7,111.05,1.7,66.515 -595,30,2.7,111.05,1.7,66.5125 -596,30,2.7,111.05,1.7,66.51 -597,30,2.7,111.05,1.7,66.5075 -598,30,2.7,111.05,1.7,66.505 -599,30,2.7,111.05,1.7,66.5025 -600,30,2.7,111.05,1.7,66.5 -601,30,2.7,111.05,1.7,66.495 -602,30,2.7,111.05,1.7,66.49 -603,30,2.7,111.05,1.7,66.485 -604,30,2.7,111.05,1.7,66.48 -605,30,2.7,111.05,1.7,66.475 -606,30,2.7,111.05,1.7,66.47 -607,30,2.7,111.05,1.7,66.465 -608,30,2.7,111.05,1.7,66.46 -609,30,2.7,111.05,1.7,66.455 -610,30,2.7,111.05,1.7,66.45 -611,30,2.7,111.05,1.7,66.445 -612,30,2.7,111.05,1.7,66.44 -613,30,2.7,111.05,1.7,66.435 -614,30,2.7,111.05,1.7,66.43 -615,30,2.7,111.05,1.7,66.425 -616,30,2.7,111.05,1.7,66.42 -617,30,2.7,111.05,1.7,66.415 -618,30,2.7,111.05,1.7,66.41 -619,30,2.7,111.05,1.7,66.405 -620,30,2.7,111.05,1.7,66.4 -621,30,2.7,111.05,1.7,66.395 -622,30,2.7,111.05,1.7,66.39 -623,30,2.7,111.05,1.7,66.385 -624,30,2.7,111.05,1.7,66.38 -625,30,2.7,111.05,1.7,66.375 -626,30,2.7,111.05,1.7,66.37 -627,30,2.7,111.05,1.7,66.365 -628,30,2.7,111.05,1.7,66.36 -629,30,2.7,111.05,1.7,66.355 -630,30,2.7,111.05,1.7,66.35 -631,30,2.7,111.05,1.7,66.345 -632,30,2.7,111.05,1.7,66.34 -633,30,2.7,111.05,1.7,66.335 -634,30,2.7,111.05,1.7,66.33 -635,30,2.7,111.05,1.7,66.325 -636,30,2.7,111.05,1.7,66.32 -637,30,2.7,111.05,1.7,66.315 -638,30,2.7,111.05,1.7,66.31 -639,30,2.7,111.05,1.7,66.305 -640,30,2.7,111.05,1.7,66.3 -641,30,2.7,111.05,1.7,66.295 -642,30,2.7,111.05,1.7,66.29 -643,30,2.7,111.05,1.7,66.285 -644,30,2.7,111.05,1.7,66.28 -645,30,2.7,111.05,1.7,66.275 -646,30,2.7,111.05,1.7,66.27 -647,30,2.7,111.05,1.7,66.265 -648,30,2.7,111.05,1.7,66.26 -649,30,2.7,111.05,1.7,66.255 -650,30,2.7,111.05,1.7,66.25 -651,30,2.7,111.05,1.7,66.245 -652,30,2.7,111.05,1.7,66.24 -653,30,2.7,111.05,1.7,66.235 -654,30,2.7,111.05,1.7,66.23 -655,30,2.7,111.05,1.7,66.225 -656,30,2.7,111.05,1.7,66.22 -657,30,2.7,111.05,1.7,66.215 -658,30,2.7,111.05,1.7,66.21 -659,30,2.7,111.05,1.7,66.205 -660,30,2.7,111.05,1.7,66.2 -661,30,2.7,111.05,1.7,66.195 -662,30,2.7,111.05,1.7,66.19 -663,30,2.7,111.05,1.7,66.185 -664,30,2.7,111.05,1.7,66.18 -665,30,2.7,111.05,1.7,66.175 -666,30,2.7,111.05,1.7,66.17 -667,30,2.7,111.05,1.7,66.165 -668,30,2.7,111.05,1.7,66.16 -669,30,2.7,111.05,1.7,66.155 -670,30,2.7,111.05,1.7,66.15 -671,30,2.7,111.05,1.7,66.145 -672,30,2.7,111.05,1.7,66.14 -673,30,2.7,111.05,1.7,66.135 -674,30,2.7,111.05,1.7,66.13 -675,30,2.7,111.05,1.7,66.125 -676,30,2.7,111.05,1.7,66.12 -677,30,2.7,111.05,1.7,66.115 -678,30,2.7,111.05,1.7,66.11 -679,30,2.7,111.05,1.7,66.105 -680,30,2.7,111.05,1.7,66.1 -681,30,2.7,111.05,1.7,66.095 -682,30,2.7,111.05,1.7,66.09 -683,30,2.7,111.05,1.7,66.085 -684,30,2.7,111.05,1.7,66.08 -685,30,2.7,111.05,1.7,66.075 -686,30,2.7,111.05,1.7,66.07 -687,30,2.7,111.05,1.7,66.065 -688,30,2.7,111.05,1.7,66.06 -689,30,2.7,111.05,1.7,66.055 -690,30,2.7,111.05,1.7,66.05 -691,30,2.7,111.05,1.7,66.045 -692,30,2.7,111.05,1.7,66.04 -693,30,2.7,111.05,1.7,66.035 -694,30,2.7,111.05,1.7,66.03 -695,30,2.7,111.05,1.7,66.025 -696,30,2.7,111.05,1.7,66.02 -697,30,2.7,111.05,1.7,66.015 -698,30,2.7,111.05,1.7,66.01 -699,30,2.7,111.05,1.7,66.005 -700,30,2.7,111.05,1.7,66 -701,30,2.7,111.05,1.7,65.995 -702,30,2.7,111.05,1.7,65.99 -703,30,2.7,111.05,1.7,65.985 -704,30,2.7,111.05,1.7,65.98 -705,30,2.7,111.05,1.7,65.975 -706,30,2.7,111.05,1.7,65.97 -707,30,2.7,111.05,1.7,65.965 -708,30,2.7,111.05,1.7,65.96 -709,30,2.7,111.05,1.7,65.955 -710,30,2.7,111.05,1.7,65.95 -711,30,2.7,111.05,1.7,65.945 -712,30,2.7,111.05,1.7,65.94 -713,30,2.7,111.05,1.7,65.935 -714,30,2.7,111.05,1.7,65.93 -715,30,2.7,111.05,1.7,65.925 -716,30,2.7,111.05,1.7,65.92 -717,30,2.7,111.05,1.7,65.915 -718,30,2.7,111.05,1.7,65.91 -719,30,2.7,111.05,1.7,65.905 -720,30,2.7,111.05,1.7,65.9 -721,30,2.7,111.05,1.7,65.895 -722,30,2.7,111.05,1.7,65.89 -723,30,2.7,111.05,1.7,65.885 -724,30,2.7,111.05,1.7,65.88 -725,30,2.7,111.05,1.7,65.875 -726,30,2.7,111.05,1.7,65.87 -727,30,2.7,111.05,1.7,65.865 -728,30,2.7,111.05,1.7,65.86 -729,30,2.7,111.05,1.7,65.855 -730,30,2.7,111.05,1.7,65.85 -731,30,2.7,111.05,1.7,65.845 -732,30,2.7,111.05,1.7,65.84 -733,30,2.7,111.05,1.7,65.835 -734,30,2.7,111.05,1.7,65.83 -735,30,2.7,111.05,1.7,65.825 -736,30,2.7,111.05,1.7,65.82 -737,30,2.7,111.05,1.7,65.815 -738,30,2.7,111.05,1.7,65.81 -739,30,2.7,111.05,1.7,65.805 -740,30,2.7,111.05,1.7,65.8 -741,30,2.7,111.05,1.7,65.795 -742,30,2.7,111.05,1.7,65.79 -743,30,2.7,111.05,1.7,65.785 -744,30,2.7,111.05,1.7,65.78 -745,30,2.7,111.05,1.7,65.775 -746,30,2.7,111.05,1.7,65.77 -747,30,2.7,111.05,1.7,65.765 -748,30,2.7,111.05,1.7,65.76 -749,30,2.7,111.05,1.7,65.755 -750,30,2.7,111.05,1.7,65.75 -751,30,2.7,111.05,1.7,65.745 -752,30,2.7,111.05,1.7,65.74 -753,30,2.7,111.05,1.7,65.735 -754,30,2.7,111.05,1.7,65.73 -755,30,2.7,111.05,1.7,65.725 -756,30,2.7,111.05,1.7,65.72 -757,30,2.7,111.05,1.7,65.715 -758,30,2.7,111.05,1.7,65.71 -759,30,2.7,111.05,1.7,65.705 -760,30,2.7,111.05,1.7,65.7 -761,30,2.7,111.05,1.7,65.695 -762,30,2.7,111.05,1.7,65.69 -763,30,2.7,111.05,1.7,65.685 -764,30,2.7,111.05,1.7,65.68 -765,30,2.7,111.05,1.7,65.675 -766,30,2.7,111.05,1.7,65.67 -767,30,2.7,111.05,1.7,65.665 -768,30,2.7,111.05,1.7,65.66 -769,30,2.7,111.05,1.7,65.655 -770,30,2.7,111.05,1.7,65.65 -771,30,2.7,111.05,1.7,65.645 -772,30,2.7,111.05,1.7,65.64 -773,30,2.7,111.05,1.7,65.635 -774,30,2.7,111.05,1.7,65.63 -775,30,2.7,111.05,1.7,65.625 -776,30,2.7,111.05,1.7,65.62 -777,30,2.7,111.05,1.7,65.615 -778,30,2.7,111.05,1.7,65.61 -779,30,2.7,111.05,1.7,65.605 -780,30,2.7,111.05,1.7,65.6 -781,30,2.7,111.05,1.7,65.595 -782,30,2.7,111.05,1.7,65.59 -783,30,2.7,111.05,1.7,65.585 -784,30,2.7,111.05,1.7,65.58 -785,30,2.7,111.05,1.7,65.575 -786,30,2.7,111.05,1.7,65.57 -787,30,2.7,111.05,1.7,65.565 -788,30,2.7,111.05,1.7,65.56 -789,30,2.7,111.05,1.7,65.555 -790,30,2.7,111.05,1.7,65.55 -791,30,2.7,111.05,1.7,65.545 -792,30,2.7,111.05,1.7,65.54 -793,30,2.7,111.05,1.7,65.535 -794,30,2.7,111.05,1.7,65.53 -795,30,2.7,111.05,1.7,65.525 -796,30,2.7,111.05,1.7,65.52 -797,30,2.7,111.05,1.7,65.515 -798,30,2.7,111.05,1.7,65.51 -799,30,2.7,111.05,1.7,65.505 -800,30,2.7,111.05,1.7,65.5 -801,30,2.7,111.05,1.7,65.495 -802,30,2.7,111.05,1.7,65.49 -803,30,2.7,111.05,1.7,65.485 -804,30,2.7,111.05,1.7,65.48 -805,30,2.7,111.05,1.7,65.475 -806,30,2.7,111.05,1.7,65.47 -807,30,2.7,111.05,1.7,65.465 -808,30,2.7,111.05,1.7,65.46 -809,30,2.7,111.05,1.7,65.455 -810,30,2.7,111.05,1.7,65.45 -811,30,2.7,111.05,1.7,65.445 -812,30,2.7,111.05,1.7,65.44 -813,30,2.7,111.05,1.7,65.435 -814,30,2.7,111.05,1.7,65.43 -815,30,2.7,111.05,1.7,65.425 -816,30,2.7,111.05,1.7,65.42 -817,30,2.7,111.05,1.7,65.415 -818,30,2.7,111.05,1.7,65.41 -819,30,2.7,111.05,1.7,65.405 -820,30,2.7,111.05,1.7,65.4 -821,30,2.7,111.05,1.7,65.395 -822,30,2.7,111.05,1.7,65.39 -823,30,2.7,111.05,1.7,65.385 -824,30,2.7,111.05,1.7,65.38 -825,30,2.7,111.05,1.7,65.375 -826,30,2.7,111.05,1.7,65.37 -827,30,2.7,111.05,1.7,65.365 -828,30,2.7,111.05,1.7,65.36 -829,30,2.7,111.05,1.7,65.355 -830,30,2.7,111.05,1.7,65.35 -831,30,2.7,111.05,1.7,65.345 -832,30,2.7,111.05,1.7,65.34 -833,30,2.7,111.05,1.7,65.335 -834,30,2.7,111.05,1.7,65.33 -835,30,2.7,111.05,1.7,65.325 -836,30,2.7,111.05,1.7,65.32 -837,30,2.7,111.05,1.7,65.315 -838,30,2.7,111.05,1.7,65.31 -839,30,2.7,111.05,1.7,65.305 -840,30,2.7,111.05,1.7,65.3 -841,30,2.7,111.05,1.7,65.295 -842,30,2.7,111.05,1.7,65.29 -843,30,2.7,111.05,1.7,65.285 -844,30,2.7,111.05,1.7,65.28 -845,30,2.7,111.05,1.7,65.275 -846,30,2.7,111.05,1.7,65.27 -847,30,2.7,111.05,1.7,65.265 -848,30,2.7,111.05,1.7,65.26 -849,30,2.7,111.05,1.7,65.255 -850,30,2.7,111.05,1.7,65.25 -851,30,2.7,111.05,1.7,65.245 -852,30,2.7,111.05,1.7,65.24 -853,30,2.7,111.05,1.7,65.235 -854,30,2.7,111.05,1.7,65.23 -855,30,2.7,111.05,1.7,65.225 -856,30,2.7,111.05,1.7,65.22 -857,30,2.7,111.05,1.7,65.215 -858,30,2.7,111.05,1.7,65.21 -859,30,2.7,111.05,1.7,65.205 -860,30,2.7,111.05,1.7,65.2 -861,30,2.7,111.05,1.7,65.195 -862,30,2.7,111.05,1.7,65.19 -863,30,2.7,111.05,1.7,65.185 -864,30,2.7,111.05,1.7,65.18 -865,30,2.7,111.05,1.7,65.175 -866,30,2.7,111.05,1.7,65.17 -867,30,2.7,111.05,1.7,65.165 -868,30,2.7,111.05,1.7,65.16 -869,30,2.7,111.05,1.7,65.155 -870,30,2.7,111.05,1.7,65.15 -871,30,2.7,111.05,1.7,65.145 -872,30,2.7,111.05,1.7,65.14 -873,30,2.7,111.05,1.7,65.135 -874,30,2.7,111.05,1.7,65.13 -875,30,2.7,111.05,1.7,65.125 -876,30,2.7,111.05,1.7,65.12 -877,30,2.7,111.05,1.7,65.115 -878,30,2.7,111.05,1.7,65.11 -879,30,2.7,111.05,1.7,65.105 -880,30,2.7,111.05,1.7,65.1 -881,30,2.7,111.05,1.7,65.095 -882,30,2.7,111.05,1.7,65.09 -883,30,2.7,111.05,1.7,65.085 -884,30,2.7,111.05,1.7,65.08 -885,30,2.7,111.05,1.7,65.075 -886,30,2.7,111.05,1.7,65.07 -887,30,2.7,111.05,1.7,65.065 -888,30,2.7,111.05,1.7,65.06 -889,30,2.7,111.05,1.7,65.055 -890,30,2.7,111.05,1.7,65.05 -891,30,2.7,111.05,1.7,65.045 -892,30,2.7,111.05,1.7,65.04 -893,30,2.7,111.05,1.7,65.035 -894,30,2.7,111.05,1.7,65.03 -895,30,2.7,111.05,1.7,65.025 -896,30,2.7,111.05,1.7,65.02 -897,30,2.7,111.05,1.7,65.015 -898,30,2.7,111.05,1.7,65.01 -899,30,2.7,111.05,1.7,65.005 -900,30,2.7,111.05,1.7,65 -901,30,2.7,111.05,1.7,64.99833333 -902,30,2.7,111.05,1.7,64.99666667 -903,30,2.7,111.05,1.7,64.995 -904,30,2.7,111.05,1.7,64.99333333 -905,30,2.7,111.05,1.7,64.99166667 -906,30,2.7,111.05,1.7,64.99 -907,30,2.7,111.05,1.7,64.98833333 -908,30,2.7,111.05,1.7,64.98666667 -909,30,2.7,111.05,1.7,64.985 -910,30,2.7,111.05,1.7,64.98333333 -911,30,2.7,111.05,1.7,64.98166667 -912,30,2.7,111.05,1.7,64.98 -913,30,2.7,111.05,1.7,64.97833333 -914,30,2.7,111.05,1.7,64.97666667 -915,30,2.7,111.05,1.7,64.975 -916,30,2.7,111.05,1.7,64.97333333 -917,30,2.7,111.05,1.7,64.97166667 -918,30,2.7,111.05,1.7,64.97 -919,30,2.7,111.05,1.7,64.96833333 -920,30,2.7,111.05,1.7,64.96666667 -921,30,2.7,111.05,1.7,64.965 -922,30,2.7,111.05,1.7,64.96333333 -923,30,2.7,111.05,1.7,64.96166667 -924,30,2.7,111.05,1.7,64.96 -925,30,2.7,111.05,1.7,64.95833333 -926,30,2.7,111.05,1.7,64.95666667 -927,30,2.7,111.05,1.7,64.955 -928,30,2.7,111.05,1.7,64.95333333 -929,30,2.7,111.05,1.7,64.95166667 -930,30,2.7,111.05,1.7,64.95 -931,30,2.7,111.05,1.7,64.94833333 -932,30,2.7,111.05,1.7,64.94666667 -933,30,2.7,111.05,1.7,64.945 -934,30,2.7,111.05,1.7,64.94333333 -935,30,2.7,111.05,1.7,64.94166667 -936,30,2.7,111.05,1.7,64.94 -937,30,2.7,111.05,1.7,64.93833333 -938,30,2.7,111.05,1.7,64.93666667 -939,30,2.7,111.05,1.7,64.935 -940,30,2.7,111.05,1.7,64.93333333 -941,30,2.7,111.05,1.7,64.93166667 -942,30,2.7,111.05,1.7,64.93 -943,30,2.7,111.05,1.7,64.92833333 -944,30,2.7,111.05,1.7,64.92666667 -945,30,2.7,111.05,1.7,64.925 -946,30,2.7,111.05,1.7,64.92333333 -947,30,2.7,111.05,1.7,64.92166667 -948,30,2.7,111.05,1.7,64.92 -949,30,2.7,111.05,1.7,64.91833333 -950,30,2.7,111.05,1.7,64.91666667 -951,30,2.7,111.05,1.7,64.915 -952,30,2.7,111.05,1.7,64.91333333 -953,30,2.7,111.05,1.7,64.91166666 -954,30,2.7,111.05,1.7,64.91 -955,30,2.7,111.05,1.7,64.90833333 -956,30,2.7,111.05,1.7,64.90666666 -957,30,2.7,111.05,1.7,64.905 -958,30,2.7,111.05,1.7,64.90333333 -959,30,2.7,111.05,1.7,64.90166666 -960,30,2.7,111.05,1.7,64.9 -961,30,2.7,111.05,1.7,64.89833333 -962,30,2.7,111.05,1.7,64.89666666 -963,30,2.7,111.05,1.7,64.895 -964,30,2.7,111.05,1.7,64.89333333 -965,30,2.7,111.05,1.7,64.89166666 -966,30,2.7,111.05,1.7,64.89 -967,30,2.7,111.05,1.7,64.88833333 -968,30,2.7,111.05,1.7,64.88666666 -969,30,2.7,111.05,1.7,64.885 -970,30,2.7,111.05,1.7,64.88333333 -971,30,2.7,111.05,1.7,64.88166666 -972,30,2.7,111.05,1.7,64.88 -973,30,2.7,111.05,1.7,64.87833333 -974,30,2.7,111.05,1.7,64.87666666 -975,30,2.7,111.05,1.7,64.875 -976,30,2.7,111.05,1.7,64.87333333 -977,30,2.7,111.05,1.7,64.87166666 -978,30,2.7,111.05,1.7,64.87 -979,30,2.7,111.05,1.7,64.86833333 -980,30,2.7,111.05,1.7,64.86666666 -981,30,2.7,111.05,1.7,64.865 -982,30,2.7,111.05,1.7,64.86333333 -983,30,2.7,111.05,1.7,64.86166666 -984,30,2.7,111.05,1.7,64.86 -985,30,2.7,111.05,1.7,64.85833333 -986,30,2.7,111.05,1.7,64.85666666 -987,30,2.7,111.05,1.7,64.855 -988,30,2.7,111.05,1.7,64.85333333 -989,30,2.7,111.05,1.7,64.85166666 -990,30,2.7,111.05,1.7,64.85 -991,30,2.7,111.05,1.7,64.84833333 -992,30,2.7,111.05,1.7,64.84666666 -993,30,2.7,111.05,1.7,64.845 -994,30,2.7,111.05,1.7,64.84333333 -995,30,2.7,111.05,1.7,64.84166666 -996,30,2.7,111.05,1.7,64.84 -997,30,2.7,111.05,1.7,64.83833333 -998,30,2.7,111.05,1.7,64.83666666 -999,30,2.7,111.05,1.7,64.835 -1000,30,2.7,111.05,1.7,64.83333333 -1001,30,2.7,111.05,1.7,64.83166666 -1002,30,2.7,111.05,1.7,64.83 -1003,30,2.7,111.05,1.7,64.82833333 -1004,30,2.7,111.05,1.7,64.82666666 -1005,30,2.7,111.05,1.7,64.825 -1006,30,2.7,111.05,1.7,64.82333333 -1007,30,2.7,111.05,1.7,64.82166666 -1008,30,2.7,111.05,1.7,64.82 -1009,30,2.7,111.05,1.7,64.81833333 -1010,30,2.7,111.05,1.7,64.81666666 -1011,30,2.7,111.05,1.7,64.815 -1012,30,2.7,111.05,1.7,64.81333333 -1013,30,2.7,111.05,1.7,64.81166666 -1014,30,2.7,111.05,1.7,64.81 -1015,30,2.7,111.05,1.7,64.80833333 -1016,30,2.7,111.05,1.7,64.80666666 -1017,30,2.7,111.05,1.7,64.805 -1018,30,2.7,111.05,1.7,64.80333333 -1019,30,2.7,111.05,1.7,64.80166666 -1020,30,2.7,111.05,1.7,64.8 -1021,30,2.7,111.05,1.7,64.79833333 -1022,30,2.7,111.05,1.7,64.79666666 -1023,30,2.7,111.05,1.7,64.795 -1024,30,2.7,111.05,1.7,64.79333333 -1025,30,2.7,111.05,1.7,64.79166666 -1026,30,2.7,111.05,1.7,64.79 -1027,30,2.7,111.05,1.7,64.78833333 -1028,30,2.7,111.05,1.7,64.78666666 -1029,30,2.7,111.05,1.7,64.785 -1030,30,2.7,111.05,1.7,64.78333333 -1031,30,2.7,111.05,1.7,64.78166666 -1032,30,2.7,111.05,1.7,64.78 -1033,30,2.7,111.05,1.7,64.77833333 -1034,30,2.7,111.05,1.7,64.77666666 -1035,30,2.7,111.05,1.7,64.775 -1036,30,2.7,111.05,1.7,64.77333333 -1037,30,2.7,111.05,1.7,64.77166666 -1038,30,2.7,111.05,1.7,64.77 -1039,30,2.7,111.05,1.7,64.76833333 -1040,30,2.7,111.05,1.7,64.76666666 -1041,30,2.7,111.05,1.7,64.765 -1042,30,2.7,111.05,1.7,64.76333333 -1043,30,2.7,111.05,1.7,64.76166666 -1044,30,2.7,111.05,1.7,64.76 -1045,30,2.7,111.05,1.7,64.75833333 -1046,30,2.7,111.05,1.7,64.75666666 -1047,30,2.7,111.05,1.7,64.755 -1048,30,2.7,111.05,1.7,64.75333333 -1049,30,2.7,111.05,1.7,64.75166666 -1050,30,2.7,111.05,1.7,64.75 -1051,30,2.7,111.05,1.7,64.74833333 -1052,30,2.7,111.05,1.7,64.74666666 -1053,30,2.7,111.05,1.7,64.74499999 -1054,30,2.7,111.05,1.7,64.74333333 -1055,30,2.7,111.05,1.7,64.74166666 -1056,30,2.7,111.05,1.7,64.73999999 -1057,30,2.7,111.05,1.7,64.73833333 -1058,30,2.7,111.05,1.7,64.73666666 -1059,30,2.7,111.05,1.7,64.73499999 -1060,30,2.7,111.05,1.7,64.73333333 -1061,30,2.7,111.05,1.7,64.73166666 -1062,30,2.7,111.05,1.7,64.72999999 -1063,30,2.7,111.05,1.7,64.72833333 -1064,30,2.7,111.05,1.7,64.72666666 -1065,30,2.7,111.05,1.7,64.72499999 -1066,30,2.7,111.05,1.7,64.72333333 -1067,30,2.7,111.05,1.7,64.72166666 -1068,30,2.7,111.05,1.7,64.71999999 -1069,30,2.7,111.05,1.7,64.71833333 -1070,30,2.7,111.05,1.7,64.71666666 -1071,30,2.7,111.05,1.7,64.71499999 -1072,30,2.7,111.05,1.7,64.71333333 -1073,30,2.7,111.05,1.7,64.71166666 -1074,30,2.7,111.05,1.7,64.70999999 -1075,30,2.7,111.05,1.7,64.70833333 -1076,30,2.7,111.05,1.7,64.70666666 -1077,30,2.7,111.05,1.7,64.70499999 -1078,30,2.7,111.05,1.7,64.70333333 -1079,30,2.7,111.05,1.7,64.70166666 -1080,30,2.7,111.05,1.7,64.69999999 -1081,30,2.7,111.05,1.7,64.69833333 -1082,30,2.7,111.05,1.7,64.69666666 -1083,30,2.7,111.05,1.7,64.69499999 -1084,30,2.7,111.05,1.7,64.69333333 -1085,30,2.7,111.05,1.7,64.69166666 -1086,30,2.7,111.05,1.7,64.68999999 -1087,30,2.7,111.05,1.7,64.68833333 -1088,30,2.7,111.05,1.7,64.68666666 -1089,30,2.7,111.05,1.7,64.68499999 -1090,30,2.7,111.05,1.7,64.68333333 -1091,30,2.7,111.05,1.7,64.68166666 -1092,30,2.7,111.05,1.7,64.67999999 -1093,30,2.7,111.05,1.7,64.67833333 -1094,30,2.7,111.05,1.7,64.67666666 -1095,30,2.7,111.05,1.7,64.67499999 -1096,30,2.7,111.05,1.7,64.67333333 -1097,30,2.7,111.05,1.7,64.67166666 -1098,30,2.7,111.05,1.7,64.66999999 -1099,30,2.7,111.05,1.7,64.66833333 -1100,30,2.7,111.05,1.7,64.66666666 -1101,30,2.7,111.05,1.7,64.66499999 -1102,30,2.7,111.05,1.7,64.66333333 -1103,30,2.7,111.05,1.7,64.66166666 -1104,30,2.7,111.05,1.7,64.65999999 -1105,30,2.7,111.05,1.7,64.65833333 -1106,30,2.7,111.05,1.7,64.65666666 -1107,30,2.7,111.05,1.7,64.65499999 -1108,30,2.7,111.05,1.7,64.65333333 -1109,30,2.7,111.05,1.7,64.65166666 -1110,30,2.7,111.05,1.7,64.64999999 -1111,30,2.7,111.05,1.7,64.64833333 -1112,30,2.7,111.05,1.7,64.64666666 -1113,30,2.7,111.05,1.7,64.64499999 -1114,30,2.7,111.05,1.7,64.64333333 -1115,30,2.7,111.05,1.7,64.64166666 -1116,30,2.7,111.05,1.7,64.63999999 -1117,30,2.7,111.05,1.7,64.63833333 -1118,30,2.7,111.05,1.7,64.63666666 -1119,30,2.7,111.05,1.7,64.63499999 -1120,30,2.7,111.05,1.7,64.63333333 -1121,30,2.7,111.05,1.7,64.63166666 -1122,30,2.7,111.05,1.7,64.62999999 -1123,30,2.7,111.05,1.7,64.62833333 -1124,30,2.7,111.05,1.7,64.62666666 -1125,30,2.7,111.05,1.7,64.62499999 -1126,30,2.7,111.05,1.7,64.62333333 -1127,30,2.7,111.05,1.7,64.62166666 -1128,30,2.7,111.05,1.7,64.61999999 -1129,30,2.7,111.05,1.7,64.61833333 -1130,30,2.7,111.05,1.7,64.61666666 -1131,30,2.7,111.05,1.7,64.61499999 -1132,30,2.7,111.05,1.7,64.61333333 -1133,30,2.7,111.05,1.7,64.61166666 -1134,30,2.7,111.05,1.7,64.60999999 -1135,30,2.7,111.05,1.7,64.60833333 -1136,30,2.7,111.05,1.7,64.60666666 -1137,30,2.7,111.05,1.7,64.60499999 -1138,30,2.7,111.05,1.7,64.60333333 -1139,30,2.7,111.05,1.7,64.60166666 -1140,30,2.7,111.05,1.7,64.59999999 -1141,30,2.7,111.05,1.7,64.59833333 -1142,30,2.7,111.05,1.7,64.59666666 -1143,30,2.7,111.05,1.7,64.59499999 -1144,30,2.7,111.05,1.7,64.59333333 -1145,30,2.7,111.05,1.7,64.59166666 -1146,30,2.7,111.05,1.7,64.58999999 -1147,30,2.7,111.05,1.7,64.58833333 -1148,30,2.7,111.05,1.7,64.58666666 -1149,30,2.7,111.05,1.7,64.58499999 -1150,30,2.7,111.05,1.7,64.58333333 -1151,30,2.7,111.05,1.7,64.58166666 -1152,30,2.7,111.05,1.7,64.57999999 -1153,30,2.7,111.05,1.7,64.57833332 -1154,30,2.7,111.05,1.7,64.57666666 -1155,30,2.7,111.05,1.7,64.57499999 -1156,30,2.7,111.05,1.7,64.57333332 -1157,30,2.7,111.05,1.7,64.57166666 -1158,30,2.7,111.05,1.7,64.56999999 -1159,30,2.7,111.05,1.7,64.56833332 -1160,30,2.7,111.05,1.7,64.56666666 -1161,30,2.7,111.05,1.7,64.56499999 -1162,30,2.7,111.05,1.7,64.56333332 -1163,30,2.7,111.05,1.7,64.56166666 -1164,30,2.7,111.05,1.7,64.55999999 -1165,30,2.7,111.05,1.7,64.55833332 -1166,30,2.7,111.05,1.7,64.55666666 -1167,30,2.7,111.05,1.7,64.55499999 -1168,30,2.7,111.05,1.7,64.55333332 -1169,30,2.7,111.05,1.7,64.55166666 -1170,30,2.7,111.05,1.7,64.54999999 -1171,30,2.7,111.05,1.7,64.54833332 -1172,30,2.7,111.05,1.7,64.54666666 -1173,30,2.7,111.05,1.7,64.54499999 -1174,30,2.7,111.05,1.7,64.54333332 -1175,30,2.7,111.05,1.7,64.54166666 -1176,30,2.7,111.05,1.7,64.53999999 -1177,30,2.7,111.05,1.7,64.53833332 -1178,30,2.7,111.05,1.7,64.53666666 -1179,30,2.7,111.05,1.7,64.53499999 -1180,30,2.7,111.05,1.7,64.53333332 -1181,30,2.7,111.05,1.7,64.53166666 -1182,30,2.7,111.05,1.7,64.52999999 -1183,30,2.7,111.05,1.7,64.52833332 -1184,30,2.7,111.05,1.7,64.52666666 -1185,30,2.7,111.05,1.7,64.52499999 -1186,30,2.7,111.05,1.7,64.52333332 -1187,30,2.7,111.05,1.7,64.52166666 -1188,30,2.7,111.05,1.7,64.51999999 -1189,30,2.7,111.05,1.7,64.51833332 -1190,30,2.7,111.05,1.7,64.51666666 -1191,30,2.7,111.05,1.7,64.51499999 -1192,30,2.7,111.05,1.7,64.51333332 -1193,30,2.7,111.05,1.7,64.51166666 -1194,30,2.7,111.05,1.7,64.50999999 -1195,30,2.7,111.05,1.7,64.50833332 -1196,30,2.7,111.05,1.7,64.50666666 -1197,30,2.7,111.05,1.7,64.50499999 -1198,30,2.7,111.05,1.7,64.50333332 -1199,30,2.7,111.05,1.7,64.50166666 -1200,30,2.7,111.05,1.7,64.5 -1201,30,2.7,111.05,1.7,64.499375 -1202,30,2.7,111.05,1.7,64.49875 -1203,30,2.7,111.05,1.7,64.498125 -1204,30,2.7,111.05,1.7,64.4975 -1205,30,2.7,111.05,1.7,64.496875 -1206,30,2.7,111.05,1.7,64.49625 -1207,30,2.7,111.05,1.7,64.495625 -1208,30,2.7,111.05,1.7,64.495 -1209,30,2.7,111.05,1.7,64.494375 -1210,30,2.7,111.05,1.7,64.49375 -1211,30,2.7,111.05,1.7,64.493125 -1212,30,2.7,111.05,1.7,64.4925 -1213,30,2.7,111.05,1.7,64.491875 -1214,30,2.7,111.05,1.7,64.49125 -1215,30,2.7,111.05,1.7,64.490625 -1216,30,2.7,111.05,1.7,64.49 -1217,30,2.7,111.05,1.7,64.489375 -1218,30,2.7,111.05,1.7,64.48875 -1219,30,2.7,111.05,1.7,64.488125 -1220,30,2.7,111.05,1.7,64.4875 -1221,30,2.7,111.05,1.7,64.486875 -1222,30,2.7,111.05,1.7,64.48625 -1223,30,2.7,111.05,1.7,64.485625 -1224,30,2.7,111.05,1.7,64.485 -1225,30,2.7,111.05,1.7,64.484375 -1226,30,2.7,111.05,1.7,64.48375 -1227,30,2.7,111.05,1.7,64.483125 -1228,30,2.7,111.05,1.7,64.4825 -1229,30,2.7,111.05,1.7,64.481875 -1230,30,2.7,111.05,1.7,64.48125 -1231,30,2.7,111.05,1.7,64.480625 -1232,30,2.7,111.05,1.7,64.48 -1233,30,2.7,111.05,1.7,64.479375 -1234,30,2.7,111.05,1.7,64.47875 -1235,30,2.7,111.05,1.7,64.478125 -1236,30,2.7,111.05,1.7,64.4775 -1237,30,2.7,111.05,1.7,64.476875 -1238,30,2.7,111.05,1.7,64.47625 -1239,30,2.7,111.05,1.7,64.475625 -1240,30,2.7,111.05,1.7,64.475 -1241,30,2.7,111.05,1.7,64.474375 -1242,30,2.7,111.05,1.7,64.47375 -1243,30,2.7,111.05,1.7,64.473125 -1244,30,2.7,111.05,1.7,64.4725 -1245,30,2.7,111.05,1.7,64.471875 -1246,30,2.7,111.05,1.7,64.47125 -1247,30,2.7,111.05,1.7,64.470625 -1248,30,2.7,111.05,1.7,64.47 -1249,30,2.7,111.05,1.7,64.469375 -1250,30,2.7,111.05,1.7,64.46875 -1251,30,2.7,111.05,1.7,64.468125 -1252,30,2.7,111.05,1.7,64.4675 -1253,30,2.7,111.05,1.7,64.466875 -1254,30,2.7,111.05,1.7,64.46625 -1255,30,2.7,111.05,1.7,64.465625 -1256,30,2.7,111.05,1.7,64.465 -1257,30,2.7,111.05,1.7,64.464375 -1258,30,2.7,111.05,1.7,64.46375 -1259,30,2.7,111.05,1.7,64.463125 -1260,30,2.7,111.05,1.7,64.4625 -1261,30,2.7,111.05,1.7,64.461875 -1262,30,2.7,111.05,1.7,64.46125 -1263,30,2.7,111.05,1.7,64.460625 -1264,30,2.7,111.05,1.7,64.46 -1265,30,2.7,111.05,1.7,64.459375 -1266,30,2.7,111.05,1.7,64.45875 -1267,30,2.7,111.05,1.7,64.458125 -1268,30,2.7,111.05,1.7,64.4575 -1269,30,2.7,111.05,1.7,64.456875 -1270,30,2.7,111.05,1.7,64.45625 -1271,30,2.7,111.05,1.7,64.455625 -1272,30,2.7,111.05,1.7,64.455 -1273,30,2.7,111.05,1.7,64.454375 -1274,30,2.7,111.05,1.7,64.45375 -1275,30,2.7,111.05,1.7,64.453125 -1276,30,2.7,111.05,1.7,64.4525 -1277,30,2.7,111.05,1.7,64.451875 -1278,30,2.7,111.05,1.7,64.45125 -1279,30,2.7,111.05,1.7,64.450625 -1280,30,2.7,111.05,1.7,64.45 -1281,30,2.7,111.05,1.7,64.449375 -1282,30,2.7,111.05,1.7,64.44875 -1283,30,2.7,111.05,1.7,64.448125 -1284,30,2.7,111.05,1.7,64.4475 -1285,30,2.7,111.05,1.7,64.446875 -1286,30,2.7,111.05,1.7,64.44625 -1287,30,2.7,111.05,1.7,64.445625 -1288,30,2.7,111.05,1.7,64.445 -1289,30,2.7,111.05,1.7,64.444375 -1290,30,2.7,111.05,1.7,64.44375 -1291,30,2.7,111.05,1.7,64.443125 -1292,30,2.7,111.05,1.7,64.4425 -1293,30,2.7,111.05,1.7,64.441875 -1294,30,2.7,111.05,1.7,64.44125 -1295,30,2.7,111.05,1.7,64.440625 -1296,30,2.7,111.05,1.7,64.44 -1297,30,2.7,111.05,1.7,64.439375 -1298,30,2.7,111.05,1.7,64.43875 -1299,30,2.7,111.05,1.7,64.438125 -1300,30,2.7,111.05,1.7,64.4375 -1301,30,2.7,111.05,1.7,64.436875 -1302,30,2.7,111.05,1.7,64.43625 -1303,30,2.7,111.05,1.7,64.435625 -1304,30,2.7,111.05,1.7,64.435 -1305,30,2.7,111.05,1.7,64.434375 -1306,30,2.7,111.05,1.7,64.43375 -1307,30,2.7,111.05,1.7,64.433125 -1308,30,2.7,111.05,1.7,64.4325 -1309,30,2.7,111.05,1.7,64.431875 -1310,30,2.7,111.05,1.7,64.43125 -1311,30,2.7,111.05,1.7,64.430625 -1312,30,2.7,111.05,1.7,64.43 -1313,30,2.7,111.05,1.7,64.429375 -1314,30,2.7,111.05,1.7,64.42875 -1315,30,2.7,111.05,1.7,64.428125 -1316,30,2.7,111.05,1.7,64.4275 -1317,30,2.7,111.05,1.7,64.426875 -1318,30,2.7,111.05,1.7,64.42625 -1319,30,2.7,111.05,1.7,64.425625 -1320,30,2.7,111.05,1.7,64.425 -1321,30,2.7,111.05,1.7,64.424375 -1322,30,2.7,111.05,1.7,64.42375 -1323,30,2.7,111.05,1.7,64.423125 -1324,30,2.7,111.05,1.7,64.4225 -1325,30,2.7,111.05,1.7,64.421875 -1326,30,2.7,111.05,1.7,64.42125 -1327,30,2.7,111.05,1.7,64.420625 -1328,30,2.7,111.05,1.7,64.42 -1329,30,2.7,111.05,1.7,64.419375 -1330,30,2.7,111.05,1.7,64.41875 -1331,30,2.7,111.05,1.7,64.418125 -1332,30,2.7,111.05,1.7,64.4175 -1333,30,2.7,111.05,1.7,64.416875 -1334,30,2.7,111.05,1.7,64.41625 -1335,30,2.7,111.05,1.7,64.415625 -1336,30,2.7,111.05,1.7,64.415 -1337,30,2.7,111.05,1.7,64.414375 -1338,30,2.7,111.05,1.7,64.41375 -1339,30,2.7,111.05,1.7,64.413125 -1340,30,2.7,111.05,1.7,64.4125 -1341,30,2.7,111.05,1.7,64.411875 -1342,30,2.7,111.05,1.7,64.41125 -1343,30,2.7,111.05,1.7,64.410625 -1344,30,2.7,111.05,1.7,64.41 -1345,30,2.7,111.05,1.7,64.409375 -1346,30,2.7,111.05,1.7,64.40875 -1347,30,2.7,111.05,1.7,64.408125 -1348,30,2.7,111.05,1.7,64.4075 -1349,30,2.7,111.05,1.7,64.406875 -1350,30,2.7,111.05,1.7,64.40625 -1351,30,2.7,111.05,1.7,64.405625 -1352,30,2.7,111.05,1.7,64.405 -1353,30,2.7,111.05,1.7,64.404375 -1354,30,2.7,111.05,1.7,64.40375 -1355,30,2.7,111.05,1.7,64.403125 -1356,30,2.7,111.05,1.7,64.4025 -1357,30,2.7,111.05,1.7,64.401875 -1358,30,2.7,111.05,1.7,64.40125 -1359,30,2.7,111.05,1.7,64.400625 -1360,30,2.7,111.05,1.7,64.4 -1361,30,2.7,111.05,1.7,64.399375 -1362,30,2.7,111.05,1.7,64.39875 -1363,30,2.7,111.05,1.7,64.398125 -1364,30,2.7,111.05,1.7,64.3975 -1365,30,2.7,111.05,1.7,64.396875 -1366,30,2.7,111.05,1.7,64.39625 -1367,30,2.7,111.05,1.7,64.395625 -1368,30,2.7,111.05,1.7,64.395 -1369,30,2.7,111.05,1.7,64.394375 -1370,30,2.7,111.05,1.7,64.39375 -1371,30,2.7,111.05,1.7,64.393125 -1372,30,2.7,111.05,1.7,64.3925 -1373,30,2.7,111.05,1.7,64.391875 -1374,30,2.7,111.05,1.7,64.39125 -1375,30,2.7,111.05,1.7,64.390625 -1376,30,2.7,111.05,1.7,64.39 -1377,30,2.7,111.05,1.7,64.389375 -1378,30,2.7,111.05,1.7,64.38875 -1379,30,2.7,111.05,1.7,64.388125 -1380,30,2.7,111.05,1.7,64.3875 -1381,30,2.7,111.05,1.7,64.386875 -1382,30,2.7,111.05,1.7,64.38625 -1383,30,2.7,111.05,1.7,64.385625 -1384,30,2.7,111.05,1.7,64.385 -1385,30,2.7,111.05,1.7,64.384375 -1386,30,2.7,111.05,1.7,64.38375 -1387,30,2.7,111.05,1.7,64.383125 -1388,30,2.7,111.05,1.7,64.3825 -1389,30,2.7,111.05,1.7,64.381875 -1390,30,2.7,111.05,1.7,64.38125 -1391,30,2.7,111.05,1.7,64.380625 -1392,30,2.7,111.05,1.7,64.38 -1393,30,2.7,111.05,1.7,64.379375 -1394,30,2.7,111.05,1.7,64.37875 -1395,30,2.7,111.05,1.7,64.378125 -1396,30,2.7,111.05,1.7,64.3775 -1397,30,2.7,111.05,1.7,64.376875 -1398,30,2.7,111.05,1.7,64.37625 -1399,30,2.7,111.05,1.7,64.375625 -1400,30,2.7,111.05,1.7,64.375 -1401,30,2.7,111.05,1.7,64.374375 -1402,30,2.7,111.05,1.7,64.37375 -1403,30,2.7,111.05,1.7,64.373125 -1404,30,2.7,111.05,1.7,64.3725 -1405,30,2.7,111.05,1.7,64.371875 -1406,30,2.7,111.05,1.7,64.37125 -1407,30,2.7,111.05,1.7,64.370625 -1408,30,2.7,111.05,1.7,64.37 -1409,30,2.7,111.05,1.7,64.369375 -1410,30,2.7,111.05,1.7,64.36875 -1411,30,2.7,111.05,1.7,64.368125 -1412,30,2.7,111.05,1.7,64.3675 -1413,30,2.7,111.05,1.7,64.366875 -1414,30,2.7,111.05,1.7,64.36625 -1415,30,2.7,111.05,1.7,64.365625 -1416,30,2.7,111.05,1.7,64.365 -1417,30,2.7,111.05,1.7,64.364375 -1418,30,2.7,111.05,1.7,64.36375 -1419,30,2.7,111.05,1.7,64.363125 -1420,30,2.7,111.05,1.7,64.3625 -1421,30,2.7,111.05,1.7,64.361875 -1422,30,2.7,111.05,1.7,64.36125 -1423,30,2.7,111.05,1.7,64.360625 -1424,30,2.7,111.05,1.7,64.36 -1425,30,2.7,111.05,1.7,64.359375 -1426,30,2.7,111.05,1.7,64.35875 -1427,30,2.7,111.05,1.7,64.358125 -1428,30,2.7,111.05,1.7,64.3575 -1429,30,2.7,111.05,1.7,64.356875 -1430,30,2.7,111.05,1.7,64.35625 -1431,30,2.7,111.05,1.7,64.355625 -1432,30,2.7,111.05,1.7,64.355 -1433,30,2.7,111.05,1.7,64.354375 -1434,30,2.7,111.05,1.7,64.35375 -1435,30,2.7,111.05,1.7,64.353125 -1436,30,2.7,111.05,1.7,64.3525 -1437,30,2.7,111.05,1.7,64.351875 -1438,30,2.7,111.05,1.7,64.35125 -1439,30,2.7,111.05,1.7,64.350625 -1440,30,2.7,111.05,1.7,64.35 -1441,30,2.7,111.05,1.7,64.349375 -1442,30,2.7,111.05,1.7,64.34875 -1443,30,2.7,111.05,1.7,64.348125 -1444,30,2.7,111.05,1.7,64.3475 -1445,30,2.7,111.05,1.7,64.346875 -1446,30,2.7,111.05,1.7,64.34625 -1447,30,2.7,111.05,1.7,64.345625 -1448,30,2.7,111.05,1.7,64.345 -1449,30,2.7,111.05,1.7,64.344375 -1450,30,2.7,111.05,1.7,64.34375 -1451,30,2.7,111.05,1.7,64.343125 -1452,30,2.7,111.05,1.7,64.3425 -1453,30,2.7,111.05,1.7,64.341875 -1454,30,2.7,111.05,1.7,64.34125 -1455,30,2.7,111.05,1.7,64.340625 -1456,30,2.7,111.05,1.7,64.34 -1457,30,2.7,111.05,1.7,64.339375 -1458,30,2.7,111.05,1.7,64.33875 -1459,30,2.7,111.05,1.7,64.338125 -1460,30,2.7,111.05,1.7,64.3375 -1461,30,2.7,111.05,1.7,64.336875 -1462,30,2.7,111.05,1.7,64.33625 -1463,30,2.7,111.05,1.7,64.335625 -1464,30,2.7,111.05,1.7,64.335 -1465,30,2.7,111.05,1.7,64.334375 -1466,30,2.7,111.05,1.7,64.33375 -1467,30,2.7,111.05,1.7,64.333125 -1468,30,2.7,111.05,1.7,64.3325 -1469,30,2.7,111.05,1.7,64.331875 -1470,30,2.7,111.05,1.7,64.33125 -1471,30,2.7,111.05,1.7,64.330625 -1472,30,2.7,111.05,1.7,64.33 -1473,30,2.7,111.05,1.7,64.329375 -1474,30,2.7,111.05,1.7,64.32875 -1475,30,2.7,111.05,1.7,64.328125 -1476,30,2.7,111.05,1.7,64.3275 -1477,30,2.7,111.05,1.7,64.326875 -1478,30,2.7,111.05,1.7,64.32625 -1479,30,2.7,111.05,1.7,64.325625 -1480,30,2.7,111.05,1.7,64.325 -1481,30,2.7,111.05,1.7,64.324375 -1482,30,2.7,111.05,1.7,64.32375 -1483,30,2.7,111.05,1.7,64.323125 -1484,30,2.7,111.05,1.7,64.3225 -1485,30,2.7,111.05,1.7,64.321875 -1486,30,2.7,111.05,1.7,64.32125 -1487,30,2.7,111.05,1.7,64.320625 -1488,30,2.7,111.05,1.7,64.32 -1489,30,2.7,111.05,1.7,64.319375 -1490,30,2.6,111.05,1.7,64.31875 -1491,30,2.6,111.05,1.7,64.318125 -1492,30,2.6,111.05,1.7,64.3175 -1493,30,2.6,111.05,1.7,64.316875 -1494,30,2.6,111.05,1.7,64.31625 -1495,30,2.6,111.05,1.7,64.315625 -1496,30,2.6,111.05,1.7,64.315 -1497,30,2.6,111.05,1.7,64.314375 -1498,30,2.6,111.05,1.7,64.31375 -1499,30,2.6,111.05,1.7,64.313125 -1500,30,2.6,111.05,1.7,64.3125 -1501,30,2.6,111.05,1.7,64.311875 -1502,30,2.6,111.05,1.7,64.31125 -1503,30,2.6,111.05,1.7,64.310625 -1504,30,2.6,111.05,1.7,64.31 -1505,30,2.6,111.05,1.7,64.309375 -1506,30,2.6,111.05,1.7,64.30875 -1507,30,2.6,111.05,1.7,64.308125 -1508,30,2.6,111.05,1.7,64.3075 -1509,30,2.6,111.05,1.7,64.306875 -1510,30,2.6,111.05,1.7,64.30625 -1511,30,2.6,111.05,1.7,64.305625 -1512,30,2.6,111.05,1.7,64.305 -1513,30,2.6,111.05,1.7,64.304375 -1514,30,2.6,111.05,1.7,64.30375 -1515,30,2.6,111.05,1.7,64.303125 -1516,30,2.6,111.05,1.7,64.3025 -1517,30,2.6,111.05,1.7,64.301875 -1518,30,2.6,111.05,1.7,64.30125 -1519,30,2.6,111.05,1.7,64.300625 -1520,30,2.6,111.05,1.7,64.3 -1521,30,2.6,111.05,1.7,64.299375 -1522,30,2.6,111.05,1.7,64.29875 -1523,30,2.6,111.05,1.7,64.298125 -1524,30,2.6,111.05,1.7,64.2975 -1525,30,2.6,111.05,1.7,64.296875 -1526,30,2.6,111.05,1.7,64.29625 -1527,30,2.6,111.05,1.7,64.295625 -1528,30,2.6,111.05,1.7,64.295 -1529,30,2.6,111.05,1.7,64.294375 -1530,30,2.6,111.05,1.7,64.29375 -1531,30,2.6,111.05,1.7,64.293125 -1532,30,2.6,111.05,1.7,64.2925 -1533,30,2.6,111.05,1.7,64.291875 -1534,30,2.6,111.05,1.7,64.29125 -1535,30,2.6,111.05,1.7,64.290625 -1536,30,2.6,111.05,1.7,64.29 -1537,30,2.6,111.05,1.7,64.289375 -1538,30,2.6,111.05,1.7,64.28875 -1539,30,2.6,111.05,1.7,64.288125 -1540,30,2.6,111.05,1.7,64.2875 -1541,30,2.6,111.05,1.7,64.286875 -1542,30,2.6,111.05,1.7,64.28625 -1543,30,2.6,111.05,1.7,64.285625 -1544,30,2.6,111.05,1.7,64.285 -1545,30,2.6,111.05,1.7,64.284375 -1546,30,2.6,111.05,1.7,64.28375 -1547,30,2.6,111.05,1.7,64.283125 -1548,30,2.6,111.05,1.7,64.2825 -1549,30,2.6,111.05,1.7,64.281875 -1550,30,2.6,111.05,1.7,64.28125 -1551,30,2.6,111.05,1.7,64.280625 -1552,30,2.6,111.05,1.7,64.28 -1553,30,2.6,111.05,1.7,64.279375 -1554,30,2.6,111.05,1.7,64.27875 -1555,30,2.6,111.05,1.7,64.278125 -1556,30,2.6,111.05,1.7,64.2775 -1557,30,2.6,111.05,1.7,64.276875 -1558,30,2.6,111.05,1.7,64.27625 -1559,30,2.6,111.05,1.7,64.275625 -1560,30,2.6,111.05,1.7,64.275 -1561,30,2.6,111.05,1.7,64.274375 -1562,30,2.6,111.05,1.7,64.27375 -1563,30,2.6,111.05,1.7,64.273125 -1564,30,2.6,111.05,1.7,64.2725 -1565,30,2.6,111.05,1.7,64.271875 -1566,30,2.6,111.05,1.7,64.27125 -1567,30,2.6,111.05,1.7,64.270625 -1568,30,2.6,111.05,1.7,64.27 -1569,30,2.6,111.05,1.7,64.269375 -1570,30,2.6,111.05,1.7,64.26875 -1571,30,2.6,111.05,1.7,64.268125 -1572,30,2.6,111.05,1.7,64.2675 -1573,30,2.6,111.05,1.7,64.266875 -1574,30,2.6,111.05,1.7,64.26625 -1575,30,2.6,111.05,1.7,64.265625 -1576,30,2.6,111.05,1.7,64.265 -1577,30,2.6,111.05,1.7,64.264375 -1578,30,2.6,111.05,1.7,64.26375 -1579,30,2.6,111.05,1.7,64.263125 -1580,30,2.6,111.05,1.7,64.2625 -1581,30,2.6,111.05,1.7,64.261875 -1582,30,2.6,111.05,1.7,64.26125 -1583,30,2.6,111.05,1.7,64.260625 -1584,30,2.6,111.05,1.7,64.26 -1585,30,2.6,111.05,1.7,64.259375 -1586,30,2.6,111.05,1.7,64.25875 -1587,30,2.6,111.05,1.7,64.258125 -1588,30,2.6,111.05,1.7,64.2575 -1589,30,2.6,111.05,1.7,64.256875 -1590,30,2.6,111.05,1.7,64.25625 -1591,30,2.6,111.05,1.7,64.255625 -1592,30,2.6,111.05,1.7,64.255 -1593,30,2.6,111.05,1.7,64.254375 -1594,30,2.6,111.05,1.7,64.25375 -1595,30,2.6,111.05,1.7,64.253125 -1596,30,2.6,111.05,1.7,64.2525 -1597,30,2.6,111.05,1.7,64.251875 -1598,30,2.6,111.05,1.7,64.25125 -1599,30,2.6,111.05,1.7,64.250625 -1600,30,2.6,111.05,1.7,64.25 -1601,30,2.6,111.05,1.7,64.249375 -1602,30,2.6,111.05,1.7,64.24875 -1603,30,2.6,111.05,1.7,64.248125 -1604,30,2.6,111.05,1.7,64.2475 -1605,30,2.6,111.05,1.7,64.246875 -1606,30,2.6,111.05,1.7,64.24625 -1607,30,2.6,111.05,1.7,64.245625 -1608,30,2.6,111.05,1.7,64.245 -1609,30,2.6,111.05,1.7,64.244375 -1610,30,2.6,111.05,1.7,64.24375 -1611,30,2.6,111.05,1.7,64.243125 -1612,30,2.6,111.05,1.7,64.2425 -1613,30,2.6,111.05,1.7,64.241875 -1614,30,2.6,111.05,1.7,64.24125 -1615,30,2.6,111.05,1.7,64.240625 -1616,30,2.6,111.05,1.7,64.24 -1617,30,2.6,111.05,1.7,64.239375 -1618,30,2.6,111.05,1.7,64.23875 -1619,30,2.6,111.05,1.7,64.238125 -1620,30,2.6,111.05,1.7,64.2375 -1621,30,2.6,111.05,1.7,64.236875 -1622,30,2.6,111.05,1.7,64.23625 -1623,30,2.6,111.05,1.7,64.235625 -1624,30,2.6,111.05,1.7,64.235 -1625,30,2.6,111.05,1.7,64.234375 -1626,30,2.6,111.05,1.7,64.23375 -1627,30,2.6,111.05,1.7,64.233125 -1628,30,2.6,111.05,1.7,64.2325 -1629,30,2.6,111.05,1.7,64.231875 -1630,30,2.6,111.05,1.7,64.23125 -1631,30,2.6,111.05,1.7,64.230625 -1632,30,2.6,111.05,1.7,64.23 -1633,30,2.6,111.05,1.7,64.229375 -1634,30,2.6,111.05,1.7,64.22875 -1635,30,2.6,111.05,1.7,64.228125 -1636,30,2.6,111.05,1.7,64.2275 -1637,30,2.6,111.05,1.7,64.226875 -1638,30,2.6,111.05,1.7,64.22625 -1639,30,2.6,111.05,1.7,64.225625 -1640,30,2.6,111.05,1.7,64.225 -1641,30,2.6,111.05,1.7,64.224375 -1642,30,2.6,111.05,1.7,64.22375 -1643,30,2.6,111.05,1.7,64.223125 -1644,30,2.6,111.05,1.7,64.2225 -1645,30,2.6,111.05,1.7,64.221875 -1646,30,2.6,111.05,1.7,64.22125 -1647,30,2.6,111.05,1.7,64.220625 -1648,30,2.6,111.05,1.7,64.22 -1649,30,2.6,111.05,1.7,64.219375 -1650,30,2.6,111.05,1.7,64.21875 -1651,30,2.6,111.05,1.7,64.218125 -1652,30,2.6,111.05,1.7,64.2175 -1653,30,2.6,111.05,1.7,64.216875 -1654,30,2.6,111.05,1.7,64.21625 -1655,30,2.6,111.05,1.7,64.215625 -1656,30,2.6,111.05,1.7,64.215 -1657,30,2.6,111.05,1.7,64.214375 -1658,30,2.6,111.05,1.7,64.21375 -1659,30,2.6,111.05,1.7,64.213125 -1660,30,2.6,111.05,1.7,64.2125 -1661,30,2.6,111.05,1.7,64.211875 -1662,30,2.6,111.05,1.7,64.21125 -1663,30,2.6,111.05,1.7,64.210625 -1664,30,2.6,111.05,1.7,64.21 -1665,30,2.6,111.05,1.7,64.209375 -1666,30,2.6,111.05,1.7,64.20875 -1667,30,2.6,111.05,1.7,64.208125 -1668,30,2.6,111.05,1.7,64.2075 -1669,30,2.6,111.05,1.7,64.206875 -1670,30,2.6,111.05,1.7,64.20625 -1671,30,2.6,111.05,1.7,64.205625 -1672,30,2.6,111.05,1.7,64.205 -1673,30,2.6,111.05,1.7,64.204375 -1674,30,2.6,111.05,1.7,64.20375 -1675,30,2.6,111.05,1.7,64.203125 -1676,30,2.6,111.05,1.7,64.2025 -1677,30,2.6,111.05,1.7,64.201875 -1678,30,2.6,111.05,1.7,64.20125 -1679,30,2.6,111.05,1.7,64.200625 -1680,30,2.6,111.05,1.7,64.2 -1681,30,2.6,111.05,1.7,64.199375 -1682,30,2.6,111.05,1.7,64.19875 -1683,30,2.6,111.05,1.7,64.198125 -1684,30,2.6,111.05,1.7,64.1975 -1685,30,2.6,111.05,1.7,64.196875 -1686,30,2.6,111.05,1.7,64.19625 -1687,30,2.6,111.05,1.7,64.195625 -1688,30,2.6,111.05,1.7,64.195 -1689,30,2.6,111.05,1.7,64.194375 -1690,30,2.6,111.05,1.7,64.19375 -1691,30,2.6,111.05,1.7,64.193125 -1692,30,2.6,111.05,1.7,64.1925 -1693,30,2.6,111.05,1.7,64.191875 -1694,30,2.6,111.05,1.7,64.19125 -1695,30,2.6,111.05,1.7,64.190625 -1696,30,2.6,111.05,1.7,64.19 -1697,30,2.6,111.05,1.7,64.189375 -1698,30,2.6,111.05,1.7,64.18875 -1699,30,2.6,111.05,1.7,64.188125 -1700,30,2.6,111.05,1.7,64.1875 -1701,30,2.6,111.05,1.7,64.186875 -1702,30,2.6,111.05,1.7,64.18625 -1703,30,2.6,111.05,1.7,64.185625 -1704,30,2.6,111.05,1.7,64.185 -1705,30,2.6,111.05,1.7,64.184375 -1706,30,2.6,111.05,1.7,64.18375 -1707,30,2.6,111.05,1.7,64.183125 -1708,30,2.6,111.05,1.7,64.1825 -1709,30,2.6,111.05,1.7,64.181875 -1710,30,2.6,111.05,1.7,64.18125 -1711,30,2.6,111.05,1.7,64.180625 -1712,30,2.6,111.05,1.7,64.18 -1713,30,2.6,111.05,1.7,64.179375 -1714,30,2.6,111.05,1.7,64.17875 -1715,30,2.6,111.05,1.7,64.178125 -1716,30,2.6,111.05,1.7,64.1775 -1717,30,2.6,111.05,1.7,64.176875 -1718,30,2.6,111.05,1.7,64.17625 -1719,30,2.6,111.05,1.7,64.175625 -1720,30,2.6,111.05,1.7,64.175 -1721,30,2.6,111.05,1.7,64.174375 -1722,30,2.6,111.05,1.7,64.17375 -1723,30,2.6,111.05,1.7,64.173125 -1724,30,2.6,111.05,1.7,64.1725 -1725,30,2.6,111.05,1.7,64.171875 -1726,30,2.6,111.05,1.7,64.17125 -1727,30,2.6,111.05,1.7,64.170625 -1728,30,2.6,111.05,1.7,64.17 -1729,30,2.6,111.05,1.7,64.169375 -1730,30,2.6,111.05,1.7,64.16875 -1731,30,2.6,111.05,1.7,64.168125 -1732,30,2.6,111.05,1.7,64.1675 -1733,30,2.6,111.05,1.7,64.166875 -1734,30,2.6,111.05,1.7,64.16625 -1735,30,2.6,111.05,1.7,64.165625 -1736,30,2.6,111.05,1.7,64.165 -1737,30,2.6,111.05,1.7,64.164375 -1738,30,2.6,111.05,1.7,64.16375 -1739,30,2.6,111.05,1.7,64.163125 -1740,30,2.6,111.05,1.7,64.1625 -1741,30,2.6,111.05,1.7,64.161875 -1742,30,2.6,111.05,1.7,64.16125 -1743,30,2.6,111.05,1.7,64.160625 -1744,30,2.6,111.05,1.7,64.16 -1745,30,2.6,111.05,1.7,64.159375 -1746,30,2.6,111.05,1.7,64.15875 -1747,30,2.6,111.05,1.7,64.158125 -1748,30,2.6,111.05,1.7,64.1575 -1749,30,2.6,111.05,1.7,64.156875 -1750,30,2.6,111.05,1.7,64.15625 -1751,30,2.6,111.05,1.7,64.155625 -1752,30,2.6,111.05,1.7,64.155 -1753,30,2.6,111.05,1.7,64.154375 -1754,30,2.6,111.05,1.7,64.15375 -1755,30,2.6,111.05,1.7,64.153125 -1756,30,2.6,111.05,1.7,64.1525 -1757,30,2.6,111.05,1.7,64.151875 -1758,30,2.6,111.05,1.7,64.15125 -1759,30,2.6,111.05,1.7,64.150625 -1760,30,2.6,111.05,1.7,64.15 -1761,30,2.6,111.05,1.7,64.149375 -1762,30,2.6,111.05,1.7,64.14875 -1763,30,2.6,111.05,1.7,64.148125 -1764,30,2.6,111.05,1.7,64.1475 -1765,30,2.6,111.05,1.7,64.146875 -1766,30,2.6,111.05,1.7,64.14625 -1767,30,2.6,111.05,1.7,64.145625 -1768,30,2.6,111.05,1.7,64.145 -1769,30,2.6,111.05,1.7,64.144375 -1770,30,2.6,111.05,1.7,64.14375 -1771,30,2.6,111.05,1.7,64.143125 -1772,30,2.6,111.05,1.7,64.1425 -1773,30,2.6,111.05,1.7,64.141875 -1774,30,2.6,111.05,1.7,64.14125 -1775,30,2.6,111.05,1.7,64.140625 -1776,30,2.6,111.05,1.7,64.14 -1777,30,2.6,111.05,1.7,64.139375 -1778,30,2.6,111.05,1.7,64.13875 -1779,30,2.6,111.05,1.7,64.138125 -1780,30,2.6,111.05,1.7,64.1375 -1781,30,2.6,111.05,1.7,64.136875 -1782,30,2.6,111.05,1.7,64.13625 -1783,30,2.6,111.05,1.7,64.135625 -1784,30,2.6,111.05,1.7,64.135 -1785,30,2.6,111.05,1.7,64.134375 -1786,30,2.6,111.05,1.7,64.13375 -1787,30,2.6,111.05,1.7,64.133125 -1788,30,2.6,111.05,1.7,64.1325 -1789,30,2.6,111.05,1.7,64.131875 -1790,30,2.6,111.05,1.7,64.13125 -1791,30,2.6,111.05,1.7,64.130625 -1792,30,2.6,111.05,1.7,64.13 -1793,30,2.6,111.05,1.7,64.129375 -1794,30,2.6,111.05,1.7,64.12875 -1795,30,2.6,111.05,1.7,64.128125 -1796,30,2.6,111.05,1.7,64.1275 -1797,30,2.6,111.05,1.7,64.126875 -1798,30,2.6,111.05,1.7,64.12625 -1799,30,2.6,111.05,1.7,64.125625 -1800,30,2.6,111.05,1.7,64.125 -1801,30,2.6,111.05,1.7,64.124375 -1802,30,2.6,111.05,1.7,64.12375 -1803,30,2.6,111.05,1.7,64.123125 -1804,30,2.6,111.05,1.7,64.1225 -1805,30,2.6,111.05,1.7,64.121875 -1806,30,2.6,111.05,1.7,64.12125 -1807,30,2.6,111.05,1.7,64.120625 -1808,30,2.6,111.05,1.7,64.12 -1809,30,2.6,111.05,1.7,64.119375 -1810,30,2.6,111.05,1.7,64.11875 -1811,30,2.6,111.05,1.7,64.118125 -1812,30,2.6,111.05,1.7,64.1175 -1813,30,2.6,111.05,1.7,64.116875 -1814,30,2.6,111.05,1.7,64.11625 -1815,30,2.6,111.05,1.7,64.115625 -1816,30,2.6,111.05,1.7,64.115 -1817,30,2.6,111.05,1.7,64.114375 -1818,30,2.6,111.05,1.7,64.11375 -1819,30,2.6,111.05,1.7,64.113125 -1820,30,2.6,111.05,1.7,64.1125 -1821,30,2.6,111.05,1.7,64.111875 -1822,30,2.6,111.05,1.7,64.11125 -1823,30,2.6,111.05,1.7,64.110625 -1824,30,2.6,111.05,1.7,64.11 -1825,30,2.6,111.05,1.7,64.109375 -1826,30,2.6,111.05,1.7,64.10875 -1827,30,2.6,111.05,1.7,64.108125 -1828,30,2.6,111.05,1.7,64.1075 -1829,30,2.6,111.05,1.7,64.106875 -1830,30,2.6,111.05,1.7,64.10625 -1831,30,2.6,111.05,1.7,64.105625 -1832,30,2.6,111.05,1.7,64.105 -1833,30,2.6,111.05,1.7,64.104375 -1834,30,2.6,111.05,1.7,64.10375 -1835,30,2.6,111.05,1.7,64.103125 -1836,30,2.6,111.05,1.7,64.1025 -1837,30,2.6,111.05,1.7,64.101875 -1838,30,2.6,111.05,1.7,64.10125 -1839,30,2.6,111.05,1.7,64.100625 -1840,30,2.6,111.05,1.7,64.1 -1841,30,2.6,111.05,1.7,64.099375 -1842,30,2.6,111.05,1.7,64.09875 -1843,30,2.6,111.05,1.7,64.098125 -1844,30,2.6,111.05,1.7,64.0975 -1845,30,2.6,111.05,1.7,64.096875 -1846,30,2.6,111.05,1.7,64.09625 -1847,30,2.6,111.05,1.7,64.095625 -1848,30,2.6,111.05,1.7,64.095 -1849,30,2.6,111.05,1.7,64.094375 -1850,30,2.6,111.05,1.7,64.09375 -1851,30,2.6,111.05,1.7,64.093125 -1852,30,2.6,111.05,1.7,64.0925 -1853,30,2.6,111.05,1.7,64.091875 -1854,30,2.6,111.05,1.7,64.09125 -1855,30,2.6,111.05,1.7,64.090625 -1856,30,2.6,111.05,1.7,64.09 -1857,30,2.6,111.05,1.7,64.089375 -1858,30,2.6,111.05,1.7,64.08875 -1859,30,2.6,111.05,1.7,64.088125 -1860,30,2.6,111.05,1.7,64.0875 -1861,30,2.6,111.05,1.7,64.086875 -1862,30,2.6,111.05,1.7,64.08625 -1863,30,2.6,111.05,1.7,64.085625 -1864,30,2.6,111.05,1.7,64.085 -1865,30,2.6,111.05,1.7,64.084375 -1866,30,2.6,111.05,1.7,64.08375 -1867,30,2.6,111.05,1.7,64.083125 -1868,30,2.6,111.05,1.7,64.0825 -1869,30,2.6,111.05,1.7,64.081875 -1870,30,2.6,111.05,1.7,64.08125 -1871,30,2.6,111.05,1.7,64.080625 -1872,30,2.6,111.05,1.7,64.08 -1873,30,2.6,111.05,1.7,64.079375 -1874,30,2.6,111.05,1.7,64.07875 -1875,30,2.6,111.05,1.7,64.078125 -1876,30,2.6,111.05,1.7,64.0775 -1877,30,2.6,111.05,1.7,64.076875 -1878,30,2.6,111.05,1.7,64.07625 -1879,30,2.6,111.05,1.7,64.075625 -1880,30,2.6,111.05,1.7,64.075 -1881,30,2.6,111.05,1.7,64.074375 -1882,30,2.6,111.05,1.7,64.07375 -1883,30,2.6,111.05,1.7,64.073125 -1884,30,2.6,111.05,1.7,64.0725 -1885,30,2.6,111.05,1.7,64.071875 -1886,30,2.6,111.05,1.7,64.07125 -1887,30,2.6,111.05,1.7,64.070625 -1888,30,2.6,111.05,1.7,64.07 -1889,30,2.6,111.05,1.7,64.069375 -1890,30,2.6,111.05,1.7,64.06875 -1891,30,2.6,111.05,1.7,64.068125 -1892,30,2.6,111.05,1.7,64.0675 -1893,30,2.6,111.05,1.7,64.066875 -1894,30,2.6,111.05,1.7,64.06625 -1895,30,2.6,111.05,1.7,64.065625 -1896,30,2.6,111.05,1.7,64.065 -1897,30,2.6,111.05,1.7,64.064375 -1898,30,2.6,111.05,1.7,64.06375 -1899,30,2.6,111.05,1.7,64.063125 -1900,30,2.6,111.05,1.7,64.0625 -1901,30,2.6,111.05,1.7,64.061875 -1902,30,2.6,111.05,1.7,64.06125 -1903,30,2.6,111.05,1.7,64.060625 -1904,30,2.6,111.05,1.7,64.06 -1905,30,2.6,111.05,1.7,64.059375 -1906,30,2.6,111.05,1.7,64.05875 -1907,30,2.6,111.05,1.7,64.058125 -1908,30,2.6,111.05,1.7,64.0575 -1909,30,2.6,111.05,1.7,64.056875 -1910,30,2.6,111.05,1.7,64.05625 -1911,30,2.6,111.05,1.7,64.055625 -1912,30,2.6,111.05,1.7,64.055 -1913,30,2.6,111.05,1.7,64.054375 -1914,30,2.6,111.05,1.7,64.05375 -1915,30,2.6,111.05,1.7,64.053125 -1916,30,2.6,111.05,1.7,64.0525 -1917,30,2.6,111.05,1.7,64.051875 -1918,30,2.6,111.05,1.7,64.05125 -1919,30,2.6,111.05,1.7,64.050625 -1920,30,2.6,111.05,1.7,64.05 -1921,30,2.6,111.05,1.7,64.049375 -1922,30,2.6,111.05,1.7,64.04875 -1923,30,2.6,111.05,1.7,64.048125 -1924,30,2.6,111.05,1.7,64.0475 -1925,30,2.6,111.05,1.7,64.046875 -1926,30,2.6,111.05,1.7,64.04625 -1927,30,2.6,111.05,1.7,64.045625 -1928,30,2.6,111.05,1.7,64.045 -1929,30,2.6,111.05,1.7,64.044375 -1930,30,2.6,111.05,1.7,64.04375 -1931,30,2.6,111.05,1.7,64.043125 -1932,30,2.6,111.05,1.7,64.0425 -1933,30,2.6,111.05,1.7,64.041875 -1934,30,2.6,111.05,1.7,64.04125 -1935,30,2.6,111.05,1.7,64.040625 -1936,30,2.6,111.05,1.7,64.04 -1937,30,2.6,111.05,1.7,64.039375 -1938,30,2.6,111.05,1.7,64.03875 -1939,30,2.6,111.05,1.7,64.038125 -1940,30,2.6,111.05,1.7,64.0375 -1941,30,2.6,111.05,1.7,64.036875 -1942,30,2.6,111.05,1.7,64.03625 -1943,30,2.6,111.05,1.7,64.035625 -1944,30,2.6,111.05,1.7,64.035 -1945,30,2.6,111.05,1.7,64.034375 -1946,30,2.6,111.05,1.7,64.03375 -1947,30,2.6,111.05,1.7,64.033125 -1948,30,2.6,111.05,1.7,64.0325 -1949,30,2.6,111.05,1.7,64.031875 -1950,30,2.6,111.05,1.7,64.03125 -1951,30,2.6,111.05,1.7,64.030625 -1952,30,2.6,111.05,1.7,64.03 -1953,30,2.6,111.05,1.7,64.029375 -1954,30,2.6,111.05,1.7,64.02875 -1955,30,2.6,111.05,1.7,64.028125 -1956,30,2.6,111.05,1.7,64.0275 -1957,30,2.6,111.05,1.7,64.026875 -1958,30,2.6,111.05,1.7,64.02625 -1959,30,2.6,111.05,1.7,64.025625 -1960,30,2.6,111.05,1.7,64.025 -1961,30,2.6,111.05,1.7,64.024375 -1962,30,2.6,111.05,1.7,64.02375 -1963,30,2.6,111.05,1.7,64.023125 -1964,30,2.6,111.05,1.7,64.0225 -1965,30,2.6,111.05,1.7,64.021875 -1966,30,2.6,111.05,1.7,64.02125 -1967,30,2.6,111.05,1.7,64.020625 -1968,30,2.6,111.05,1.7,64.02 -1969,30,2.6,111.05,1.7,64.019375 -1970,30,2.6,111.05,1.7,64.01875 -1971,30,2.6,111.05,1.7,64.018125 -1972,30,2.6,111.05,1.7,64.0175 -1973,30,2.6,111.05,1.7,64.016875 -1974,30,2.6,111.05,1.7,64.01625 -1975,30,2.6,111.05,1.7,64.015625 -1976,30,2.6,111.05,1.7,64.015 -1977,30,2.6,111.05,1.7,64.014375 -1978,30,2.6,111.05,1.7,64.01375 -1979,30,2.6,111.05,1.7,64.013125 -1980,30,2.6,111.05,1.7,64.0125 -1981,30,2.6,111.05,1.7,64.011875 -1982,30,2.6,111.05,1.7,64.01125 -1983,30,2.6,111.05,1.7,64.010625 -1984,30,2.6,111.05,1.7,64.01 -1985,30,2.6,111.05,1.7,64.009375 -1986,30,2.6,111.05,1.7,64.00875 -1987,30,2.6,111.05,1.7,64.008125 -1988,30,2.6,111.05,1.7,64.0075 -1989,30,2.6,111.05,1.7,64.006875 -1990,30,2.6,111.05,1.7,64.00625 -1991,30,2.6,111.05,1.7,64.005625 -1992,30,2.6,111.05,1.7,64.005 -1993,30,2.6,111.05,1.7,64.004375 -1994,30,2.6,111.05,1.7,64.00375 -1995,30,2.6,111.05,1.7,64.003125 -1996,30,2.6,111.05,1.7,64.0025 -1997,30,2.6,111.05,1.7,64.001875 -1998,30,2.6,111.05,1.7,64.00125 -1999,30,2.6,111.05,1.7,64.000625 -2000,30,2.6,111.05,1.7,64 -2001,30,2.6,111.05,1.7,63.99975 -2002,30,2.6,111.05,1.7,63.9995 -2003,30,2.6,111.05,1.7,63.99925 -2004,30,2.6,111.05,1.7,63.999 -2005,30,2.6,111.05,1.7,63.99875 -2006,30,2.6,111.05,1.7,63.9985 -2007,30,2.6,111.05,1.7,63.99825 -2008,30,2.6,111.05,1.7,63.998 -2009,30,2.6,111.05,1.7,63.99775 -2010,30,2.6,111.05,1.7,63.9975 -2011,30,2.6,111.05,1.7,63.99725 -2012,30,2.6,111.05,1.7,63.997 -2013,30,2.6,111.05,1.7,63.99675 -2014,30,2.6,111.05,1.7,63.9965 -2015,30,2.6,111.05,1.7,63.99625 -2016,30,2.6,111.05,1.7,63.996 -2017,30,2.6,111.05,1.7,63.99575 -2018,30,2.6,111.05,1.7,63.9955 -2019,30,2.6,111.05,1.7,63.99525 -2020,30,2.6,111.05,1.7,63.995 -2021,30,2.6,111.05,1.7,63.99475 -2022,30,2.6,111.05,1.7,63.9945 -2023,30,2.6,111.05,1.7,63.99425 -2024,30,2.6,111.05,1.7,63.994 -2025,30,2.6,111.05,1.7,63.99375 -2026,30,2.6,111.05,1.7,63.9935 -2027,30,2.6,111.05,1.7,63.99325 -2028,30,2.6,111.05,1.7,63.993 -2029,30,2.6,111.05,1.7,63.99275 -2030,30,2.6,111.05,1.7,63.9925 -2031,30,2.6,111.05,1.7,63.99225 -2032,30,2.6,111.05,1.7,63.992 -2033,30,2.6,111.05,1.7,63.99175 -2034,30,2.6,111.05,1.7,63.9915 -2035,30,2.6,111.05,1.7,63.99125 -2036,30,2.6,111.05,1.7,63.991 -2037,30,2.6,111.05,1.7,63.99075 -2038,30,2.6,111.05,1.7,63.9905 -2039,30,2.6,111.05,1.7,63.99025 -2040,30,2.6,111.05,1.7,63.99 -2041,30,2.6,111.05,1.7,63.98975 -2042,30,2.6,111.05,1.7,63.9895 -2043,30,2.6,111.05,1.7,63.98925 -2044,30,2.6,111.05,1.7,63.989 -2045,30,2.6,111.05,1.7,63.98875 -2046,30,2.6,111.05,1.7,63.9885 -2047,30,2.6,111.05,1.7,63.98825 -2048,30,2.6,111.05,1.7,63.988 -2049,30,2.6,111.05,1.7,63.98775 -2050,30,2.6,111.05,1.7,63.9875 -2051,30,2.6,111.05,1.7,63.98725 -2052,30,2.6,111.05,1.7,63.987 -2053,30,2.6,111.05,1.7,63.98675 -2054,30,2.6,111.05,1.7,63.9865 -2055,30,2.6,111.05,1.7,63.98625 -2056,30,2.6,111.05,1.7,63.986 -2057,30,2.6,111.05,1.7,63.98575 -2058,30,2.6,111.05,1.7,63.9855 -2059,30,2.6,111.05,1.7,63.98525 -2060,30,2.6,111.05,1.7,63.985 -2061,30,2.6,111.05,1.7,63.98475 -2062,30,2.6,111.05,1.7,63.9845 -2063,30,2.6,111.05,1.7,63.98425 -2064,30,2.6,111.05,1.7,63.984 -2065,30,2.6,111.05,1.7,63.98375 -2066,30,2.6,111.05,1.7,63.9835 -2067,30,2.6,111.05,1.7,63.98325 -2068,30,2.6,111.05,1.7,63.983 -2069,30,2.6,111.05,1.7,63.98275 -2070,30,2.6,111.05,1.7,63.9825 -2071,30,2.6,111.05,1.7,63.98225 -2072,30,2.6,111.05,1.7,63.982 -2073,30,2.6,111.05,1.7,63.98175 -2074,30,2.6,111.05,1.7,63.9815 -2075,30,2.6,111.05,1.7,63.98125 -2076,30,2.6,111.05,1.7,63.981 -2077,30,2.6,111.05,1.7,63.98075 -2078,30,2.6,111.05,1.7,63.9805 -2079,30,2.6,111.05,1.7,63.98025 -2080,30,2.6,111.05,1.7,63.98 -2081,30,2.6,111.05,1.7,63.97975 -2082,30,2.6,111.05,1.7,63.9795 -2083,30,2.6,111.05,1.7,63.97925 -2084,30,2.6,111.05,1.7,63.979 -2085,30,2.6,111.05,1.7,63.97875 -2086,30,2.6,111.05,1.7,63.9785 -2087,30,2.6,111.05,1.7,63.97825 -2088,30,2.6,111.05,1.7,63.978 -2089,30,2.6,111.05,1.7,63.97775 -2090,30,2.6,111.05,1.7,63.9775 -2091,30,2.6,111.05,1.7,63.97725 -2092,30,2.6,111.05,1.7,63.977 -2093,30,2.6,111.05,1.7,63.97675 -2094,30,2.6,111.05,1.7,63.9765 -2095,30,2.6,111.05,1.7,63.97625 -2096,30,2.6,111.05,1.7,63.976 -2097,30,2.6,111.05,1.7,63.97575 -2098,30,2.6,111.05,1.7,63.9755 -2099,30,2.6,111.05,1.7,63.97525 -2100,30,2.6,111.05,1.7,63.975 -2101,30,2.6,111.05,1.7,63.97475 -2102,30,2.6,111.05,1.7,63.9745 -2103,30,2.6,111.05,1.7,63.97425 -2104,30,2.6,111.05,1.7,63.974 -2105,30,2.6,111.05,1.7,63.97375 -2106,30,2.6,111.05,1.7,63.9735 -2107,30,2.6,111.05,1.7,63.97325 -2108,30,2.6,111.05,1.7,63.973 -2109,30,2.6,111.05,1.7,63.97275 -2110,30,2.6,111.05,1.7,63.9725 -2111,30,2.6,111.05,1.7,63.97225 -2112,30,2.6,111.05,1.7,63.972 -2113,30,2.6,111.05,1.7,63.97175 -2114,30,2.6,111.05,1.7,63.9715 -2115,30,2.6,111.05,1.7,63.97125 -2116,30,2.6,111.05,1.7,63.971 -2117,30,2.6,111.05,1.7,63.97075 -2118,30,2.6,111.05,1.7,63.9705 -2119,30,2.6,111.05,1.7,63.97025 -2120,30,2.6,111.05,1.7,63.97 -2121,30,2.6,111.05,1.7,63.96975 -2122,30,2.6,111.05,1.7,63.9695 -2123,30,2.6,111.05,1.7,63.96925 -2124,30,2.6,111.05,1.7,63.969 -2125,30,2.6,111.05,1.7,63.96875 -2126,30,2.6,111.05,1.7,63.9685 -2127,30,2.6,111.05,1.7,63.96825 -2128,30,2.6,111.05,1.7,63.968 -2129,30,2.6,111.05,1.7,63.96775 -2130,30,2.6,111.05,1.7,63.9675 -2131,30,2.6,111.05,1.7,63.96725 -2132,30,2.6,111.05,1.7,63.967 -2133,30,2.6,111.05,1.7,63.96675 -2134,30,2.6,111.05,1.7,63.9665 -2135,30,2.6,111.05,1.7,63.96625 -2136,30,2.6,111.05,1.7,63.966 -2137,30,2.6,111.05,1.7,63.96575 -2138,30,2.6,111.05,1.7,63.9655 -2139,30,2.6,111.05,1.7,63.96525 -2140,30,2.6,111.05,1.7,63.965 -2141,30,2.6,111.05,1.7,63.96475 -2142,30,2.6,111.05,1.7,63.9645 -2143,30,2.6,111.05,1.7,63.96425 -2144,30,2.6,111.05,1.7,63.964 -2145,30,2.6,111.05,1.7,63.96375 -2146,30,2.6,111.05,1.7,63.9635 -2147,30,2.6,111.05,1.7,63.96325 -2148,30,2.6,111.05,1.7,63.963 -2149,30,2.6,111.05,1.7,63.96275 -2150,30,2.6,111.05,1.7,63.9625 -2151,30,2.6,111.05,1.7,63.96225 -2152,30,2.6,111.05,1.7,63.962 -2153,30,2.6,111.05,1.7,63.96175 -2154,30,2.6,111.05,1.7,63.9615 -2155,30,2.6,111.05,1.7,63.96125 -2156,30,2.6,111.05,1.7,63.961 -2157,30,2.6,111.05,1.7,63.96075 -2158,30,2.6,111.05,1.7,63.9605 -2159,30,2.6,111.05,1.7,63.96025 -2160,30,2.6,111.05,1.7,63.96 -2161,30,2.6,111.05,1.7,63.95975 -2162,30,2.6,111.05,1.7,63.9595 -2163,30,2.6,111.05,1.7,63.95925 -2164,30,2.6,111.05,1.7,63.959 -2165,30,2.6,111.05,1.7,63.95875 -2166,30,2.6,111.05,1.7,63.9585 -2167,30,2.6,111.05,1.7,63.95825 -2168,30,2.6,111.05,1.7,63.958 -2169,30,2.6,111.05,1.7,63.95775 -2170,30,2.6,111.05,1.7,63.9575 -2171,30,2.6,111.05,1.7,63.95725 -2172,30,2.6,111.05,1.7,63.957 -2173,30,2.6,111.05,1.7,63.95675 -2174,30,2.6,111.05,1.7,63.9565 -2175,30,2.6,111.05,1.7,63.95625 -2176,30,2.6,111.05,1.7,63.956 -2177,30,2.6,111.05,1.7,63.95575 -2178,30,2.6,111.05,1.7,63.9555 -2179,30,2.6,111.05,1.7,63.95525 -2180,30,2.6,111.05,1.7,63.955 -2181,30,2.6,111.05,1.7,63.95475 -2182,30,2.6,111.05,1.7,63.9545 -2183,30,2.6,111.05,1.7,63.95425 -2184,30,2.6,111.05,1.7,63.954 -2185,30,2.6,111.05,1.7,63.95375 -2186,30,2.6,111.05,1.7,63.9535 -2187,30,2.6,111.05,1.7,63.95325 -2188,30,2.6,111.05,1.7,63.953 -2189,30,2.6,111.05,1.7,63.95275 -2190,30,2.6,111.05,1.7,63.9525 -2191,30,2.6,111.05,1.7,63.95225 -2192,30,2.6,111.05,1.7,63.952 -2193,30,2.6,111.05,1.7,63.95175 -2194,30,2.6,111.05,1.7,63.9515 -2195,30,2.6,111.05,1.7,63.95125 -2196,30,2.6,111.05,1.7,63.951 -2197,30,2.6,111.05,1.7,63.95075 -2198,30,2.6,111.05,1.7,63.9505 -2199,30,2.6,111.05,1.7,63.95025 -2200,30,2.6,111.05,1.7,63.95 -2201,30,2.6,111.05,1.7,63.94975 -2202,30,2.6,111.05,1.7,63.9495 -2203,30,2.6,111.05,1.7,63.94925 -2204,30,2.6,111.05,1.7,63.949 -2205,30,2.6,111.05,1.7,63.94875 -2206,30,2.6,111.05,1.7,63.9485 -2207,30,2.6,111.05,1.7,63.94825 -2208,30,2.6,111.05,1.7,63.948 -2209,30,2.6,111.05,1.7,63.94775 -2210,30,2.6,111.05,1.7,63.9475 -2211,30,2.6,111.05,1.7,63.94725 -2212,30,2.6,111.05,1.7,63.947 -2213,30,2.6,111.05,1.7,63.94675 -2214,30,2.6,111.05,1.7,63.9465 -2215,30,2.6,111.05,1.7,63.94625 -2216,30,2.6,111.05,1.7,63.946 -2217,30,2.6,111.05,1.7,63.94575 -2218,30,2.6,111.05,1.7,63.9455 -2219,30,2.6,111.05,1.7,63.94525 -2220,30,2.6,111.05,1.7,63.945 -2221,30,2.6,111.05,1.7,63.94475 -2222,30,2.6,111.05,1.7,63.9445 -2223,30,2.6,111.05,1.7,63.94425 -2224,30,2.6,111.05,1.7,63.944 -2225,30,2.6,111.05,1.7,63.94375 -2226,30,2.6,111.05,1.7,63.9435 -2227,30,2.6,111.05,1.7,63.94325 -2228,30,2.6,111.05,1.7,63.943 -2229,30,2.6,111.05,1.7,63.94275 -2230,30,2.6,111.05,1.7,63.9425 -2231,30,2.6,111.05,1.7,63.94225 -2232,30,2.6,111.05,1.7,63.942 -2233,30,2.6,111.05,1.7,63.94175 -2234,30,2.6,111.05,1.7,63.9415 -2235,30,2.6,111.05,1.7,63.94125 -2236,30,2.6,111.05,1.7,63.941 -2237,30,2.6,111.05,1.7,63.94075 -2238,30,2.6,111.05,1.7,63.9405 -2239,30,2.6,111.05,1.7,63.94025 -2240,30,2.6,111.05,1.7,63.94 -2241,30,2.6,111.05,1.7,63.93975 -2242,30,2.6,111.05,1.7,63.9395 -2243,30,2.6,111.05,1.7,63.93925 -2244,30,2.6,111.05,1.7,63.939 -2245,30,2.6,111.05,1.7,63.93875 -2246,30,2.6,111.05,1.7,63.9385 -2247,30,2.6,111.05,1.7,63.93825 -2248,30,2.6,111.05,1.7,63.938 -2249,30,2.6,111.05,1.7,63.93775 -2250,30,2.6,111.05,1.7,63.9375 -2251,30,2.6,111.05,1.7,63.93725 -2252,30,2.6,111.05,1.7,63.937 -2253,30,2.6,111.05,1.7,63.93675 -2254,30,2.6,111.05,1.7,63.9365 -2255,30,2.6,111.05,1.7,63.93625 -2256,30,2.6,111.05,1.7,63.936 -2257,30,2.6,111.05,1.7,63.93575 -2258,30,2.6,111.05,1.7,63.9355 -2259,30,2.6,111.05,1.7,63.93525 -2260,30,2.6,111.05,1.7,63.935 -2261,30,2.6,111.05,1.7,63.93475 -2262,30,2.6,111.05,1.7,63.9345 -2263,30,2.6,111.05,1.7,63.93425 -2264,30,2.6,111.05,1.7,63.934 -2265,30,2.6,111.05,1.7,63.93375 -2266,30,2.6,111.05,1.7,63.9335 -2267,30,2.6,111.05,1.7,63.93325 -2268,30,2.6,111.05,1.7,63.933 -2269,30,2.6,111.05,1.7,63.93275 -2270,30,2.6,111.05,1.7,63.9325 -2271,30,2.6,111.05,1.7,63.93225 -2272,30,2.6,111.05,1.7,63.932 -2273,30,2.6,111.05,1.7,63.93175 -2274,30,2.6,111.05,1.7,63.9315 -2275,30,2.6,111.05,1.7,63.93125 -2276,30,2.6,111.05,1.7,63.931 -2277,30,2.6,111.05,1.7,63.93075 -2278,30,2.6,111.05,1.7,63.9305 -2279,30,2.6,111.05,1.7,63.93025 -2280,30,2.6,111.05,1.7,63.93 -2281,30,2.6,111.05,1.7,63.92975 -2282,30,2.6,111.05,1.7,63.9295 -2283,30,2.6,111.05,1.7,63.92925 -2284,30,2.6,111.05,1.7,63.929 -2285,30,2.6,111.05,1.7,63.92875 -2286,30,2.6,111.05,1.7,63.9285 -2287,30,2.6,111.05,1.7,63.92825 -2288,30,2.6,111.05,1.7,63.928 -2289,30,2.6,111.05,1.7,63.92775 -2290,30,2.6,111.05,1.7,63.9275 -2291,30,2.6,111.05,1.7,63.92725 -2292,30,2.6,111.05,1.7,63.927 -2293,30,2.6,111.05,1.7,63.92675 -2294,30,2.6,111.05,1.7,63.9265 -2295,30,2.6,111.05,1.7,63.92625 -2296,30,2.6,111.05,1.7,63.926 -2297,30,2.6,111.05,1.7,63.92575 -2298,30,2.6,111.05,1.7,63.9255 -2299,30,2.6,111.05,1.7,63.92525 -2300,30,2.6,111.05,1.7,63.925 -2301,30,2.6,111.05,1.7,63.92475 -2302,30,2.6,111.05,1.7,63.9245 -2303,30,2.6,111.05,1.7,63.92425 -2304,30,2.6,111.05,1.7,63.924 -2305,30,2.6,111.05,1.7,63.92375 -2306,30,2.6,111.05,1.7,63.9235 -2307,30,2.6,111.05,1.7,63.92325 -2308,30,2.6,111.05,1.7,63.923 -2309,30,2.6,111.05,1.7,63.92275 -2310,30,2.6,111.05,1.7,63.9225 -2311,30,2.6,111.05,1.7,63.92225 -2312,30,2.6,111.05,1.7,63.922 -2313,30,2.6,111.05,1.7,63.92175 -2314,30,2.6,111.05,1.7,63.9215 -2315,30,2.6,111.05,1.7,63.92125 -2316,30,2.6,111.05,1.7,63.921 -2317,30,2.6,111.05,1.7,63.92075 -2318,30,2.6,111.05,1.7,63.9205 -2319,30,2.6,111.05,1.7,63.92025 -2320,30,2.6,111.05,1.7,63.92 -2321,30,2.6,111.05,1.7,63.91975 -2322,30,2.6,111.05,1.7,63.9195 -2323,30,2.6,111.05,1.7,63.91925 -2324,30,2.6,111.05,1.7,63.919 -2325,30,2.6,111.05,1.7,63.91875 -2326,30,2.6,111.05,1.7,63.9185 -2327,30,2.6,111.05,1.7,63.91825 -2328,30,2.6,111.05,1.7,63.918 -2329,30,2.6,111.05,1.7,63.91775 -2330,30,2.6,111.05,1.7,63.9175 -2331,30,2.6,111.05,1.7,63.91725 -2332,30,2.6,111.05,1.7,63.917 -2333,30,2.6,111.05,1.7,63.91675 -2334,30,2.6,111.05,1.7,63.9165 -2335,30,2.6,111.05,1.7,63.91625 -2336,30,2.6,111.05,1.7,63.916 -2337,30,2.6,111.05,1.7,63.91575 -2338,30,2.6,111.05,1.7,63.9155 -2339,30,2.6,111.05,1.7,63.91525 -2340,30,2.6,111.05,1.7,63.915 -2341,30,2.6,111.05,1.7,63.91475 -2342,30,2.6,111.05,1.7,63.9145 -2343,30,2.6,111.05,1.7,63.91425 -2344,30,2.6,111.05,1.7,63.914 -2345,30,2.6,111.05,1.7,63.91375 -2346,30,2.6,111.05,1.7,63.9135 -2347,30,2.6,111.05,1.7,63.91325 -2348,30,2.6,111.05,1.7,63.913 -2349,30,2.6,111.05,1.7,63.91275 -2350,30,2.6,111.05,1.7,63.9125 -2351,30,2.6,111.05,1.7,63.91225 -2352,30,2.6,111.05,1.7,63.912 -2353,30,2.6,111.05,1.7,63.91175 -2354,30,2.6,111.05,1.7,63.9115 -2355,30,2.6,111.05,1.7,63.91125 -2356,30,2.6,111.05,1.7,63.911 -2357,30,2.6,111.05,1.7,63.91075 -2358,30,2.6,111.05,1.7,63.9105 -2359,30,2.6,111.05,1.7,63.91025 -2360,30,2.6,111.05,1.7,63.91 -2361,30,2.6,111.05,1.7,63.90975 -2362,30,2.6,111.05,1.7,63.9095 -2363,30,2.6,111.05,1.7,63.90925 -2364,30,2.6,111.05,1.7,63.909 -2365,30,2.6,111.05,1.7,63.90875 -2366,30,2.6,111.05,1.7,63.9085 -2367,30,2.6,111.05,1.7,63.90825 -2368,30,2.6,111.05,1.7,63.908 -2369,30,2.6,111.05,1.7,63.90775 -2370,30,2.6,111.05,1.7,63.9075 -2371,30,2.6,111.05,1.7,63.90725 -2372,30,2.6,111.05,1.7,63.907 -2373,30,2.6,111.05,1.7,63.90675 -2374,30,2.6,111.05,1.7,63.9065 -2375,30,2.6,111.05,1.7,63.90625 -2376,30,2.6,111.05,1.7,63.906 -2377,30,2.6,111.05,1.7,63.90575 -2378,30,2.6,111.05,1.7,63.9055 -2379,30,2.6,111.05,1.7,63.90525 -2380,30,2.6,111.05,1.7,63.905 -2381,30,2.6,111.05,1.7,63.90475 -2382,30,2.6,111.05,1.7,63.9045 -2383,30,2.6,111.05,1.7,63.90425 -2384,30,2.6,111.05,1.7,63.904 -2385,30,2.6,111.05,1.7,63.90375 -2386,30,2.6,111.05,1.7,63.9035 -2387,30,2.6,111.05,1.7,63.90325 -2388,30,2.6,111.05,1.7,63.903 -2389,30,2.6,111.05,1.7,63.90275 -2390,30,2.6,111.05,1.7,63.9025 -2391,30,2.6,111.05,1.7,63.90225 -2392,30,2.6,111.05,1.7,63.902 -2393,30,2.6,111.05,1.7,63.90175 -2394,30,2.6,111.05,1.7,63.9015 -2395,30,2.6,111.05,1.7,63.90125 -2396,30,2.6,111.05,1.7,63.901 -2397,30,2.6,111.05,1.7,63.90075 -2398,30,2.6,111.05,1.7,63.9005 -2399,30,2.6,111.05,1.7,63.90025 -2400,30,2.6,111.05,1.7,63.9 -2401,30,2.6,111.05,1.7,63.89975 -2402,30,2.6,111.05,1.7,63.8995 -2403,30,2.6,111.05,1.7,63.89925 -2404,30,2.6,111.05,1.7,63.899 -2405,30,2.6,111.05,1.7,63.89875 -2406,30,2.6,111.05,1.7,63.8985 -2407,30,2.6,111.05,1.7,63.89825 -2408,30,2.6,111.05,1.7,63.898 -2409,30,2.6,111.05,1.7,63.89775 -2410,30,2.6,111.05,1.7,63.8975 -2411,30,2.6,111.05,1.7,63.89725 -2412,30,2.6,111.05,1.7,63.897 -2413,30,2.6,111.05,1.7,63.89675 -2414,30,2.6,111.05,1.7,63.8965 -2415,30,2.6,111.05,1.7,63.89625 -2416,30,2.6,111.05,1.7,63.896 -2417,30,2.6,111.05,1.7,63.89575 -2418,30,2.6,111.05,1.7,63.8955 -2419,30,2.6,111.05,1.7,63.89525 -2420,30,2.6,111.05,1.7,63.895 -2421,30,2.6,111.05,1.7,63.89475 -2422,30,2.6,111.05,1.7,63.8945 -2423,30,2.6,111.05,1.7,63.89425 -2424,30,2.6,111.05,1.7,63.894 -2425,30,2.6,111.05,1.7,63.89375 -2426,30,2.6,111.05,1.7,63.8935 -2427,30,2.6,111.05,1.7,63.89325 -2428,30,2.6,111.05,1.7,63.893 -2429,30,2.6,111.05,1.7,63.89275 -2430,30,2.6,111.05,1.7,63.8925 -2431,30,2.6,111.05,1.7,63.89225 -2432,30,2.6,111.05,1.7,63.892 -2433,30,2.6,111.05,1.7,63.89175 -2434,30,2.6,111.05,1.7,63.8915 -2435,30,2.6,111.05,1.7,63.89125 -2436,30,2.6,111.05,1.7,63.891 -2437,30,2.6,111.05,1.7,63.89075 -2438,30,2.6,111.05,1.7,63.8905 -2439,30,2.6,111.05,1.7,63.89025 -2440,30,2.6,111.05,1.7,63.89 -2441,30,2.6,111.05,1.7,63.88975 -2442,30,2.6,111.05,1.7,63.8895 -2443,30,2.6,111.05,1.7,63.88925 -2444,30,2.6,111.05,1.7,63.889 -2445,30,2.6,111.05,1.7,63.88875 -2446,30,2.6,111.05,1.7,63.8885 -2447,30,2.6,111.05,1.7,63.88825 -2448,30,2.6,111.05,1.7,63.888 -2449,30,2.6,111.05,1.7,63.88775 -2450,30,2.6,111.05,1.7,63.8875 -2451,30,2.6,111.05,1.7,63.88725 -2452,30,2.6,111.05,1.7,63.887 -2453,30,2.6,111.05,1.7,63.88675 -2454,30,2.6,111.05,1.7,63.8865 -2455,30,2.6,111.05,1.7,63.88625 -2456,30,2.6,111.05,1.7,63.886 -2457,30,2.6,111.05,1.7,63.88575 -2458,30,2.6,111.05,1.7,63.8855 -2459,30,2.6,111.05,1.7,63.88525 -2460,30,2.6,111.05,1.7,63.885 -2461,30,2.6,111.05,1.7,63.88475 -2462,30,2.6,111.05,1.7,63.8845 -2463,30,2.6,111.05,1.7,63.88425 -2464,30,2.6,111.05,1.7,63.884 -2465,30,2.6,111.05,1.7,63.88375 -2466,30,2.6,111.05,1.7,63.8835 -2467,30,2.6,111.05,1.7,63.88325 -2468,30,2.6,111.05,1.7,63.883 -2469,30,2.6,111.05,1.7,63.88275 -2470,30,2.6,111.05,1.7,63.8825 -2471,30,2.6,111.05,1.7,63.88225 -2472,30,2.6,111.05,1.7,63.882 -2473,30,2.6,111.05,1.7,63.88175 -2474,30,2.6,111.05,1.7,63.8815 -2475,30,2.6,111.05,1.7,63.88125 -2476,30,2.6,111.05,1.7,63.881 -2477,30,2.6,111.05,1.7,63.88075 -2478,30,2.6,111.05,1.7,63.8805 -2479,30,2.6,111.05,1.7,63.88025 -2480,30,2.6,111.05,1.7,63.88 -2481,30,2.6,111.05,1.7,63.87975 -2482,30,2.6,111.05,1.7,63.8795 -2483,30,2.6,111.05,1.7,63.87925 -2484,30,2.6,111.05,1.7,63.879 -2485,30,2.6,111.05,1.7,63.87875 -2486,30,2.6,111.05,1.7,63.8785 -2487,30,2.6,111.05,1.7,63.87825 -2488,30,2.6,111.05,1.7,63.878 -2489,30,2.6,111.05,1.7,63.87775 -2490,30,2.5,111.05,1.7,63.8775 -2491,30,2.5,111.05,1.7,63.87725 -2492,30,2.5,111.05,1.7,63.877 -2493,30,2.5,111.05,1.7,63.87675 -2494,30,2.5,111.05,1.7,63.8765 -2495,30,2.5,111.05,1.7,63.87625 -2496,30,2.5,111.05,1.7,63.876 -2497,30,2.5,111.05,1.7,63.87575 -2498,30,2.5,111.05,1.7,63.8755 -2499,30,2.5,111.05,1.7,63.87525 -2500,30,2.5,111.05,1.7,63.875 -2501,30,2.5,111.05,1.7,63.87475 -2502,30,2.5,111.05,1.7,63.8745 -2503,30,2.5,111.05,1.7,63.87425 -2504,30,2.5,111.05,1.7,63.874 -2505,30,2.5,111.05,1.7,63.87375 -2506,30,2.5,111.05,1.7,63.8735 -2507,30,2.5,111.05,1.7,63.87325 -2508,30,2.5,111.05,1.7,63.873 -2509,30,2.5,111.05,1.7,63.87275 -2510,30,2.5,111.05,1.7,63.8725 -2511,30,2.5,111.05,1.7,63.87225 -2512,30,2.5,111.05,1.7,63.872 -2513,30,2.5,111.05,1.7,63.87175 -2514,30,2.5,111.05,1.7,63.8715 -2515,30,2.5,111.05,1.7,63.87125 -2516,30,2.5,111.05,1.7,63.871 -2517,30,2.5,111.05,1.7,63.87075 -2518,30,2.5,111.05,1.7,63.8705 -2519,30,2.5,111.05,1.7,63.87025 -2520,30,2.5,111.05,1.7,63.87 -2521,30,2.5,111.05,1.7,63.86975 -2522,30,2.5,111.05,1.7,63.8695 -2523,30,2.5,111.05,1.7,63.86925 -2524,30,2.5,111.05,1.7,63.869 -2525,30,2.5,111.05,1.7,63.86875 -2526,30,2.5,111.05,1.7,63.8685 -2527,30,2.5,111.05,1.7,63.86825 -2528,30,2.5,111.05,1.7,63.868 -2529,30,2.5,111.05,1.7,63.86775 -2530,30,2.5,111.05,1.7,63.8675 -2531,30,2.5,111.05,1.7,63.86725 -2532,30,2.5,111.05,1.7,63.867 -2533,30,2.5,111.05,1.7,63.86675 -2534,30,2.5,111.05,1.7,63.8665 -2535,30,2.5,111.05,1.7,63.86625 -2536,30,2.5,111.05,1.7,63.866 -2537,30,2.5,111.05,1.7,63.86575 -2538,30,2.5,111.05,1.7,63.8655 -2539,30,2.5,111.05,1.7,63.86525 -2540,30,2.5,111.05,1.7,63.865 -2541,30,2.5,111.05,1.7,63.86475 -2542,30,2.5,111.05,1.7,63.8645 -2543,30,2.5,111.05,1.7,63.86425 -2544,30,2.5,111.05,1.7,63.864 -2545,30,2.5,111.05,1.7,63.86375 -2546,30,2.5,111.05,1.7,63.8635 -2547,30,2.5,111.05,1.7,63.86325 -2548,30,2.5,111.05,1.7,63.863 -2549,30,2.5,111.05,1.7,63.86275 -2550,30,2.5,111.05,1.7,63.8625 -2551,30,2.5,111.05,1.7,63.86225 -2552,30,2.5,111.05,1.7,63.862 -2553,30,2.5,111.05,1.7,63.86175 -2554,30,2.5,111.05,1.7,63.8615 -2555,30,2.5,111.05,1.7,63.86125 -2556,30,2.5,111.05,1.7,63.861 -2557,30,2.5,111.05,1.7,63.86075 -2558,30,2.5,111.05,1.7,63.8605 -2559,30,2.5,111.05,1.7,63.86025 -2560,30,2.5,111.05,1.7,63.86 -2561,30,2.5,111.05,1.7,63.85975 -2562,30,2.5,111.05,1.7,63.8595 -2563,30,2.5,111.05,1.7,63.85925 -2564,30,2.5,111.05,1.7,63.859 -2565,30,2.5,111.05,1.7,63.85875 -2566,30,2.5,111.05,1.7,63.8585 -2567,30,2.5,111.05,1.7,63.85825 -2568,30,2.5,111.05,1.7,63.858 -2569,30,2.5,111.05,1.7,63.85775 -2570,30,2.5,111.05,1.7,63.8575 -2571,30,2.5,111.05,1.7,63.85725 -2572,30,2.5,111.05,1.7,63.857 -2573,30,2.5,111.05,1.7,63.85675 -2574,30,2.5,111.05,1.7,63.8565 -2575,30,2.5,111.05,1.7,63.85625 -2576,30,2.5,111.05,1.7,63.856 -2577,30,2.5,111.05,1.7,63.85575 -2578,30,2.5,111.05,1.7,63.8555 -2579,30,2.5,111.05,1.7,63.85525 -2580,30,2.5,111.05,1.7,63.855 -2581,30,2.5,111.05,1.7,63.85475 -2582,30,2.5,111.05,1.7,63.8545 -2583,30,2.5,111.05,1.7,63.85425 -2584,30,2.5,111.05,1.7,63.854 -2585,30,2.5,111.05,1.7,63.85375 -2586,30,2.5,111.05,1.7,63.8535 -2587,30,2.5,111.05,1.7,63.85325 -2588,30,2.5,111.05,1.7,63.853 -2589,30,2.5,111.05,1.7,63.85275 -2590,30,2.5,111.05,1.7,63.8525 -2591,30,2.5,111.05,1.7,63.85225 -2592,30,2.5,111.05,1.7,63.852 -2593,30,2.5,111.05,1.7,63.85175 -2594,30,2.5,111.05,1.7,63.8515 -2595,30,2.5,111.05,1.7,63.85125 -2596,30,2.5,111.05,1.7,63.851 -2597,30,2.5,111.05,1.7,63.85075 -2598,30,2.5,111.05,1.7,63.8505 -2599,30,2.5,111.05,1.7,63.85025 -2600,30,2.5,111.05,1.7,63.85 -2601,30,2.5,111.05,1.7,63.84975 -2602,30,2.5,111.05,1.7,63.8495 -2603,30,2.5,111.05,1.7,63.84925 -2604,30,2.5,111.05,1.7,63.849 -2605,30,2.5,111.05,1.7,63.84875 -2606,30,2.5,111.05,1.7,63.8485 -2607,30,2.5,111.05,1.7,63.84825 -2608,30,2.5,111.05,1.7,63.848 -2609,30,2.5,111.05,1.7,63.84775 -2610,30,2.5,111.05,1.7,63.8475 -2611,30,2.5,111.05,1.7,63.84725 -2612,30,2.5,111.05,1.7,63.847 -2613,30,2.5,111.05,1.7,63.84675 -2614,30,2.5,111.05,1.7,63.8465 -2615,30,2.5,111.05,1.7,63.84625 -2616,30,2.5,111.05,1.7,63.846 -2617,30,2.5,111.05,1.7,63.84575 -2618,30,2.5,111.05,1.7,63.8455 -2619,30,2.5,111.05,1.7,63.84525 -2620,30,2.5,111.05,1.7,63.845 -2621,30,2.5,111.05,1.7,63.84475 -2622,30,2.5,111.05,1.7,63.8445 -2623,30,2.5,111.05,1.7,63.84425 -2624,30,2.5,111.05,1.7,63.844 -2625,30,2.5,111.05,1.7,63.84375 -2626,30,2.5,111.05,1.7,63.8435 -2627,30,2.5,111.05,1.7,63.84325 -2628,30,2.5,111.05,1.7,63.843 -2629,30,2.5,111.05,1.7,63.84275 -2630,30,2.5,111.05,1.7,63.8425 -2631,30,2.5,111.05,1.7,63.84225 -2632,30,2.5,111.05,1.7,63.842 -2633,30,2.5,111.05,1.7,63.84175 -2634,30,2.5,111.05,1.7,63.8415 -2635,30,2.5,111.05,1.7,63.84125 -2636,30,2.5,111.05,1.7,63.841 -2637,30,2.5,111.05,1.7,63.84075 -2638,30,2.5,111.05,1.7,63.8405 -2639,30,2.5,111.05,1.7,63.84025 -2640,30,2.5,111.05,1.7,63.84 -2641,30,2.5,111.05,1.7,63.83975 -2642,30,2.5,111.05,1.7,63.8395 -2643,30,2.5,111.05,1.7,63.83925 -2644,30,2.5,111.05,1.7,63.839 -2645,30,2.5,111.05,1.7,63.83875 -2646,30,2.5,111.05,1.7,63.8385 -2647,30,2.5,111.05,1.7,63.83825 -2648,30,2.5,111.05,1.7,63.838 -2649,30,2.5,111.05,1.7,63.83775 -2650,30,2.5,111.05,1.7,63.8375 -2651,30,2.5,111.05,1.7,63.83725 -2652,30,2.5,111.05,1.7,63.837 -2653,30,2.5,111.05,1.7,63.83675 -2654,30,2.5,111.05,1.7,63.8365 -2655,30,2.5,111.05,1.7,63.83625 -2656,30,2.5,111.05,1.7,63.836 -2657,30,2.5,111.05,1.7,63.83575 -2658,30,2.5,111.05,1.7,63.8355 -2659,30,2.5,111.05,1.7,63.83525 -2660,30,2.5,111.05,1.7,63.835 -2661,30,2.5,111.05,1.7,63.83475 -2662,30,2.5,111.05,1.7,63.8345 -2663,30,2.5,111.05,1.7,63.83425 -2664,30,2.5,111.05,1.7,63.834 -2665,30,2.5,111.05,1.7,63.83375 -2666,30,2.5,111.05,1.7,63.8335 -2667,30,2.5,111.05,1.7,63.83325 -2668,30,2.5,111.05,1.7,63.833 -2669,30,2.5,111.05,1.7,63.83275 -2670,30,2.5,111.05,1.7,63.8325 -2671,30,2.5,111.05,1.7,63.83225 -2672,30,2.5,111.05,1.7,63.832 -2673,30,2.5,111.05,1.7,63.83175 -2674,30,2.5,111.05,1.7,63.8315 -2675,30,2.5,111.05,1.7,63.83125 -2676,30,2.5,111.05,1.7,63.831 -2677,30,2.5,111.05,1.7,63.83075 -2678,30,2.5,111.05,1.7,63.8305 -2679,30,2.5,111.05,1.7,63.83025 -2680,30,2.5,111.05,1.7,63.83 -2681,30,2.5,111.05,1.7,63.82975 -2682,30,2.5,111.05,1.7,63.8295 -2683,30,2.5,111.05,1.7,63.82925 -2684,30,2.5,111.05,1.7,63.829 -2685,30,2.5,111.05,1.7,63.82875 -2686,30,2.5,111.05,1.7,63.8285 -2687,30,2.5,111.05,1.7,63.82825 -2688,30,2.5,111.05,1.7,63.828 -2689,30,2.5,111.05,1.7,63.82775 -2690,30,2.5,111.05,1.7,63.8275 -2691,30,2.5,111.05,1.7,63.82725 -2692,30,2.5,111.05,1.7,63.827 -2693,30,2.5,111.05,1.7,63.82675 -2694,30,2.5,111.05,1.7,63.8265 -2695,30,2.5,111.05,1.7,63.82625 -2696,30,2.5,111.05,1.7,63.826 -2697,30,2.5,111.05,1.7,63.82575 -2698,30,2.5,111.05,1.7,63.8255 -2699,30,2.5,111.05,1.7,63.82525 -2700,30,2.5,111.05,1.7,63.825 -2701,30,2.5,111.05,1.7,63.82475 -2702,30,2.5,111.05,1.7,63.8245 -2703,30,2.5,111.05,1.7,63.82425 -2704,30,2.5,111.05,1.7,63.824 -2705,30,2.5,111.05,1.7,63.82375 -2706,30,2.5,111.05,1.7,63.8235 -2707,30,2.5,111.05,1.7,63.82325 -2708,30,2.5,111.05,1.7,63.823 -2709,30,2.5,111.05,1.7,63.82275 -2710,30,2.5,111.05,1.7,63.8225 -2711,30,2.5,111.05,1.7,63.82225 -2712,30,2.5,111.05,1.7,63.822 -2713,30,2.5,111.05,1.7,63.82175 -2714,30,2.5,111.05,1.7,63.8215 -2715,30,2.5,111.05,1.7,63.82125 -2716,30,2.5,111.05,1.7,63.821 -2717,30,2.5,111.05,1.7,63.82075 -2718,30,2.5,111.05,1.7,63.8205 -2719,30,2.5,111.05,1.7,63.82025 -2720,30,2.5,111.05,1.7,63.82 -2721,30,2.5,111.05,1.7,63.81975 -2722,30,2.5,111.05,1.7,63.8195 -2723,30,2.5,111.05,1.7,63.81925 -2724,30,2.5,111.05,1.7,63.819 -2725,30,2.5,111.05,1.7,63.81875 -2726,30,2.5,111.05,1.7,63.8185 -2727,30,2.5,111.05,1.7,63.81825 -2728,30,2.5,111.05,1.7,63.818 -2729,30,2.5,111.05,1.7,63.81775 -2730,30,2.5,111.05,1.7,63.8175 -2731,30,2.5,111.05,1.7,63.81725 -2732,30,2.5,111.05,1.7,63.817 -2733,30,2.5,111.05,1.7,63.81675 -2734,30,2.5,111.05,1.7,63.8165 -2735,30,2.5,111.05,1.7,63.81625 -2736,30,2.5,111.05,1.7,63.816 -2737,30,2.5,111.05,1.7,63.81575 -2738,30,2.5,111.05,1.7,63.8155 -2739,30,2.5,111.05,1.7,63.81525 -2740,30,2.5,111.05,1.7,63.815 -2741,30,2.5,111.05,1.7,63.81475 -2742,30,2.5,111.05,1.7,63.8145 -2743,30,2.5,111.05,1.7,63.81425 -2744,30,2.5,111.05,1.7,63.814 -2745,30,2.5,111.05,1.7,63.81375 -2746,30,2.5,111.05,1.7,63.8135 -2747,30,2.5,111.05,1.7,63.81325 -2748,30,2.5,111.05,1.7,63.813 -2749,30,2.5,111.05,1.7,63.81275 -2750,30,2.5,111.05,1.7,63.8125 -2751,30,2.5,111.05,1.7,63.81225 -2752,30,2.5,111.05,1.7,63.812 -2753,30,2.5,111.05,1.7,63.81175 -2754,30,2.5,111.05,1.7,63.8115 -2755,30,2.5,111.05,1.7,63.81125 -2756,30,2.5,111.05,1.7,63.811 -2757,30,2.5,111.05,1.7,63.81075 -2758,30,2.5,111.05,1.7,63.8105 -2759,30,2.5,111.05,1.7,63.81025 -2760,30,2.5,111.05,1.7,63.81 -2761,30,2.5,111.05,1.7,63.80975 -2762,30,2.5,111.05,1.7,63.8095 -2763,30,2.5,111.05,1.7,63.80925 -2764,30,2.5,111.05,1.7,63.809 -2765,30,2.5,111.05,1.7,63.80875 -2766,30,2.5,111.05,1.7,63.8085 -2767,30,2.5,111.05,1.7,63.80825 -2768,30,2.5,111.05,1.7,63.808 -2769,30,2.5,111.05,1.7,63.80775 -2770,30,2.5,111.05,1.7,63.8075 -2771,30,2.5,111.05,1.7,63.80725 -2772,30,2.5,111.05,1.7,63.807 -2773,30,2.5,111.05,1.7,63.80675 -2774,30,2.5,111.05,1.7,63.8065 -2775,30,2.5,111.05,1.7,63.80625 -2776,30,2.5,111.05,1.7,63.806 -2777,30,2.5,111.05,1.7,63.80575 -2778,30,2.5,111.05,1.7,63.8055 -2779,30,2.5,111.05,1.7,63.80525 -2780,30,2.5,111.05,1.7,63.805 -2781,30,2.5,111.05,1.7,63.80475 -2782,30,2.5,111.05,1.7,63.8045 -2783,30,2.5,111.05,1.7,63.80425 -2784,30,2.5,111.05,1.7,63.804 -2785,30,2.5,111.05,1.7,63.80375 -2786,30,2.5,111.05,1.7,63.8035 -2787,30,2.5,111.05,1.7,63.80325 -2788,30,2.5,111.05,1.7,63.803 -2789,30,2.5,111.05,1.7,63.80275 -2790,30,2.5,111.05,1.7,63.8025 -2791,30,2.5,111.05,1.7,63.80225 -2792,30,2.5,111.05,1.7,63.802 -2793,30,2.5,111.05,1.7,63.80175 -2794,30,2.5,111.05,1.7,63.8015 -2795,30,2.5,111.05,1.7,63.80125 -2796,30,2.5,111.05,1.7,63.801 -2797,30,2.5,111.05,1.7,63.80075 -2798,30,2.5,111.05,1.7,63.8005 -2799,30,2.5,111.05,1.7,63.80025 -2800,30,2.5,111.05,1.7,63.8 -2801,30,2.5,111.05,1.7,63.79975 -2802,30,2.5,111.05,1.7,63.7995 -2803,30,2.5,111.05,1.7,63.79925 -2804,30,2.5,111.05,1.7,63.799 -2805,30,2.5,111.05,1.7,63.79875 -2806,30,2.5,111.05,1.7,63.7985 -2807,30,2.5,111.05,1.7,63.79825 -2808,30,2.5,111.05,1.7,63.798 -2809,30,2.5,111.05,1.7,63.79775 -2810,30,2.5,111.05,1.7,63.7975 -2811,30,2.5,111.05,1.7,63.79725 -2812,30,2.5,111.05,1.7,63.797 -2813,30,2.5,111.05,1.7,63.79675 -2814,30,2.5,111.05,1.7,63.7965 -2815,30,2.5,111.05,1.7,63.79625 -2816,30,2.5,111.05,1.7,63.796 -2817,30,2.5,111.05,1.7,63.79575 -2818,30,2.5,111.05,1.7,63.7955 -2819,30,2.5,111.05,1.7,63.79525 -2820,30,2.5,111.05,1.7,63.795 -2821,30,2.5,111.05,1.7,63.79475 -2822,30,2.5,111.05,1.7,63.7945 -2823,30,2.5,111.05,1.7,63.79425 -2824,30,2.5,111.05,1.7,63.794 -2825,30,2.5,111.05,1.7,63.79375 -2826,30,2.5,111.05,1.7,63.7935 -2827,30,2.5,111.05,1.7,63.79325 -2828,30,2.5,111.05,1.7,63.793 -2829,30,2.5,111.05,1.7,63.79275 -2830,30,2.5,111.05,1.7,63.7925 -2831,30,2.5,111.05,1.7,63.79225 -2832,30,2.5,111.05,1.7,63.792 -2833,30,2.5,111.05,1.7,63.79175 -2834,30,2.5,111.05,1.7,63.7915 -2835,30,2.5,111.05,1.7,63.79125 -2836,30,2.5,111.05,1.7,63.791 -2837,30,2.5,111.05,1.7,63.79075 -2838,30,2.5,111.05,1.7,63.7905 -2839,30,2.5,111.05,1.7,63.79025 -2840,30,2.5,111.05,1.7,63.79 -2841,30,2.5,111.05,1.7,63.78975 -2842,30,2.5,111.05,1.7,63.7895 -2843,30,2.5,111.05,1.7,63.78925 -2844,30,2.5,111.05,1.7,63.789 -2845,30,2.5,111.05,1.7,63.78875 -2846,30,2.5,111.05,1.7,63.7885 -2847,30,2.5,111.05,1.7,63.78825 -2848,30,2.5,111.05,1.7,63.788 -2849,30,2.5,111.05,1.7,63.78775 -2850,30,2.5,111.05,1.7,63.7875 -2851,30,2.5,111.05,1.7,63.78725 -2852,30,2.5,111.05,1.7,63.787 -2853,30,2.5,111.05,1.7,63.78675 -2854,30,2.5,111.05,1.7,63.7865 -2855,30,2.5,111.05,1.7,63.78625 -2856,30,2.5,111.05,1.7,63.786 -2857,30,2.5,111.05,1.7,63.78575 -2858,30,2.5,111.05,1.7,63.7855 -2859,30,2.5,111.05,1.7,63.78525 -2860,30,2.5,111.05,1.7,63.785 -2861,30,2.5,111.05,1.7,63.78475 -2862,30,2.5,111.05,1.7,63.7845 -2863,30,2.5,111.05,1.7,63.78425 -2864,30,2.5,111.05,1.7,63.784 -2865,30,2.5,111.05,1.7,63.78375 -2866,30,2.5,111.05,1.7,63.7835 -2867,30,2.5,111.05,1.7,63.78325 -2868,30,2.5,111.05,1.7,63.783 -2869,30,2.5,111.05,1.7,63.78275 -2870,30,2.5,111.05,1.7,63.7825 -2871,30,2.5,111.05,1.7,63.78225 -2872,30,2.5,111.05,1.7,63.782 -2873,30,2.5,111.05,1.7,63.78175 -2874,30,2.5,111.05,1.7,63.7815 -2875,30,2.5,111.05,1.7,63.78125 -2876,30,2.5,111.05,1.7,63.781 -2877,30,2.5,111.05,1.7,63.78075 -2878,30,2.5,111.05,1.7,63.7805 -2879,30,2.5,111.05,1.7,63.78025 -2880,30,2.5,111.05,1.7,63.78 -2881,30,2.5,111.05,1.7,63.77975 -2882,30,2.5,111.05,1.7,63.7795 -2883,30,2.5,111.05,1.7,63.77925 -2884,30,2.5,111.05,1.7,63.779 -2885,30,2.5,111.05,1.7,63.77875 -2886,30,2.5,111.05,1.7,63.7785 -2887,30,2.5,111.05,1.7,63.77825 -2888,30,2.5,111.05,1.7,63.778 -2889,30,2.5,111.05,1.7,63.77775 -2890,30,2.5,111.05,1.7,63.7775 -2891,30,2.5,111.05,1.7,63.77725 -2892,30,2.5,111.05,1.7,63.777 -2893,30,2.5,111.05,1.7,63.77675 -2894,30,2.5,111.05,1.7,63.7765 -2895,30,2.5,111.05,1.7,63.77625 -2896,30,2.5,111.05,1.7,63.776 -2897,30,2.5,111.05,1.7,63.77575 -2898,30,2.5,111.05,1.7,63.7755 -2899,30,2.5,111.05,1.7,63.77525 -2900,30,2.5,111.05,1.7,63.775 -2901,30,2.5,111.05,1.7,63.77475 -2902,30,2.5,111.05,1.7,63.7745 -2903,30,2.5,111.05,1.7,63.77425 -2904,30,2.5,111.05,1.7,63.774 -2905,30,2.5,111.05,1.7,63.77375 -2906,30,2.5,111.05,1.7,63.7735 -2907,30,2.5,111.05,1.7,63.77325 -2908,30,2.5,111.05,1.7,63.773 -2909,30,2.5,111.05,1.7,63.77275 -2910,30,2.5,111.05,1.7,63.7725 -2911,30,2.5,111.05,1.7,63.77225 -2912,30,2.5,111.05,1.7,63.772 -2913,30,2.5,111.05,1.7,63.77175 -2914,30,2.5,111.05,1.7,63.7715 -2915,30,2.5,111.05,1.7,63.77125 -2916,30,2.5,111.05,1.7,63.771 -2917,30,2.5,111.05,1.7,63.77075 -2918,30,2.5,111.05,1.7,63.7705 -2919,30,2.5,111.05,1.7,63.77025 -2920,30,2.5,111.05,1.7,63.77 -2921,30,2.5,111.05,1.7,63.76975 -2922,30,2.5,111.05,1.7,63.7695 -2923,30,2.5,111.05,1.7,63.76925 -2924,30,2.5,111.05,1.7,63.769 -2925,30,2.5,111.05,1.7,63.76875 -2926,30,2.5,111.05,1.7,63.7685 -2927,30,2.5,111.05,1.7,63.76825 -2928,30,2.5,111.05,1.7,63.768 -2929,30,2.5,111.05,1.7,63.76775 -2930,30,2.5,111.05,1.7,63.7675 -2931,30,2.5,111.05,1.7,63.76725 -2932,30,2.5,111.05,1.7,63.767 -2933,30,2.5,111.05,1.7,63.76675 -2934,30,2.5,111.05,1.7,63.7665 -2935,30,2.5,111.05,1.7,63.76625 -2936,30,2.5,111.05,1.7,63.766 -2937,30,2.5,111.05,1.7,63.76575 -2938,30,2.5,111.05,1.7,63.7655 -2939,30,2.5,111.05,1.7,63.76525 -2940,30,2.5,111.05,1.7,63.765 -2941,30,2.5,111.05,1.7,63.76475 -2942,30,2.5,111.05,1.7,63.7645 -2943,30,2.5,111.05,1.7,63.76425 -2944,30,2.5,111.05,1.7,63.764 -2945,30,2.5,111.05,1.7,63.76375 -2946,30,2.5,111.05,1.7,63.7635 -2947,30,2.5,111.05,1.7,63.76325 -2948,30,2.5,111.05,1.7,63.763 -2949,30,2.5,111.05,1.7,63.76275 -2950,30,2.5,111.05,1.7,63.7625 -2951,30,2.5,111.05,1.7,63.76225 -2952,30,2.5,111.05,1.7,63.762 -2953,30,2.5,111.05,1.7,63.76175 -2954,30,2.5,111.05,1.7,63.7615 -2955,30,2.5,111.05,1.7,63.76125 -2956,30,2.5,111.05,1.7,63.761 -2957,30,2.5,111.05,1.7,63.76075 -2958,30,2.5,111.05,1.7,63.7605 -2959,30,2.5,111.05,1.7,63.76025 -2960,30,2.5,111.05,1.7,63.76 -2961,30,2.5,111.05,1.7,63.75975 -2962,30,2.5,111.05,1.7,63.7595 -2963,30,2.5,111.05,1.7,63.75925 -2964,30,2.5,111.05,1.7,63.759 -2965,30,2.5,111.05,1.7,63.75875 -2966,30,2.5,111.05,1.7,63.7585 -2967,30,2.5,111.05,1.7,63.75825 -2968,30,2.5,111.05,1.7,63.758 -2969,30,2.5,111.05,1.7,63.75775 -2970,30,2.5,111.05,1.7,63.7575 -2971,30,2.5,111.05,1.7,63.75725 -2972,30,2.5,111.05,1.7,63.757 -2973,30,2.5,111.05,1.7,63.75675 -2974,30,2.5,111.05,1.7,63.7565 -2975,30,2.5,111.05,1.7,63.75625 -2976,30,2.5,111.05,1.7,63.756 -2977,30,2.5,111.05,1.7,63.75575 -2978,30,2.5,111.05,1.7,63.7555 -2979,30,2.5,111.05,1.7,63.75525 -2980,30,2.5,111.05,1.7,63.755 -2981,30,2.5,111.05,1.7,63.75475 -2982,30,2.5,111.05,1.7,63.7545 -2983,30,2.5,111.05,1.7,63.75425 -2984,30,2.5,111.05,1.7,63.754 -2985,30,2.5,111.05,1.7,63.75375 -2986,30,2.5,111.05,1.7,63.7535 -2987,30,2.5,111.05,1.7,63.75325 -2988,30,2.5,111.05,1.7,63.753 -2989,30,2.5,111.05,1.7,63.75275 -2990,30,2.5,111.05,1.7,63.7525 -2991,30,2.5,111.05,1.7,63.75225 -2992,30,2.5,111.05,1.7,63.752 -2993,30,2.5,111.05,1.7,63.75175 -2994,30,2.5,111.05,1.7,63.7515 -2995,30,2.5,111.05,1.7,63.75125 -2996,30,2.5,111.05,1.7,63.751 -2997,30,2.5,111.05,1.7,63.75075 -2998,30,2.5,111.05,1.7,63.7505 -2999,30,2.5,111.05,1.7,63.75025 -3000,30,2.5,111.05,1.7,63.75 -3001,30,2.5,111.05,1.7,63.75 -3002,30,2.5,111.05,1.7,63.75 -3003,30,2.5,111.05,1.7,63.75 -3004,30,2.5,111.05,1.7,63.75 -3005,30,2.5,111.05,1.7,63.75 -3006,30,2.5,111.05,1.7,63.75 -3007,30,2.5,111.05,1.7,63.75 -3008,30,2.5,111.05,1.7,63.75 -3009,30,2.5,111.05,1.7,63.75 -3010,30,2.5,111.05,1.7,63.75 -3011,30,2.5,111.05,1.7,63.75 -3012,30,2.5,111.05,1.7,63.75 -3013,30,2.5,111.05,1.7,63.75 -3014,30,2.5,111.05,1.7,63.75 -3015,30,2.5,111.05,1.7,63.75 -3016,30,2.5,111.05,1.7,63.75 -3017,30,2.5,111.05,1.7,63.75 -3018,30,2.5,111.05,1.7,63.75 -3019,30,2.5,111.05,1.7,63.75 -3020,30,2.5,111.05,1.7,63.75 -3021,30,2.5,111.05,1.7,63.75 -3022,30,2.5,111.05,1.7,63.75 -3023,30,2.5,111.05,1.7,63.75 -3024,30,2.5,111.05,1.7,63.75 -3025,30,2.5,111.05,1.7,63.75 -3026,30,2.5,111.05,1.7,63.75 -3027,30,2.5,111.05,1.7,63.75 -3028,30,2.5,111.05,1.7,63.75 -3029,30,2.5,111.05,1.7,63.75 -3030,30,2.5,111.05,1.7,63.75 -3031,30,2.5,111.05,1.7,63.75 -3032,30,2.5,111.05,1.7,63.75 -3033,30,2.5,111.05,1.7,63.75 -3034,30,2.5,111.05,1.7,63.75 -3035,30,2.5,111.05,1.7,63.75 -3036,30,2.5,111.05,1.7,63.75 -3037,30,2.5,111.05,1.7,63.75 -3038,30,2.5,111.05,1.7,63.75 -3039,30,2.5,111.05,1.7,63.75 -3040,30,2.5,111.05,1.7,63.75 -3041,30,2.5,111.05,1.7,63.75 -3042,30,2.5,111.05,1.7,63.75 -3043,30,2.5,111.05,1.7,63.75 -3044,30,2.5,111.05,1.7,63.75 -3045,30,2.5,111.05,1.7,63.75 -3046,30,2.5,111.05,1.7,63.75 -3047,30,2.5,111.05,1.7,63.75 -3048,30,2.5,111.05,1.7,63.75 -3049,30,2.5,111.05,1.7,63.75 -3050,30,2.5,111.05,1.7,63.75 -3051,30,2.5,111.05,1.7,63.75 -3052,30,2.5,111.05,1.7,63.75 -3053,30,2.5,111.05,1.7,63.75 -3054,30,2.5,111.05,1.7,63.75 -3055,30,2.5,111.05,1.7,63.75 -3056,30,2.5,111.05,1.7,63.75 -3057,30,2.5,111.05,1.7,63.75 -3058,30,2.5,111.05,1.7,63.75 -3059,30,2.5,111.05,1.7,63.75 -3060,30,2.5,111.05,1.7,63.75 -3061,30,2.5,111.05,1.7,63.75 -3062,30,2.5,111.05,1.7,63.75 -3063,30,2.5,111.05,1.7,63.75 -3064,30,2.5,111.05,1.7,63.75 -3065,30,2.5,111.05,1.7,63.75 -3066,30,2.5,111.05,1.7,63.75 -3067,30,2.5,111.05,1.7,63.75 -3068,30,2.5,111.05,1.7,63.75 -3069,30,2.5,111.05,1.7,63.75 -3070,30,2.5,111.05,1.7,63.75 -3071,30,2.5,111.05,1.7,63.75 -3072,30,2.5,111.05,1.7,63.75 -3073,30,2.5,111.05,1.7,63.75 -3074,30,2.5,111.05,1.7,63.75 -3075,30,2.5,111.05,1.7,63.75 -3076,30,2.5,111.05,1.7,63.75 -3077,30,2.5,111.05,1.7,63.75 -3078,30,2.5,111.05,1.7,63.75 -3079,30,2.5,111.05,1.7,63.75 -3080,30,2.5,111.05,1.7,63.75 -3081,30,2.5,111.05,1.7,63.75 -3082,30,2.5,111.05,1.7,63.75 -3083,30,2.5,111.05,1.7,63.75 -3084,30,2.5,111.05,1.7,63.75 -3085,30,2.5,111.05,1.7,63.75 -3086,30,2.5,111.05,1.7,63.75 -3087,30,2.5,111.05,1.7,63.75 -3088,30,2.5,111.05,1.7,63.75 -3089,30,2.5,111.05,1.7,63.75 -3090,30,2.5,111.05,1.7,63.75 -3091,30,2.5,111.05,1.7,63.75 -3092,30,2.5,111.05,1.7,63.75 -3093,30,2.5,111.05,1.7,63.75 -3094,30,2.5,111.05,1.7,63.75 -3095,30,2.5,111.05,1.7,63.75 -3096,30,2.5,111.05,1.7,63.75 -3097,30,2.5,111.05,1.7,63.75 -3098,30,2.5,111.05,1.7,63.75 -3099,30,2.5,111.05,1.7,63.75 -3100,30,2.5,111.05,1.7,63.75 -3101,30,2.5,111.05,1.7,63.75 -3102,30,2.5,111.05,1.7,63.75 -3103,30,2.5,111.05,1.7,63.75 -3104,30,2.5,111.05,1.7,63.75 -3105,30,2.5,111.05,1.7,63.75 -3106,30,2.5,111.05,1.7,63.75 -3107,30,2.5,111.05,1.7,63.75 -3108,30,2.5,111.05,1.7,63.75 -3109,30,2.5,111.05,1.7,63.75 -3110,30,2.5,111.05,1.7,63.75 -3111,30,2.5,111.05,1.7,63.75 -3112,30,2.5,111.05,1.7,63.75 -3113,30,2.5,111.05,1.7,63.75 -3114,30,2.5,111.05,1.7,63.75 -3115,30,2.5,111.05,1.7,63.75 -3116,30,2.5,111.05,1.7,63.75 -3117,30,2.5,111.05,1.7,63.75 -3118,30,2.5,111.05,1.7,63.75 -3119,30,2.5,111.05,1.7,63.75 -3120,30,2.5,111.05,1.7,63.75 -3121,30,2.5,111.05,1.7,63.75 -3122,30,2.5,111.05,1.7,63.75 -3123,30,2.5,111.05,1.7,63.75 -3124,30,2.5,111.05,1.7,63.75 -3125,30,2.5,111.05,1.7,63.75 -3126,30,2.5,111.05,1.7,63.75 -3127,30,2.5,111.05,1.7,63.75 -3128,30,2.5,111.05,1.7,63.75 -3129,30,2.5,111.05,1.7,63.75 -3130,30,2.5,111.05,1.7,63.75 -3131,30,2.5,111.05,1.7,63.75 -3132,30,2.5,111.05,1.7,63.75 -3133,30,2.5,111.05,1.7,63.75 -3134,30,2.5,111.05,1.7,63.75 -3135,30,2.5,111.05,1.7,63.75 -3136,30,2.5,111.05,1.7,63.75 -3137,30,2.5,111.05,1.7,63.75 -3138,30,2.5,111.05,1.7,63.75 -3139,30,2.5,111.05,1.7,63.75 -3140,30,2.5,111.05,1.7,63.75 -3141,30,2.5,111.05,1.7,63.75 -3142,30,2.5,111.05,1.7,63.75 -3143,30,2.5,111.05,1.7,63.75 -3144,30,2.5,111.05,1.7,63.75 -3145,30,2.5,111.05,1.7,63.75 -3146,30,2.5,111.05,1.7,63.75 -3147,30,2.5,111.05,1.7,63.75 -3148,30,2.5,111.05,1.7,63.75 -3149,30,2.5,111.05,1.7,63.75 -3150,30,2.5,111.05,1.7,63.75 -3151,30,2.5,111.05,1.7,63.75 -3152,30,2.5,111.05,1.7,63.75 -3153,30,2.5,111.05,1.7,63.75 -3154,30,2.5,111.05,1.7,63.75 -3155,30,2.5,111.05,1.7,63.75 -3156,30,2.5,111.05,1.7,63.75 -3157,30,2.5,111.05,1.7,63.75 -3158,30,2.5,111.05,1.7,63.75 -3159,30,2.5,111.05,1.7,63.75 -3160,30,2.5,111.05,1.7,63.75 -3161,30,2.5,111.05,1.7,63.75 -3162,30,2.5,111.05,1.7,63.75 -3163,30,2.5,111.05,1.7,63.75 -3164,30,2.5,111.05,1.7,63.75 -3165,30,2.5,111.05,1.7,63.75 -3166,30,2.5,111.05,1.7,63.75 -3167,30,2.5,111.05,1.7,63.75 -3168,30,2.5,111.05,1.7,63.75 -3169,30,2.5,111.05,1.7,63.75 -3170,30,2.5,111.05,1.7,63.75 -3171,30,2.5,111.05,1.7,63.75 -3172,30,2.5,111.05,1.7,63.75 -3173,30,2.5,111.05,1.7,63.75 -3174,30,2.5,111.05,1.7,63.75 -3175,30,2.5,111.05,1.7,63.75 -3176,30,2.5,111.05,1.7,63.75 -3177,30,2.5,111.05,1.7,63.75 -3178,30,2.5,111.05,1.7,63.75 -3179,30,2.5,111.05,1.7,63.75 -3180,30,2.5,111.05,1.7,63.75 -3181,30,2.5,111.05,1.7,63.75 -3182,30,2.5,111.05,1.7,63.75 -3183,30,2.5,111.05,1.7,63.75 -3184,30,2.5,111.05,1.7,63.75 -3185,30,2.5,111.05,1.7,63.75 -3186,30,2.5,111.05,1.7,63.75 -3187,30,2.5,111.05,1.7,63.75 -3188,30,2.5,111.05,1.7,63.75 -3189,30,2.5,111.05,1.7,63.75 -3190,30,2.5,111.05,1.7,63.75 -3191,30,2.5,111.05,1.7,63.75 -3192,30,2.5,111.05,1.7,63.75 -3193,30,2.5,111.05,1.7,63.75 -3194,30,2.5,111.05,1.7,63.75 -3195,30,2.5,111.05,1.7,63.75 -3196,30,2.5,111.05,1.7,63.75 -3197,30,2.5,111.05,1.7,63.75 -3198,30,2.5,111.05,1.7,63.75 -3199,30,2.5,111.05,1.7,63.75 -3200,30,2.5,111.05,1.7,63.75 -3201,30,2.5,111.05,1.7,63.75 -3202,30,2.5,111.05,1.7,63.75 -3203,30,2.5,111.05,1.7,63.75 -3204,30,2.5,111.05,1.7,63.75 -3205,30,2.5,111.05,1.7,63.75 -3206,30,2.5,111.05,1.7,63.75 -3207,30,2.5,111.05,1.7,63.75 -3208,30,2.5,111.05,1.7,63.75 -3209,30,2.5,111.05,1.7,63.75 -3210,30,2.5,111.05,1.7,63.75 -3211,30,2.5,111.05,1.7,63.75 -3212,30,2.5,111.05,1.7,63.75 -3213,30,2.5,111.05,1.7,63.75 -3214,30,2.5,111.05,1.7,63.75 -3215,30,2.5,111.05,1.7,63.75 -3216,30,2.5,111.05,1.7,63.75 -3217,30,2.5,111.05,1.7,63.75 -3218,30,2.5,111.05,1.7,63.75 -3219,30,2.5,111.05,1.7,63.75 -3220,30,2.5,111.05,1.7,63.75 -3221,30,2.5,111.05,1.7,63.75 -3222,30,2.5,111.05,1.7,63.75 -3223,30,2.5,111.05,1.7,63.75 -3224,30,2.5,111.05,1.7,63.75 -3225,30,2.5,111.05,1.7,63.75 -3226,30,2.5,111.05,1.7,63.75 -3227,30,2.5,111.05,1.7,63.75 -3228,30,2.5,111.05,1.7,63.75 -3229,30,2.5,111.05,1.7,63.75 -3230,30,2.5,111.05,1.7,63.75 -3231,30,2.5,111.05,1.7,63.75 -3232,30,2.5,111.05,1.7,63.75 -3233,30,2.5,111.05,1.7,63.75 -3234,30,2.5,111.05,1.7,63.75 -3235,30,2.5,111.05,1.7,63.75 -3236,30,2.5,111.05,1.7,63.75 -3237,30,2.5,111.05,1.7,63.75 -3238,30,2.5,111.05,1.7,63.75 -3239,30,2.5,111.05,1.7,63.75 -3240,30,2.5,111.05,1.7,63.75 -3241,30,2.5,111.05,1.7,63.75 -3242,30,2.5,111.05,1.7,63.75 -3243,30,2.5,111.05,1.7,63.75 -3244,30,2.5,111.05,1.7,63.75 -3245,30,2.5,111.05,1.7,63.75 -3246,30,2.5,111.05,1.7,63.75 -3247,30,2.5,111.05,1.7,63.75 -3248,30,2.5,111.05,1.7,63.75 -3249,30,2.5,111.05,1.7,63.75 -3250,30,2.5,111.05,1.7,63.75 -3251,30,2.5,111.05,1.7,63.75 -3252,30,2.5,111.05,1.7,63.75 -3253,30,2.5,111.05,1.7,63.75 -3254,30,2.5,111.05,1.7,63.75 -3255,30,2.5,111.05,1.7,63.75 -3256,30,2.5,111.05,1.7,63.75 -3257,30,2.5,111.05,1.7,63.75 -3258,30,2.5,111.05,1.7,63.75 -3259,30,2.5,111.05,1.7,63.75 -3260,30,2.5,111.05,1.7,63.75 -3261,30,2.5,111.05,1.7,63.75 -3262,30,2.5,111.05,1.7,63.75 -3263,30,2.5,111.05,1.7,63.75 -3264,30,2.5,111.05,1.7,63.75 -3265,30,2.5,111.05,1.7,63.75 -3266,30,2.5,111.05,1.7,63.75 -3267,30,2.5,111.05,1.7,63.75 -3268,30,2.5,111.05,1.7,63.75 -3269,30,2.5,111.05,1.7,63.75 -3270,30,2.5,111.05,1.7,63.75 -3271,30,2.5,111.05,1.7,63.75 -3272,30,2.5,111.05,1.7,63.75 -3273,30,2.5,111.05,1.7,63.75 -3274,30,2.5,111.05,1.7,63.75 -3275,30,2.5,111.05,1.7,63.75 -3276,30,2.5,111.05,1.7,63.75 -3277,30,2.5,111.05,1.7,63.75 -3278,30,2.5,111.05,1.7,63.75 -3279,30,2.5,111.05,1.7,63.75 -3280,30,2.5,111.05,1.7,63.75 -3281,30,2.5,111.05,1.7,63.75 -3282,30,2.5,111.05,1.7,63.75 -3283,30,2.5,111.05,1.7,63.75 -3284,30,2.5,111.05,1.7,63.75 -3285,30,2.5,111.05,1.7,63.75 -3286,30,2.5,111.05,1.7,63.75 -3287,30,2.5,111.05,1.7,63.75 -3288,30,2.5,111.05,1.7,63.75 -3289,30,2.5,111.05,1.7,63.75 -3290,30,2.5,111.05,1.7,63.75 -3291,30,2.5,111.05,1.7,63.75 -3292,30,2.5,111.05,1.7,63.75 -3293,30,2.5,111.05,1.7,63.75 -3294,30,2.5,111.05,1.7,63.75 -3295,30,2.5,111.05,1.7,63.75 -3296,30,2.5,111.05,1.7,63.75 -3297,30,2.5,111.05,1.7,63.75 -3298,30,2.5,111.05,1.7,63.75 -3299,30,2.5,111.05,1.7,63.75 -3300,30,2.5,111.05,1.7,63.75 -3301,30,2.5,111.05,1.7,63.75 -3302,30,2.5,111.05,1.7,63.75 -3303,30,2.5,111.05,1.7,63.75 -3304,30,2.5,111.05,1.7,63.75 -3305,30,2.5,111.05,1.7,63.75 -3306,30,2.5,111.05,1.7,63.75 -3307,30,2.5,111.05,1.7,63.75 -3308,30,2.5,111.05,1.7,63.75 -3309,30,2.5,111.05,1.7,63.75 -3310,30,2.5,111.05,1.7,63.75 -3311,30,2.5,111.05,1.7,63.75 -3312,30,2.5,111.05,1.7,63.75 -3313,30,2.5,111.05,1.7,63.75 -3314,30,2.5,111.05,1.7,63.75 -3315,30,2.5,111.05,1.7,63.75 -3316,30,2.5,111.05,1.7,63.75 -3317,30,2.5,111.05,1.7,63.75 -3318,30,2.5,111.05,1.7,63.75 -3319,30,2.5,111.05,1.7,63.75 -3320,30,2.5,111.05,1.7,63.75 -3321,30,2.5,111.05,1.7,63.75 -3322,30,2.5,111.05,1.7,63.75 -3323,30,2.5,111.05,1.7,63.75 -3324,30,2.5,111.05,1.7,63.75 -3325,30,2.5,111.05,1.7,63.75 -3326,30,2.5,111.05,1.7,63.75 -3327,30,2.5,111.05,1.7,63.75 -3328,30,2.5,111.05,1.7,63.75 -3329,30,2.5,111.05,1.7,63.75 -3330,30,2.5,111.05,1.7,63.75 -3331,30,2.5,111.05,1.7,63.75 -3332,30,2.5,111.05,1.7,63.75 -3333,30,2.5,111.05,1.7,63.75 -3334,30,2.5,111.05,1.7,63.75 -3335,30,2.5,111.05,1.7,63.75 -3336,30,2.5,111.05,1.7,63.75 -3337,30,2.5,111.05,1.7,63.75 -3338,30,2.5,111.05,1.7,63.75 -3339,30,2.5,111.05,1.7,63.75 -3340,30,2.5,111.05,1.7,63.75 -3341,30,2.5,111.05,1.7,63.75 -3342,30,2.5,111.05,1.7,63.75 -3343,30,2.5,111.05,1.7,63.75 -3344,30,2.5,111.05,1.7,63.75 -3345,30,2.5,111.05,1.7,63.75 -3346,30,2.5,111.05,1.7,63.75 -3347,30,2.5,111.05,1.7,63.75 -3348,30,2.5,111.05,1.7,63.75 -3349,30,2.5,111.05,1.7,63.75 -3350,30,2.5,111.05,1.7,63.75 -3351,30,2.5,111.05,1.7,63.75 -3352,30,2.5,111.05,1.7,63.75 -3353,30,2.5,111.05,1.7,63.75 -3354,30,2.5,111.05,1.7,63.75 -3355,30,2.5,111.05,1.7,63.75 -3356,30,2.5,111.05,1.7,63.75 -3357,30,2.5,111.05,1.7,63.75 -3358,30,2.5,111.05,1.7,63.75 -3359,30,2.5,111.05,1.7,63.75 -3360,30,2.5,111.05,1.7,63.75 -3361,30,2.5,111.05,1.7,63.75 -3362,30,2.5,111.05,1.7,63.75 -3363,30,2.5,111.05,1.7,63.75 -3364,30,2.5,111.05,1.7,63.75 -3365,30,2.5,111.05,1.7,63.75 -3366,30,2.5,111.05,1.7,63.75 -3367,30,2.5,111.05,1.7,63.75 -3368,30,2.5,111.05,1.7,63.75 -3369,30,2.5,111.05,1.7,63.75 -3370,30,2.5,111.05,1.7,63.75 -3371,30,2.5,111.05,1.7,63.75 -3372,30,2.5,111.05,1.7,63.75 -3373,30,2.5,111.05,1.7,63.75 -3374,30,2.5,111.05,1.7,63.75 -3375,30,2.5,111.05,1.7,63.75 -3376,30,2.5,111.05,1.7,63.75 -3377,30,2.5,111.05,1.7,63.75 -3378,30,2.5,111.05,1.7,63.75 -3379,30,2.5,111.05,1.7,63.75 -3380,30,2.5,111.05,1.7,63.75 -3381,30,2.5,111.05,1.7,63.75 -3382,30,2.5,111.05,1.7,63.75 -3383,30,2.5,111.05,1.7,63.75 -3384,30,2.5,111.05,1.7,63.75 -3385,30,2.5,111.05,1.7,63.75 -3386,30,2.5,111.05,1.7,63.75 -3387,30,2.5,111.05,1.7,63.75 -3388,30,2.5,111.05,1.7,63.75 -3389,30,2.5,111.05,1.7,63.75 -3390,30,2.5,111.05,1.7,63.75 -3391,30,2.5,111.05,1.7,63.75 -3392,30,2.5,111.05,1.7,63.75 -3393,30,2.5,111.05,1.7,63.75 -3394,30,2.5,111.05,1.7,63.75 -3395,30,2.5,111.05,1.7,63.75 -3396,30,2.5,111.05,1.7,63.75 -3397,30,2.5,111.05,1.7,63.75 -3398,30,2.5,111.05,1.7,63.75 -3399,30,2.5,111.05,1.7,63.75 -3400,30,2.5,111.05,1.7,63.75 -3401,30,2.5,111.05,1.7,63.75 -3402,30,2.5,111.05,1.7,63.75 -3403,30,2.5,111.05,1.7,63.75 -3404,30,2.5,111.05,1.7,63.75 -3405,30,2.5,111.05,1.7,63.75 -3406,30,2.5,111.05,1.7,63.75 -3407,30,2.5,111.05,1.7,63.75 -3408,30,2.5,111.05,1.7,63.75 -3409,30,2.5,111.05,1.7,63.75 -3410,30,2.5,111.05,1.7,63.75 -3411,30,2.5,111.05,1.7,63.75 -3412,30,2.5,111.05,1.7,63.75 -3413,30,2.5,111.05,1.7,63.75 -3414,30,2.5,111.05,1.7,63.75 -3415,30,2.5,111.05,1.7,63.75 -3416,30,2.5,111.05,1.7,63.75 -3417,30,2.5,111.05,1.7,63.75 -3418,30,2.5,111.05,1.7,63.75 -3419,30,2.5,111.05,1.7,63.75 -3420,30,2.5,111.05,1.7,63.75 -3421,30,2.5,111.05,1.7,63.75 -3422,30,2.5,111.05,1.7,63.75 -3423,30,2.5,111.05,1.7,63.75 -3424,30,2.5,111.05,1.7,63.75 -3425,30,2.5,111.05,1.7,63.75 -3426,30,2.5,111.05,1.7,63.75 -3427,30,2.5,111.05,1.7,63.75 -3428,30,2.5,111.05,1.7,63.75 -3429,30,2.5,111.05,1.7,63.75 -3430,30,2.5,111.05,1.7,63.75 -3431,30,2.5,111.05,1.7,63.75 -3432,30,2.5,111.05,1.7,63.75 -3433,30,2.5,111.05,1.7,63.75 -3434,30,2.5,111.05,1.7,63.75 -3435,30,2.5,111.05,1.7,63.75 -3436,30,2.5,111.05,1.7,63.75 -3437,30,2.5,111.05,1.7,63.75 -3438,30,2.5,111.05,1.7,63.75 -3439,30,2.5,111.05,1.7,63.75 -3440,30,2.5,111.05,1.7,63.75 -3441,30,2.5,111.05,1.7,63.75 -3442,30,2.5,111.05,1.7,63.75 -3443,30,2.5,111.05,1.7,63.75 -3444,30,2.5,111.05,1.7,63.75 -3445,30,2.5,111.05,1.7,63.75 -3446,30,2.5,111.05,1.7,63.75 -3447,30,2.5,111.05,1.7,63.75 -3448,30,2.5,111.05,1.7,63.75 -3449,30,2.5,111.05,1.7,63.75 -3450,30,2.5,111.05,1.7,63.75 -3451,30,2.5,111.05,1.7,63.75 -3452,30,2.5,111.05,1.7,63.75 -3453,30,2.5,111.05,1.7,63.75 -3454,30,2.5,111.05,1.7,63.75 -3455,30,2.5,111.05,1.7,63.75 -3456,30,2.5,111.05,1.7,63.75 -3457,30,2.5,111.05,1.7,63.75 -3458,30,2.5,111.05,1.7,63.75 -3459,30,2.5,111.05,1.7,63.75 -3460,30,2.5,111.05,1.7,63.75 -3461,30,2.5,111.05,1.7,63.75 -3462,30,2.5,111.05,1.7,63.75 -3463,30,2.5,111.05,1.7,63.75 -3464,30,2.5,111.05,1.7,63.75 -3465,30,2.5,111.05,1.7,63.75 -3466,30,2.5,111.05,1.7,63.75 -3467,30,2.5,111.05,1.7,63.75 -3468,30,2.5,111.05,1.7,63.75 -3469,30,2.5,111.05,1.7,63.75 -3470,30,2.5,111.05,1.7,63.75 -3471,30,2.5,111.05,1.7,63.75 -3472,30,2.5,111.05,1.7,63.75 -3473,30,2.5,111.05,1.7,63.75 -3474,30,2.5,111.05,1.7,63.75 -3475,30,2.5,111.05,1.7,63.75 -3476,30,2.5,111.05,1.7,63.75 -3477,30,2.5,111.05,1.7,63.75 -3478,30,2.5,111.05,1.7,63.75 -3479,30,2.5,111.05,1.7,63.75 -3480,30,2.5,111.05,1.7,63.75 -3481,30,2.5,111.05,1.7,63.75 -3482,30,2.5,111.05,1.7,63.75 -3483,30,2.5,111.05,1.7,63.75 -3484,30,2.5,111.05,1.7,63.75 -3485,30,2.5,111.05,1.7,63.75 -3486,30,2.5,111.05,1.7,63.75 -3487,30,2.5,111.05,1.7,63.75 -3488,30,2.5,111.05,1.7,63.75 -3489,30,2.5,111.05,1.7,63.75 -3490,30,2.5,111.05,1.7,63.75 -3491,30,2.5,111.05,1.7,63.75 -3492,30,2.5,111.05,1.7,63.75 -3493,30,2.5,111.05,1.7,63.75 -3494,30,2.5,111.05,1.7,63.75 -3495,30,2.5,111.05,1.7,63.75 -3496,30,2.5,111.05,1.7,63.75 -3497,30,2.5,111.05,1.7,63.75 -3498,30,2.5,111.05,1.7,63.75 -3499,30,2.5,111.05,1.7,63.75 -3500,30,2.5,111.05,1.7,63.75 -3501,30,2.5,111.05,1.7,63.75 -3502,30,2.5,111.05,1.7,63.75 -3503,30,2.5,111.05,1.7,63.75 -3504,30,2.5,111.05,1.7,63.75 -3505,30,2.5,111.05,1.7,63.75 -3506,30,2.5,111.05,1.7,63.75 -3507,30,2.5,111.05,1.7,63.75 -3508,30,2.5,111.05,1.7,63.75 -3509,30,2.5,111.05,1.7,63.75 -3510,30,2.5,111.05,1.7,63.75 -3511,30,2.5,111.05,1.7,63.75 -3512,30,2.5,111.05,1.7,63.75 -3513,30,2.5,111.05,1.7,63.75 -3514,30,2.5,111.05,1.7,63.75 -3515,30,2.5,111.05,1.7,63.75 -3516,30,2.5,111.05,1.7,63.75 -3517,30,2.5,111.05,1.7,63.75 -3518,30,2.5,111.05,1.7,63.75 -3519,30,2.5,111.05,1.7,63.75 -3520,30,2.5,111.05,1.7,63.75 -3521,30,2.5,111.05,1.7,63.75 -3522,30,2.5,111.05,1.7,63.75 -3523,30,2.5,111.05,1.7,63.75 -3524,30,2.5,111.05,1.7,63.75 -3525,30,2.5,111.05,1.7,63.75 -3526,30,2.5,111.05,1.7,63.75 -3527,30,2.5,111.05,1.7,63.75 -3528,30,2.5,111.05,1.7,63.75 -3529,30,2.5,111.05,1.7,63.75 -3530,30,2.5,111.05,1.7,63.75 -3531,30,2.5,111.05,1.7,63.75 -3532,30,2.5,111.05,1.7,63.75 -3533,30,2.5,111.05,1.7,63.75 -3534,30,2.5,111.05,1.7,63.75 -3535,30,2.5,111.05,1.7,63.75 -3536,30,2.5,111.05,1.7,63.75 -3537,30,2.5,111.05,1.7,63.75 -3538,30,2.5,111.05,1.7,63.75 -3539,30,2.5,111.05,1.7,63.75 -3540,30,2.5,111.05,1.7,63.75 -3541,30,2.5,111.05,1.7,63.75 -3542,30,2.5,111.05,1.7,63.75 -3543,30,2.5,111.05,1.7,63.75 -3544,30,2.5,111.05,1.7,63.75 -3545,30,2.5,111.05,1.7,63.75 -3546,30,2.5,111.05,1.7,63.75 -3547,30,2.5,111.05,1.7,63.75 -3548,30,2.5,111.05,1.7,63.75 -3549,30,2.5,111.05,1.7,63.75 -3550,30,2.5,111.05,1.7,63.75 -3551,30,2.5,111.05,1.7,63.75 -3552,30,2.5,111.05,1.7,63.75 -3553,30,2.5,111.05,1.7,63.75 -3554,30,2.5,111.05,1.7,63.75 -3555,30,2.5,111.05,1.7,63.75 -3556,30,2.5,111.05,1.7,63.75 -3557,30,2.5,111.05,1.7,63.75 -3558,30,2.5,111.05,1.7,63.75 -3559,30,2.5,111.05,1.7,63.75 -3560,30,2.5,111.05,1.7,63.75 -3561,30,2.5,111.05,1.7,63.75 -3562,30,2.5,111.05,1.7,63.75 -3563,30,2.5,111.05,1.7,63.75 -3564,30,2.5,111.05,1.7,63.75 -3565,30,2.5,111.05,1.7,63.75 -3566,30,2.5,111.05,1.7,63.75 -3567,30,2.5,111.05,1.7,63.75 -3568,30,2.5,111.05,1.7,63.75 -3569,30,2.5,111.05,1.7,63.75 -3570,30,2.5,111.05,1.7,63.75 -3571,30,2.5,111.05,1.7,63.75 -3572,30,2.5,111.05,1.7,63.75 -3573,30,2.5,111.05,1.7,63.75 -3574,30,2.5,111.05,1.7,63.75 -3575,30,2.5,111.05,1.7,63.75 -3576,30,2.5,111.05,1.7,63.75 -3577,30,2.5,111.05,1.7,63.75 -3578,30,2.5,111.05,1.7,63.75 -3579,30,2.5,111.05,1.7,63.75 -3580,30,2.5,111.05,1.7,63.75 -3581,30,2.5,111.05,1.7,63.75 -3582,30,2.5,111.05,1.7,63.75 -3583,30,2.5,111.05,1.7,63.75 -3584,30,2.5,111.05,1.7,63.75 -3585,30,2.5,111.05,1.7,63.75 -3586,30,2.5,111.05,1.7,63.75 -3587,30,2.5,111.05,1.7,63.75 -3588,30,2.5,111.05,1.7,63.75 -3589,30,2.5,111.05,1.7,63.75 -3590,30,2.5,111.05,1.7,63.75 -3591,30,2.5,111.05,1.7,63.75 -3592,30,2.5,111.05,1.7,63.75 -3593,30,2.5,111.05,1.7,63.75 -3594,30,2.5,111.05,1.7,63.75 -3595,30,2.5,111.05,1.7,63.75 -3596,30,2.5,111.05,1.7,63.75 -3597,30,2.5,111.05,1.7,63.75 -3598,30,2.5,111.05,1.7,63.75 -3599,30,2.5,111.05,1.7,63.75 -3600,30,2.5,111.05,1.7,63.75 -3601,30,2.5,111.05,1.7,63.75 -3602,30,2.5,111.05,1.7,63.75 -3603,30,2.5,111.05,1.7,63.75 -3604,30,2.5,111.05,1.7,63.75 -3605,30,2.5,111.05,1.7,63.75 -3606,30,2.5,111.05,1.7,63.75 -3607,30,2.5,111.05,1.7,63.75 -3608,30,2.5,111.05,1.7,63.75 -3609,30,2.5,111.05,1.7,63.75 -3610,30,2.5,111.05,1.7,63.75 -3611,30,2.5,111.05,1.7,63.75 -3612,30,2.5,111.05,1.7,63.75 -3613,30,2.5,111.05,1.7,63.75 -3614,30,2.5,111.05,1.7,63.75 -3615,30,2.5,111.05,1.7,63.75 -3616,30,2.5,111.05,1.7,63.75 -3617,30,2.5,111.05,1.7,63.75 -3618,30,2.5,111.05,1.7,63.75 -3619,30,2.5,111.05,1.7,63.75 -3620,30,2.5,111.05,1.7,63.75 -3621,30,2.5,111.05,1.7,63.75 -3622,30,2.5,111.05,1.7,63.75 -3623,30,2.5,111.05,1.7,63.75 -3624,30,2.5,111.05,1.7,63.75 -3625,30,2.5,111.05,1.7,63.75 -3626,30,2.5,111.05,1.7,63.75 -3627,30,2.5,111.05,1.7,63.75 -3628,30,2.5,111.05,1.7,63.75 -3629,30,2.5,111.05,1.7,63.75 -3630,30,2.5,111.05,1.7,63.75 -3631,30,2.5,111.05,1.7,63.75 -3632,30,2.5,111.05,1.7,63.75 -3633,30,2.5,111.05,1.7,63.75 -3634,30,2.5,111.05,1.7,63.75 -3635,30,2.5,111.05,1.7,63.75 -3636,30,2.5,111.05,1.7,63.75 -3637,30,2.5,111.05,1.7,63.75 -3638,30,2.5,111.05,1.7,63.75 -3639,30,2.5,111.05,1.7,63.75 -3640,30,2.5,111.05,1.7,63.75 -3641,30,2.5,111.05,1.7,63.75 -3642,30,2.5,111.05,1.7,63.75 -3643,30,2.5,111.05,1.7,63.75 -3644,30,2.5,111.05,1.7,63.75 -3645,30,2.5,111.05,1.7,63.75 -3646,30,2.5,111.05,1.7,63.75 -3647,30,2.5,111.05,1.7,63.75 -3648,30,2.5,111.05,1.7,63.75 -3649,30,2.5,111.05,1.7,63.75 -3650,30,2.5,111.05,1.7,63.75 -3651,30,2.5,111.05,1.7,63.75 -3652,30,2.5,111.05,1.7,63.75 -3653,30,2.5,111.05,1.7,63.75 -3654,30,2.5,111.05,1.7,63.75 -3655,30,2.5,111.05,1.7,63.75 -3656,30,2.5,111.05,1.7,63.75 -3657,30,2.5,111.05,1.7,63.75 -3658,30,2.5,111.05,1.7,63.75 -3659,30,2.5,111.05,1.7,63.75 -3660,30,2.5,111.05,1.7,63.75 -3661,30,2.5,111.05,1.7,63.75 -3662,30,2.5,111.05,1.7,63.75 -3663,30,2.5,111.05,1.7,63.75 -3664,30,2.5,111.05,1.7,63.75 -3665,30,2.5,111.05,1.7,63.75 -3666,30,2.5,111.05,1.7,63.75 -3667,30,2.5,111.05,1.7,63.75 -3668,30,2.5,111.05,1.7,63.75 -3669,30,2.5,111.05,1.7,63.75 -3670,30,2.5,111.05,1.7,63.75 -3671,30,2.5,111.05,1.7,63.75 -3672,30,2.5,111.05,1.7,63.75 -3673,30,2.5,111.05,1.7,63.75 -3674,30,2.5,111.05,1.7,63.75 -3675,30,2.5,111.05,1.7,63.75 -3676,30,2.5,111.05,1.7,63.75 -3677,30,2.5,111.05,1.7,63.75 -3678,30,2.5,111.05,1.7,63.75 -3679,30,2.5,111.05,1.7,63.75 -3680,30,2.5,111.05,1.7,63.75 -3681,30,2.5,111.05,1.7,63.75 -3682,30,2.5,111.05,1.7,63.75 -3683,30,2.5,111.05,1.7,63.75 -3684,30,2.5,111.05,1.7,63.75 -3685,30,2.5,111.05,1.7,63.75 -3686,30,2.5,111.05,1.7,63.75 -3687,30,2.5,111.05,1.7,63.75 -3688,30,2.5,111.05,1.7,63.75 -3689,30,2.5,111.05,1.7,63.75 -3690,30,2.5,111.05,1.7,63.75 -3691,30,2.5,111.05,1.7,63.75 -3692,30,2.5,111.05,1.7,63.75 -3693,30,2.5,111.05,1.7,63.75 -3694,30,2.5,111.05,1.7,63.75 -3695,30,2.5,111.05,1.7,63.75 -3696,30,2.5,111.05,1.7,63.75 -3697,30,2.5,111.05,1.7,63.75 -3698,30,2.5,111.05,1.7,63.75 -3699,30,2.5,111.05,1.7,63.75 -3700,30,2.5,111.05,1.7,63.75 -3701,30,2.5,111.05,1.7,63.75 -3702,30,2.5,111.05,1.7,63.75 -3703,30,2.5,111.05,1.7,63.75 -3704,30,2.5,111.05,1.7,63.75 -3705,30,2.5,111.05,1.7,63.75 -3706,30,2.5,111.05,1.7,63.75 -3707,30,2.5,111.05,1.7,63.75 -3708,30,2.5,111.05,1.7,63.75 -3709,30,2.5,111.05,1.7,63.75 -3710,30,2.5,111.05,1.7,63.75 -3711,30,2.5,111.05,1.7,63.75 -3712,30,2.5,111.05,1.7,63.75 -3713,30,2.5,111.05,1.7,63.75 -3714,30,2.5,111.05,1.7,63.75 -3715,30,2.5,111.05,1.7,63.75 -3716,30,2.5,111.05,1.7,63.75 -3717,30,2.5,111.05,1.7,63.75 -3718,30,2.5,111.05,1.7,63.75 -3719,30,2.5,111.05,1.7,63.75 -3720,30,2.5,111.05,1.7,63.75 -3721,30,2.5,111.05,1.7,63.75 -3722,30,2.5,111.05,1.7,63.75 -3723,30,2.5,111.05,1.7,63.75 -3724,30,2.5,111.05,1.7,63.75 -3725,30,2.5,111.05,1.7,63.75 -3726,30,2.5,111.05,1.7,63.75 -3727,30,2.5,111.05,1.7,63.75 -3728,30,2.5,111.05,1.7,63.75 -3729,30,2.5,111.05,1.7,63.75 -3730,30,2.5,111.05,1.7,63.75 -3731,30,2.5,111.05,1.7,63.75 -3732,30,2.5,111.05,1.7,63.75 -3733,30,2.5,111.05,1.7,63.75 -3734,30,2.5,111.05,1.7,63.75 -3735,30,2.5,111.05,1.7,63.75 -3736,30,2.5,111.05,1.7,63.75 -3737,30,2.5,111.05,1.7,63.75 -3738,30,2.5,111.05,1.7,63.75 -3739,30,2.5,111.05,1.7,63.75 -3740,30,2.5,111.05,1.7,63.75 -3741,30,2.5,111.05,1.7,63.75 -3742,30,2.5,111.05,1.7,63.75 -3743,30,2.5,111.05,1.7,63.75 -3744,30,2.5,111.05,1.7,63.75 -3745,30,2.5,111.05,1.7,63.75 -3746,30,2.5,111.05,1.7,63.75 -3747,30,2.5,111.05,1.7,63.75 -3748,30,2.5,111.05,1.7,63.75 -3749,30,2.5,111.05,1.7,63.75 -3750,30,2.5,111.05,1.7,63.75 -3751,30,2.5,111.05,1.7,63.75 -3752,30,2.5,111.05,1.7,63.75 -3753,30,2.5,111.05,1.7,63.75 -3754,30,2.5,111.05,1.7,63.75 -3755,30,2.5,111.05,1.7,63.75 -3756,30,2.5,111.05,1.7,63.75 -3757,30,2.5,111.05,1.7,63.75 -3758,30,2.5,111.05,1.7,63.75 -3759,30,2.5,111.05,1.7,63.75 -3760,30,2.5,111.05,1.7,63.75 -3761,30,2.5,111.05,1.7,63.75 -3762,30,2.5,111.05,1.7,63.75 -3763,30,2.5,111.05,1.7,63.75 -3764,30,2.5,111.05,1.7,63.75 -3765,30,2.5,111.05,1.7,63.75 -3766,30,2.5,111.05,1.7,63.75 -3767,30,2.5,111.05,1.7,63.75 -3768,30,2.5,111.05,1.7,63.75 -3769,30,2.5,111.05,1.7,63.75 -3770,30,2.5,111.05,1.7,63.75 -3771,30,2.5,111.05,1.7,63.75 -3772,30,2.5,111.05,1.7,63.75 -3773,30,2.5,111.05,1.7,63.75 -3774,30,2.5,111.05,1.7,63.75 -3775,30,2.5,111.05,1.7,63.75 -3776,30,2.5,111.05,1.7,63.75 -3777,30,2.5,111.05,1.7,63.75 -3778,30,2.5,111.05,1.7,63.75 -3779,30,2.5,111.05,1.7,63.75 -3780,30,2.5,111.05,1.7,63.75 -3781,30,2.5,111.05,1.7,63.75 -3782,30,2.5,111.05,1.7,63.75 -3783,30,2.5,111.05,1.7,63.75 -3784,30,2.5,111.05,1.7,63.75 -3785,30,2.5,111.05,1.7,63.75 -3786,30,2.5,111.05,1.7,63.75 -3787,30,2.5,111.05,1.7,63.75 -3788,30,2.5,111.05,1.7,63.75 -3789,30,2.5,111.05,1.7,63.75 -3790,30,2.5,111.05,1.7,63.75 -3791,30,2.5,111.05,1.7,63.75 -3792,30,2.5,111.05,1.7,63.75 -3793,30,2.5,111.05,1.7,63.75 -3794,30,2.5,111.05,1.7,63.75 -3795,30,2.5,111.05,1.7,63.75 -3796,30,2.5,111.05,1.7,63.75 -3797,30,2.5,111.05,1.7,63.75 -3798,30,2.5,111.05,1.7,63.75 -3799,30,2.5,111.05,1.7,63.75 -3800,30,2.5,111.05,1.7,63.75 -3801,30,2.5,111.05,1.7,63.75 -3802,30,2.5,111.05,1.7,63.75 -3803,30,2.5,111.05,1.7,63.75 -3804,30,2.5,111.05,1.7,63.75 -3805,30,2.5,111.05,1.7,63.75 -3806,30,2.5,111.05,1.7,63.75 -3807,30,2.5,111.05,1.7,63.75 -3808,30,2.5,111.05,1.7,63.75 -3809,30,2.5,111.05,1.7,63.75 -3810,30,2.5,111.05,1.7,63.75 -3811,30,2.5,111.05,1.7,63.75 -3812,30,2.5,111.05,1.7,63.75 -3813,30,2.5,111.05,1.7,63.75 -3814,30,2.5,111.05,1.7,63.75 -3815,30,2.5,111.05,1.7,63.75 -3816,30,2.5,111.05,1.7,63.75 -3817,30,2.5,111.05,1.7,63.75 -3818,30,2.5,111.05,1.7,63.75 -3819,30,2.5,111.05,1.7,63.75 -3820,30,2.5,111.05,1.7,63.75 -3821,30,2.5,111.05,1.7,63.75 -3822,30,2.5,111.05,1.7,63.75 -3823,30,2.5,111.05,1.7,63.75 -3824,30,2.5,111.05,1.7,63.75 -3825,30,2.5,111.05,1.7,63.75 -3826,30,2.5,111.05,1.7,63.75 -3827,30,2.5,111.05,1.7,63.75 -3828,30,2.5,111.05,1.7,63.75 -3829,30,2.5,111.05,1.7,63.75 -3830,30,2.5,111.05,1.7,63.75 -3831,30,2.5,111.05,1.7,63.75 -3832,30,2.5,111.05,1.7,63.75 -3833,30,2.5,111.05,1.7,63.75 -3834,30,2.5,111.05,1.7,63.75 -3835,30,2.5,111.05,1.7,63.75 -3836,30,2.5,111.05,1.7,63.75 -3837,30,2.5,111.05,1.7,63.75 -3838,30,2.5,111.05,1.7,63.75 -3839,30,2.5,111.05,1.7,63.75 -3840,30,2.5,111.05,1.7,63.75 -3841,30,2.5,111.05,1.7,63.75 -3842,30,2.5,111.05,1.7,63.75 -3843,30,2.5,111.05,1.7,63.75 -3844,30,2.5,111.05,1.7,63.75 -3845,30,2.5,111.05,1.7,63.75 -3846,30,2.5,111.05,1.7,63.75 -3847,30,2.5,111.05,1.7,63.75 -3848,30,2.5,111.05,1.7,63.75 -3849,30,2.5,111.05,1.7,63.75 -3850,30,2.5,111.05,1.7,63.75 -3851,30,2.5,111.05,1.7,63.75 -3852,30,2.5,111.05,1.7,63.75 -3853,30,2.5,111.05,1.7,63.75 -3854,30,2.5,111.05,1.7,63.75 -3855,30,2.5,111.05,1.7,63.75 -3856,30,2.5,111.05,1.7,63.75 -3857,30,2.5,111.05,1.7,63.75 -3858,30,2.5,111.05,1.7,63.75 -3859,30,2.5,111.05,1.7,63.75 -3860,30,2.5,111.05,1.7,63.75 -3861,30,2.5,111.05,1.7,63.75 -3862,30,2.5,111.05,1.7,63.75 -3863,30,2.5,111.05,1.7,63.75 -3864,30,2.5,111.05,1.7,63.75 -3865,30,2.5,111.05,1.7,63.75 -3866,30,2.5,111.05,1.7,63.75 -3867,30,2.5,111.05,1.7,63.75 -3868,30,2.5,111.05,1.7,63.75 -3869,30,2.5,111.05,1.7,63.75 -3870,30,2.5,111.05,1.7,63.75 -3871,30,2.5,111.05,1.7,63.75 -3872,30,2.5,111.05,1.7,63.75 -3873,30,2.5,111.05,1.7,63.75 -3874,30,2.5,111.05,1.7,63.75 -3875,30,2.5,111.05,1.7,63.75 -3876,30,2.5,111.05,1.7,63.75 -3877,30,2.5,111.05,1.7,63.75 -3878,30,2.5,111.05,1.7,63.75 -3879,30,2.5,111.05,1.7,63.75 -3880,30,2.5,111.05,1.7,63.75 -3881,30,2.5,111.05,1.7,63.75 -3882,30,2.5,111.05,1.7,63.75 -3883,30,2.5,111.05,1.7,63.75 -3884,30,2.5,111.05,1.7,63.75 -3885,30,2.5,111.05,1.7,63.75 -3886,30,2.5,111.05,1.7,63.75 -3887,30,2.5,111.05,1.7,63.75 -3888,30,2.5,111.05,1.7,63.75 -3889,30,2.5,111.05,1.7,63.75 -3890,30,2.5,111.05,1.7,63.75 -3891,30,2.5,111.05,1.7,63.75 -3892,30,2.5,111.05,1.7,63.75 -3893,30,2.5,111.05,1.7,63.75 -3894,30,2.5,111.05,1.7,63.75 -3895,30,2.5,111.05,1.7,63.75 -3896,30,2.5,111.05,1.7,63.75 -3897,30,2.5,111.05,1.7,63.75 -3898,30,2.5,111.05,1.7,63.75 -3899,30,2.5,111.05,1.7,63.75 -3900,30,2.5,111.05,1.7,63.75 -3901,30,2.5,111.05,1.7,63.75 -3902,30,2.5,111.05,1.7,63.75 -3903,30,2.5,111.05,1.7,63.75 -3904,30,2.5,111.05,1.7,63.75 -3905,30,2.5,111.05,1.7,63.75 -3906,30,2.5,111.05,1.7,63.75 -3907,30,2.5,111.05,1.7,63.75 -3908,30,2.5,111.05,1.7,63.75 -3909,30,2.5,111.05,1.7,63.75 -3910,30,2.5,111.05,1.7,63.75 -3911,30,2.5,111.05,1.7,63.75 -3912,30,2.5,111.05,1.7,63.75 -3913,30,2.5,111.05,1.7,63.75 -3914,30,2.5,111.05,1.7,63.75 -3915,30,2.5,111.05,1.7,63.75 -3916,30,2.5,111.05,1.7,63.75 -3917,30,2.5,111.05,1.7,63.75 -3918,30,2.5,111.05,1.7,63.75 -3919,30,2.5,111.05,1.7,63.75 -3920,30,2.5,111.05,1.7,63.75 -3921,30,2.5,111.05,1.7,63.75 -3922,30,2.5,111.05,1.7,63.75 -3923,30,2.5,111.05,1.7,63.75 -3924,30,2.5,111.05,1.7,63.75 -3925,30,2.5,111.05,1.7,63.75 -3926,30,2.5,111.05,1.7,63.75 -3927,30,2.5,111.05,1.7,63.75 -3928,30,2.5,111.05,1.7,63.75 -3929,30,2.5,111.05,1.7,63.75 -3930,30,2.5,111.05,1.7,63.75 -3931,30,2.5,111.05,1.7,63.75 -3932,30,2.5,111.05,1.7,63.75 -3933,30,2.5,111.05,1.7,63.75 -3934,30,2.5,111.05,1.7,63.75 -3935,30,2.5,111.05,1.7,63.75 -3936,30,2.5,111.05,1.7,63.75 -3937,30,2.5,111.05,1.7,63.75 -3938,30,2.5,111.05,1.7,63.75 -3939,30,2.5,111.05,1.7,63.75 -3940,30,2.5,111.05,1.7,63.75 -3941,30,2.5,111.05,1.7,63.75 -3942,30,2.5,111.05,1.7,63.75 -3943,30,2.5,111.05,1.7,63.75 -3944,30,2.5,111.05,1.7,63.75 -3945,30,2.5,111.05,1.7,63.75 -3946,30,2.5,111.05,1.7,63.75 -3947,30,2.5,111.05,1.7,63.75 -3948,30,2.5,111.05,1.7,63.75 -3949,30,2.5,111.05,1.7,63.75 -3950,30,2.5,111.05,1.7,63.75 -3951,30,2.5,111.05,1.7,63.75 -3952,30,2.5,111.05,1.7,63.75 -3953,30,2.5,111.05,1.7,63.75 -3954,30,2.5,111.05,1.7,63.75 -3955,30,2.5,111.05,1.7,63.75 -3956,30,2.5,111.05,1.7,63.75 -3957,30,2.5,111.05,1.7,63.75 -3958,30,2.5,111.05,1.7,63.75 -3959,30,2.5,111.05,1.7,63.75 -3960,30,2.5,111.05,1.7,63.75 -3961,30,2.5,111.05,1.7,63.75 -3962,30,2.5,111.05,1.7,63.75 -3963,30,2.5,111.05,1.7,63.75 -3964,30,2.5,111.05,1.7,63.75 -3965,30,2.5,111.05,1.7,63.75 -3966,30,2.5,111.05,1.7,63.75 -3967,30,2.5,111.05,1.7,63.75 -3968,30,2.5,111.05,1.7,63.75 -3969,30,2.5,111.05,1.7,63.75 -3970,30,2.5,111.05,1.7,63.75 -3971,30,2.5,111.05,1.7,63.75 -3972,30,2.5,111.05,1.7,63.75 -3973,30,2.5,111.05,1.7,63.75 -3974,30,2.5,111.05,1.7,63.75 -3975,30,2.5,111.05,1.7,63.75 -3976,30,2.5,111.05,1.7,63.75 -3977,30,2.5,111.05,1.7,63.75 -3978,30,2.5,111.05,1.7,63.75 -3979,30,2.5,111.05,1.7,63.75 -3980,30,2.5,111.05,1.7,63.75 -3981,30,2.5,111.05,1.7,63.75 -3982,30,2.5,111.05,1.7,63.75 -3983,30,2.5,111.05,1.7,63.75 -3984,30,2.5,111.05,1.7,63.75 -3985,30,2.5,111.05,1.7,63.75 -3986,30,2.5,111.05,1.7,63.75 -3987,30,2.5,111.05,1.7,63.75 -3988,30,2.5,111.05,1.7,63.75 -3989,30,2.5,111.05,1.7,63.75 -3990,30,2.5,111.05,1.7,63.75 -3991,30,2.5,111.05,1.7,63.75 -3992,30,2.5,111.05,1.7,63.75 -3993,30,2.5,111.05,1.7,63.75 -3994,30,2.5,111.05,1.7,63.75 -3995,30,2.5,111.05,1.7,63.75 -3996,30,2.5,111.05,1.7,63.75 -3997,30,2.5,111.05,1.7,63.75 -3998,30,2.5,111.05,1.7,63.75 -3999,30,2.5,111.05,1.7,63.75 -4000,30,2.5,111.05,1.7,63.75 -4001,30,2.5,111.05,1.7,63.75 -4002,30,2.5,111.05,1.7,63.75 -4003,30,2.5,111.05,1.7,63.75 -4004,30,2.5,111.05,1.7,63.75 -4005,30,2.5,111.05,1.7,63.75 -4006,30,2.5,111.05,1.7,63.75 -4007,30,2.5,111.05,1.7,63.75 -4008,30,2.5,111.05,1.7,63.75 -4009,30,2.5,111.05,1.7,63.75 -4010,30,2.5,111.05,1.7,63.75 -4011,30,2.5,111.05,1.7,63.75 -4012,30,2.5,111.05,1.7,63.75 -4013,30,2.5,111.05,1.7,63.75 -4014,30,2.5,111.05,1.7,63.75 -4015,30,2.5,111.05,1.7,63.75 -4016,30,2.5,111.05,1.7,63.75 -4017,30,2.5,111.05,1.7,63.75 -4018,30,2.5,111.05,1.7,63.75 -4019,30,2.5,111.05,1.7,63.75 -4020,30,2.5,111.05,1.7,63.75 -4021,30,2.5,111.05,1.7,63.75 -4022,30,2.5,111.05,1.7,63.75 -4023,30,2.5,111.05,1.7,63.75 -4024,30,2.5,111.05,1.7,63.75 -4025,30,2.5,111.05,1.7,63.75 -4026,30,2.5,111.05,1.7,63.75 -4027,30,2.5,111.05,1.7,63.75 -4028,30,2.5,111.05,1.7,63.75 -4029,30,2.5,111.05,1.7,63.75 -4030,30,2.5,111.05,1.7,63.75 -4031,30,2.5,111.05,1.7,63.75 -4032,30,2.5,111.05,1.7,63.75 -4033,30,2.5,111.05,1.7,63.75 -4034,30,2.5,111.05,1.7,63.75 -4035,30,2.5,111.05,1.7,63.75 -4036,30,2.5,111.05,1.7,63.75 -4037,30,2.5,111.05,1.7,63.75 -4038,30,2.5,111.05,1.7,63.75 -4039,30,2.5,111.05,1.7,63.75 -4040,30,2.5,111.05,1.7,63.75 -4041,30,2.5,111.05,1.7,63.75 -4042,30,2.5,111.05,1.7,63.75 -4043,30,2.5,111.05,1.7,63.75 -4044,30,2.5,111.05,1.7,63.75 -4045,30,2.5,111.05,1.7,63.75 -4046,30,2.5,111.05,1.7,63.75 -4047,30,2.5,111.05,1.7,63.75 -4048,30,2.5,111.05,1.7,63.75 -4049,30,2.5,111.05,1.7,63.75 -4050,30,2.5,111.05,1.7,63.75 -4051,30,2.5,111.05,1.7,63.75 -4052,30,2.5,111.05,1.7,63.75 -4053,30,2.5,111.05,1.7,63.75 -4054,30,2.5,111.05,1.7,63.75 -4055,30,2.5,111.05,1.7,63.75 -4056,30,2.5,111.05,1.7,63.75 -4057,30,2.5,111.05,1.7,63.75 -4058,30,2.5,111.05,1.7,63.75 -4059,30,2.5,111.05,1.7,63.75 -4060,30,2.5,111.05,1.7,63.75 -4061,30,2.5,111.05,1.7,63.75 -4062,30,2.5,111.05,1.7,63.75 -4063,30,2.5,111.05,1.7,63.75 -4064,30,2.5,111.05,1.7,63.75 -4065,30,2.5,111.05,1.7,63.75 -4066,30,2.5,111.05,1.7,63.75 -4067,30,2.5,111.05,1.7,63.75 -4068,30,2.5,111.05,1.7,63.75 -4069,30,2.5,111.05,1.7,63.75 -4070,30,2.5,111.05,1.7,63.75 -4071,30,2.5,111.05,1.7,63.75 -4072,30,2.5,111.05,1.7,63.75 -4073,30,2.5,111.05,1.7,63.75 -4074,30,2.5,111.05,1.7,63.75 -4075,30,2.5,111.05,1.7,63.75 -4076,30,2.5,111.05,1.7,63.75 -4077,30,2.5,111.05,1.7,63.75 -4078,30,2.5,111.05,1.7,63.75 -4079,30,2.5,111.05,1.7,63.75 -4080,30,2.5,111.05,1.7,63.75 -4081,30,2.5,111.05,1.7,63.75 -4082,30,2.5,111.05,1.7,63.75 -4083,30,2.5,111.05,1.7,63.75 -4084,30,2.5,111.05,1.7,63.75 -4085,30,2.5,111.05,1.7,63.75 -4086,30,2.5,111.05,1.7,63.75 -4087,30,2.5,111.05,1.7,63.75 -4088,30,2.5,111.05,1.7,63.75 -4089,30,2.5,111.05,1.7,63.75 -4090,30,2.5,111.05,1.7,63.75 -4091,30,2.5,111.05,1.7,63.75 -4092,30,2.5,111.05,1.7,63.75 -4093,30,2.5,111.05,1.7,63.75 -4094,30,2.5,111.05,1.7,63.75 -4095,30,2.5,111.05,1.7,63.75 -4096,30,2.5,111.05,1.7,63.75 -4097,30,2.5,111.05,1.7,63.75 -4098,30,2.5,111.05,1.7,63.75 -4099,30,2.5,111.05,1.7,63.75 -4100,30,2.5,111.05,1.7,63.75 -4101,30,2.5,111.05,1.7,63.75 -4102,30,2.5,111.05,1.7,63.75 -4103,30,2.5,111.05,1.7,63.75 -4104,30,2.5,111.05,1.7,63.75 -4105,30,2.5,111.05,1.7,63.75 -4106,30,2.5,111.05,1.7,63.75 -4107,30,2.5,111.05,1.7,63.75 -4108,30,2.5,111.05,1.7,63.75 -4109,30,2.5,111.05,1.7,63.75 -4110,30,2.5,111.05,1.7,63.75 -4111,30,2.5,111.05,1.7,63.75 -4112,30,2.5,111.05,1.7,63.75 -4113,30,2.5,111.05,1.7,63.75 -4114,30,2.5,111.05,1.7,63.75 -4115,30,2.5,111.05,1.7,63.75 -4116,30,2.5,111.05,1.7,63.75 -4117,30,2.5,111.05,1.7,63.75 -4118,30,2.5,111.05,1.7,63.75 -4119,30,2.5,111.05,1.7,63.75 -4120,30,2.5,111.05,1.7,63.75 -4121,30,2.5,111.05,1.7,63.75 -4122,30,2.5,111.05,1.7,63.75 -4123,30,2.5,111.05,1.7,63.75 -4124,30,2.5,111.05,1.7,63.75 -4125,30,2.5,111.05,1.7,63.75 -4126,30,2.5,111.05,1.7,63.75 -4127,30,2.5,111.05,1.7,63.75 -4128,30,2.5,111.05,1.7,63.75 -4129,30,2.5,111.05,1.7,63.75 -4130,30,2.5,111.05,1.7,63.75 -4131,30,2.5,111.05,1.7,63.75 -4132,30,2.5,111.05,1.7,63.75 -4133,30,2.5,111.05,1.7,63.75 -4134,30,2.5,111.05,1.7,63.75 -4135,30,2.5,111.05,1.7,63.75 -4136,30,2.5,111.05,1.7,63.75 -4137,30,2.5,111.05,1.7,63.75 -4138,30,2.5,111.05,1.7,63.75 -4139,30,2.5,111.05,1.7,63.75 -4140,30,2.5,111.05,1.7,63.75 -4141,30,2.5,111.05,1.7,63.75 -4142,30,2.5,111.05,1.7,63.75 -4143,30,2.5,111.05,1.7,63.75 -4144,30,2.5,111.05,1.7,63.75 -4145,30,2.5,111.05,1.7,63.75 -4146,30,2.5,111.05,1.7,63.75 -4147,30,2.5,111.05,1.7,63.75 -4148,30,2.5,111.05,1.7,63.75 -4149,30,2.5,111.05,1.7,63.75 -4150,30,2.5,111.05,1.7,63.75 -4151,30,2.5,111.05,1.7,63.75 -4152,30,2.5,111.05,1.7,63.75 -4153,30,2.5,111.05,1.7,63.75 -4154,30,2.5,111.05,1.7,63.75 -4155,30,2.5,111.05,1.7,63.75 -4156,30,2.5,111.05,1.7,63.75 -4157,30,2.5,111.05,1.7,63.75 -4158,30,2.5,111.05,1.7,63.75 -4159,30,2.5,111.05,1.7,63.75 -4160,30,2.5,111.05,1.7,63.75 -4161,30,2.5,111.05,1.7,63.75 -4162,30,2.5,111.05,1.7,63.75 -4163,30,2.5,111.05,1.7,63.75 -4164,30,2.5,111.05,1.7,63.75 -4165,30,2.5,111.05,1.7,63.75 -4166,30,2.5,111.05,1.7,63.75 -4167,30,2.5,111.05,1.7,63.75 -4168,30,2.5,111.05,1.7,63.75 -4169,30,2.5,111.05,1.7,63.75 -4170,30,2.5,111.05,1.7,63.75 -4171,30,2.5,111.05,1.7,63.75 -4172,30,2.5,111.05,1.7,63.75 -4173,30,2.5,111.05,1.7,63.75 -4174,30,2.5,111.05,1.7,63.75 -4175,30,2.5,111.05,1.7,63.75 -4176,30,2.5,111.05,1.7,63.75 -4177,30,2.5,111.05,1.7,63.75 -4178,30,2.5,111.05,1.7,63.75 -4179,30,2.5,111.05,1.7,63.75 -4180,30,2.5,111.05,1.7,63.75 -4181,30,2.5,111.05,1.7,63.75 -4182,30,2.5,111.05,1.7,63.75 -4183,30,2.5,111.05,1.7,63.75 -4184,30,2.5,111.05,1.7,63.75 -4185,30,2.5,111.05,1.7,63.75 -4186,30,2.5,111.05,1.7,63.75 -4187,30,2.5,111.05,1.7,63.75 -4188,30,2.5,111.05,1.7,63.75 -4189,30,2.5,111.05,1.7,63.75 -4190,30,2.5,111.05,1.7,63.75 -4191,30,2.5,111.05,1.7,63.75 -4192,30,2.5,111.05,1.7,63.75 -4193,30,2.5,111.05,1.7,63.75 -4194,30,2.5,111.05,1.7,63.75 -4195,30,2.5,111.05,1.7,63.75 -4196,30,2.5,111.05,1.7,63.75 -4197,30,2.5,111.05,1.7,63.75 -4198,30,2.5,111.05,1.7,63.75 -4199,30,2.5,111.05,1.7,63.75 -4200,30,2.5,111.05,1.7,63.75 -4201,30,2.5,111.05,1.7,63.75 -4202,30,2.5,111.05,1.7,63.75 -4203,30,2.5,111.05,1.7,63.75 -4204,30,2.5,111.05,1.7,63.75 -4205,30,2.5,111.05,1.7,63.75 -4206,30,2.5,111.05,1.7,63.75 -4207,30,2.5,111.05,1.7,63.75 -4208,30,2.5,111.05,1.7,63.75 -4209,30,2.5,111.05,1.7,63.75 -4210,30,2.5,111.05,1.7,63.75 -4211,30,2.5,111.05,1.7,63.75 -4212,30,2.5,111.05,1.7,63.75 -4213,30,2.5,111.05,1.7,63.75 -4214,30,2.5,111.05,1.7,63.75 -4215,30,2.5,111.05,1.7,63.75 -4216,30,2.5,111.05,1.7,63.75 -4217,30,2.5,111.05,1.7,63.75 -4218,30,2.5,111.05,1.7,63.75 -4219,30,2.5,111.05,1.7,63.75 -4220,30,2.5,111.05,1.7,63.75 -4221,30,2.5,111.05,1.7,63.75 -4222,30,2.5,111.05,1.7,63.75 -4223,30,2.5,111.05,1.7,63.75 -4224,30,2.5,111.05,1.7,63.75 -4225,30,2.5,111.05,1.7,63.75 -4226,30,2.5,111.05,1.7,63.75 -4227,30,2.5,111.05,1.7,63.75 -4228,30,2.5,111.05,1.7,63.75 -4229,30,2.5,111.05,1.7,63.75 -4230,30,2.5,111.05,1.7,63.75 -4231,30,2.5,111.05,1.7,63.75 -4232,30,2.5,111.05,1.7,63.75 -4233,30,2.5,111.05,1.7,63.75 -4234,30,2.5,111.05,1.7,63.75 -4235,30,2.5,111.05,1.7,63.75 -4236,30,2.5,111.05,1.7,63.75 -4237,30,2.5,111.05,1.7,63.75 -4238,30,2.5,111.05,1.7,63.75 -4239,30,2.5,111.05,1.7,63.75 -4240,30,2.5,111.05,1.7,63.75 -4241,30,2.5,111.05,1.7,63.75 -4242,30,2.5,111.05,1.7,63.75 -4243,30,2.5,111.05,1.7,63.75 -4244,30,2.5,111.05,1.7,63.75 -4245,30,2.5,111.05,1.7,63.75 -4246,30,2.5,111.05,1.7,63.75 -4247,30,2.5,111.05,1.7,63.75 -4248,30,2.5,111.05,1.7,63.75 -4249,30,2.5,111.05,1.7,63.75 -4250,30,2.5,111.05,1.7,63.75 -4251,30,2.5,111.05,1.7,63.75 -4252,30,2.5,111.05,1.7,63.75 -4253,30,2.5,111.05,1.7,63.75 -4254,30,2.5,111.05,1.7,63.75 -4255,30,2.5,111.05,1.7,63.75 -4256,30,2.5,111.05,1.7,63.75 -4257,30,2.5,111.05,1.7,63.75 -4258,30,2.5,111.05,1.7,63.75 -4259,30,2.5,111.05,1.7,63.75 -4260,30,2.5,111.05,1.7,63.75 -4261,30,2.5,111.05,1.7,63.75 -4262,30,2.5,111.05,1.7,63.75 -4263,30,2.5,111.05,1.7,63.75 -4264,30,2.5,111.05,1.7,63.75 -4265,30,2.5,111.05,1.7,63.75 -4266,30,2.5,111.05,1.7,63.75 -4267,30,2.5,111.05,1.7,63.75 -4268,30,2.5,111.05,1.7,63.75 -4269,30,2.5,111.05,1.7,63.75 -4270,30,2.5,111.05,1.7,63.75 -4271,30,2.5,111.05,1.7,63.75 -4272,30,2.5,111.05,1.7,63.75 -4273,30,2.5,111.05,1.7,63.75 -4274,30,2.5,111.05,1.7,63.75 -4275,30,2.5,111.05,1.7,63.75 -4276,30,2.5,111.05,1.7,63.75 -4277,30,2.5,111.05,1.7,63.75 -4278,30,2.5,111.05,1.7,63.75 -4279,30,2.5,111.05,1.7,63.75 -4280,30,2.5,111.05,1.7,63.75 -4281,30,2.5,111.05,1.7,63.75 -4282,30,2.5,111.05,1.7,63.75 -4283,30,2.5,111.05,1.7,63.75 -4284,30,2.5,111.05,1.7,63.75 -4285,30,2.5,111.05,1.7,63.75 -4286,30,2.5,111.05,1.7,63.75 -4287,30,2.5,111.05,1.7,63.75 -4288,30,2.5,111.05,1.7,63.75 -4289,30,2.5,111.05,1.7,63.75 -4290,30,2.5,111.05,1.7,63.75 -4291,30,2.5,111.05,1.7,63.75 -4292,30,2.5,111.05,1.7,63.75 -4293,30,2.5,111.05,1.7,63.75 -4294,30,2.5,111.05,1.7,63.75 -4295,30,2.5,111.05,1.7,63.75 -4296,30,2.5,111.05,1.7,63.75 -4297,30,2.5,111.05,1.7,63.75 -4298,30,2.5,111.05,1.7,63.75 -4299,30,2.5,111.05,1.7,63.75 -4300,30,2.5,111.05,1.7,63.75 -4301,30,2.5,111.05,1.7,63.75 -4302,30,2.5,111.05,1.7,63.75 -4303,30,2.5,111.05,1.7,63.75 -4304,30,2.5,111.05,1.7,63.75 -4305,30,2.5,111.05,1.7,63.75 -4306,30,2.5,111.05,1.7,63.75 -4307,30,2.5,111.05,1.7,63.75 -4308,30,2.5,111.05,1.7,63.75 -4309,30,2.5,111.05,1.7,63.75 -4310,30,2.5,111.05,1.7,63.75 -4311,30,2.5,111.05,1.7,63.75 -4312,30,2.5,111.05,1.7,63.75 -4313,30,2.5,111.05,1.7,63.75 -4314,30,2.5,111.05,1.7,63.75 -4315,30,2.5,111.05,1.7,63.75 -4316,30,2.5,111.05,1.7,63.75 -4317,30,2.5,111.05,1.7,63.75 -4318,30,2.5,111.05,1.7,63.75 -4319,30,2.5,111.05,1.7,63.75 -4320,30,2.5,111.05,1.7,63.75 -4321,30,2.5,111.05,1.7,63.75 -4322,30,2.5,111.05,1.7,63.75 -4323,30,2.5,111.05,1.7,63.75 -4324,30,2.5,111.05,1.7,63.75 -4325,30,2.5,111.05,1.7,63.75 -4326,30,2.5,111.05,1.7,63.75 -4327,30,2.5,111.05,1.7,63.75 -4328,30,2.5,111.05,1.7,63.75 -4329,30,2.5,111.05,1.7,63.75 -4330,30,2.5,111.05,1.7,63.75 -4331,30,2.5,111.05,1.7,63.75 -4332,30,2.5,111.05,1.7,63.75 -4333,30,2.5,111.05,1.7,63.75 -4334,30,2.5,111.05,1.7,63.75 -4335,30,2.5,111.05,1.7,63.75 -4336,30,2.5,111.05,1.7,63.75 -4337,30,2.5,111.05,1.7,63.75 -4338,30,2.5,111.05,1.7,63.75 -4339,30,2.5,111.05,1.7,63.75 -4340,30,2.5,111.05,1.7,63.75 -4341,30,2.5,111.05,1.7,63.75 -4342,30,2.5,111.05,1.7,63.75 -4343,30,2.5,111.05,1.7,63.75 -4344,30,2.5,111.05,1.7,63.75 -4345,30,2.5,111.05,1.7,63.75 -4346,30,2.5,111.05,1.7,63.75 -4347,30,2.5,111.05,1.7,63.75 -4348,30,2.5,111.05,1.7,63.75 -4349,30,2.5,111.05,1.7,63.75 -4350,30,2.5,111.05,1.7,63.75 -4351,30,2.5,111.05,1.7,63.75 -4352,30,2.5,111.05,1.7,63.75 -4353,30,2.5,111.05,1.7,63.75 -4354,30,2.5,111.05,1.7,63.75 -4355,30,2.5,111.05,1.7,63.75 -4356,30,2.5,111.05,1.7,63.75 -4357,30,2.5,111.05,1.7,63.75 -4358,30,2.5,111.05,1.7,63.75 -4359,30,2.5,111.05,1.7,63.75 -4360,30,2.5,111.05,1.7,63.75 -4361,30,2.5,111.05,1.7,63.75 -4362,30,2.5,111.05,1.7,63.75 -4363,30,2.5,111.05,1.7,63.75 -4364,30,2.5,111.05,1.7,63.75 -4365,30,2.5,111.05,1.7,63.75 -4366,30,2.5,111.05,1.7,63.75 -4367,30,2.5,111.05,1.7,63.75 -4368,30,2.5,111.05,1.7,63.75 -4369,30,2.5,111.05,1.7,63.75 -4370,30,2.5,111.05,1.7,63.75 -4371,30,2.5,111.05,1.7,63.75 -4372,30,2.5,111.05,1.7,63.75 -4373,30,2.5,111.05,1.7,63.75 -4374,30,2.5,111.05,1.7,63.75 -4375,30,2.5,111.05,1.7,63.75 -4376,30,2.5,111.05,1.7,63.75 -4377,30,2.5,111.05,1.7,63.75 -4378,30,2.5,111.05,1.7,63.75 -4379,30,2.5,111.05,1.7,63.75 -4380,30,2.5,111.05,1.7,63.75 -4381,30,2.5,111.05,1.7,63.75 -4382,30,2.5,111.05,1.7,63.75 -4383,30,2.5,111.05,1.7,63.75 -4384,30,2.5,111.05,1.7,63.75 -4385,30,2.5,111.05,1.7,63.75 -4386,30,2.5,111.05,1.7,63.75 -4387,30,2.5,111.05,1.7,63.75 -4388,30,2.5,111.05,1.7,63.75 -4389,30,2.5,111.05,1.7,63.75 -4390,30,2.5,111.05,1.7,63.75 -4391,30,2.5,111.05,1.7,63.75 -4392,30,2.5,111.05,1.7,63.75 -4393,30,2.5,111.05,1.7,63.75 -4394,30,2.5,111.05,1.7,63.75 -4395,30,2.5,111.05,1.7,63.75 -4396,30,2.5,111.05,1.7,63.75 -4397,30,2.5,111.05,1.7,63.75 -4398,30,2.5,111.05,1.7,63.75 -4399,30,2.5,111.05,1.7,63.75 -4400,30,2.5,111.05,1.7,63.75 -4401,30,2.5,111.05,1.7,63.75 -4402,30,2.5,111.05,1.7,63.75 -4403,30,2.5,111.05,1.7,63.75 -4404,30,2.5,111.05,1.7,63.75 -4405,30,2.5,111.05,1.7,63.75 -4406,30,2.5,111.05,1.7,63.75 -4407,30,2.5,111.05,1.7,63.75 -4408,30,2.5,111.05,1.7,63.75 -4409,30,2.5,111.05,1.7,63.75 -4410,30,2.5,111.05,1.7,63.75 -4411,30,2.5,111.05,1.7,63.75 -4412,30,2.5,111.05,1.7,63.75 -4413,30,2.5,111.05,1.7,63.75 -4414,30,2.5,111.05,1.7,63.75 -4415,30,2.5,111.05,1.7,63.75 -4416,30,2.5,111.05,1.7,63.75 -4417,30,2.5,111.05,1.7,63.75 -4418,30,2.5,111.05,1.7,63.75 -4419,30,2.5,111.05,1.7,63.75 -4420,30,2.5,111.05,1.7,63.75 -4421,30,2.5,111.05,1.7,63.75 -4422,30,2.5,111.05,1.7,63.75 -4423,30,2.5,111.05,1.7,63.75 -4424,30,2.5,111.05,1.7,63.75 -4425,30,2.5,111.05,1.7,63.75 -4426,30,2.5,111.05,1.7,63.75 -4427,30,2.5,111.05,1.7,63.75 -4428,30,2.5,111.05,1.7,63.75 -4429,30,2.5,111.05,1.7,63.75 -4430,30,2.5,111.05,1.7,63.75 -4431,30,2.5,111.05,1.7,63.75 -4432,30,2.5,111.05,1.7,63.75 -4433,30,2.5,111.05,1.7,63.75 -4434,30,2.5,111.05,1.7,63.75 -4435,30,2.5,111.05,1.7,63.75 -4436,30,2.5,111.05,1.7,63.75 -4437,30,2.5,111.05,1.7,63.75 -4438,30,2.5,111.05,1.7,63.75 -4439,30,2.5,111.05,1.7,63.75 -4440,30,2.5,111.05,1.7,63.75 -4441,30,2.5,111.05,1.7,63.75 -4442,30,2.5,111.05,1.7,63.75 -4443,30,2.5,111.05,1.7,63.75 -4444,30,2.5,111.05,1.7,63.75 -4445,30,2.5,111.05,1.7,63.75 -4446,30,2.5,111.05,1.7,63.75 -4447,30,2.5,111.05,1.7,63.75 -4448,30,2.5,111.05,1.7,63.75 -4449,30,2.5,111.05,1.7,63.75 -4450,30,2.5,111.05,1.7,63.75 -4451,30,2.5,111.05,1.7,63.75 -4452,30,2.5,111.05,1.7,63.75 -4453,30,2.5,111.05,1.7,63.75 -4454,30,2.5,111.05,1.7,63.75 -4455,30,2.5,111.05,1.7,63.75 -4456,30,2.5,111.05,1.7,63.75 -4457,30,2.5,111.05,1.7,63.75 -4458,30,2.5,111.05,1.7,63.75 -4459,30,2.5,111.05,1.7,63.75 -4460,30,2.5,111.05,1.7,63.75 -4461,30,2.5,111.05,1.7,63.75 -4462,30,2.5,111.05,1.7,63.75 -4463,30,2.5,111.05,1.7,63.75 -4464,30,2.5,111.05,1.7,63.75 -4465,30,2.5,111.05,1.7,63.75 -4466,30,2.5,111.05,1.7,63.75 -4467,30,2.5,111.05,1.7,63.75 -4468,30,2.5,111.05,1.7,63.75 -4469,30,2.5,111.05,1.7,63.75 -4470,30,2.5,111.05,1.7,63.75 -4471,30,2.5,111.05,1.7,63.75 -4472,30,2.5,111.05,1.7,63.75 -4473,30,2.5,111.05,1.7,63.75 -4474,30,2.5,111.05,1.7,63.75 -4475,30,2.5,111.05,1.7,63.75 -4476,30,2.5,111.05,1.7,63.75 -4477,30,2.5,111.05,1.7,63.75 -4478,30,2.5,111.05,1.7,63.75 -4479,30,2.5,111.05,1.7,63.75 -4480,30,2.5,111.05,1.7,63.75 -4481,30,2.5,111.05,1.7,63.75 -4482,30,2.5,111.05,1.7,63.75 -4483,30,2.5,111.05,1.7,63.75 -4484,30,2.5,111.05,1.7,63.75 -4485,30,2.5,111.05,1.7,63.75 -4486,30,2.5,111.05,1.7,63.75 -4487,30,2.5,111.05,1.7,63.75 -4488,30,2.5,111.05,1.7,63.75 -4489,30,2.5,111.05,1.7,63.75 -4490,30,2.5,111.05,1.7,63.75 -4491,30,2.5,111.05,1.7,63.75 -4492,30,2.5,111.05,1.7,63.75 -4493,30,2.5,111.05,1.7,63.75 -4494,30,2.5,111.05,1.7,63.75 -4495,30,2.5,111.05,1.7,63.75 -4496,30,2.5,111.05,1.7,63.75 -4497,30,2.5,111.05,1.7,63.75 -4498,30,2.5,111.05,1.7,63.75 -4499,30,2.5,111.05,1.7,63.75 -4500,30,2.5,111.05,1.7,63.75 -4501,30,2.5,111.05,1.7,63.75 -4502,30,2.5,111.05,1.7,63.75 -4503,30,2.5,111.05,1.7,63.75 -4504,30,2.5,111.05,1.7,63.75 -4505,30,2.5,111.05,1.7,63.75 -4506,30,2.5,111.05,1.7,63.75 -4507,30,2.5,111.05,1.7,63.75 -4508,30,2.5,111.05,1.7,63.75 -4509,30,2.5,111.05,1.7,63.75 -4510,30,2.5,111.05,1.7,63.75 -4511,30,2.5,111.05,1.7,63.75 -4512,30,2.5,111.05,1.7,63.75 -4513,30,2.5,111.05,1.7,63.75 -4514,30,2.5,111.05,1.7,63.75 -4515,30,2.5,111.05,1.7,63.75 -4516,30,2.5,111.05,1.7,63.75 -4517,30,2.5,111.05,1.7,63.75 -4518,30,2.5,111.05,1.7,63.75 -4519,30,2.5,111.05,1.7,63.75 -4520,30,2.5,111.05,1.7,63.75 -4521,30,2.5,111.05,1.7,63.75 -4522,30,2.5,111.05,1.7,63.75 -4523,30,2.5,111.05,1.7,63.75 -4524,30,2.5,111.05,1.7,63.75 -4525,30,2.5,111.05,1.7,63.75 -4526,30,2.5,111.05,1.7,63.75 -4527,30,2.5,111.05,1.7,63.75 -4528,30,2.5,111.05,1.7,63.75 -4529,30,2.5,111.05,1.7,63.75 -4530,30,2.5,111.05,1.7,63.75 -4531,30,2.5,111.05,1.7,63.75 -4532,30,2.5,111.05,1.7,63.75 -4533,30,2.5,111.05,1.7,63.75 -4534,30,2.5,111.05,1.7,63.75 -4535,30,2.5,111.05,1.7,63.75 -4536,30,2.5,111.05,1.7,63.75 -4537,30,2.5,111.05,1.7,63.75 -4538,30,2.5,111.05,1.7,63.75 -4539,30,2.5,111.05,1.7,63.75 -4540,30,2.5,111.05,1.7,63.75 -4541,30,2.5,111.05,1.7,63.75 -4542,30,2.5,111.05,1.7,63.75 -4543,30,2.5,111.05,1.7,63.75 -4544,30,2.5,111.05,1.7,63.75 -4545,30,2.5,111.05,1.7,63.75 -4546,30,2.5,111.05,1.7,63.75 -4547,30,2.5,111.05,1.7,63.75 -4548,30,2.5,111.05,1.7,63.75 -4549,30,2.5,111.05,1.7,63.75 -4550,30,2.5,111.05,1.7,63.75 -4551,30,2.5,111.05,1.7,63.75 -4552,30,2.5,111.05,1.7,63.75 -4553,30,2.5,111.05,1.7,63.75 -4554,30,2.5,111.05,1.7,63.75 -4555,30,2.5,111.05,1.7,63.75 -4556,30,2.5,111.05,1.7,63.75 -4557,30,2.5,111.05,1.7,63.75 -4558,30,2.5,111.05,1.7,63.75 -4559,30,2.5,111.05,1.7,63.75 -4560,30,2.5,111.05,1.7,63.75 -4561,30,2.5,111.05,1.7,63.75 -4562,30,2.5,111.05,1.7,63.75 -4563,30,2.5,111.05,1.7,63.75 -4564,30,2.5,111.05,1.7,63.75 -4565,30,2.5,111.05,1.7,63.75 -4566,30,2.5,111.05,1.7,63.75 -4567,30,2.5,111.05,1.7,63.75 -4568,30,2.5,111.05,1.7,63.75 -4569,30,2.5,111.05,1.7,63.75 -4570,30,2.5,111.05,1.7,63.75 -4571,30,2.5,111.05,1.7,63.75 -4572,30,2.5,111.05,1.7,63.75 -4573,30,2.5,111.05,1.7,63.75 -4574,30,2.5,111.05,1.7,63.75 -4575,30,2.5,111.05,1.7,63.75 -4576,30,2.5,111.05,1.7,63.75 -4577,30,2.5,111.05,1.7,63.75 -4578,30,2.5,111.05,1.7,63.75 -4579,30,2.5,111.05,1.7,63.75 -4580,30,2.5,111.05,1.7,63.75 -4581,30,2.5,111.05,1.7,63.75 -4582,30,2.5,111.05,1.7,63.75 -4583,30,2.5,111.05,1.7,63.75 -4584,30,2.5,111.05,1.7,63.75 -4585,30,2.5,111.05,1.7,63.75 -4586,30,2.5,111.05,1.7,63.75 -4587,30,2.5,111.05,1.7,63.75 -4588,30,2.5,111.05,1.7,63.75 -4589,30,2.5,111.05,1.7,63.75 -4590,30,2.5,111.05,1.7,63.75 -4591,30,2.5,111.05,1.7,63.75 -4592,30,2.5,111.05,1.7,63.75 -4593,30,2.5,111.05,1.7,63.75 -4594,30,2.5,111.05,1.7,63.75 -4595,30,2.5,111.05,1.7,63.75 -4596,30,2.5,111.05,1.7,63.75 -4597,30,2.5,111.05,1.7,63.75 -4598,30,2.5,111.05,1.7,63.75 -4599,30,2.5,111.05,1.7,63.75 -4600,30,2.5,111.05,1.7,63.75 -4601,30,2.5,111.05,1.7,63.75 -4602,30,2.5,111.05,1.7,63.75 -4603,30,2.5,111.05,1.7,63.75 -4604,30,2.5,111.05,1.7,63.75 -4605,30,2.5,111.05,1.7,63.75 -4606,30,2.5,111.05,1.7,63.75 -4607,30,2.5,111.05,1.7,63.75 -4608,30,2.5,111.05,1.7,63.75 -4609,30,2.5,111.05,1.7,63.75 -4610,30,2.5,111.05,1.7,63.75 -4611,30,2.5,111.05,1.7,63.75 -4612,30,2.5,111.05,1.7,63.75 -4613,30,2.5,111.05,1.7,63.75 -4614,30,2.5,111.05,1.7,63.75 -4615,30,2.5,111.05,1.7,63.75 -4616,30,2.5,111.05,1.7,63.75 -4617,30,2.5,111.05,1.7,63.75 -4618,30,2.5,111.05,1.7,63.75 -4619,30,2.5,111.05,1.7,63.75 -4620,30,2.5,111.05,1.7,63.75 -4621,30,2.5,111.05,1.7,63.75 -4622,30,2.5,111.05,1.7,63.75 -4623,30,2.5,111.05,1.7,63.75 -4624,30,2.5,111.05,1.7,63.75 -4625,30,2.5,111.05,1.7,63.75 -4626,30,2.5,111.05,1.7,63.75 -4627,30,2.5,111.05,1.7,63.75 -4628,30,2.5,111.05,1.7,63.75 -4629,30,2.5,111.05,1.7,63.75 -4630,30,2.5,111.05,1.7,63.75 -4631,30,2.5,111.05,1.7,63.75 -4632,30,2.5,111.05,1.7,63.75 -4633,30,2.5,111.05,1.7,63.75 -4634,30,2.5,111.05,1.7,63.75 -4635,30,2.5,111.05,1.7,63.75 -4636,30,2.5,111.05,1.7,63.75 -4637,30,2.5,111.05,1.7,63.75 -4638,30,2.5,111.05,1.7,63.75 -4639,30,2.5,111.05,1.7,63.75 -4640,30,2.5,111.05,1.7,63.75 -4641,30,2.5,111.05,1.7,63.75 -4642,30,2.5,111.05,1.7,63.75 -4643,30,2.5,111.05,1.7,63.75 -4644,30,2.5,111.05,1.7,63.75 -4645,30,2.5,111.05,1.7,63.75 -4646,30,2.5,111.05,1.7,63.75 -4647,30,2.5,111.05,1.7,63.75 -4648,30,2.5,111.05,1.7,63.75 -4649,30,2.5,111.05,1.7,63.75 -4650,30,2.5,111.05,1.7,63.75 -4651,30,2.5,111.05,1.7,63.75 -4652,30,2.5,111.05,1.7,63.75 -4653,30,2.5,111.05,1.7,63.75 -4654,30,2.5,111.05,1.7,63.75 -4655,30,2.5,111.05,1.7,63.75 -4656,30,2.5,111.05,1.7,63.75 -4657,30,2.5,111.05,1.7,63.75 -4658,30,2.5,111.05,1.7,63.75 -4659,30,2.5,111.05,1.7,63.75 -4660,30,2.5,111.05,1.7,63.75 -4661,30,2.5,111.05,1.7,63.75 -4662,30,2.5,111.05,1.7,63.75 -4663,30,2.5,111.05,1.7,63.75 -4664,30,2.5,111.05,1.7,63.75 -4665,30,2.5,111.05,1.7,63.75 -4666,30,2.5,111.05,1.7,63.75 -4667,30,2.5,111.05,1.7,63.75 -4668,30,2.5,111.05,1.7,63.75 -4669,30,2.5,111.05,1.7,63.75 -4670,30,2.5,111.05,1.7,63.75 -4671,30,2.5,111.05,1.7,63.75 -4672,30,2.5,111.05,1.7,63.75 -4673,30,2.5,111.05,1.7,63.75 -4674,30,2.5,111.05,1.7,63.75 -4675,30,2.5,111.05,1.7,63.75 -4676,30,2.5,111.05,1.7,63.75 -4677,30,2.5,111.05,1.7,63.75 -4678,30,2.5,111.05,1.7,63.75 -4679,30,2.5,111.05,1.7,63.75 -4680,30,2.5,111.05,1.7,63.75 -4681,30,2.5,111.05,1.7,63.75 -4682,30,2.5,111.05,1.7,63.75 -4683,30,2.5,111.05,1.7,63.75 -4684,30,2.5,111.05,1.7,63.75 -4685,30,2.5,111.05,1.7,63.75 -4686,30,2.5,111.05,1.7,63.75 -4687,30,2.5,111.05,1.7,63.75 -4688,30,2.5,111.05,1.7,63.75 -4689,30,2.5,111.05,1.7,63.75 -4690,30,2.5,111.05,1.7,63.75 -4691,30,2.5,111.05,1.7,63.75 -4692,30,2.5,111.05,1.7,63.75 -4693,30,2.5,111.05,1.7,63.75 -4694,30,2.5,111.05,1.7,63.75 -4695,30,2.5,111.05,1.7,63.75 -4696,30,2.5,111.05,1.7,63.75 -4697,30,2.5,111.05,1.7,63.75 -4698,30,2.5,111.05,1.7,63.75 -4699,30,2.5,111.05,1.7,63.75 -4700,30,2.5,111.05,1.7,63.75 -4701,30,2.5,111.05,1.7,63.75 -4702,30,2.5,111.05,1.7,63.75 -4703,30,2.5,111.05,1.7,63.75 -4704,30,2.5,111.05,1.7,63.75 -4705,30,2.5,111.05,1.7,63.75 -4706,30,2.5,111.05,1.7,63.75 -4707,30,2.5,111.05,1.7,63.75 -4708,30,2.5,111.05,1.7,63.75 -4709,30,2.5,111.05,1.7,63.75 -4710,30,2.5,111.05,1.7,63.75 -4711,30,2.5,111.05,1.7,63.75 -4712,30,2.5,111.05,1.7,63.75 -4713,30,2.5,111.05,1.7,63.75 -4714,30,2.5,111.05,1.7,63.75 -4715,30,2.5,111.05,1.7,63.75 -4716,30,2.5,111.05,1.7,63.75 -4717,30,2.5,111.05,1.7,63.75 -4718,30,2.5,111.05,1.7,63.75 -4719,30,2.5,111.05,1.7,63.75 -4720,30,2.5,111.05,1.7,63.75 -4721,30,2.5,111.05,1.7,63.75 -4722,30,2.5,111.05,1.7,63.75 -4723,30,2.5,111.05,1.7,63.75 -4724,30,2.5,111.05,1.7,63.75 -4725,30,2.5,111.05,1.7,63.75 -4726,30,2.5,111.05,1.7,63.75 -4727,30,2.5,111.05,1.7,63.75 -4728,30,2.5,111.05,1.7,63.75 -4729,30,2.5,111.05,1.7,63.75 -4730,30,2.5,111.05,1.7,63.75 -4731,30,2.5,111.05,1.7,63.75 -4732,30,2.5,111.05,1.7,63.75 -4733,30,2.5,111.05,1.7,63.75 -4734,30,2.5,111.05,1.7,63.75 -4735,30,2.5,111.05,1.7,63.75 -4736,30,2.5,111.05,1.7,63.75 -4737,30,2.5,111.05,1.7,63.75 -4738,30,2.5,111.05,1.7,63.75 -4739,30,2.5,111.05,1.7,63.75 -4740,30,2.5,111.05,1.7,63.75 -4741,30,2.5,111.05,1.7,63.75 -4742,30,2.5,111.05,1.7,63.75 -4743,30,2.5,111.05,1.7,63.75 -4744,30,2.5,111.05,1.7,63.75 -4745,30,2.5,111.05,1.7,63.75 -4746,30,2.5,111.05,1.7,63.75 -4747,30,2.5,111.05,1.7,63.75 -4748,30,2.5,111.05,1.7,63.75 -4749,30,2.5,111.05,1.7,63.75 -4750,30,2.5,111.05,1.7,63.75 -4751,30,2.5,111.05,1.7,63.75 -4752,30,2.5,111.05,1.7,63.75 -4753,30,2.5,111.05,1.7,63.75 -4754,30,2.5,111.05,1.7,63.75 -4755,30,2.5,111.05,1.7,63.75 -4756,30,2.5,111.05,1.7,63.75 -4757,30,2.5,111.05,1.7,63.75 -4758,30,2.5,111.05,1.7,63.75 -4759,30,2.5,111.05,1.7,63.75 -4760,30,2.5,111.05,1.7,63.75 -4761,30,2.5,111.05,1.7,63.75 -4762,30,2.5,111.05,1.7,63.75 -4763,30,2.5,111.05,1.7,63.75 -4764,30,2.5,111.05,1.7,63.75 -4765,30,2.5,111.05,1.7,63.75 -4766,30,2.5,111.05,1.7,63.75 -4767,30,2.5,111.05,1.7,63.75 -4768,30,2.5,111.05,1.7,63.75 -4769,30,2.5,111.05,1.7,63.75 -4770,30,2.5,111.05,1.7,63.75 -4771,30,2.5,111.05,1.7,63.75 -4772,30,2.5,111.05,1.7,63.75 -4773,30,2.5,111.05,1.7,63.75 -4774,30,2.5,111.05,1.7,63.75 -4775,30,2.5,111.05,1.7,63.75 -4776,30,2.5,111.05,1.7,63.75 -4777,30,2.5,111.05,1.7,63.75 -4778,30,2.5,111.05,1.7,63.75 -4779,30,2.5,111.05,1.7,63.75 -4780,30,2.5,111.05,1.7,63.75 -4781,30,2.5,111.05,1.7,63.75 -4782,30,2.5,111.05,1.7,63.75 -4783,30,2.5,111.05,1.7,63.75 -4784,30,2.5,111.05,1.7,63.75 -4785,30,2.5,111.05,1.7,63.75 -4786,30,2.5,111.05,1.7,63.75 -4787,30,2.5,111.05,1.7,63.75 -4788,30,2.5,111.05,1.7,63.75 -4789,30,2.5,111.05,1.7,63.75 -4790,30,2.5,111.05,1.7,63.75 -4791,30,2.5,111.05,1.7,63.75 -4792,30,2.5,111.05,1.7,63.75 -4793,30,2.5,111.05,1.7,63.75 -4794,30,2.5,111.05,1.7,63.75 -4795,30,2.5,111.05,1.7,63.75 -4796,30,2.5,111.05,1.7,63.75 -4797,30,2.5,111.05,1.7,63.75 -4798,30,2.5,111.05,1.7,63.75 -4799,30,2.5,111.05,1.7,63.75 -4800,30,2.5,111.05,1.7,63.75 -4801,30,2.5,111.05,1.7,63.75 -4802,30,2.5,111.05,1.7,63.75 -4803,30,2.5,111.05,1.7,63.75 -4804,30,2.5,111.05,1.7,63.75 -4805,30,2.5,111.05,1.7,63.75 -4806,30,2.5,111.05,1.7,63.75 -4807,30,2.5,111.05,1.7,63.75 -4808,30,2.5,111.05,1.7,63.75 -4809,30,2.5,111.05,1.7,63.75 -4810,30,2.5,111.05,1.7,63.75 -4811,30,2.5,111.05,1.7,63.75 -4812,30,2.5,111.05,1.7,63.75 -4813,30,2.5,111.05,1.7,63.75 -4814,30,2.5,111.05,1.7,63.75 -4815,30,2.5,111.05,1.7,63.75 -4816,30,2.5,111.05,1.7,63.75 -4817,30,2.5,111.05,1.7,63.75 -4818,30,2.5,111.05,1.7,63.75 -4819,30,2.5,111.05,1.7,63.75 -4820,30,2.5,111.05,1.7,63.75 -4821,30,2.5,111.05,1.7,63.75 -4822,30,2.5,111.05,1.7,63.75 -4823,30,2.5,111.05,1.7,63.75 -4824,30,2.5,111.05,1.7,63.75 -4825,30,2.5,111.05,1.7,63.75 -4826,30,2.5,111.05,1.7,63.75 -4827,30,2.5,111.05,1.7,63.75 -4828,30,2.5,111.05,1.7,63.75 -4829,30,2.5,111.05,1.7,63.75 -4830,30,2.5,111.05,1.7,63.75 -4831,30,2.5,111.05,1.7,63.75 -4832,30,2.5,111.05,1.7,63.75 -4833,30,2.5,111.05,1.7,63.75 -4834,30,2.5,111.05,1.7,63.75 -4835,30,2.5,111.05,1.7,63.75 -4836,30,2.5,111.05,1.7,63.75 -4837,30,2.5,111.05,1.7,63.75 -4838,30,2.5,111.05,1.7,63.75 -4839,30,2.5,111.05,1.7,63.75 -4840,30,2.5,111.05,1.7,63.75 -4841,30,2.5,111.05,1.7,63.75 -4842,30,2.5,111.05,1.7,63.75 -4843,30,2.5,111.05,1.7,63.75 -4844,30,2.5,111.05,1.7,63.75 -4845,30,2.5,111.05,1.7,63.75 -4846,30,2.5,111.05,1.7,63.75 -4847,30,2.5,111.05,1.7,63.75 -4848,30,2.5,111.05,1.7,63.75 -4849,30,2.5,111.05,1.7,63.75 -4850,30,2.5,111.05,1.7,63.75 -4851,30,2.5,111.05,1.7,63.75 -4852,30,2.5,111.05,1.7,63.75 -4853,30,2.5,111.05,1.7,63.75 -4854,30,2.5,111.05,1.7,63.75 -4855,30,2.5,111.05,1.7,63.75 -4856,30,2.5,111.05,1.7,63.75 -4857,30,2.5,111.05,1.7,63.75 -4858,30,2.5,111.05,1.7,63.75 -4859,30,2.5,111.05,1.7,63.75 -4860,30,2.5,111.05,1.7,63.75 -4861,30,2.5,111.05,1.7,63.75 -4862,30,2.5,111.05,1.7,63.75 -4863,30,2.5,111.05,1.7,63.75 -4864,30,2.5,111.05,1.7,63.75 -4865,30,2.5,111.05,1.7,63.75 -4866,30,2.5,111.05,1.7,63.75 -4867,30,2.5,111.05,1.7,63.75 -4868,30,2.5,111.05,1.7,63.75 -4869,30,2.5,111.05,1.7,63.75 -4870,30,2.5,111.05,1.7,63.75 -4871,30,2.5,111.05,1.7,63.75 -4872,30,2.5,111.05,1.7,63.75 -4873,30,2.5,111.05,1.7,63.75 -4874,30,2.5,111.05,1.7,63.75 -4875,30,2.5,111.05,1.7,63.75 -4876,30,2.5,111.05,1.7,63.75 -4877,30,2.5,111.05,1.7,63.75 -4878,30,2.5,111.05,1.7,63.75 -4879,30,2.5,111.05,1.7,63.75 -4880,30,2.5,111.05,1.7,63.75 -4881,30,2.5,111.05,1.7,63.75 -4882,30,2.5,111.05,1.7,63.75 -4883,30,2.5,111.05,1.7,63.75 -4884,30,2.5,111.05,1.7,63.75 -4885,30,2.5,111.05,1.7,63.75 -4886,30,2.5,111.05,1.7,63.75 -4887,30,2.5,111.05,1.7,63.75 -4888,30,2.5,111.05,1.7,63.75 -4889,30,2.5,111.05,1.7,63.75 -4890,30,2.5,111.05,1.7,63.75 -4891,30,2.5,111.05,1.7,63.75 -4892,30,2.5,111.05,1.7,63.75 -4893,30,2.5,111.05,1.7,63.75 -4894,30,2.5,111.05,1.7,63.75 -4895,30,2.5,111.05,1.7,63.75 -4896,30,2.5,111.05,1.7,63.75 -4897,30,2.5,111.05,1.7,63.75 -4898,30,2.5,111.05,1.7,63.75 -4899,30,2.5,111.05,1.7,63.75 -4900,30,2.5,111.05,1.7,63.75 -4901,30,2.5,111.05,1.7,63.75 -4902,30,2.5,111.05,1.7,63.75 -4903,30,2.5,111.05,1.7,63.75 -4904,30,2.5,111.05,1.7,63.75 -4905,30,2.5,111.05,1.7,63.75 -4906,30,2.5,111.05,1.7,63.75 -4907,30,2.5,111.05,1.7,63.75 -4908,30,2.5,111.05,1.7,63.75 -4909,30,2.5,111.05,1.7,63.75 -4910,30,2.5,111.05,1.7,63.75 -4911,30,2.5,111.05,1.7,63.75 -4912,30,2.5,111.05,1.7,63.75 -4913,30,2.5,111.05,1.7,63.75 -4914,30,2.5,111.05,1.7,63.75 -4915,30,2.5,111.05,1.7,63.75 -4916,30,2.5,111.05,1.7,63.75 -4917,30,2.5,111.05,1.7,63.75 -4918,30,2.5,111.05,1.7,63.75 -4919,30,2.5,111.05,1.7,63.75 -4920,30,2.5,111.05,1.7,63.75 -4921,30,2.5,111.05,1.7,63.75 -4922,30,2.5,111.05,1.7,63.75 -4923,30,2.5,111.05,1.7,63.75 -4924,30,2.5,111.05,1.7,63.75 -4925,30,2.5,111.05,1.7,63.75 -4926,30,2.5,111.05,1.7,63.75 -4927,30,2.5,111.05,1.7,63.75 -4928,30,2.5,111.05,1.7,63.75 -4929,30,2.5,111.05,1.7,63.75 -4930,30,2.5,111.05,1.7,63.75 -4931,30,2.5,111.05,1.7,63.75 -4932,30,2.5,111.05,1.7,63.75 -4933,30,2.5,111.05,1.7,63.75 -4934,30,2.5,111.05,1.7,63.75 -4935,30,2.5,111.05,1.7,63.75 -4936,30,2.5,111.05,1.7,63.75 -4937,30,2.5,111.05,1.7,63.75 -4938,30,2.5,111.05,1.7,63.75 -4939,30,2.5,111.05,1.7,63.75 -4940,30,2.5,111.05,1.7,63.75 -4941,30,2.5,111.05,1.7,63.75 -4942,30,2.5,111.05,1.7,63.75 -4943,30,2.5,111.05,1.7,63.75 -4944,30,2.5,111.05,1.7,63.75 -4945,30,2.5,111.05,1.7,63.75 -4946,30,2.5,111.05,1.7,63.75 -4947,30,2.5,111.05,1.7,63.75 -4948,30,2.5,111.05,1.7,63.75 -4949,30,2.5,111.05,1.7,63.75 -4950,30,2.5,111.05,1.7,63.75 -4951,30,2.5,111.05,1.7,63.75 -4952,30,2.5,111.05,1.7,63.75 -4953,30,2.5,111.05,1.7,63.75 -4954,30,2.5,111.05,1.7,63.75 -4955,30,2.5,111.05,1.7,63.75 -4956,30,2.5,111.05,1.7,63.75 -4957,30,2.5,111.05,1.7,63.75 -4958,30,2.5,111.05,1.7,63.75 -4959,30,2.5,111.05,1.7,63.75 -4960,30,2.5,111.05,1.7,63.75 -4961,30,2.5,111.05,1.7,63.75 -4962,30,2.5,111.05,1.7,63.75 -4963,30,2.5,111.05,1.7,63.75 -4964,30,2.5,111.05,1.7,63.75 -4965,30,2.5,111.05,1.7,63.75 -4966,30,2.5,111.05,1.7,63.75 -4967,30,2.5,111.05,1.7,63.75 -4968,30,2.5,111.05,1.7,63.75 -4969,30,2.5,111.05,1.7,63.75 -4970,30,2.5,111.05,1.7,63.75 -4971,30,2.5,111.05,1.7,63.75 -4972,30,2.5,111.05,1.7,63.75 -4973,30,2.5,111.05,1.7,63.75 -4974,30,2.5,111.05,1.7,63.75 -4975,30,2.5,111.05,1.7,63.75 -4976,30,2.5,111.05,1.7,63.75 -4977,30,2.5,111.05,1.7,63.75 -4978,30,2.5,111.05,1.7,63.75 -4979,30,2.5,111.05,1.7,63.75 -4980,30,2.5,111.05,1.7,63.75 -4981,30,2.5,111.05,1.7,63.75 -4982,30,2.5,111.05,1.7,63.75 -4983,30,2.5,111.05,1.7,63.75 -4984,30,2.5,111.05,1.7,63.75 -4985,30,2.5,111.05,1.7,63.75 -4986,30,2.5,111.05,1.7,63.75 -4987,30,2.5,111.05,1.7,63.75 -4988,30,2.5,111.05,1.7,63.75 -4989,30,2.5,111.05,1.7,63.75 -4990,30,2.5,111.05,1.7,63.75 -4991,30,2.5,111.05,1.7,63.75 -4992,30,2.5,111.05,1.7,63.75 -4993,30,2.5,111.05,1.7,63.75 -4994,30,2.5,111.05,1.7,63.75 -4995,30,2.5,111.05,1.7,63.75 -4996,30,2.5,111.05,1.7,63.75 -4997,30,2.5,111.05,1.7,63.75 -4998,30,2.5,111.05,1.7,63.75 -4999,30,2.5,111.05,1.7,63.75 -5000,30,2.5,111.05,1.7,63.75 -5001,30,2.5,111.05,1.7,63.75 -5002,30,2.5,111.05,1.7,63.75 -5003,30,2.5,111.05,1.7,63.75 -5004,30,2.5,111.05,1.7,63.75 -5005,30,2.5,111.05,1.7,63.75 -5006,30,2.5,111.05,1.7,63.75 -5007,30,2.5,111.05,1.7,63.75 -5008,30,2.5,111.05,1.7,63.75 -5009,30,2.5,111.05,1.7,63.75 -5010,30,2.5,111.05,1.7,63.75 -5011,30,2.5,111.05,1.7,63.75 -5012,30,2.5,111.05,1.7,63.75 -5013,30,2.5,111.05,1.7,63.75 -5014,30,2.5,111.05,1.7,63.75 -5015,30,2.5,111.05,1.7,63.75 -5016,30,2.5,111.05,1.7,63.75 -5017,30,2.5,111.05,1.7,63.75 -5018,30,2.5,111.05,1.7,63.75 -5019,30,2.5,111.05,1.7,63.75 -5020,30,2.5,111.05,1.7,63.75 -5021,30,2.5,111.05,1.7,63.75 -5022,30,2.5,111.05,1.7,63.75 -5023,30,2.5,111.05,1.7,63.75 -5024,30,2.5,111.05,1.7,63.75 -5025,30,2.5,111.05,1.7,63.75 -5026,30,2.5,111.05,1.7,63.75 -5027,30,2.5,111.05,1.7,63.75 -5028,30,2.5,111.05,1.7,63.75 -5029,30,2.5,111.05,1.7,63.75 -5030,30,2.5,111.05,1.7,63.75 -5031,30,2.5,111.05,1.7,63.75 -5032,30,2.5,111.05,1.7,63.75 -5033,30,2.5,111.05,1.7,63.75 -5034,30,2.5,111.05,1.7,63.75 -5035,30,2.5,111.05,1.7,63.75 -5036,30,2.5,111.05,1.7,63.75 -5037,30,2.5,111.05,1.7,63.75 -5038,30,2.5,111.05,1.7,63.75 -5039,30,2.5,111.05,1.7,63.75 -5040,30,2.5,111.05,1.7,63.75 -5041,30,2.5,111.05,1.7,63.75 -5042,30,2.5,111.05,1.7,63.75 -5043,30,2.5,111.05,1.7,63.75 -5044,30,2.5,111.05,1.7,63.75 -5045,30,2.5,111.05,1.7,63.75 -5046,30,2.5,111.05,1.7,63.75 -5047,30,2.5,111.05,1.7,63.75 -5048,30,2.5,111.05,1.7,63.75 -5049,30,2.5,111.05,1.7,63.75 -5050,30,2.5,111.05,1.7,63.75 -5051,30,2.5,111.05,1.7,63.75 -5052,30,2.5,111.05,1.7,63.75 -5053,30,2.5,111.05,1.7,63.75 -5054,30,2.5,111.05,1.7,63.75 -5055,30,2.5,111.05,1.7,63.75 -5056,30,2.5,111.05,1.7,63.75 -5057,30,2.5,111.05,1.7,63.75 -5058,30,2.5,111.05,1.7,63.75 -5059,30,2.5,111.05,1.7,63.75 -5060,30,2.5,111.05,1.7,63.75 -5061,30,2.5,111.05,1.7,63.75 -5062,30,2.5,111.05,1.7,63.75 -5063,30,2.5,111.05,1.7,63.75 -5064,30,2.5,111.05,1.7,63.75 -5065,30,2.5,111.05,1.7,63.75 -5066,30,2.5,111.05,1.7,63.75 -5067,30,2.5,111.05,1.7,63.75 -5068,30,2.5,111.05,1.7,63.75 -5069,30,2.5,111.05,1.7,63.75 -5070,30,2.5,111.05,1.7,63.75 -5071,30,2.5,111.05,1.7,63.75 -5072,30,2.5,111.05,1.7,63.75 -5073,30,2.5,111.05,1.7,63.75 -5074,30,2.5,111.05,1.7,63.75 -5075,30,2.5,111.05,1.7,63.75 -5076,30,2.5,111.05,1.7,63.75 -5077,30,2.5,111.05,1.7,63.75 -5078,30,2.5,111.05,1.7,63.75 -5079,30,2.5,111.05,1.7,63.75 -5080,30,2.5,111.05,1.7,63.75 -5081,30,2.5,111.05,1.7,63.75 -5082,30,2.5,111.05,1.7,63.75 -5083,30,2.5,111.05,1.7,63.75 -5084,30,2.5,111.05,1.7,63.75 -5085,30,2.5,111.05,1.7,63.75 -5086,30,2.5,111.05,1.7,63.75 -5087,30,2.5,111.05,1.7,63.75 -5088,30,2.5,111.05,1.7,63.75 -5089,30,2.5,111.05,1.7,63.75 -5090,30,2.5,111.05,1.7,63.75 -5091,30,2.5,111.05,1.7,63.75 -5092,30,2.5,111.05,1.7,63.75 -5093,30,2.5,111.05,1.7,63.75 -5094,30,2.5,111.05,1.7,63.75 -5095,30,2.5,111.05,1.7,63.75 -5096,30,2.5,111.05,1.7,63.75 -5097,30,2.5,111.05,1.7,63.75 -5098,30,2.5,111.05,1.7,63.75 -5099,30,2.5,111.05,1.7,63.75 -5100,30,2.5,111.05,1.7,63.75 -5101,30,2.5,111.05,1.7,63.75 -5102,30,2.5,111.05,1.7,63.75 -5103,30,2.5,111.05,1.7,63.75 -5104,30,2.5,111.05,1.7,63.75 -5105,30,2.5,111.05,1.7,63.75 -5106,30,2.5,111.05,1.7,63.75 -5107,30,2.5,111.05,1.7,63.75 -5108,30,2.5,111.05,1.7,63.75 -5109,30,2.5,111.05,1.7,63.75 -5110,30,2.5,111.05,1.7,63.75 -5111,30,2.5,111.05,1.7,63.75 -5112,30,2.5,111.05,1.7,63.75 -5113,30,2.5,111.05,1.7,63.75 -5114,30,2.5,111.05,1.7,63.75 -5115,30,2.5,111.05,1.7,63.75 -5116,30,2.5,111.05,1.7,63.75 -5117,30,2.5,111.05,1.7,63.75 -5118,30,2.5,111.05,1.7,63.75 -5119,30,2.5,111.05,1.7,63.75 -5120,30,2.5,111.05,1.7,63.75 -5121,30,2.5,111.05,1.7,63.75 -5122,30,2.5,111.05,1.7,63.75 -5123,30,2.5,111.05,1.7,63.75 -5124,30,2.5,111.05,1.7,63.75 -5125,30,2.5,111.05,1.7,63.75 -5126,30,2.5,111.05,1.7,63.75 -5127,30,2.5,111.05,1.7,63.75 -5128,30,2.5,111.05,1.7,63.75 -5129,30,2.5,111.05,1.7,63.75 -5130,30,2.5,111.05,1.7,63.75 -5131,30,2.5,111.05,1.7,63.75 -5132,30,2.5,111.05,1.7,63.75 -5133,30,2.5,111.05,1.7,63.75 -5134,30,2.5,111.05,1.7,63.75 -5135,30,2.5,111.05,1.7,63.75 -5136,30,2.5,111.05,1.7,63.75 -5137,30,2.5,111.05,1.7,63.75 -5138,30,2.5,111.05,1.7,63.75 -5139,30,2.5,111.05,1.7,63.75 -5140,30,2.5,111.05,1.7,63.75 -5141,30,2.5,111.05,1.7,63.75 -5142,30,2.5,111.05,1.7,63.75 -5143,30,2.5,111.05,1.7,63.75 -5144,30,2.5,111.05,1.7,63.75 -5145,30,2.5,111.05,1.7,63.75 -5146,30,2.5,111.05,1.7,63.75 -5147,30,2.5,111.05,1.7,63.75 -5148,30,2.5,111.05,1.7,63.75 -5149,30,2.5,111.05,1.7,63.75 -5150,30,2.5,111.05,1.7,63.75 -5151,30,2.5,111.05,1.7,63.75 -5152,30,2.5,111.05,1.7,63.75 -5153,30,2.5,111.05,1.7,63.75 -5154,30,2.5,111.05,1.7,63.75 -5155,30,2.5,111.05,1.7,63.75 -5156,30,2.5,111.05,1.7,63.75 -5157,30,2.5,111.05,1.7,63.75 -5158,30,2.5,111.05,1.7,63.75 -5159,30,2.5,111.05,1.7,63.75 -5160,30,2.5,111.05,1.7,63.75 -5161,30,2.5,111.05,1.7,63.75 -5162,30,2.5,111.05,1.7,63.75 -5163,30,2.5,111.05,1.7,63.75 -5164,30,2.5,111.05,1.7,63.75 -5165,30,2.5,111.05,1.7,63.75 -5166,30,2.5,111.05,1.7,63.75 -5167,30,2.5,111.05,1.7,63.75 -5168,30,2.5,111.05,1.7,63.75 -5169,30,2.5,111.05,1.7,63.75 -5170,30,2.5,111.05,1.7,63.75 -5171,30,2.5,111.05,1.7,63.75 -5172,30,2.5,111.05,1.7,63.75 -5173,30,2.5,111.05,1.7,63.75 -5174,30,2.5,111.05,1.7,63.75 -5175,30,2.5,111.05,1.7,63.75 -5176,30,2.5,111.05,1.7,63.75 -5177,30,2.5,111.05,1.7,63.75 -5178,30,2.5,111.05,1.7,63.75 -5179,30,2.5,111.05,1.7,63.75 -5180,30,2.5,111.05,1.7,63.75 -5181,30,2.5,111.05,1.7,63.75 -5182,30,2.5,111.05,1.7,63.75 -5183,30,2.5,111.05,1.7,63.75 -5184,30,2.5,111.05,1.7,63.75 -5185,30,2.5,111.05,1.7,63.75 -5186,30,2.5,111.05,1.7,63.75 -5187,30,2.5,111.05,1.7,63.75 -5188,30,2.5,111.05,1.7,63.75 -5189,30,2.5,111.05,1.7,63.75 -5190,30,2.5,111.05,1.7,63.75 -5191,30,2.5,111.05,1.7,63.75 -5192,30,2.5,111.05,1.7,63.75 -5193,30,2.5,111.05,1.7,63.75 -5194,30,2.5,111.05,1.7,63.75 -5195,30,2.5,111.05,1.7,63.75 -5196,30,2.5,111.05,1.7,63.75 -5197,30,2.5,111.05,1.7,63.75 -5198,30,2.5,111.05,1.7,63.75 -5199,30,2.5,111.05,1.7,63.75 -5200,30,2.5,111.05,1.7,63.75 -5201,30,2.5,111.05,1.7,63.75 -5202,30,2.5,111.05,1.7,63.75 -5203,30,2.5,111.05,1.7,63.75 -5204,30,2.5,111.05,1.7,63.75 -5205,30,2.5,111.05,1.7,63.75 -5206,30,2.5,111.05,1.7,63.75 -5207,30,2.5,111.05,1.7,63.75 -5208,30,2.5,111.05,1.7,63.75 -5209,30,2.5,111.05,1.7,63.75 -5210,30,2.5,111.05,1.7,63.75 -5211,30,2.5,111.05,1.7,63.75 -5212,30,2.5,111.05,1.7,63.75 -5213,30,2.5,111.05,1.7,63.75 -5214,30,2.5,111.05,1.7,63.75 -5215,30,2.5,111.05,1.7,63.75 -5216,30,2.5,111.05,1.7,63.75 -5217,30,2.5,111.05,1.7,63.75 -5218,30,2.5,111.05,1.7,63.75 -5219,30,2.5,111.05,1.7,63.75 -5220,30,2.5,111.05,1.7,63.75 -5221,30,2.5,111.05,1.7,63.75 -5222,30,2.5,111.05,1.7,63.75 -5223,30,2.5,111.05,1.7,63.75 -5224,30,2.5,111.05,1.7,63.75 -5225,30,2.5,111.05,1.7,63.75 -5226,30,2.5,111.05,1.7,63.75 -5227,30,2.5,111.05,1.7,63.75 -5228,30,2.5,111.05,1.7,63.75 -5229,30,2.5,111.05,1.7,63.75 -5230,30,2.5,111.05,1.7,63.75 -5231,30,2.5,111.05,1.7,63.75 -5232,30,2.5,111.05,1.7,63.75 -5233,30,2.5,111.05,1.7,63.75 -5234,30,2.5,111.05,1.7,63.75 -5235,30,2.5,111.05,1.7,63.75 -5236,30,2.5,111.05,1.7,63.75 -5237,30,2.5,111.05,1.7,63.75 -5238,30,2.5,111.05,1.7,63.75 -5239,30,2.5,111.05,1.7,63.75 -5240,30,2.5,111.05,1.7,63.75 -5241,30,2.5,111.05,1.7,63.75 -5242,30,2.5,111.05,1.7,63.75 -5243,30,2.5,111.05,1.7,63.75 -5244,30,2.5,111.05,1.7,63.75 -5245,30,2.5,111.05,1.7,63.75 -5246,30,2.5,111.05,1.7,63.75 -5247,30,2.5,111.05,1.7,63.75 -5248,30,2.5,111.05,1.7,63.75 -5249,30,2.5,111.05,1.7,63.75 -5250,30,2.5,111.05,1.7,63.75 -5251,30,2.5,111.05,1.7,63.75 -5252,30,2.5,111.05,1.7,63.75 -5253,30,2.5,111.05,1.7,63.75 -5254,30,2.5,111.05,1.7,63.75 -5255,30,2.5,111.05,1.7,63.75 -5256,30,2.5,111.05,1.7,63.75 -5257,30,2.5,111.05,1.7,63.75 -5258,30,2.5,111.05,1.7,63.75 -5259,30,2.5,111.05,1.7,63.75 -5260,30,2.5,111.05,1.7,63.75 -5261,30,2.5,111.05,1.7,63.75 -5262,30,2.5,111.05,1.7,63.75 -5263,30,2.5,111.05,1.7,63.75 -5264,30,2.5,111.05,1.7,63.75 -5265,30,2.5,111.05,1.7,63.75 -5266,30,2.5,111.05,1.7,63.75 -5267,30,2.5,111.05,1.7,63.75 -5268,30,2.5,111.05,1.7,63.75 -5269,30,2.5,111.05,1.7,63.75 -5270,30,2.5,111.05,1.7,63.75 -5271,30,2.5,111.05,1.7,63.75 -5272,30,2.5,111.05,1.7,63.75 -5273,30,2.5,111.05,1.7,63.75 -5274,30,2.5,111.05,1.7,63.75 -5275,30,2.5,111.05,1.7,63.75 -5276,30,2.5,111.05,1.7,63.75 -5277,30,2.5,111.05,1.7,63.75 -5278,30,2.5,111.05,1.7,63.75 -5279,30,2.5,111.05,1.7,63.75 -5280,30,2.5,111.05,1.7,63.75 -5281,30,2.5,111.05,1.7,63.75 -5282,30,2.5,111.05,1.7,63.75 -5283,30,2.5,111.05,1.7,63.75 -5284,30,2.5,111.05,1.7,63.75 -5285,30,2.5,111.05,1.7,63.75 -5286,30,2.5,111.05,1.7,63.75 -5287,30,2.5,111.05,1.7,63.75 -5288,30,2.5,111.05,1.7,63.75 -5289,30,2.5,111.05,1.7,63.75 -5290,30,2.5,111.05,1.7,63.75 -5291,30,2.5,111.05,1.7,63.75 -5292,30,2.5,111.05,1.7,63.75 -5293,30,2.5,111.05,1.7,63.75 -5294,30,2.5,111.05,1.7,63.75 -5295,30,2.5,111.05,1.7,63.75 -5296,30,2.5,111.05,1.7,63.75 -5297,30,2.5,111.05,1.7,63.75 -5298,30,2.5,111.05,1.7,63.75 -5299,30,2.5,111.05,1.7,63.75 -5300,30,2.5,111.05,1.7,63.75 -5301,30,2.5,111.05,1.7,63.75 -5302,30,2.5,111.05,1.7,63.75 -5303,30,2.5,111.05,1.7,63.75 -5304,30,2.5,111.05,1.7,63.75 -5305,30,2.5,111.05,1.7,63.75 -5306,30,2.5,111.05,1.7,63.75 -5307,30,2.5,111.05,1.7,63.75 -5308,30,2.5,111.05,1.7,63.75 -5309,30,2.5,111.05,1.7,63.75 -5310,30,2.5,111.05,1.7,63.75 -5311,30,2.5,111.05,1.7,63.75 -5312,30,2.5,111.05,1.7,63.75 -5313,30,2.5,111.05,1.7,63.75 -5314,30,2.5,111.05,1.7,63.75 -5315,30,2.5,111.05,1.7,63.75 -5316,30,2.5,111.05,1.7,63.75 -5317,30,2.5,111.05,1.7,63.75 -5318,30,2.5,111.05,1.7,63.75 -5319,30,2.5,111.05,1.7,63.75 -5320,30,2.5,111.05,1.7,63.75 -5321,30,2.5,111.05,1.7,63.75 -5322,30,2.5,111.05,1.7,63.75 -5323,30,2.5,111.05,1.7,63.75 -5324,30,2.5,111.05,1.7,63.75 -5325,30,2.5,111.05,1.7,63.75 -5326,30,2.5,111.05,1.7,63.75 -5327,30,2.5,111.05,1.7,63.75 -5328,30,2.5,111.05,1.7,63.75 -5329,30,2.5,111.05,1.7,63.75 -5330,30,2.5,111.05,1.7,63.75 -5331,30,2.5,111.05,1.7,63.75 -5332,30,2.5,111.05,1.7,63.75 -5333,30,2.5,111.05,1.7,63.75 -5334,30,2.5,111.05,1.7,63.75 -5335,30,2.5,111.05,1.7,63.75 -5336,30,2.5,111.05,1.7,63.75 -5337,30,2.5,111.05,1.7,63.75 -5338,30,2.5,111.05,1.7,63.75 -5339,30,2.5,111.05,1.7,63.75 -5340,30,2.5,111.05,1.7,63.75 -5341,30,2.5,111.05,1.7,63.75 -5342,30,2.5,111.05,1.7,63.75 -5343,30,2.5,111.05,1.7,63.75 -5344,30,2.5,111.05,1.7,63.75 -5345,30,2.5,111.05,1.7,63.75 -5346,30,2.5,111.05,1.7,63.75 -5347,30,2.5,111.05,1.7,63.75 -5348,30,2.5,111.05,1.7,63.75 -5349,30,2.5,111.05,1.7,63.75 -5350,30,2.5,111.05,1.7,63.75 -5351,30,2.5,111.05,1.7,63.75 -5352,30,2.5,111.05,1.7,63.75 -5353,30,2.5,111.05,1.7,63.75 -5354,30,2.5,111.05,1.7,63.75 -5355,30,2.5,111.05,1.7,63.75 -5356,30,2.5,111.05,1.7,63.75 -5357,30,2.5,111.05,1.7,63.75 -5358,30,2.5,111.05,1.7,63.75 -5359,30,2.5,111.05,1.7,63.75 -5360,30,2.5,111.05,1.7,63.75 -5361,30,2.5,111.05,1.7,63.75 -5362,30,2.5,111.05,1.7,63.75 -5363,30,2.5,111.05,1.7,63.75 -5364,30,2.5,111.05,1.7,63.75 -5365,30,2.5,111.05,1.7,63.75 -5366,30,2.5,111.05,1.7,63.75 -5367,30,2.5,111.05,1.7,63.75 -5368,30,2.5,111.05,1.7,63.75 -5369,30,2.5,111.05,1.7,63.75 -5370,30,2.5,111.05,1.7,63.75 -5371,30,2.5,111.05,1.7,63.75 -5372,30,2.5,111.05,1.7,63.75 -5373,30,2.5,111.05,1.7,63.75 -5374,30,2.5,111.05,1.7,63.75 -5375,30,2.5,111.05,1.7,63.75 -5376,30,2.5,111.05,1.7,63.75 -5377,30,2.5,111.05,1.7,63.75 -5378,30,2.5,111.05,1.7,63.75 -5379,30,2.5,111.05,1.7,63.75 -5380,30,2.5,111.05,1.7,63.75 -5381,30,2.5,111.05,1.7,63.75 -5382,30,2.5,111.05,1.7,63.75 -5383,30,2.5,111.05,1.7,63.75 -5384,30,2.5,111.05,1.7,63.75 -5385,30,2.5,111.05,1.7,63.75 -5386,30,2.5,111.05,1.7,63.75 -5387,30,2.5,111.05,1.7,63.75 -5388,30,2.5,111.05,1.7,63.75 -5389,30,2.5,111.05,1.7,63.75 -5390,30,2.5,111.05,1.7,63.75 -5391,30,2.5,111.05,1.7,63.75 -5392,30,2.5,111.05,1.7,63.75 -5393,30,2.5,111.05,1.7,63.75 -5394,30,2.5,111.05,1.7,63.75 -5395,30,2.5,111.05,1.7,63.75 -5396,30,2.5,111.05,1.7,63.75 -5397,30,2.5,111.05,1.7,63.75 -5398,30,2.5,111.05,1.7,63.75 -5399,30,2.5,111.05,1.7,63.75 -5400,30,2.5,111.05,1.7,63.75 -5401,30,2.5,111.05,1.7,63.75 -5402,30,2.5,111.05,1.7,63.75 -5403,30,2.5,111.05,1.7,63.75 -5404,30,2.5,111.05,1.7,63.75 -5405,30,2.5,111.05,1.7,63.75 -5406,30,2.5,111.05,1.7,63.75 -5407,30,2.5,111.05,1.7,63.75 -5408,30,2.5,111.05,1.7,63.75 -5409,30,2.5,111.05,1.7,63.75 -5410,30,2.5,111.05,1.7,63.75 -5411,30,2.5,111.05,1.7,63.75 -5412,30,2.5,111.05,1.7,63.75 -5413,30,2.5,111.05,1.7,63.75 -5414,30,2.5,111.05,1.7,63.75 -5415,30,2.5,111.05,1.7,63.75 -5416,30,2.5,111.05,1.7,63.75 -5417,30,2.5,111.05,1.7,63.75 -5418,30,2.5,111.05,1.7,63.75 -5419,30,2.5,111.05,1.7,63.75 -5420,30,2.5,111.05,1.7,63.75 -5421,30,2.5,111.05,1.7,63.75 -5422,30,2.5,111.05,1.7,63.75 -5423,30,2.5,111.05,1.7,63.75 -5424,30,2.5,111.05,1.7,63.75 -5425,30,2.5,111.05,1.7,63.75 -5426,30,2.5,111.05,1.7,63.75 -5427,30,2.5,111.05,1.7,63.75 -5428,30,2.5,111.05,1.7,63.75 -5429,30,2.5,111.05,1.7,63.75 -5430,30,2.5,111.05,1.7,63.75 -5431,30,2.5,111.05,1.7,63.75 -5432,30,2.5,111.05,1.7,63.75 -5433,30,2.5,111.05,1.7,63.75 -5434,30,2.5,111.05,1.7,63.75 -5435,30,2.5,111.05,1.7,63.75 -5436,30,2.5,111.05,1.7,63.75 -5437,30,2.5,111.05,1.7,63.75 -5438,30,2.5,111.05,1.7,63.75 -5439,30,2.5,111.05,1.7,63.75 -5440,30,2.5,111.05,1.7,63.75 -5441,30,2.5,111.05,1.7,63.75 -5442,30,2.5,111.05,1.7,63.75 -5443,30,2.5,111.05,1.7,63.75 -5444,30,2.5,111.05,1.7,63.75 -5445,30,2.5,111.05,1.7,63.75 -5446,30,2.5,111.05,1.7,63.75 -5447,30,2.5,111.05,1.7,63.75 -5448,30,2.5,111.05,1.7,63.75 -5449,30,2.5,111.05,1.7,63.75 -5450,30,2.5,111.05,1.7,63.75 -5451,30,2.5,111.05,1.7,63.75 -5452,30,2.5,111.05,1.7,63.75 -5453,30,2.5,111.05,1.7,63.75 -5454,30,2.5,111.05,1.7,63.75 -5455,30,2.5,111.05,1.7,63.75 -5456,30,2.5,111.05,1.7,63.75 -5457,30,2.5,111.05,1.7,63.75 -5458,30,2.5,111.05,1.7,63.75 -5459,30,2.5,111.05,1.7,63.75 -5460,30,2.5,111.05,1.7,63.75 -5461,30,2.5,111.05,1.7,63.75 -5462,30,2.5,111.05,1.7,63.75 -5463,30,2.5,111.05,1.7,63.75 -5464,30,2.5,111.05,1.7,63.75 -5465,30,2.5,111.05,1.7,63.75 -5466,30,2.5,111.05,1.7,63.75 -5467,30,2.5,111.05,1.7,63.75 -5468,30,2.5,111.05,1.7,63.75 -5469,30,2.5,111.05,1.7,63.75 -5470,30,2.5,111.05,1.7,63.75 -5471,30,2.5,111.05,1.7,63.75 -5472,30,2.5,111.05,1.7,63.75 -5473,30,2.5,111.05,1.7,63.75 -5474,30,2.5,111.05,1.7,63.75 -5475,30,2.5,111.05,1.7,63.75 -5476,30,2.5,111.05,1.7,63.75 -5477,30,2.5,111.05,1.7,63.75 -5478,30,2.5,111.05,1.7,63.75 -5479,30,2.5,111.05,1.7,63.75 -5480,30,2.5,111.05,1.7,63.75 -5481,30,2.5,111.05,1.7,63.75 -5482,30,2.5,111.05,1.7,63.75 -5483,30,2.5,111.05,1.7,63.75 -5484,30,2.5,111.05,1.7,63.75 -5485,30,2.5,111.05,1.7,63.75 -5486,30,2.5,111.05,1.7,63.75 -5487,30,2.5,111.05,1.7,63.75 -5488,30,2.5,111.05,1.7,63.75 -5489,30,2.5,111.05,1.7,63.75 -5490,30,2.5,111.05,1.7,63.75 -5491,30,2.5,111.05,1.7,63.75 -5492,30,2.5,111.05,1.7,63.75 -5493,30,2.5,111.05,1.7,63.75 -5494,30,2.5,111.05,1.7,63.75 -5495,30,2.5,111.05,1.7,63.75 -5496,30,2.5,111.05,1.7,63.75 -5497,30,2.5,111.05,1.7,63.75 -5498,30,2.5,111.05,1.7,63.75 -5499,30,2.5,111.05,1.7,63.75 -5500,30,2.5,111.05,1.7,63.75 -5501,30,2.5,111.05,1.7,63.75 -5502,30,2.5,111.05,1.7,63.75 -5503,30,2.5,111.05,1.7,63.75 -5504,30,2.5,111.05,1.7,63.75 -5505,30,2.5,111.05,1.7,63.75 -5506,30,2.5,111.05,1.7,63.75 -5507,30,2.5,111.05,1.7,63.75 -5508,30,2.5,111.05,1.7,63.75 -5509,30,2.5,111.05,1.7,63.75 -5510,30,2.5,111.05,1.7,63.75 -5511,30,2.5,111.05,1.7,63.75 -5512,30,2.5,111.05,1.7,63.75 -5513,30,2.5,111.05,1.7,63.75 -5514,30,2.5,111.05,1.7,63.75 -5515,30,2.5,111.05,1.7,63.75 -5516,30,2.5,111.05,1.7,63.75 -5517,30,2.5,111.05,1.7,63.75 -5518,30,2.5,111.05,1.7,63.75 -5519,30,2.5,111.05,1.7,63.75 -5520,30,2.5,111.05,1.7,63.75 -5521,30,2.5,111.05,1.7,63.75 -5522,30,2.5,111.05,1.7,63.75 -5523,30,2.5,111.05,1.7,63.75 -5524,30,2.5,111.05,1.7,63.75 -5525,30,2.5,111.05,1.7,63.75 -5526,30,2.5,111.05,1.7,63.75 -5527,30,2.5,111.05,1.7,63.75 -5528,30,2.5,111.05,1.7,63.75 -5529,30,2.5,111.05,1.7,63.75 -5530,30,2.5,111.05,1.7,63.75 -5531,30,2.5,111.05,1.7,63.75 -5532,30,2.5,111.05,1.7,63.75 -5533,30,2.5,111.05,1.7,63.75 -5534,30,2.5,111.05,1.7,63.75 -5535,30,2.5,111.05,1.7,63.75 -5536,30,2.5,111.05,1.7,63.75 -5537,30,2.5,111.05,1.7,63.75 -5538,30,2.5,111.05,1.7,63.75 -5539,30,2.5,111.05,1.7,63.75 -5540,30,2.5,111.05,1.7,63.75 -5541,30,2.5,111.05,1.7,63.75 -5542,30,2.5,111.05,1.7,63.75 -5543,30,2.5,111.05,1.7,63.75 -5544,30,2.5,111.05,1.7,63.75 -5545,30,2.5,111.05,1.7,63.75 -5546,30,2.5,111.05,1.7,63.75 -5547,30,2.5,111.05,1.7,63.75 -5548,30,2.5,111.05,1.7,63.75 -5549,30,2.5,111.05,1.7,63.75 -5550,30,2.5,111.05,1.7,63.75 -5551,30,2.5,111.05,1.7,63.75 -5552,30,2.5,111.05,1.7,63.75 -5553,30,2.5,111.05,1.7,63.75 -5554,30,2.5,111.05,1.7,63.75 -5555,30,2.5,111.05,1.7,63.75 -5556,30,2.5,111.05,1.7,63.75 -5557,30,2.5,111.05,1.7,63.75 -5558,30,2.5,111.05,1.7,63.75 -5559,30,2.5,111.05,1.7,63.75 -5560,30,2.5,111.05,1.7,63.75 -5561,30,2.5,111.05,1.7,63.75 -5562,30,2.5,111.05,1.7,63.75 -5563,30,2.5,111.05,1.7,63.75 -5564,30,2.5,111.05,1.7,63.75 -5565,30,2.5,111.05,1.7,63.75 -5566,30,2.5,111.05,1.7,63.75 -5567,30,2.5,111.05,1.7,63.75 -5568,30,2.5,111.05,1.7,63.75 -5569,30,2.5,111.05,1.7,63.75 -5570,30,2.5,111.05,1.7,63.75 -5571,30,2.5,111.05,1.7,63.75 -5572,30,2.5,111.05,1.7,63.75 -5573,30,2.5,111.05,1.7,63.75 -5574,30,2.5,111.05,1.7,63.75 -5575,30,2.5,111.05,1.7,63.75 -5576,30,2.5,111.05,1.7,63.75 -5577,30,2.5,111.05,1.7,63.75 -5578,30,2.5,111.05,1.7,63.75 -5579,30,2.5,111.05,1.7,63.75 -5580,30,2.5,111.05,1.7,63.75 -5581,30,2.5,111.05,1.7,63.75 -5582,30,2.5,111.05,1.7,63.75 -5583,30,2.5,111.05,1.7,63.75 -5584,30,2.5,111.05,1.7,63.75 -5585,30,2.5,111.05,1.7,63.75 -5586,30,2.5,111.05,1.7,63.75 -5587,30,2.5,111.05,1.7,63.75 -5588,30,2.5,111.05,1.7,63.75 -5589,30,2.5,111.05,1.7,63.75 -5590,30,2.5,111.05,1.7,63.75 -5591,30,2.5,111.05,1.7,63.75 -5592,30,2.5,111.05,1.7,63.75 -5593,30,2.5,111.05,1.7,63.75 -5594,30,2.5,111.05,1.7,63.75 -5595,30,2.5,111.05,1.7,63.75 -5596,30,2.5,111.05,1.7,63.75 -5597,30,2.5,111.05,1.7,63.75 -5598,30,2.5,111.05,1.7,63.75 -5599,30,2.5,111.05,1.7,63.75 -5600,30,2.5,111.05,1.7,63.75 -5601,30,2.5,111.05,1.7,63.75 -5602,30,2.5,111.05,1.7,63.75 -5603,30,2.5,111.05,1.7,63.75 -5604,30,2.5,111.05,1.7,63.75 -5605,30,2.5,111.05,1.7,63.75 -5606,30,2.5,111.05,1.7,63.75 -5607,30,2.5,111.05,1.7,63.75 -5608,30,2.5,111.05,1.7,63.75 -5609,30,2.5,111.05,1.7,63.75 -5610,30,2.5,111.05,1.7,63.75 -5611,30,2.5,111.05,1.7,63.75 -5612,30,2.5,111.05,1.7,63.75 -5613,30,2.5,111.05,1.7,63.75 -5614,30,2.5,111.05,1.7,63.75 -5615,30,2.5,111.05,1.7,63.75 -5616,30,2.5,111.05,1.7,63.75 -5617,30,2.5,111.05,1.7,63.75 -5618,30,2.5,111.05,1.7,63.75 -5619,30,2.5,111.05,1.7,63.75 -5620,30,2.5,111.05,1.7,63.75 -5621,30,2.5,111.05,1.7,63.75 -5622,30,2.5,111.05,1.7,63.75 -5623,30,2.5,111.05,1.7,63.75 -5624,30,2.5,111.05,1.7,63.75 -5625,30,2.5,111.05,1.7,63.75 -5626,30,2.5,111.05,1.7,63.75 -5627,30,2.5,111.05,1.7,63.75 -5628,30,2.5,111.05,1.7,63.75 -5629,30,2.5,111.05,1.7,63.75 -5630,30,2.5,111.05,1.7,63.75 -5631,30,2.5,111.05,1.7,63.75 -5632,30,2.5,111.05,1.7,63.75 -5633,30,2.5,111.05,1.7,63.75 -5634,30,2.5,111.05,1.7,63.75 -5635,30,2.5,111.05,1.7,63.75 -5636,30,2.5,111.05,1.7,63.75 -5637,30,2.5,111.05,1.7,63.75 -5638,30,2.5,111.05,1.7,63.75 -5639,30,2.5,111.05,1.7,63.75 -5640,30,2.5,111.05,1.7,63.75 -5641,30,2.5,111.05,1.7,63.75 -5642,30,2.5,111.05,1.7,63.75 -5643,30,2.5,111.05,1.7,63.75 -5644,30,2.5,111.05,1.7,63.75 -5645,30,2.5,111.05,1.7,63.75 -5646,30,2.5,111.05,1.7,63.75 -5647,30,2.5,111.05,1.7,63.75 -5648,30,2.5,111.05,1.7,63.75 -5649,30,2.5,111.05,1.7,63.75 -5650,30,2.5,111.05,1.7,63.75 -5651,30,2.5,111.05,1.7,63.75 -5652,30,2.5,111.05,1.7,63.75 -5653,30,2.5,111.05,1.7,63.75 -5654,30,2.5,111.05,1.7,63.75 -5655,30,2.5,111.05,1.7,63.75 -5656,30,2.5,111.05,1.7,63.75 -5657,30,2.5,111.05,1.7,63.75 -5658,30,2.5,111.05,1.7,63.75 -5659,30,2.5,111.05,1.7,63.75 -5660,30,2.5,111.05,1.7,63.75 -5661,30,2.5,111.05,1.7,63.75 -5662,30,2.5,111.05,1.7,63.75 -5663,30,2.5,111.05,1.7,63.75 -5664,30,2.5,111.05,1.7,63.75 -5665,30,2.5,111.05,1.7,63.75 -5666,30,2.5,111.05,1.7,63.75 -5667,30,2.5,111.05,1.7,63.75 -5668,30,2.5,111.05,1.7,63.75 -5669,30,2.5,111.05,1.7,63.75 -5670,30,2.5,111.05,1.7,63.75 -5671,30,2.5,111.05,1.7,63.75 -5672,30,2.5,111.05,1.7,63.75 -5673,30,2.5,111.05,1.7,63.75 -5674,30,2.5,111.05,1.7,63.75 -5675,30,2.5,111.05,1.7,63.75 -5676,30,2.5,111.05,1.7,63.75 -5677,30,2.5,111.05,1.7,63.75 -5678,30,2.5,111.05,1.7,63.75 -5679,30,2.5,111.05,1.7,63.75 -5680,30,2.5,111.05,1.7,63.75 -5681,30,2.5,111.05,1.7,63.75 -5682,30,2.5,111.05,1.7,63.75 -5683,30,2.5,111.05,1.7,63.75 -5684,30,2.5,111.05,1.7,63.75 -5685,30,2.5,111.05,1.7,63.75 -5686,30,2.5,111.05,1.7,63.75 -5687,30,2.5,111.05,1.7,63.75 -5688,30,2.5,111.05,1.7,63.75 -5689,30,2.5,111.05,1.7,63.75 -5690,30,2.5,111.05,1.7,63.75 -5691,30,2.5,111.05,1.7,63.75 -5692,30,2.5,111.05,1.7,63.75 -5693,30,2.5,111.05,1.7,63.75 -5694,30,2.5,111.05,1.7,63.75 -5695,30,2.5,111.05,1.7,63.75 -5696,30,2.5,111.05,1.7,63.75 -5697,30,2.5,111.05,1.7,63.75 -5698,30,2.5,111.05,1.7,63.75 -5699,30,2.5,111.05,1.7,63.75 -5700,30,2.5,111.05,1.7,63.75 -5701,30,2.5,111.05,1.7,63.75 -5702,30,2.5,111.05,1.7,63.75 -5703,30,2.5,111.05,1.7,63.75 -5704,30,2.5,111.05,1.7,63.75 -5705,30,2.5,111.05,1.7,63.75 -5706,30,2.5,111.05,1.7,63.75 -5707,30,2.5,111.05,1.7,63.75 -5708,30,2.5,111.05,1.7,63.75 -5709,30,2.5,111.05,1.7,63.75 -5710,30,2.5,111.05,1.7,63.75 -5711,30,2.5,111.05,1.7,63.75 -5712,30,2.5,111.05,1.7,63.75 -5713,30,2.5,111.05,1.7,63.75 -5714,30,2.5,111.05,1.7,63.75 -5715,30,2.5,111.05,1.7,63.75 -5716,30,2.5,111.05,1.7,63.75 -5717,30,2.5,111.05,1.7,63.75 -5718,30,2.5,111.05,1.7,63.75 -5719,30,2.5,111.05,1.7,63.75 -5720,30,2.5,111.05,1.7,63.75 -5721,30,2.5,111.05,1.7,63.75 -5722,30,2.5,111.05,1.7,63.75 -5723,30,2.5,111.05,1.7,63.75 -5724,30,2.5,111.05,1.7,63.75 -5725,30,2.5,111.05,1.7,63.75 -5726,30,2.5,111.05,1.7,63.75 -5727,30,2.5,111.05,1.7,63.75 -5728,30,2.5,111.05,1.7,63.75 -5729,30,2.5,111.05,1.7,63.75 -5730,30,2.5,111.05,1.7,63.75 -5731,30,2.5,111.05,1.7,63.75 -5732,30,2.5,111.05,1.7,63.75 -5733,30,2.5,111.05,1.7,63.75 -5734,30,2.5,111.05,1.7,63.75 -5735,30,2.5,111.05,1.7,63.75 -5736,30,2.5,111.05,1.7,63.75 -5737,30,2.5,111.05,1.7,63.75 -5738,30,2.5,111.05,1.7,63.75 -5739,30,2.5,111.05,1.7,63.75 -5740,30,2.5,111.05,1.7,63.75 -5741,30,2.5,111.05,1.7,63.75 -5742,30,2.5,111.05,1.7,63.75 -5743,30,2.5,111.05,1.7,63.75 -5744,30,2.5,111.05,1.7,63.75 -5745,30,2.5,111.05,1.7,63.75 -5746,30,2.5,111.05,1.7,63.75 -5747,30,2.5,111.05,1.7,63.75 -5748,30,2.5,111.05,1.7,63.75 -5749,30,2.5,111.05,1.7,63.75 -5750,30,2.5,111.05,1.7,63.75 -5751,30,2.5,111.05,1.7,63.75 -5752,30,2.5,111.05,1.7,63.75 -5753,30,2.5,111.05,1.7,63.75 -5754,30,2.5,111.05,1.7,63.75 -5755,30,2.5,111.05,1.7,63.75 -5756,30,2.5,111.05,1.7,63.75 -5757,30,2.5,111.05,1.7,63.75 -5758,30,2.5,111.05,1.7,63.75 -5759,30,2.5,111.05,1.7,63.75 -5760,30,2.5,111.05,1.7,63.75 -5761,30,2.5,111.05,1.7,63.75 -5762,30,2.5,111.05,1.7,63.75 -5763,30,2.5,111.05,1.7,63.75 -5764,30,2.5,111.05,1.7,63.75 -5765,30,2.5,111.05,1.7,63.75 -5766,30,2.5,111.05,1.7,63.75 -5767,30,2.5,111.05,1.7,63.75 -5768,30,2.5,111.05,1.7,63.75 -5769,30,2.5,111.05,1.7,63.75 -5770,30,2.5,111.05,1.7,63.75 -5771,30,2.5,111.05,1.7,63.75 -5772,30,2.5,111.05,1.7,63.75 -5773,30,2.5,111.05,1.7,63.75 -5774,30,2.5,111.05,1.7,63.75 -5775,30,2.5,111.05,1.7,63.75 -5776,30,2.5,111.05,1.7,63.75 -5777,30,2.5,111.05,1.7,63.75 -5778,30,2.5,111.05,1.7,63.75 -5779,30,2.5,111.05,1.7,63.75 -5780,30,2.5,111.05,1.7,63.75 -5781,30,2.5,111.05,1.7,63.75 -5782,30,2.5,111.05,1.7,63.75 -5783,30,2.5,111.05,1.7,63.75 -5784,30,2.5,111.05,1.7,63.75 -5785,30,2.5,111.05,1.7,63.75 -5786,30,2.5,111.05,1.7,63.75 -5787,30,2.5,111.05,1.7,63.75 -5788,30,2.5,111.05,1.7,63.75 -5789,30,2.5,111.05,1.7,63.75 -5790,30,2.5,111.05,1.7,63.75 -5791,30,2.5,111.05,1.7,63.75 -5792,30,2.5,111.05,1.7,63.75 -5793,30,2.5,111.05,1.7,63.75 -5794,30,2.5,111.05,1.7,63.75 -5795,30,2.5,111.05,1.7,63.75 -5796,30,2.5,111.05,1.7,63.75 -5797,30,2.5,111.05,1.7,63.75 -5798,30,2.5,111.05,1.7,63.75 -5799,30,2.5,111.05,1.7,63.75 -5800,30,2.5,111.05,1.7,63.75 -5801,30,2.5,111.05,1.7,63.75 -5802,30,2.5,111.05,1.7,63.75 -5803,30,2.5,111.05,1.7,63.75 -5804,30,2.5,111.05,1.7,63.75 -5805,30,2.5,111.05,1.7,63.75 -5806,30,2.5,111.05,1.7,63.75 -5807,30,2.5,111.05,1.7,63.75 -5808,30,2.5,111.05,1.7,63.75 -5809,30,2.5,111.05,1.7,63.75 -5810,30,2.5,111.05,1.7,63.75 -5811,30,2.5,111.05,1.7,63.75 -5812,30,2.5,111.05,1.7,63.75 -5813,30,2.5,111.05,1.7,63.75 -5814,30,2.5,111.05,1.7,63.75 -5815,30,2.5,111.05,1.7,63.75 -5816,30,2.5,111.05,1.7,63.75 -5817,30,2.5,111.05,1.7,63.75 -5818,30,2.5,111.05,1.7,63.75 -5819,30,2.5,111.05,1.7,63.75 -5820,30,2.5,111.05,1.7,63.75 -5821,30,2.5,111.05,1.7,63.75 -5822,30,2.5,111.05,1.7,63.75 -5823,30,2.5,111.05,1.7,63.75 -5824,30,2.5,111.05,1.7,63.75 -5825,30,2.5,111.05,1.7,63.75 -5826,30,2.5,111.05,1.7,63.75 -5827,30,2.5,111.05,1.7,63.75 -5828,30,2.5,111.05,1.7,63.75 -5829,30,2.5,111.05,1.7,63.75 -5830,30,2.5,111.05,1.7,63.75 -5831,30,2.5,111.05,1.7,63.75 -5832,30,2.5,111.05,1.7,63.75 -5833,30,2.5,111.05,1.7,63.75 -5834,30,2.5,111.05,1.7,63.75 -5835,30,2.5,111.05,1.7,63.75 -5836,30,2.5,111.05,1.7,63.75 -5837,30,2.5,111.05,1.7,63.75 -5838,30,2.5,111.05,1.7,63.75 -5839,30,2.5,111.05,1.7,63.75 -5840,30,2.5,111.05,1.7,63.75 -5841,30,2.5,111.05,1.7,63.75 -5842,30,2.5,111.05,1.7,63.75 -5843,30,2.5,111.05,1.7,63.75 -5844,30,2.5,111.05,1.7,63.75 -5845,30,2.5,111.05,1.7,63.75 -5846,30,2.5,111.05,1.7,63.75 -5847,30,2.5,111.05,1.7,63.75 -5848,30,2.5,111.05,1.7,63.75 -5849,30,2.5,111.05,1.7,63.75 -5850,30,2.5,111.05,1.7,63.75 -5851,30,2.5,111.05,1.7,63.75 -5852,30,2.5,111.05,1.7,63.75 -5853,30,2.5,111.05,1.7,63.75 -5854,30,2.5,111.05,1.7,63.75 -5855,30,2.5,111.05,1.7,63.75 -5856,30,2.5,111.05,1.7,63.75 -5857,30,2.5,111.05,1.7,63.75 -5858,30,2.5,111.05,1.7,63.75 -5859,30,2.5,111.05,1.7,63.75 -5860,30,2.5,111.05,1.7,63.75 -5861,30,2.5,111.05,1.7,63.75 -5862,30,2.5,111.05,1.7,63.75 -5863,30,2.5,111.05,1.7,63.75 -5864,30,2.5,111.05,1.7,63.75 -5865,30,2.5,111.05,1.7,63.75 -5866,30,2.5,111.05,1.7,63.75 -5867,30,2.5,111.05,1.7,63.75 -5868,30,2.5,111.05,1.7,63.75 -5869,30,2.5,111.05,1.7,63.75 -5870,30,2.5,111.05,1.7,63.75 -5871,30,2.5,111.05,1.7,63.75 -5872,30,2.5,111.05,1.7,63.75 -5873,30,2.5,111.05,1.7,63.75 -5874,30,2.5,111.05,1.7,63.75 -5875,30,2.5,111.05,1.7,63.75 -5876,30,2.5,111.05,1.7,63.75 -5877,30,2.5,111.05,1.7,63.75 -5878,30,2.5,111.05,1.7,63.75 -5879,30,2.5,111.05,1.7,63.75 -5880,30,2.5,111.05,1.7,63.75 -5881,30,2.5,111.05,1.7,63.75 -5882,30,2.5,111.05,1.7,63.75 -5883,30,2.5,111.05,1.7,63.75 -5884,30,2.5,111.05,1.7,63.75 -5885,30,2.5,111.05,1.7,63.75 -5886,30,2.5,111.05,1.7,63.75 -5887,30,2.5,111.05,1.7,63.75 -5888,30,2.5,111.05,1.7,63.75 -5889,30,2.5,111.05,1.7,63.75 -5890,30,2.5,111.05,1.7,63.75 -5891,30,2.5,111.05,1.7,63.75 -5892,30,2.5,111.05,1.7,63.75 -5893,30,2.5,111.05,1.7,63.75 -5894,30,2.5,111.05,1.7,63.75 -5895,30,2.5,111.05,1.7,63.75 -5896,30,2.5,111.05,1.7,63.75 -5897,30,2.5,111.05,1.7,63.75 -5898,30,2.5,111.05,1.7,63.75 -5899,30,2.5,111.05,1.7,63.75 -5900,30,2.5,111.05,1.7,63.75 -5901,30,2.5,111.05,1.7,63.75 -5902,30,2.5,111.05,1.7,63.75 -5903,30,2.5,111.05,1.7,63.75 -5904,30,2.5,111.05,1.7,63.75 -5905,30,2.5,111.05,1.7,63.75 -5906,30,2.5,111.05,1.7,63.75 -5907,30,2.5,111.05,1.7,63.75 -5908,30,2.5,111.05,1.7,63.75 -5909,30,2.5,111.05,1.7,63.75 -5910,30,2.5,111.05,1.7,63.75 -5911,30,2.5,111.05,1.7,63.75 -5912,30,2.5,111.05,1.7,63.75 -5913,30,2.5,111.05,1.7,63.75 -5914,30,2.5,111.05,1.7,63.75 -5915,30,2.5,111.05,1.7,63.75 -5916,30,2.5,111.05,1.7,63.75 -5917,30,2.5,111.05,1.7,63.75 -5918,30,2.5,111.05,1.7,63.75 -5919,30,2.5,111.05,1.7,63.75 -5920,30,2.5,111.05,1.7,63.75 -5921,30,2.5,111.05,1.7,63.75 -5922,30,2.5,111.05,1.7,63.75 -5923,30,2.5,111.05,1.7,63.75 -5924,30,2.5,111.05,1.7,63.75 -5925,30,2.5,111.05,1.7,63.75 -5926,30,2.5,111.05,1.7,63.75 -5927,30,2.5,111.05,1.7,63.75 -5928,30,2.5,111.05,1.7,63.75 -5929,30,2.5,111.05,1.7,63.75 -5930,30,2.5,111.05,1.7,63.75 -5931,30,2.5,111.05,1.7,63.75 -5932,30,2.5,111.05,1.7,63.75 -5933,30,2.5,111.05,1.7,63.75 -5934,30,2.5,111.05,1.7,63.75 -5935,30,2.5,111.05,1.7,63.75 -5936,30,2.5,111.05,1.7,63.75 -5937,30,2.5,111.05,1.7,63.75 -5938,30,2.5,111.05,1.7,63.75 -5939,30,2.5,111.05,1.7,63.75 -5940,30,2.5,111.05,1.7,63.75 -5941,30,2.5,111.05,1.7,63.75 -5942,30,2.5,111.05,1.7,63.75 -5943,30,2.5,111.05,1.7,63.75 -5944,30,2.5,111.05,1.7,63.75 -5945,30,2.5,111.05,1.7,63.75 -5946,30,2.5,111.05,1.7,63.75 -5947,30,2.5,111.05,1.7,63.75 -5948,30,2.5,111.05,1.7,63.75 -5949,30,2.5,111.05,1.7,63.75 -5950,30,2.5,111.05,1.7,63.75 -5951,30,2.5,111.05,1.7,63.75 -5952,30,2.5,111.05,1.7,63.75 -5953,30,2.5,111.05,1.7,63.75 -5954,30,2.5,111.05,1.7,63.75 -5955,30,2.5,111.05,1.7,63.75 -5956,30,2.5,111.05,1.7,63.75 -5957,30,2.5,111.05,1.7,63.75 -5958,30,2.5,111.05,1.7,63.75 -5959,30,2.5,111.05,1.7,63.75 -5960,30,2.5,111.05,1.7,63.75 -5961,30,2.5,111.05,1.7,63.75 -5962,30,2.5,111.05,1.7,63.75 -5963,30,2.5,111.05,1.7,63.75 -5964,30,2.5,111.05,1.7,63.75 -5965,30,2.5,111.05,1.7,63.75 -5966,30,2.5,111.05,1.7,63.75 -5967,30,2.5,111.05,1.7,63.75 -5968,30,2.5,111.05,1.7,63.75 -5969,30,2.5,111.05,1.7,63.75 -5970,30,2.5,111.05,1.7,63.75 -5971,30,2.5,111.05,1.7,63.75 -5972,30,2.5,111.05,1.7,63.75 -5973,30,2.5,111.05,1.7,63.75 -5974,30,2.5,111.05,1.7,63.75 -5975,30,2.5,111.05,1.7,63.75 -5976,30,2.5,111.05,1.7,63.75 -5977,30,2.5,111.05,1.7,63.75 -5978,30,2.5,111.05,1.7,63.75 -5979,30,2.5,111.05,1.7,63.75 -5980,30,2.5,111.05,1.7,63.75 -5981,30,2.5,111.05,1.7,63.75 -5982,30,2.5,111.05,1.7,63.75 -5983,30,2.5,111.05,1.7,63.75 -5984,30,2.5,111.05,1.7,63.75 -5985,30,2.5,111.05,1.7,63.75 -5986,30,2.5,111.05,1.7,63.75 -5987,30,2.5,111.05,1.7,63.75 -5988,30,2.5,111.05,1.7,63.75 -5989,30,2.5,111.05,1.7,63.75 -5990,30,2.5,111.05,1.7,63.75 -5991,30,2.5,111.05,1.7,63.75 -5992,30,2.5,111.05,1.7,63.75 -5993,30,2.5,111.05,1.7,63.75 -5994,30,2.5,111.05,1.7,63.75 -5995,30,2.5,111.05,1.7,63.75 -5996,30,2.5,111.05,1.7,63.75 -5997,30,2.5,111.05,1.7,63.75 -5998,30,2.5,111.05,1.7,63.75 -5999,30,2.5,111.05,1.7,63.75 -6000,30,2.5,111.05,1.7,63.75 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test5.csv b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test5.csv deleted file mode 100644 index dfaf406..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/test5.csv +++ /dev/null @@ -1,1023 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,7,9,9,9 -20,50,35,4,8,8,8 -30,45,30,1,7,7,7 -40,40,25,-2,6,6,6 -50,35,20,-5,5,5,5 -60,30,15,-8,4,4,4 -70,25,10,-11,3,3,3 -80,20,5,-14,2,2,2 -90,15,0,-17,1,1,1 -100,10,-5,-20,0,0,0 -110,5,0,-23,1,1,1 -120,0,5,-20,2,2,2 -130,-5,10,-17,3,3,3 -140,0,15,-14,4,4,4 -150,5,20,-11,5,5,5 -160,10,25,-8,6,6,6 -170,15,30,-5,7,7,7 -180,20,35,-2,8,8,8 -190,25,40,1,9,9,9 -200,30,45,4,10,10,10 -210,35,40,7,9,9,9 -220,40,35,10,8,8,8 -230,45,30,13,7,7,7 -240,50,25,10,6,6,6 -250,55,20,7,5,5,5 -260,60,15,4,4,4,4 -270,55,10,1,3,3,3 -280,50,5,-2,2,2,2 -290,45,0,-5,1,1,1 -300,40,-5,-8,0,0,0 -310,35,0,-11,1,1,1 -320,30,5,-14,2,2,2 -330,25,10,-17,3,3,3 -340,20,15,-20,4,4,4 -350,15,20,-23,5,5,5 -360,10,25,-20,6,6,6 -370,5,30,-17,7,7,7 -380,0,35,-14,8,8,8 -390,-5,40,-11,9,9,9 -400,0,45,-8,10,10,10 -410,5,40,-5,9,9,9 -420,10,35,-2,8,8,8 -430,15,30,1,7,7,7 -440,20,25,4,6,6,6 -450,25,20,7,5,5,5 -460,30,15,10,4,4,4 -470,35,10,13,3,3,3 -480,40,5,10,2,2,2 -490,45,0,7,1,1,1 -500,50,-5,4,0,0,0 -510,55,0,1,1,1,1 -520,60,5,-2,2,2,2 -530,55,10,-5,3,3,3 -540,50,15,-8,4,4,4 -550,45,20,-11,5,5,5 -560,40,25,-14,6,6,6 -570,35,30,-17,7,7,7 -580,30,35,-20,8,8,8 -590,25,40,-23,9,9,9 -600,20,45,-20,10,10,10 -610,15,40,-17,9,9,9 -620,10,35,-14,8,8,8 -630,5,30,-11,7,7,7 -640,0,25,-8,6,6,6 -650,-5,20,-5,5,5,5 -660,0,15,-2,4,4,4 -670,5,10,1,3,3,3 -680,10,5,4,2,2,2 -690,15,0,7,1,1,1 -700,20,-5,10,0,0,0 -710,25,0,13,1,1,1 -720,30,5,10,2,2,2 -730,35,10,7,3,3,3 -740,40,15,4,4,4,4 -750,45,20,1,5,5,5 -760,50,25,-2,6,6,6 -770,55,30,-5,7,7,7 -780,60,35,-8,8,8,8 -790,55,40,-11,9,9,9 -800,50,45,-14,10,10,10 -810,45,40,-17,9,9,9 -820,40,35,-20,8,8,8 -830,35,30,-23,7,7,7 -840,30,25,-20,6,6,6 -850,25,20,-17,5,5,5 -860,20,15,-14,4,4,4 -870,15,10,-11,3,3,3 -880,10,5,-8,2,2,2 -890,5,0,-5,1,1,1 -900,0,-5,-2,0,0,0 -910,-5,0,1,1,1,1 -920,0,5,4,2,2,2 -930,5,10,7,3,3,3 -940,10,15,10,4,4,4 -950,15,20,13,5,5,5 -960,20,25,10,6,6,6 -970,25,30,7,7,7,7 -980,30,35,4,8,8,8 -990,35,40,1,9,9,9 -1000,40,45,-2,10,10,10 -1010,10,20,30,40,50,60 -1020,10,20,30,40,50,60 -1030,10,20,30,40,50,60 -1040,10,20,30,40,50,60 -1050,10,20,30,40,50,60 -1060,10,20,30,40,50,60 -1070,10,20,30,40,50,60 -1080,10,20,30,40,50,60 -1090,10,20,30,40,50,60 -1100,10,20,30,40,50,60 -1110,10,20,30,40,50,60 -1120,10,20,30,40,50,60 -1130,10,20,30,40,50,60 -1140,10,20,30,40,50,60 -1150,10,20,30,40,50,60 -1160,10,20,30,40,50,60 -1170,10,20,30,40,50,60 -1180,10,20,30,40,50,60 -1190,10,20,30,40,50,60 -1200,10,20,30,40,50,60 -1210,10,20,30,40,50,60 -1220,10,20,30,40,50,60 -1230,10,20,30,40,50,60 -1240,10,20,30,40,50,60 -1250,10,20,30,40,50,60 -1260,10,20,30,40,50,60 -1270,10,20,30,40,50,60 -1280,10,20,30,40,50,60 -1290,10,20,30,40,50,60 -1300,10,20,30,40,50,60 -1310,10,20,30,40,50,60 -1320,10,20,30,40,50,60 -1330,10,20,30,40,50,60 -1340,10,20,30,40,50,60 -1350,10,20,30,40,50,60 -1360,10,20,30,40,50,60 -1370,10,20,30,40,50,60 -1380,10,20,30,40,50,60 -1390,10,20,30,40,50,60 -1400,10,20,30,40,50,60 -1410,10,20,30,40,50,60 -1420,10,20,30,40,50,60 -1430,10,20,30,40,50,60 -1440,10,20,30,40,50,60 -1450,10,20,30,40,50,60 -1460,10,20,30,40,50,60 -1470,10,20,30,40,50,60 -1480,10,20,30,40,50,60 -1490,10,20,30,40,50,60 -1500,10,20,30,40,50,60 -1510,10,20,30,40,50,60 -1520,10,20,30,40,50,60 -1530,10,20,30,40,50,60 -1540,10,20,30,40,50,60 -1550,10,20,30,40,50,60 -1560,10,20,30,40,50,60 -1570,10,20,30,40,50,60 -1580,10,20,30,40,50,60 -1590,10,20,30,40,50,60 -1600,10,20,30,40,50,60 -1610,10,20,30,40,50,60 -1620,10,20,30,40,50,60 -1630,10,20,30,40,50,60 -1640,10,20,30,40,50,60 -1650,10,20,30,40,50,60 -1660,10,20,30,40,50,60 -1670,10,20,30,40,50,60 -1680,10,20,30,40,50,60 -1690,10,20,30,40,50,60 -1700,10,20,30,40,50,60 -1710,10,20,30,40,50,60 -1720,10,20,30,40,50,60 -1730,10,20,30,40,50,60 -1740,10,20,30,40,50,60 -1750,10,20,30,40,50,60 -1760,10,20,30,40,50,60 -1770,10,20,30,40,50,60 -1780,10,20,30,40,50,60 -1790,10,20,30,40,50,60 -1800,10,20,30,40,50,60 -1810,10,20,30,40,50,60 -1820,10,20,30,40,50,60 -1830,10,20,30,40,50,60 -1840,10,20,30,40,50,60 -1850,10,20,30,40,50,60 -1860,10,20,30,40,50,60 -1870,10,20,30,40,50,60 -1880,10,20,30,40,50,60 -1890,10,20,30,40,50,60 -1900,10,20,30,40,50,60 -1910,10,20,30,40,50,60 -1920,10,20,30,40,50,60 -1930,10,20,30,40,50,60 -1940,10,20,30,40,50,60 -1950,10,20,30,40,50,60 -1960,10,20,30,40,50,60 -1970,10,20,30,40,50,60 -1980,10,20,30,40,50,60 -1990,10,20,30,40,50,60 -2000,10,20,30,40,50,60 -2010,10,20,30,40,50,60 -2020,10,20,30,40,50,60 -2030,10,20,30,40,50,60 -2040,10,20,30,40,50,60 -2050,10,20,30,40,50,60 -2060,10,20,30,40,50,60 -2070,10,20,30,40,50,60 -2080,10,20,30,40,50,60 -2090,10,20,30,40,50,60 -2100,10,20,30,40,50,60 -2110,10,20,30,40,50,60 -2120,10,20,30,40,50,60 -2130,10,20,30,40,50,60 -2140,10,20,30,40,50,60 -2150,10,20,30,40,50,60 -2160,10,20,30,40,50,60 -2170,10,20,30,40,50,60 -2180,10,20,30,40,50,60 -2190,10,20,30,40,50,60 -2200,10,20,30,40,50,60 -2210,10,20,30,40,50,60 -2220,10,20,30,40,50,60 -2230,10,20,30,40,50,60 -2240,10,20,30,40,50,60 -2250,10,20,30,40,50,60 -2260,10,20,30,40,50,60 -2270,10,20,30,40,50,60 -2280,10,20,30,40,50,60 -2290,10,20,30,40,50,60 -2300,10,20,30,40,50,60 -2310,10,20,30,40,50,60 -2320,10,20,30,40,50,60 -2330,10,20,30,40,50,60 -2340,10,20,30,40,50,60 -2350,10,20,30,40,50,60 -2360,10,20,30,40,50,60 -2370,10,20,30,40,50,60 -2380,10,20,30,40,50,60 -2390,10,20,30,40,50,60 -2400,10,20,30,40,50,60 -2410,10,20,30,40,50,60 -2420,10,20,30,40,50,60 -2430,10,20,30,40,50,60 -2440,10,20,30,40,50,60 -2450,10,20,30,40,50,60 -2460,10,20,30,40,50,60 -2470,10,20,30,40,50,60 -2480,10,20,30,40,50,60 -2490,10,20,30,40,50,60 -2500,10,20,30,40,50,60 -2510,10,20,30,40,50,60 -2520,10,20,30,40,50,60 -2530,10,20,30,40,50,60 -2540,10,20,30,40,50,60 -2550,10,20,30,40,50,60 -2560,10,20,30,40,50,60 -2570,10,20,30,40,50,60 -2580,10,20,30,40,50,60 -2590,10,20,30,40,50,60 -2600,10,20,30,40,50,60 -2610,10,20,30,40,50,60 -2620,10,20,30,40,50,60 -2630,10,20,30,40,50,60 -2640,10,20,30,40,50,60 -2650,10,20,30,40,50,60 -2660,10,20,30,40,50,60 -2670,10,20,30,40,50,60 -2680,10,20,30,40,50,60 -2690,10,20,30,40,50,60 -2700,10,20,30,40,50,60 -2710,10,20,30,40,50,60 -2720,10,20,30,40,50,60 -2730,10,20,30,40,50,60 -2740,10,20,30,40,50,60 -2750,10,20,30,40,50,60 -2760,10,20,30,40,50,60 -2770,10,20,30,40,50,60 -2780,10,20,30,40,50,60 -2790,10,20,30,40,50,60 -2800,10,20,30,40,50,60 -2810,10,20,30,40,50,60 -2820,10,20,30,40,50,60 -2830,10,20,30,40,50,60 -2840,10,20,30,40,50,60 -2850,10,20,30,40,50,60 -2860,10,20,30,40,50,60 -2870,10,20,30,40,50,60 -2880,10,20,30,40,50,60 -2890,10,20,30,40,50,60 -2900,10,20,30,40,50,60 -2910,10,20,30,40,50,60 -2920,10,20,30,40,50,60 -2930,10,20,30,40,50,60 -2940,10,20,30,40,50,60 -2950,10,20,30,40,50,60 -2960,10,20,30,40,50,60 -2970,10,20,30,40,50,60 -2980,10,20,30,40,50,60 -2990,10,20,30,40,50,60 -3000,10,20,30,40,50,60 -3010,10,20,30,40,50,60 -3020,10,20,30,40,50,60 -3030,10,20,30,40,50,60 -3040,10,20,30,40,50,60 -3050,10,20,30,40,50,60 -3060,10,20,30,40,50,60 -3070,10,20,30,40,50,60 -3080,10,20,30,40,50,60 -3090,10,20,30,40,50,60 -3100,10,20,30,40,50,60 -3110,10,20,30,40,50,60 -3120,10,20,30,40,50,60 -3130,10,20,30,40,50,60 -3140,10,20,30,40,50,60 -3150,10,20,30,40,50,60 -3160,10,20,30,40,50,60 -3170,10,20,30,40,50,60 -3180,10,20,30,40,50,60 -3190,10,20,30,40,50,60 -3200,10,20,30,40,50,60 -3210,10,20,30,40,50,60 -3220,10,20,30,40,50,60 -3230,10,20,30,40,50,60 -3240,10,20,30,40,50,60 -3250,10,20,30,40,50,60 -3260,10,20,30,40,50,60 -3270,10,20,30,40,50,60 -3280,10,20,30,40,50,60 -3290,10,20,30,40,50,60 -3300,10,20,30,40,50,60 -3310,10,20,30,40,50,60 -3320,10,20,30,40,50,60 -3330,10,20,30,40,50,60 -3340,10,20,30,40,50,60 -3350,10,20,30,40,50,60 -3360,10,20,30,40,50,60 -3370,10,20,30,40,50,60 -3380,10,20,30,40,50,60 -3390,10,20,30,40,50,60 -3400,10,20,30,40,50,60 -3410,10,20,30,40,50,60 -3420,10,20,30,40,50,60 -3430,10,20,30,40,50,60 -3440,10,20,30,40,50,60 -3450,10,20,30,40,50,60 -3460,10,20,30,40,50,60 -3470,10,20,30,40,50,60 -3480,10,20,30,40,50,60 -3490,10,20,30,40,50,60 -3500,10,20,30,40,50,60 -3510,10,20,30,40,50,60 -3520,10,20,30,40,50,60 -3530,10,20,30,40,50,60 -3540,10,20,30,40,50,60 -3550,10,20,30,40,50,60 -3560,10,20,30,40,50,60 -3570,10,20,30,40,50,60 -3580,10,20,30,40,50,60 -3590,10,20,30,40,50,60 -3600,10,20,30,40,50,60 -3610,10,20,30,40,50,60 -3620,10,20,30,40,50,60 -3630,10,20,30,40,50,60 -3640,10,20,30,40,50,60 -3650,10,20,30,40,50,60 -3660,10,20,30,40,50,60 -3670,10,20,30,40,50,60 -3680,10,20,30,40,50,60 -3690,10,20,30,40,50,60 -3700,10,20,30,40,50,60 -3710,10,20,30,40,50,60 -3720,10,20,30,40,50,60 -3730,10,20,30,40,50,60 -3740,10,20,30,40,50,60 -3750,10,20,30,40,50,60 -3760,10,20,30,40,50,60 -3770,10,20,30,40,50,60 -3780,10,20,30,40,50,60 -3790,10,20,30,40,50,60 -3800,10,20,30,40,50,60 -3810,10,20,30,40,50,60 -3820,10,20,30,40,50,60 -3830,10,20,30,40,50,60 -3840,10,20,30,40,50,60 -3850,10,20,30,40,50,60 -3860,10,20,30,40,50,60 -3870,10,20,30,40,50,60 -3880,10,20,30,40,50,60 -3890,10,20,30,40,50,60 -3900,10,20,30,40,50,60 -3910,10,20,30,40,50,60 -3920,10,20,30,40,50,60 -3930,10,20,30,40,50,60 -3940,10,20,30,40,50,60 -3950,10,20,30,40,50,60 -3960,10,20,30,40,50,60 -3970,10,20,30,40,50,60 -3980,10,20,30,40,50,60 -3990,10,20,30,40,50,60 -4000,10,20,30,40,50,60 -4010,10,20,30,40,50,60 -4020,10,20,30,40,50,60 -4030,10,20,30,40,50,60 -4040,10,20,30,40,50,60 -4050,10,20,30,40,50,60 -4060,10,20,30,40,50,60 -4070,10,20,30,40,50,60 -4080,10,20,30,40,50,60 -4090,10,20,30,40,50,60 -4100,10,20,30,40,50,60 -4110,10,20,30,40,50,60 -4120,10,20,30,40,50,60 -4130,10,20,30,40,50,60 -4140,10,20,30,40,50,60 -4150,10,20,30,40,50,60 -4160,10,20,30,40,50,60 -4170,10,20,30,40,50,60 -4180,10,20,30,40,50,60 -4190,10,20,30,40,50,60 -4200,10,20,30,40,50,60 -4210,10,20,30,40,50,60 -4220,10,20,30,40,50,60 -4230,10,20,30,40,50,60 -4240,10,20,30,40,50,60 -4250,10,20,30,40,50,60 -4260,10,20,30,40,50,60 -4270,10,20,30,40,50,60 -4280,10,20,30,40,50,60 -4290,10,20,30,40,50,60 -4300,10,20,30,40,50,60 -4310,10,20,30,40,50,60 -4320,10,20,30,40,50,60 -4330,10,20,30,40,50,60 -4340,10,20,30,40,50,60 -4350,10,20,30,40,50,60 -4360,10,20,30,40,50,60 -4370,10,20,30,40,50,60 -4380,10,20,30,40,50,60 -4390,10,20,30,40,50,60 -4400,10,20,30,40,50,60 -4410,10,20,30,40,50,60 -4420,10,20,30,40,50,60 -4430,10,20,30,40,50,60 -4440,10,20,30,40,50,60 -4450,10,20,30,40,50,60 -4460,10,20,30,40,50,60 -4470,10,20,30,40,50,60 -4480,10,20,30,40,50,60 -4490,10,20,30,40,50,60 -4500,10,20,30,40,50,60 -4510,10,20,30,40,50,60 -4520,10,20,30,40,50,60 -4530,10,20,30,40,50,60 -4540,10,20,30,40,50,60 -4550,10,20,30,40,50,60 -4560,10,20,30,40,50,60 -4570,10,20,30,40,50,60 -4580,10,20,30,40,50,60 -4590,10,20,30,40,50,60 -4600,10,20,30,40,50,60 -4610,10,20,30,40,50,60 -4620,10,20,30,40,50,60 -4630,10,20,30,40,50,60 -4640,10,20,30,40,50,60 -4650,10,20,30,40,50,60 -4660,10,20,30,40,50,60 -4670,10,20,30,40,50,60 -4680,10,20,30,40,50,60 -4690,10,20,30,40,50,60 -4700,10,20,30,40,50,60 -4710,10,20,30,40,50,60 -4720,10,20,30,40,50,60 -4730,10,20,30,40,50,60 -4740,10,20,30,40,50,60 -4750,10,20,30,40,50,60 -4760,10,20,30,40,50,60 -4770,10,20,30,40,50,60 -4780,10,20,30,40,50,60 -4790,10,20,30,40,50,60 -4800,10,20,30,40,50,60 -4810,10,20,30,40,50,60 -4820,10,20,30,40,50,60 -4830,10,20,30,40,50,60 -4840,10,20,30,40,50,60 -4850,10,20,30,40,50,60 -4860,10,20,30,40,50,60 -4870,10,20,30,40,50,60 -4880,10,20,30,40,50,60 -4890,10,20,30,40,50,60 -4900,10,20,30,40,50,60 -4910,10,20,30,40,50,60 -4920,10,20,30,40,50,60 -4930,10,20,30,40,50,60 -4940,10,20,30,40,50,60 -4950,10,20,30,40,50,60 -4960,10,20,30,40,50,60 -4970,10,20,30,40,50,60 -4980,10,20,30,40,50,60 -4990,10,20,30,40,50,60 -5000,10,20,30,40,50,60 -5010,10,20,30,40,50,60 -5020,10,20,30,40,50,60 -5030,10,20,30,40,50,60 -5040,10,20,30,40,50,60 -5050,10,20,30,40,50,60 -5060,10,20,30,40,50,60 -5070,10,20,30,40,50,60 -5080,10,20,30,40,50,60 -5090,10,20,30,40,50,60 -5100,10,20,30,40,50,60 -5110,10,20,30,40,50,60 -5120,10,20,30,40,50,60 -5130,10,20,30,40,50,60 -5140,10,20,30,40,50,60 -5150,10,20,30,40,50,60 -5160,10,20,30,40,50,60 -5170,10,20,30,40,50,60 -5180,10,20,30,40,50,60 -5190,10,20,30,40,50,60 -5200,10,20,30,40,50,60 -5210,10,20,30,40,50,60 -5220,10,20,30,40,50,60 -5230,10,20,30,40,50,60 -5240,10,20,30,40,50,60 -5250,10,20,30,40,50,60 -5260,10,20,30,40,50,60 -5270,10,20,30,40,50,60 -5280,10,20,30,40,50,60 -5290,10,20,30,40,50,60 -5300,10,20,30,40,50,60 -5310,10,20,30,40,50,60 -5320,10,20,30,40,50,60 -5330,10,20,30,40,50,60 -5340,10,20,30,40,50,60 -5350,10,20,30,40,50,60 -5360,10,20,30,40,50,60 -5370,10,20,30,40,50,60 -5380,10,20,30,40,50,60 -5390,10,20,30,40,50,60 -5400,10,20,30,40,50,60 -5410,10,20,30,40,50,60 -5420,10,20,30,40,50,60 -5430,10,20,30,40,50,60 -5440,10,20,30,40,50,60 -5450,10,20,30,40,50,60 -5460,10,20,30,40,50,60 -5470,10,20,30,40,50,60 -5480,10,20,30,40,50,60 -5490,10,20,30,40,50,60 -5500,10,20,30,40,50,60 -5510,10,20,30,40,50,60 -5520,10,20,30,40,50,60 -5530,10,20,30,40,50,60 -5540,10,20,30,40,50,60 -5550,10,20,30,40,50,60 -5560,10,20,30,40,50,60 -5570,10,20,30,40,50,60 -5580,10,20,30,40,50,60 -5590,10,20,30,40,50,60 -5600,10,20,30,40,50,60 -5610,10,20,30,40,50,60 -5620,10,20,30,40,50,60 -5630,10,20,30,40,50,60 -5640,10,20,30,40,50,60 -5650,10,20,30,40,50,60 -5660,10,20,30,40,50,60 -5670,10,20,30,40,50,60 -5680,10,20,30,40,50,60 -5690,10,20,30,40,50,60 -5700,10,20,30,40,50,60 -5710,10,20,30,40,50,60 -5720,10,20,30,40,50,60 -5730,10,20,30,40,50,60 -5740,10,20,30,40,50,60 -5750,10,20,30,40,50,60 -5760,10,20,30,40,50,60 -5770,10,20,30,40,50,60 -5780,10,20,30,40,50,60 -5790,10,20,30,40,50,60 -5800,10,20,30,40,50,60 -5810,10,20,30,40,50,60 -5820,10,20,30,40,50,60 -5830,10,20,30,40,50,60 -5840,10,20,30,40,50,60 -5850,10,20,30,40,50,60 -5860,10,20,30,40,50,60 -5870,10,20,30,40,50,60 -5880,10,20,30,40,50,60 -5890,10,20,30,40,50,60 -5900,10,20,30,40,50,60 -5910,10,20,30,40,50,60 -5920,10,20,30,40,50,60 -5930,10,20,30,40,50,60 -5940,10,20,30,40,50,60 -5950,10,20,30,40,50,60 -5960,10,20,30,40,50,60 -5970,10,20,30,40,50,60 -5980,10,20,30,40,50,60 -5990,10,20,30,40,50,60 -6000,10,20,30,40,50,60 -6010,10,20,30,40,50,60 -6020,10,20,30,40,50,60 -6030,10,20,30,40,50,60 -6040,10,20,30,40,50,60 -6050,10,20,30,40,50,60 -6060,10,20,30,40,50,60 -6070,10,20,30,40,50,60 -6080,10,20,30,40,50,60 -6090,10,20,30,40,50,60 -6100,10,20,30,40,50,60 -6110,10,20,30,40,50,60 -6120,10,20,30,40,50,60 -6130,10,20,30,40,50,60 -6140,10,20,30,40,50,60 -6150,10,20,30,40,50,60 -6160,10,20,30,40,50,60 -6170,10,20,30,40,50,60 -6180,10,20,30,40,50,60 -6190,10,20,30,40,50,60 -6200,10,20,30,40,50,60 -6210,10,20,30,40,50,60 -6220,10,20,30,40,50,60 -6230,10,20,30,40,50,60 -6240,10,20,30,40,50,60 -6250,10,20,30,40,50,60 -6260,10,20,30,40,50,60 -6270,10,20,30,40,50,60 -6280,10,20,30,40,50,60 -6290,10,20,30,40,50,60 -6300,10,20,30,40,50,60 -6310,10,20,30,40,50,60 -6320,10,20,30,40,50,60 -6330,10,20,30,40,50,60 -6340,10,20,30,40,50,60 -6350,10,20,30,40,50,60 -6360,10,20,30,40,50,60 -6370,10,20,30,40,50,60 -6380,10,20,30,40,50,60 -6390,10,20,30,40,50,60 -6400,10,20,30,40,50,60 -6410,10,20,30,40,50,60 -6420,10,20,30,40,50,60 -6430,10,20,30,40,50,60 -6440,10,20,30,40,50,60 -6450,10,20,30,40,50,60 -6460,10,20,30,40,50,60 -6470,10,20,30,40,50,60 -6480,10,20,30,40,50,60 -6490,10,20,30,40,50,60 -6500,10,20,30,40,50,60 -6510,10,20,30,40,50,60 -6520,10,20,30,40,50,60 -6530,10,20,30,40,50,60 -6540,10,20,30,40,50,60 -6550,10,20,30,40,50,60 -6560,10,20,30,40,50,60 -6570,10,20,30,40,50,60 -6580,10,20,30,40,50,60 -6590,10,20,30,40,50,60 -6600,10,20,30,40,50,60 -6610,10,20,30,40,50,60 -6620,10,20,30,40,50,60 -6630,10,20,30,40,50,60 -6640,10,20,30,40,50,60 -6650,10,20,30,40,50,60 -6660,10,20,30,40,50,60 -6670,10,20,30,40,50,60 -6680,10,20,30,40,50,60 -6690,10,20,30,40,50,60 -6700,10,20,30,40,50,60 -6710,10,20,30,40,50,60 -6720,10,20,30,40,50,60 -6730,10,20,30,40,50,60 -6740,10,20,30,40,50,60 -6750,10,20,30,40,50,60 -6760,10,20,30,40,50,60 -6770,10,20,30,40,50,60 -6780,10,20,30,40,50,60 -6790,10,20,30,40,50,60 -6800,10,20,30,40,50,60 -6810,10,20,30,40,50,60 -6820,10,20,30,40,50,60 -6830,10,20,30,40,50,60 -6840,10,20,30,40,50,60 -6850,10,20,30,40,50,60 -6860,10,20,30,40,50,60 -6870,10,20,30,40,50,60 -6880,10,20,30,40,50,60 -6890,10,20,30,40,50,60 -6900,10,20,30,40,50,60 -6910,10,20,30,40,50,60 -6920,10,20,30,40,50,60 -6930,10,20,30,40,50,60 -6940,10,20,30,40,50,60 -6950,10,20,30,40,50,60 -6960,10,20,30,40,50,60 -6970,10,20,30,40,50,60 -6980,10,20,30,40,50,60 -6990,10,20,30,40,50,60 -7000,10,20,30,40,50,60 -7010,10,20,30,40,50,60 -7020,10,20,30,40,50,60 -7030,10,20,30,40,50,60 -7040,10,20,30,40,50,60 -7050,10,20,30,40,50,60 -7060,10,20,30,40,50,60 -7070,10,20,30,40,50,60 -7080,10,20,30,40,50,60 -7090,10,20,30,40,50,60 -7100,10,20,30,40,50,60 -7110,10,20,30,40,50,60 -7120,10,20,30,40,50,60 -7130,10,20,30,40,50,60 -7140,10,20,30,40,50,60 -7150,10,20,30,40,50,60 -7160,10,20,30,40,50,60 -7170,10,20,30,40,50,60 -7180,10,20,30,40,50,60 -7190,10,20,30,40,50,60 -7200,10,20,30,40,50,60 -7210,10,20,30,40,50,60 -7220,10,20,30,40,50,60 -7230,10,20,30,40,50,60 -7240,10,20,30,40,50,60 -7250,10,20,30,40,50,60 -7260,10,20,30,40,50,60 -7270,10,20,30,40,50,60 -7280,10,20,30,40,50,60 -7290,10,20,30,40,50,60 -7300,10,20,30,40,50,60 -7310,10,20,30,40,50,60 -7320,10,20,30,40,50,60 -7330,10,20,30,40,50,60 -7340,10,20,30,40,50,60 -7350,10,20,30,40,50,60 -7360,10,20,30,40,50,60 -7370,10,20,30,40,50,60 -7380,10,20,30,40,50,60 -7390,10,20,30,40,50,60 -7400,10,20,30,40,50,60 -7410,10,20,30,40,50,60 -7420,10,20,30,40,50,60 -7430,10,20,30,40,50,60 -7440,10,20,30,40,50,60 -7450,10,20,30,40,50,60 -7460,10,20,30,40,50,60 -7470,10,20,30,40,50,60 -7480,10,20,30,40,50,60 -7490,10,20,30,40,50,60 -7500,10,20,30,40,50,60 -7510,10,20,30,40,50,60 -7520,10,20,30,40,50,60 -7530,10,20,30,40,50,60 -7540,10,20,30,40,50,60 -7550,10,20,30,40,50,60 -7560,10,20,30,40,50,60 -7570,10,20,30,40,50,60 -7580,10,20,30,40,50,60 -7590,10,20,30,40,50,60 -7600,10,20,30,40,50,60 -7610,10,20,30,40,50,60 -7620,10,20,30,40,50,60 -7630,10,20,30,40,50,60 -7640,10,20,30,40,50,60 -7650,10,20,30,40,50,60 -7660,10,20,30,40,50,60 -7670,10,20,30,40,50,60 -7680,10,20,30,40,50,60 -7690,10,20,30,40,50,60 -7700,10,20,30,40,50,60 -7710,10,20,30,40,50,60 -7720,10,20,30,40,50,60 -7730,10,20,30,40,50,60 -7740,10,20,30,40,50,60 -7750,10,20,30,40,50,60 -7760,10,20,30,40,50,60 -7770,10,20,30,40,50,60 -7780,10,20,30,40,50,60 -7790,10,20,30,40,50,60 -7800,10,20,30,40,50,60 -7810,10,20,30,40,50,60 -7820,10,20,30,40,50,60 -7830,10,20,30,40,50,60 -7840,10,20,30,40,50,60 -7850,10,20,30,40,50,60 -7860,10,20,30,40,50,60 -7870,10,20,30,40,50,60 -7880,10,20,30,40,50,60 -7890,10,20,30,40,50,60 -7900,10,20,30,40,50,60 -7910,10,20,30,40,50,60 -7920,10,20,30,40,50,60 -7930,10,20,30,40,50,60 -7940,10,20,30,40,50,60 -7950,10,20,30,40,50,60 -7960,10,20,30,40,50,60 -7970,10,20,30,40,50,60 -7980,10,20,30,40,50,60 -7990,10,20,30,40,50,60 -8000,10,20,30,40,50,60 -8010,10,20,30,40,50,60 -8020,10,20,30,40,50,60 -8030,10,20,30,40,50,60 -8040,10,20,30,40,50,60 -8050,10,20,30,40,50,60 -8060,10,20,30,40,50,60 -8070,10,20,30,40,50,60 -8080,10,20,30,40,50,60 -8090,10,20,30,40,50,60 -8100,10,20,30,40,50,60 -8110,10,20,30,40,50,60 -8120,10,20,30,40,50,60 -8130,10,20,30,40,50,60 -8140,10,20,30,40,50,60 -8150,10,20,30,40,50,60 -8160,10,20,30,40,50,60 -8170,10,20,30,40,50,60 -8180,10,20,30,40,50,60 -8190,10,20,30,40,50,60 -8200,10,20,30,40,50,60 -8210,10,20,30,40,50,60 -8220,10,20,30,40,50,60 -8230,10,20,30,40,50,60 -8240,10,20,30,40,50,60 -8250,10,20,30,40,50,60 -8260,10,20,30,40,50,60 -8270,10,20,30,40,50,60 -8280,10,20,30,40,50,60 -8290,10,20,30,40,50,60 -8300,10,20,30,40,50,60 -8310,10,20,30,40,50,60 -8320,10,20,30,40,50,60 -8330,10,20,30,40,50,60 -8340,10,20,30,40,50,60 -8350,10,20,30,40,50,60 -8360,10,20,30,40,50,60 -8370,10,20,30,40,50,60 -8380,10,20,30,40,50,60 -8390,10,20,30,40,50,60 -8400,10,20,30,40,50,60 -8410,10,20,30,40,50,60 -8420,10,20,30,40,50,60 -8430,10,20,30,40,50,60 -8440,10,20,30,40,50,60 -8450,10,20,30,40,50,60 -8460,10,20,30,40,50,60 -8470,10,20,30,40,50,60 -8480,10,20,30,40,50,60 -8490,10,20,30,40,50,60 -8500,10,20,30,40,50,60 -8510,10,20,30,40,50,60 -8520,10,20,30,40,50,60 -8530,10,20,30,40,50,60 -8540,10,20,30,40,50,60 -8550,10,20,30,40,50,60 -8560,10,20,30,40,50,60 -8570,10,20,30,40,50,60 -8580,10,20,30,40,50,60 -8590,10,20,30,40,50,60 -8600,10,20,30,40,50,60 -8610,10,20,30,40,50,60 -8620,10,20,30,40,50,60 -8630,10,20,30,40,50,60 -8640,10,20,30,40,50,60 -8650,10,20,30,40,50,60 -8660,10,20,30,40,50,60 -8670,10,20,30,40,50,60 -8680,10,20,30,40,50,60 -8690,10,20,30,40,50,60 -8700,10,20,30,40,50,60 -8710,10,20,30,40,50,60 -8720,10,20,30,40,50,60 -8730,10,20,30,40,50,60 -8740,10,20,30,40,50,60 -8750,10,20,30,40,50,60 -8760,10,20,30,40,50,60 -8770,10,20,30,40,50,60 -8780,10,20,30,40,50,60 -8790,10,20,30,40,50,60 -8800,10,20,30,40,50,60 -8810,10,20,30,40,50,60 -8820,10,20,30,40,50,60 -8830,10,20,30,40,50,60 -8840,10,20,30,40,50,60 -8850,10,20,30,40,50,60 -8860,10,20,30,40,50,60 -8870,10,20,30,40,50,60 -8880,10,20,30,40,50,60 -8890,10,20,30,40,50,60 -8900,10,20,30,40,50,60 -8910,10,20,30,40,50,60 -8920,10,20,30,40,50,60 -8930,10,20,30,40,50,60 -8940,10,20,30,40,50,60 -8950,10,20,30,40,50,60 -8960,10,20,30,40,50,60 -8970,10,20,30,40,50,60 -8980,10,20,30,40,50,60 -8990,10,20,30,40,50,60 -9000,10,20,30,40,50,60 -9010,10,20,30,40,50,60 -9020,10,20,30,40,50,60 -9030,10,20,30,40,50,60 -9040,10,20,30,40,50,60 -9050,10,20,30,40,50,60 -9060,10,20,30,40,50,60 -9070,10,20,30,40,50,60 -9080,10,20,30,40,50,60 -9090,10,20,30,40,50,60 -9100,10,20,30,40,50,60 -9110,10,20,30,40,50,60 -9120,10,20,30,40,50,60 -9130,10,20,30,40,50,60 -9140,10,20,30,40,50,60 -9150,10,20,30,40,50,60 -9160,10,20,30,40,50,60 -9170,10,20,30,40,50,60 -9180,10,20,30,40,50,60 -9190,10,20,30,40,50,60 -9200,10,20,30,40,50,60 -9210,10,20,30,40,50,60 -9220,10,20,30,40,50,60 -9230,10,20,30,40,50,60 -9240,10,20,30,40,50,60 -9250,10,20,30,40,50,60 -9260,10,20,30,40,50,60 -9270,10,20,30,40,50,60 -9280,10,20,30,40,50,60 -9290,10,20,30,40,50,60 -9300,10,20,30,40,50,60 -9310,10,20,30,40,50,60 -9320,10,20,30,40,50,60 -9330,10,20,30,40,50,60 -9340,10,20,30,40,50,60 -9350,10,20,30,40,50,60 -9360,10,20,30,40,50,60 -9370,10,20,30,40,50,60 -9380,10,20,30,40,50,60 -9390,10,20,30,40,50,60 -9400,10,20,30,40,50,60 -9410,10,20,30,40,50,60 -9420,10,20,30,40,50,60 -9430,10,20,30,40,50,60 -9440,10,20,30,40,50,60 -9450,10,20,30,40,50,60 -9460,10,20,30,40,50,60 -9470,10,20,30,40,50,60 -9480,10,20,30,40,50,60 -9490,10,20,30,40,50,60 -9500,10,20,30,40,50,60 -9510,10,20,30,40,50,60 -9520,10,20,30,40,50,60 -9530,10,20,30,40,50,60 -9540,10,20,30,40,50,60 -9550,10,20,30,40,50,60 -9560,10,20,30,40,50,60 -9570,10,20,30,40,50,60 -9580,10,20,30,40,50,60 -9590,10,20,30,40,50,60 -9600,10,20,30,40,50,60 -9610,10,20,30,40,50,60 -9620,10,20,30,40,50,60 -9630,10,20,30,40,50,60 -9640,10,20,30,40,50,60 -9650,10,20,30,40,50,60 -9660,10,20,30,40,50,60 -9670,10,20,30,40,50,60 -9680,10,20,30,40,50,60 -9690,10,20,30,40,50,60 -9700,10,20,30,40,50,60 -9710,10,20,30,40,50,60 -9720,10,20,30,40,50,60 -9730,10,20,30,40,50,60 -9740,10,20,30,40,50,60 -9750,10,20,30,40,50,60 -9760,10,20,30,40,50,60 -9770,10,20,30,40,50,60 -9780,10,20,30,40,50,60 -9790,10,20,30,40,50,60 -9800,10,20,30,40,50,60 -9810,10,20,30,40,50,60 -9820,10,20,30,40,50,60 -9830,10,20,30,40,50,60 -9840,10,20,30,40,50,60 -9850,10,20,30,40,50,60 -9860,10,20,30,40,50,60 -9870,10,20,30,40,50,60 -9880,10,20,30,40,50,60 -9890,10,20,30,40,50,60 -9900,10,20,30,40,50,60 -9910,10,20,30,40,50,60 -9920,10,20,30,40,50,60 -9930,10,20,30,40,50,60 -9940,10,20,30,40,50,60 -9950,10,20,30,40,50,60 -9960,10,20,30,40,50,60 -9970,10,20,30,40,50,60 -9980,10,20,30,40,50,60 -9981,11,21,31,41,51,61 -9982,12,22,32,42,52,62 -9983,13,23,33,43,53,63 -9984,14,24,34,44,54,64 -9985,15,25,35,45,55,65 -9986,16,26,36,46,56,66 -9987,17,27,37,47,57,67 -9988,18,28,38,48,58,68 -9989,19,29,39,49,59,69 -9990,20,30,40,50,60,70 -9991,21,31,41,51,61,71 -9992,22,32,42,52,62,72 -9993,23,33,43,53,63,73 -9994,24,34,44,54,64,74 -9995,25,35,45,55,65,75 -9996,26,36,46,56,66,76 -9997,27,37,47,57,67,77 -9998,28,38,48,58,68,78 -9999,29,39,49,59,69,79 -10000,30,40,50,60,70,80 -10001,31,41,51,61,71,81 -10002,32,42,52,62,72,82 diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/ECPCSubscriber.cfg b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/ECPCSubscriber.cfg deleted file mode 100644 index 1566c70..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/ECPCSubscriber.cfg +++ /dev/null @@ -1,396 +0,0 @@ -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +Start = { - Class = StateMachineEvent - NextState = "WAITSTANDBY" - NextStateError = "WAITSTANDBY" - +PrepareNextStateMsg = { - Class = Message - Destination = JAGyrotronRTApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = WaitStandby - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = JAGyrotronRTApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +WAITSTANDBY = { - Class = ReferenceContainer - +Stay = { - Class = StateMachineEvent - NextState = "WAITSTANDBY" - NextStateError = "WAITSTANDBY" - +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 - } - } - } -} -+JAGyrotronRTApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMSDNSubCommand = { - Class = IOGAM - InputSignals = { - Command = { - DataSource = SDNSubCommands - Type = uint16 - NumberOfDimensions = 1 - NumberOfElements = 64 - Ranges = {{0 0}} - Frequency = 1 - } - ESDNTime = { - DataSource = SDNSubCommands - Type = uint32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - ESDNTimeDisplay = { - Alias = ESDNTime - DataSource = SDNSubCommands - Type = uint32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - } - OutputSignals = { - Command = { - DataSource = Display - Type = uint16 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - ESDNTimeDisplay = { - DataSource = Display - Type = uint32 - } - } - } - +GAMSDNSubWaveform = { - Class = IOGAM - InputSignals = { - GYA_FHPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_MCPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_CCPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - MHVPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_BPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_APS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - WaveformPacketIDFor1kHz = { - DataSource = SDNSubWaveform - Alias = WaveformPacketID - Type = uint16 - } - } - OutputSignals = { - GYA_FHPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_MCPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_CCPS_SP = { - DataSource = DDB1 - Type = float32 - } - MHVPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_BPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_APS_SP = { - DataSource = DDB1 - Type = float32 - } - WaveformPacketIDFor1kHz = { - DataSource = DDB1 - Alias = WaveformPacketID - Type = uint16 - } - } - } - +GAMReply = { - Class = IOGAM - InputSignals = { - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - WaveformPacketID = { - DataSource = DDB1 - Type = uint16 - } - } - OutputSignals = { - ESDNTime = { - DataSource = SDNReply - Type = uint32 - Trigger = 1 - } - ReplyWaveformAck = { - DataSource = SDNReply - Type = uint16 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timings = { - Class = TimingDataSource - } - +Display = { - Class = LoggerDataSource - } - +SDNSubCommands = { - Class = SDN::SDNSubscriber - Topic = ECPC2SCUJA - Interface = lo - CPUs = 0x2 - Locked = 1 - Timeout = 1000 // TODO: change to 1 ms - 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 = lo - CPUs = 0x8 - 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 - } - } - } - +SDNSubWaveform = { - Class = SDN::SDNSubscriber - Topic = ECPC2SCUJAWF - Interface = lo - Locked = 1 - Timeout = 1000 // TODO: change to 1 ms - 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 - } - WaveformPacketID = { - Type = uint16 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_MCPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_CCPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - MHVPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_BPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_APS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - } - } - } - +States = { - Class = ReferenceContainer - +WaitStandby = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMSDNSubCommand GAMSDNSubWaveform GAMReply} - CPUs = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.cfg b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.cfg deleted file mode 100644 index ae4a27b..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.cfg +++ /dev/null @@ -1,249 +0,0 @@ -// +LoggerService = { -// Class = LoggerService -// CPUs = 0x1 -// StackSize = 32768 -// NumberOfLogPages = 128 -// +ConLogger = { -// Class = ConsoleLogger -// Format = "EtOoFmC" -// PrintKeys = 1 -// } -// } -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 1 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PV2DDB1 = { - Class = IOGAM - InputSignals = { - AiValue = { - DataSource = EPICSCAInput - Type = float32 - } - LongInValue = { - DataSource = EPICSCAInput - Type = uint32 - } - StringInValue = { - DataSource = EPICSCAInput - Type = char8 - NumberOfElements = 40 - } - } - OutputSignals = { - AValue = { - DataSource = DDB1 - Type = float32 - } - LValue = { - DataSource = DDB1 - Type = uint32 - } - SValue = { - DataSource = DDB1 - Type = char8 - NumberOfElements = 40 - } - } - } - +DDB12PV = { - Class = IOGAM - InputSignals = { - AValue = { - DataSource = DDB1 - Type = float32 - } - LValue = { - DataSource = DDB1 - Type = uint32 - } - SValue = { - DataSource = DDB1 - Type = char8 - NumberOfElements = 40 - } - } - OutputSignals = { - AoValue = { - DataSource = EPICSCAOutput - Type = float32 - } - LongOutValue = { - DataSource = EPICSCAOutput - Type = uint32 - } - StringOutValue = { - DataSource = EPICSCAOutput - Type = char8 - NumberOfElements = 40 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +EPICSCAInput = { - //Class = "EPICSCA::EPICSCAInput" - Class = "JAEPICSCA::JAEPICSCAInput" - CPUMask = "1" - StackSize = "10000000" - Signals = { - AiValue = { - PVName = "ai" - Type = float32 - } - LongInValue = { - PVName = "longin" - Type = uint32 - } - StringInValue = { - PVName = "stringin" - Type = char8 - NumberOfElements = 40 - } - } - } - +EPICSCAOutput = { - //Class = "EPICSCA::EPICSCAOutput" - Class = "JAEPICSCA::JAEPICSCAOutput" - CPUMask = "1" - StackSize = "10000000" - NumberOfBuffers = 2 - Signals = { - AoValue = { - PVName = "ao" - Type = float32 - } - LongOutValue = { - PVName = "longout" - Type = uint32 - } - StringOutValue = { - PVName = "stringout" - Type = char8 - NumberOfElements = 40 - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer PV2DDB1 DDB12PV} - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.db b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.db deleted file mode 100644 index c344eae..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.db +++ /dev/null @@ -1,18 +0,0 @@ -record(longin, longin){ - field(SCAN, "Passive") -} -record(longout, longout){ - field(SCAN, "Passive") -} -record(ai, ai){ - field(SCAN, "Passive") -} -record(ao, ao){ - field(SCAN, "Passive") -} -record(stringin, stringin){ - field(SCAN, "Passive") -} -record(stringout, stringout){ - field(SCAN, "Passive") -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.cfg b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.cfg deleted file mode 100644 index 1efebb0..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.cfg +++ /dev/null @@ -1,1081 +0,0 @@ -// +LoggerService = { -// Class = LoggerService -// CPUs = 0x1 -// StackSize = 32768 -// NumberOfLogPages = 128 -// +ConLogger = { -// Class = ConsoleLogger -// Format = "EtOoFmC" -// PrintKeys = 1 -// } -// } - -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 1 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - //EPICS PV read GAM - +PV2DDB1GAM = { - Class = IOGAM - InputSignals = { - ni6259d0p0do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d0p3do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d0p4do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6259d1p0do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d1p3do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d1p4do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - ni6259d0p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d0p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d0p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6259d1p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d1p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d1p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do7 = { - DataSource = DDB1 - Type = uint32 - } - } - } - //HW Write GAMs - //NI6259 uses uint32, so it is not able to use BitSumGAM - +NI6259D0P0GAM = { - Class = JABitSumGAM - InputSignals = { - ni6259d0p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6259D0P0Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D0P3GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d0p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D0P3Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D0P4GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d0p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D0P4Value = { - DataSource = Display - Type = uint8 - } - } - } - //NI6259 uses uint32, so it is not able to use BitSumGAM - +NI6259D1P0GAM = { - Class = JABitSumGAM - InputSignals = { - ni6259d1p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6259D1P0Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D1P3GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d1p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D1P3Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D1P4GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d1p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D1P4Value = { - DataSource = Display - Type = uint8 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - - /**** - +NI6259D1P0 = { - Class = NI6259::NI6259DIO - DeviceName = "/dev/pxi6259" - BoardId = 1 - Signals = { - NI6269D1P0Value = { - Type = uint32 - Mask = 0xFF - PortId = 0 - } - } - } - +NI6528D1P3 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.1" - Port = 3 - Value = { - NI6528D1P3Value = { - Type = uint32 - } - } - } - +NI6528D1P4 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.1" - Port = 4 - Value = { - NI6528D1P4Value = { - Type = uint32 - } - } - } - +NI6259D0P0 = { - Class = NI6259::NI6259DIO - DeviceName = "/dev/pxi6259" - BoardId = 0 - Signals = { - NI6259D0P0Value = { - Type = uint32 - Mask = 0xFF - PortId = 0 - } - } - } - +NI6528D0P3 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 3 - Value = { - NI6528D0P3Value = { - Type = uint32 - } - } - } - +NI6528D0P4 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 4 - Value = { - NI6528D0P4Value = { - Type = uint32 - } - } - } - ***/ - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "1" - StackSize = "10000000" - Signals = { - // NI6259 DO PVs - ni6259d0p0do0 = { - PVName = "ni6259:d0:p0:do0" - Type = uint32 - } - ni6259d0p0do1 = { - PVName = "ni6259:d0:p0:do1" - Type = uint32 - } - ni6259d0p0do2 = { - PVName = "ni6259:d0:p0:do2" - Type = uint32 - } - ni6259d0p0do3 = { - PVName = "ni6259:d0:p0:do3" - Type = uint32 - } - ni6259d0p0do4 = { - PVName = "ni6259:d0:p0:do4" - Type = uint32 - } - ni6259d0p0do5 = { - PVName = "ni6259:d0:p0:do5" - Type = uint32 - } - ni6259d0p0do6 = { - PVName = "ni6259:d0:p0:do6" - Type = uint32 - } - ni6259d0p0do7 = { - PVName = "ni6259:d0:p0:do7" - Type = uint32 - } - - // NI6528P3 PVs - ni6528d0p3do0 = { - PVName = "ni6528:d0:p3:do0" - Type = uint32 - } - ni6528d0p3do1 = { - PVName = "ni6528:d0:p3:do1" - Type = uint32 - } - ni6528d0p3do2 = { - PVName = "ni6528:d0:p3:do2" - Type = uint32 - } - ni6528d0p3do3 = { - PVName = "ni6528:d0:p3:do3" - Type = uint32 - } - ni6528d0p3do4 = { - PVName = "ni6528:d0:p3:do4" - Type = uint32 - } - ni6528d0p3do5 = { - PVName = "ni6528:d0:p3:do5" - Type = uint32 - } - ni6528d0p3do6 = { - PVName = "ni6528:d0:p3:do6" - Type = uint32 - } - ni6528d0p3do7 = { - PVName = "ni6528:d0:p3:do7" - Type = uint32 - } - - //NI6528P4 PVs - ni6528d0p4do0 = { - PVName = "ni6528:d0:p4:do0" - Type = uint32 - } - ni6528d0p4do1 = { - PVName = "ni6528:d0:p4:do1" - Type = uint32 - } - ni6528d0p4do2 = { - PVName = "ni6528:d0:p4:do2" - Type = uint32 - } - ni6528d0p4do3 = { - PVName = "ni6528:d0:p4:do3" - Type = uint32 - } - ni6528d0p4do4 = { - PVName = "ni6528:d0:p4:do4" - Type = uint32 - } - ni6528d0p4do5 = { - PVName = "ni6528:d0:p4:do5" - Type = uint32 - } - ni6528d0p4do6 = { - PVName = "ni6528:d0:p4:do6" - Type = uint32 - } - ni6528d0p4do7 = { - PVName = "ni6528:d0:p4:do7" - Type = uint32 - } - - // NI6259 DO PVs - ni6259d1p0do0 = { - PVName = "ni6259:d1:p0:do0" - Type = uint32 - } - ni6259d1p0do1 = { - PVName = "ni6259:d1:p0:do1" - Type = uint32 - } - ni6259d1p0do2 = { - PVName = "ni6259:d1:p0:do2" - Type = uint32 - } - ni6259d1p0do3 = { - PVName = "ni6259:d1:p0:do3" - Type = uint32 - } - ni6259d1p0do4 = { - PVName = "ni6259:d1:p0:do4" - Type = uint32 - } - ni6259d1p0do5 = { - PVName = "ni6259:d1:p0:do5" - Type = uint32 - } - ni6259d1p0do6 = { - PVName = "ni6259:d1:p0:do6" - Type = uint32 - } - ni6259d1p0do7 = { - PVName = "ni6259:d1:p0:do7" - Type = uint32 - } - - // NI6528P3 PVs - ni6528d1p3do0 = { - PVName = "ni6528:d1:p3:do0" - Type = uint32 - } - ni6528d1p3do1 = { - PVName = "ni6528:d1:p3:do1" - Type = uint32 - } - ni6528d1p3do2 = { - PVName = "ni6528:d1:p3:do2" - Type = uint32 - } - ni6528d1p3do3 = { - PVName = "ni6528:d1:p3:do3" - Type = uint32 - } - ni6528d1p3do4 = { - PVName = "ni6528:d1:p3:do4" - Type = uint32 - } - ni6528d1p3do5 = { - PVName = "ni6528:d1:p3:do5" - Type = uint32 - } - ni6528d1p3do6 = { - PVName = "ni6528:d1:p3:do6" - Type = uint32 - } - ni6528d1p3do7 = { - PVName = "ni6528:d1:p3:do7" - Type = uint32 - } - - //NI6528P4 PVs - ni6528d1p4do0 = { - PVName = "ni6528:d1:p4:do0" - Type = uint32 - } - ni6528d1p4do1 = { - PVName = "ni6528:d1:p4:do1" - Type = uint32 - } - ni6528d1p4do2 = { - PVName = "ni6528:d1:p4:do2" - Type = uint32 - } - ni6528d1p4do3 = { - PVName = "ni6528:d1:p4:do3" - Type = uint32 - } - ni6528d1p4do4 = { - PVName = "ni6528:d1:p4:do4" - Type = uint32 - } - ni6528d1p4do5 = { - PVName = "ni6528:d1:p4:do5" - Type = uint32 - } - ni6528d1p4do6 = { - PVName = "ni6528:d1:p4:do6" - Type = uint32 - } - ni6528d1p4do7 = { - PVName = "ni6528:d1:p4:do7" - Type = uint32 - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer PV2DDB1GAM NI6259D0P0GAM NI6528D0P3GAM NI6528D0P4GAM NI6259D1P0GAM NI6528D1P3GAM NI6528D1P4GAM } - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.db b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.db deleted file mode 100644 index 1b2696d..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.db +++ /dev/null @@ -1,257 +0,0 @@ -### The board on the Right Side Slots - -# NI6259 P0 PVs -record(bo, "ni6259:d1:p0:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - -#NI6528 P3 PVs -record(bo, "ni6528:d1:p3:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - - -#NI6528 P4 PVs -record(bo, "ni6528:d1:p4:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - - -### Left Side Slots -# NI6259 P0 PVs -record(bo, "ni6259:d0:p0:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - -#NI6528 P3 PVs -record(bo, "ni6528:d0:p3:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - - -#NI6528 P4 PVs -record(bo, "ni6528:d0:p4:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.cfg b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.cfg deleted file mode 100644 index 2ac80fa..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.cfg +++ /dev/null @@ -1,191 +0,0 @@ -+LoggerService = { - Class = LoggerService - CPUs = 0x1 - StackSize = 32768 - NumberOfLogPages = 128 - +ConLogger = { - Class = ConsoleLogger - Format = "EtOoFmC" - PrintKeys = 1 - } -} -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 1 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - +GAMEPICSCA = { - Class = IOGAM - InputSignals = { - doValue = { - DataSource = EPICSCAInput - Type = uint8 - } - } - OutputSignals = { - Value = { - DataSource = DDB1 - Type = uint8 - } - } - } - +GAMDebug = { - Class = IOGAM - InputSignals = { - Value = { - DataSource = DDB1 - Type = uint8 - } - - } - OutputSignals = { - Value = { - DataSource = NI6528 - Type = uint8 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +NI6528 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 3 - Value = { - Counter = { - Type = uint8 - } - } - } - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "1" - StackSize = "10000000" - Signals = { - doValue = { - PVName = "test:doValue" - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer GAMEPICSCA GAMDebug} - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.db b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.db deleted file mode 100644 index ccec4a0..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.db +++ /dev/null @@ -1,18 +0,0 @@ -record(bo, "test:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "test:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "test:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(longin, test:doValue){ - field(SCAN, "Passive") -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/README.md b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/README.md deleted file mode 100644 index 01ec4d2..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/README.md +++ /dev/null @@ -1,29 +0,0 @@ -ECPCSubscriber.cfg is a configuration for testing ECPC simulator (JAECPCSimulator.cfg). - -Setup: -1) Run softIoc. In qst-gyrotron-fast-controller/Configurations execute command: - softIoc -d ECPC_IOC.db - -2) Run ECPC simulator. In qst-gyrotron-fast-controller/Startup execute command: - ./Main.sh -f ../Configurations/JAECPCSimulator.cfg -l RealTimeLoader -m StateMachine:Start - -3) Run ECPC subscriber. In qst-gyrotron-fast-controller/Startup execute command: - ./Main.sh -f ../Configurations/tests/ECPCSubscriber.cfg -l RealTimeLoader -m StateMachine:Start - -The ECPC simulator should automatically start sending waveforms, which will be printed by the ECPC subscriber every 10 milliseconds. -The ECPC simulator will also be sending command, which is printed by the ECPC subscriber every millisecond. - -To change command that is being sent, you have to caput 1 to one of following PVs: -MHVPS_ON (command 1) -GYA_BPS_SWON (command 2) -GYA_APS_SWON (command 3) -GYB_BPS_SWON (command 4) -GYB_APS_SWON (command 5) -GYA_BPS_SWOFF (command 6) -GYA_APS_SWOFF (command 7) -GYB_BPS_SWOFF (command 8) -GYB_APS_SWOFF (command 9) -RF_OFF (command 10) - -To stop sending that command, caput 0 to that PV. - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/Timer_Test.cfg b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/Timer_Test.cfg deleted file mode 100644 index cea80cf..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Configurations/tests/Timer_Test.cfg +++ /dev/null @@ -1,163 +0,0 @@ -+LoggerService = { - Class = LoggerService - CPUs = 0x1 - StackSize = 32768 - NumberOfLogPages = 128 - +ConLogger = { - Class = ConsoleLogger - Format = "EtOoFmC" - PrintKeys = 1 - } -} -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { //Time attribute is updated with us resolution. - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 10 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - +TimerDisplayGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - TimeDISP = { - DataSource = Display - Type = uint32 - } - CounterDISP = { - DataSource = Display - Type = uint32 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer TimerDisplayGAM} - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.cpp deleted file mode 100644 index ac3464d..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.cpp +++ /dev/null @@ -1,366 +0,0 @@ -/** - * @file JAEPICSCAInput.cpp - * @brief Source file for class JAEPICSCAInput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 JAEPICSCAInput (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include "JAEPICSCAInput.h" - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "MemoryMapInputBroker.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -namespace MARTe { -/** - * @brief Callback function for the ca_create_subscription. Single point of access which - * delegates the events to the corresponding JAEPICSPV instance. - */ -static FastPollingMutexSem eventCallbackFastMux; -/*lint -e{1746} function must match required prototype and thus cannot be changed to constant reference.*/ -void JAEPICSCAInputEventCallback(struct event_handler_args const args) { - (void) eventCallbackFastMux.FastLock(); - PVWrapper *pv = static_cast(args.usr); - if (pv != NULL_PTR(PVWrapper *)) { - (void) MemoryOperationsHelper::Copy(pv->memory, args.dbr, pv->memorySize); - } - eventCallbackFastMux.FastUnLock(); -} -} -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -JAEPICSCAInput::JAEPICSCAInput() : - DataSourceI(), EmbeddedServiceMethodBinderI(), executor(*this) { - pvs = NULL_PTR(PVWrapper *); - stackSize = THREADS_DEFAULT_STACKSIZE * 4u; - cpuMask = 0xffu; - eventCallbackFastMux.Create(); -} - -/*lint -e{1551} must stop the SingleThreadService in the destructor.*/ -JAEPICSCAInput::~JAEPICSCAInput() { - if (!executor.Stop()) { - if (!executor.Stop()) { - REPORT_ERROR(ErrorManagement::FatalError, "Could not stop SingleThreadService."); - } - } - (void) eventCallbackFastMux.FastLock(); - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - if (pvs[n].memory != NULL_PTR(void *)) { - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].memory); - } - } - delete[] pvs; - } - eventCallbackFastMux.FastUnLock(); -} - -bool JAEPICSCAInput::Initialise(StructuredDataI & data) { - bool ok = DataSourceI::Initialise(data); - if (ok) { - if (!data.Read("CPUs", cpuMask)) { - REPORT_ERROR(ErrorManagement::Information, "No CPUs defined. Using default = %d", cpuMask); - } - if (!data.Read("StackSize", stackSize)) { - REPORT_ERROR(ErrorManagement::Information, "No StackSize defined. Using default = %d", stackSize); - } - executor.SetStackSize(stackSize); - executor.SetCPUMask(cpuMask); - } - if (ok) { - ok = data.MoveRelative("Signals"); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Could not move to the Signals section"); - } - if (ok) { - ok = data.Copy(originalSignalInformation); - } - if (ok) { - ok = originalSignalInformation.MoveToRoot(); - } - //Do not allow to add signals in run-time - if (ok) { - ok = signalsDatabase.MoveRelative("Signals"); - } - if (ok) { - ok = signalsDatabase.Write("Locked", 1u); - } - if (ok) { - ok = signalsDatabase.MoveToAncestor(1u); - } - } - if (ok) { - ok = data.MoveToAncestor(1u); - } - return ok; -} - -bool JAEPICSCAInput::SetConfiguredDatabase(StructuredDataI & data) { - bool ok = DataSourceI::SetConfiguredDatabase(data); - //Check the signal index of the timing signal. - uint32 nOfSignals = GetNumberOfSignals(); - if (ok) { - ok = (nOfSignals > 0u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one signal shall be defined"); - } - } - if (ok) { - //Do not allow samples - uint32 functionNumberOfSignals = 0u; - uint32 n; - if (GetFunctionNumberOfSignals(InputSignals, 0u, functionNumberOfSignals)) { - for (n = 0u; (n < functionNumberOfSignals) && (ok); n++) { - uint32 nSamples; - ok = GetFunctionSignalSamples(InputSignals, 0u, n, nSamples); - if (ok) { - ok = (nSamples == 1u); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The number of samples shall be exactly 1"); - } - } - } - } - if (ok) { - pvs = new PVWrapper[nOfSignals]; - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - pvs[n].memory = NULL_PTR(void *); - } - for (n = 0u; (n < nOfSignals) && (ok); n++) { - //Note that the RealTimeApplicationConfigurationBuilder is allowed to change the order of the signals w.r.t. to the originalSignalInformation - StreamString orderedSignalName; - ok = GetSignalName(n, orderedSignalName); - if (ok) { - //Have to mix and match between the original setting of the DataSource signal - //and the ones which are later added by the RealTimeApplicationConfigurationBuilder - ok = originalSignalInformation.MoveRelative(orderedSignalName.Buffer()); - } - StreamString pvName; - if (ok) { - ok = originalSignalInformation.Read("PVName", pvName); - if (!ok) { - uint32 nn = n; - REPORT_ERROR(ErrorManagement::ParametersError, "No PVName specified for signal at index %d", nn); - } - } - TypeDescriptor td = GetSignalType(n); - if (ok) { - (void) StringHelper::CopyN(&pvs[n].pvName[0], pvName.Buffer(), PV_NAME_MAX_SIZE); - if (td == CharString) { - pvs[n].pvType = DBR_STRING; - } - else if (td == Character8Bit) { - pvs[n].pvType = DBR_STRING; - } - else if (td == SignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == UnsignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == SignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == UnsignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == SignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == UnsignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == Float32Bit) { - pvs[n].pvType = DBR_FLOAT; - } - else if (td == Float64Bit) { - pvs[n].pvType = DBR_DOUBLE; - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Type %s is not supported", TypeDescriptor::GetTypeNameFromTypeDescriptor(td)); - ok = false; - } - } - uint32 numberOfElements = 1u; - if (ok) { - ok = GetSignalNumberOfElements(n, numberOfElements); - } - if (ok) { - if (pvs[n].pvType == DBR_STRING) { - ok = (numberOfElements == 40u); - } - if (!ok) { - //Could support arrays of strings with multiples of char8[40] - REPORT_ERROR(ErrorManagement::ParametersError, "Strings shall be defined with 40 elements char8[40]. Arrays of strings are not currently supported"); - } - } - if (ok) { - pvs[n].numberOfElements = numberOfElements; - } - if (ok) { - pvs[n].memorySize = td.numberOfBits; - pvs[n].memorySize /= 8u; - pvs[n].memorySize *= numberOfElements; - pvs[n].memory = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - ok = originalSignalInformation.MoveToAncestor(1u); - } - } - } - - if (ok) { - ok = (executor.Start() == ErrorManagement::NoError); - } - return ok; -} - -bool JAEPICSCAInput::AllocateMemory() { - return true; -} - -uint32 JAEPICSCAInput::GetNumberOfMemoryBuffers() { - return 1u; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The signalAddress is independent of the bufferIdx.*/ -bool JAEPICSCAInput::GetSignalMemoryBuffer(const uint32 signalIdx, const uint32 bufferIdx, void*& signalAddress) { - bool ok = (pvs != NULL_PTR(PVWrapper *)); - if (ok) { - ok = (signalIdx < GetNumberOfSignals()); - } - if (ok) { - //lint -e{613} pvs cannot as otherwise ok would be false - signalAddress = pvs[signalIdx].memory; - } - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The brokerName only depends on the direction */ -const char8* JAEPICSCAInput::GetBrokerName(StructuredDataI& data, const SignalDirection direction) { - const char8* brokerName = ""; - if (direction == InputSignals) { - brokerName = "MemoryMapInputBroker"; - } - return brokerName; -} - -bool JAEPICSCAInput::GetInputBrokers(ReferenceContainer& inputBrokers, const char8* const functionName, void* const gamMemPtr) { - ReferenceT broker("MemoryMapInputBroker"); - bool ok = broker->Init(InputSignals, *this, functionName, gamMemPtr); - if (ok) { - ok = inputBrokers.Insert(broker); - } - - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: OutputBrokers are not supported. Function returns false irrespectively of the parameters.*/ -bool JAEPICSCAInput::GetOutputBrokers(ReferenceContainer& outputBrokers, const char8* const functionName, void* const gamMemPtr) { - return false; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: NOOP at StateChange, independently of the function parameters.*/ -bool JAEPICSCAInput::PrepareNextState(const char8* const currentStateName, const char8* const nextStateName) { - return true; -} - -ErrorManagement::ErrorType JAEPICSCAInput::Execute(ExecutionInfo& info) { - ErrorManagement::ErrorType err = ErrorManagement::NoError; - if (info.GetStage() == ExecutionInfo::StartupStage) { - (void) eventCallbackFastMux.FastLock(); - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_context_create(ca_enable_preemptive_callback) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_enable_preemptive_callback failed"); - } - - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_create_channel(&pvs[n].pvName[0], NULL_PTR(caCh *), NULL_PTR(void *), 20u, &pvs[n].pvChid) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_create_channel failed for PV with name %s", pvs[n].pvName); - } - if (err.ErrorsCleared()) { - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_create_subscription(pvs[n].pvType, pvs[n].numberOfElements, pvs[n].pvChid, DBE_VALUE, &JAEPICSCAInputEventCallback, &pvs[n], - &pvs[n].pvEvid) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_create_subscription failed for PV %s", pvs[n].pvName); - } - } - } - } - eventCallbackFastMux.FastUnLock(); - } - else if (info.GetStage() != ExecutionInfo::BadTerminationStage) { - Sleep::Sec(1.0F); - } - else { - (void) eventCallbackFastMux.FastLock(); - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - (void) ca_clear_subscription(pvs[n].pvEvid); - (void) ca_clear_event(pvs[n].pvEvid); - (void) ca_clear_channel(pvs[n].pvChid); - } - } - ca_detach_context(); - ca_context_destroy(); - eventCallbackFastMux.FastUnLock(); - } - - return err; -} - -uint32 JAEPICSCAInput::GetStackSize() const { - return stackSize; -} - -uint32 JAEPICSCAInput::GetCPUMask() const { - return cpuMask; -} - -bool JAEPICSCAInput::Synchronise() { - return false; -} - -CLASS_REGISTER(JAEPICSCAInput, "1.0") - -} - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.h deleted file mode 100644 index 3a5071d..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.h +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @file EPICSCAInput.h - * @brief Header file for class EPICSCAInput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAInput - * 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 JAEPICSCAINPUT_H_ -#define JAEPICSCAINPUT_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" -#include "EmbeddedServiceMethodBinderI.h" -#include "EventSem.h" -#include "SingleThreadService.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -/** - * Maximum size that a PV name may have - */ -/*lint -esym(551, MARTe::PV_NAME_MAX_SIZE) the symbol is used to define the size of PVWrapper below*/ -const uint32 PV_NAME_MAX_SIZE = 64u; - -/** - * Wraps a PV - */ -struct PVWrapper { - /** - * The channel identifier - */ - chid pvChid; - /** - * The event identifier - */ - evid pvEvid; - /** - * The PV type - */ - chtype pvType; - /** - * The memory of the signal associated to this channel - */ - void *memory; - void *previousValue; - /** - * The number of elements > 0 - */ - uint32 numberOfElements; - /** - * The memory size - */ - uint32 memorySize; - /** - * The PV name - */ - char8 pvName[PV_NAME_MAX_SIZE]; -}; - -/** - * @brief A DataSource which allows to retrieved data from any number of PVs using the EPICS channel access client protocol. - * Data is asynchronously retrieved using ca_create_subscriptions in the context of a different thread (w.r.t. to the real-time thread). - * - * The configuration syntax is (names are only given as an example): - * - *
- * +EPICSCAInput_1 = {
- *     Class = JAEPICSCA::JAEPICSCAInput
- *     StackSize = 1048576 //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u
- *     CPUs = 0xff //Optional the affinity of the EmbeddedThread (where the EPICS context is attached).
- *     Signals = {
- *          PV1 = { //At least one shall be defined
- *             PVName = My::PV1 //Compulsory. Name of the PV.
- *             Type = uint32 //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, uint64, int64, float32 and float64
- *             NumberOfElements = 1 //Arrays also supported
- *          }
- *          ...
- *     }
- * }
- *
- * 
- */ -class JAEPICSCAInput: public DataSourceI, public EmbeddedServiceMethodBinderI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Default constructor. NOOP. - */ - JAEPICSCAInput(); - - /** - * @brief Destructor. - * @details TODO. - */ - virtual ~JAEPICSCAInput(); - - /** - * @brief See DataSourceI::AllocateMemory. NOOP. - * @return true. - */ - virtual bool AllocateMemory(); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @return 1. - */ - virtual uint32 GetNumberOfMemoryBuffers(); - - /** - * @brief See DataSourceI::GetSignalMemoryBuffer. - * @pre - * SetConfiguredDatabase - */ - virtual bool GetSignalMemoryBuffer(const uint32 signalIdx, - const uint32 bufferIdx, - void *&signalAddress); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @details Only InputSignals are supported. - * @return MemoryMapInputBroker. - */ - virtual const char8 *GetBrokerName(StructuredDataI &data, - const SignalDirection direction); - - /** - * @brief See DataSourceI::GetInputBrokers. - * @details adds a memory MemoryMapInputBroker instance to the inputBrokers - * @return true. - */ - virtual bool GetInputBrokers(ReferenceContainer &inputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::GetOutputBrokers. - * @return false. - */ - virtual bool GetOutputBrokers(ReferenceContainer &outputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::PrepareNextState. NOOP. - * @return true. - */ - virtual bool PrepareNextState(const char8 * const currentStateName, - const char8 * const nextStateName); - - /** - * @brief Loads and verifies the configuration parameters detailed in the class description. - * @return true if all the mandatory parameters are correctly specified and if the specified optional parameters have valid values. - */ - virtual bool Initialise(StructuredDataI & data); - - /** - * @brief Final verification of all the parameters. Setup of the memory required to hold all the signals. - * @details This method verifies that all the parameters requested by the GAMs interacting with this DataSource - * are valid and consistent with the parameters set during the initialisation phase. - * In particular the following conditions shall be met: - * - All the signals have the PVName defined - * - All the signals have one of the following types: uint32, int32, float32 or float64. - * @return true if all the parameters are valid and the conditions above are met. - */ - virtual bool SetConfiguredDatabase(StructuredDataI & data); - - /** - * @brief Gets the affinity of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - * @return the the affinity of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - */ - uint32 GetCPUMask() const; - - /** - * @brief Gets the stack size of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - * @return the stack size of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - */ - uint32 GetStackSize() const; - - /** - * @brief Provides the context to execute all the EPICS relevant calls. - * @details Executes in the context of a spawned thread the following EPICS calls: - * ca_context_create, ca_create_channel, ca_create_subscription, ca_clear_subscription, - * ca_clear_event, ca_clear_channel, ca_detach_context and ca_context_destroy - * @return ErrorManagement::NoError if all the EPICS calls return without any error. - */ - virtual ErrorManagement::ErrorType Execute(ExecutionInfo & info); - - /** - * @brief See DataSourceI::Synchronise. - * @return false. - */ - virtual bool Synchronise(); - - /** - * @brief Registered as the ca_create_subscription callback function. - * It calls updates the memory of the corresponding PV variable. - */ - friend void JAEPICSCAInputEventCallback(struct event_handler_args args); - -private: - - /** - * List of PVs. - */ - PVWrapper *pvs; - - /** - * The CPU mask for the executor - */ - uint32 cpuMask; - - /** - * The stack size - */ - uint32 stackSize; - - /** - * The EmbeddedThread where the ca_pend_event is executed. - */ - SingleThreadService executor; - - /** - * Stores the configuration information received at Initialise. - */ - ConfigurationDatabase originalSignalInformation; -}; -} - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* EPICSCADATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp deleted file mode 100644 index 951ed07..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp +++ /dev/null @@ -1,375 +0,0 @@ -/** - * @file EPICSCAOutput.cpp - * @brief Source file for class EPICSCAOutput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAOutput (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include "JAEPICSCAOutput.h" - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "MemoryMapAsyncOutputBroker.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -JAEPICSCAOutput::JAEPICSCAOutput() : - DataSourceI() { - pvs = NULL_PTR(PVWrapper *); - stackSize = THREADS_DEFAULT_STACKSIZE * 4u; - cpuMask = 0xffu; - numberOfBuffers = 0u; - ignoreBufferOverrun = 1u; - threadContextSet = false; -} - -/*lint -e{1551} must free the memory allocated to the different PVs.*/ -JAEPICSCAOutput::~JAEPICSCAOutput() { - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - if (pvs[n].pvChid != NULL_PTR(chid)) { - (void) ca_clear_channel(pvs[n].pvChid); - } - if (pvs[n].memory != NULL_PTR(void *)) { - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].memory); - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].previousValue); - } - } - delete[] pvs; - } -} - -bool JAEPICSCAOutput::Initialise(StructuredDataI & data) { - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("NumberOfBuffers", numberOfBuffers); - - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "NumberOfBuffers shall be specified"); - } - } - if (ok) { - if (!data.Read("CPUs", cpuMask)) { - REPORT_ERROR(ErrorManagement::Information, "No CPUs defined. Using default = %d", cpuMask); - } - if (!data.Read("StackSize", stackSize)) { - REPORT_ERROR(ErrorManagement::Information, "No StackSize defined. Using default = %d", stackSize); - } - if (!data.Read("IgnoreBufferOverrun", ignoreBufferOverrun)) { - REPORT_ERROR(ErrorManagement::Information, "No IgnoreBufferOverrun defined. Using default = %d", ignoreBufferOverrun); - } - - } - if (ok) { - ok = data.MoveRelative("Signals"); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Could not move to the Signals section"); - } - if (ok) { - ok = data.Copy(originalSignalInformation); - } - if (ok) { - ok = originalSignalInformation.MoveToRoot(); - } - //Do not allow to add signals in run-time - if (ok) { - ok = signalsDatabase.MoveRelative("Signals"); - } - if (ok) { - ok = signalsDatabase.Write("Locked", 1u); - } - if (ok) { - ok = signalsDatabase.MoveToAncestor(1u); - } - } - if (ok) { - ok = data.MoveToAncestor(1u); - } - return ok; -} - -bool JAEPICSCAOutput::SetConfiguredDatabase(StructuredDataI & data) { - bool ok = DataSourceI::SetConfiguredDatabase(data); - //Check the signal index of the timing signal. - uint32 nOfSignals = GetNumberOfSignals(); - if (ok) { - ok = (nOfSignals > 0u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one signal shall be defined"); - } - } - if (ok) { - //Do not allow samples - uint32 functionNumberOfSignals = 0u; - uint32 n; - if (GetFunctionNumberOfSignals(OutputSignals, 0u, functionNumberOfSignals)) { - for (n = 0u; (n < functionNumberOfSignals) && (ok); n++) { - uint32 nSamples; - ok = GetFunctionSignalSamples(OutputSignals, 0u, n, nSamples); - if (ok) { - ok = (nSamples == 1u); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The number of samples shall be exactly 1"); - } - } - } - } - //Only one and one GAM allowed to interact with this DataSourceI - if (ok) { - ok = (GetNumberOfFunctions() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Exactly one Function allowed to interact with this DataSourceI"); - } - } - - if (ok) { - pvs = new PVWrapper[nOfSignals]; - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - pvs[n].memory = NULL_PTR(void *); //value to write PV - pvs[n].previousValue = NULL_PTR(void *); //written value - pvs[n].pvChid = NULL_PTR(chid); - - } - for (n = 0u; (n < nOfSignals) && (ok); n++) { - //Note that the RealTimeApplicationConfigurationBuilder is allowed to change the order of the signals w.r.t. to the originalSignalInformation - StreamString orderedSignalName; - ok = GetSignalName(n, orderedSignalName); - if (ok) { - //Have to mix and match between the original setting of the DataSource signal - //and the ones which are later added by the RealTimeApplicationConfigurationBuilder - ok = originalSignalInformation.MoveRelative(orderedSignalName.Buffer()); - } - StreamString pvName; - if (ok) { - ok = originalSignalInformation.Read("PVName", pvName); - if (!ok) { - uint32 nn = n; - REPORT_ERROR(ErrorManagement::ParametersError, "No PVName specified for signal at index %d", nn); - } - } - TypeDescriptor td = GetSignalType(n); - - if (ok) { - (void) StringHelper::CopyN(&pvs[n].pvName[0], pvName.Buffer(), PV_NAME_MAX_SIZE); - if (td == CharString) { - pvs[n].pvType = DBR_STRING; - } - else if (td == Character8Bit) { - pvs[n].pvType = DBR_STRING; - } - else if (td == SignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == UnsignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == SignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == UnsignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == SignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == UnsignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == Float32Bit) { - pvs[n].pvType = DBR_FLOAT; - } - else if (td == Float64Bit) { - pvs[n].pvType = DBR_DOUBLE; - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Type %s is not supported", TypeDescriptor::GetTypeNameFromTypeDescriptor(td)); - ok = false; - } - } - uint32 numberOfElements = 1u; - if (ok) { - ok = GetSignalNumberOfElements(n, numberOfElements); - } - if (ok) { - if (pvs[n].pvType == DBR_STRING) { - ok = (numberOfElements == 40u); - } - if (!ok) { - //Could support arrays of strings with multiples of char8[40] - REPORT_ERROR(ErrorManagement::ParametersError, - "Strings shall be defined with 40 elements char8[40]. Arrays of strings are not currently supported"); - } - } - if (ok) { - pvs[n].numberOfElements = numberOfElements; - } - if (ok) { - pvs[n].memorySize = td.numberOfBits; - pvs[n].memorySize /= 8u; - pvs[n].memorySize *= numberOfElements; - pvs[n].memory = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - pvs[n].previousValue = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - ok = originalSignalInformation.MoveToAncestor(1u); - } - } - } - return ok; -} - -bool JAEPICSCAOutput::AllocateMemory() { - return true; -} - -uint32 JAEPICSCAOutput::GetNumberOfMemoryBuffers() { - return 1u; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The signalAddress is independent of the bufferIdx.*/ -bool JAEPICSCAOutput::GetSignalMemoryBuffer(const uint32 signalIdx, const uint32 bufferIdx, void*& signalAddress) { - bool ok = (pvs != NULL_PTR(PVWrapper *)); - if (ok) { - ok = (signalIdx < GetNumberOfSignals()); - } - if (ok) { - //lint -e{613} pvs cannot as otherwise ok would be false - signalAddress = pvs[signalIdx].memory; - } - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The brokerName only depends on the direction */ -const char8* JAEPICSCAOutput::GetBrokerName(StructuredDataI& data, const SignalDirection direction) { - const char8* brokerName = ""; - if (direction == OutputSignals) { - brokerName = "MemoryMapAsyncOutputBroker"; - } - return brokerName; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: InputBrokers are not supported. Function returns false irrespectively of the parameters.*/ -bool JAEPICSCAOutput::GetInputBrokers(ReferenceContainer& inputBrokers, const char8* const functionName, void* const gamMemPtr) { - return false; -} - -bool JAEPICSCAOutput::GetOutputBrokers(ReferenceContainer& outputBrokers, const char8* const functionName, void* const gamMemPtr) { - ReferenceT broker("MemoryMapAsyncOutputBroker"); - bool ok = broker->InitWithBufferParameters(OutputSignals, *this, functionName, gamMemPtr, numberOfBuffers, cpuMask, stackSize); - if (ok) { - ok = outputBrokers.Insert(broker); - broker->SetIgnoreBufferOverrun(ignoreBufferOverrun == 1u); - } - - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: NOOP at StateChange, independently of the function parameters.*/ -bool JAEPICSCAOutput::PrepareNextState(const char8* const currentStateName, const char8* const nextStateName) { - return true; -} - -uint32 JAEPICSCAOutput::GetStackSize() const { - return stackSize; -} - -uint32 JAEPICSCAOutput::GetCPUMask() const { - return cpuMask; -} - -uint32 JAEPICSCAOutput::GetNumberOfBuffers() const { - return numberOfBuffers; -} - -bool JAEPICSCAOutput::Synchronise() { - bool ok = true; - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (!threadContextSet) { - ok = (ca_context_create(ca_enable_preemptive_callback) == ECA_NORMAL); - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_enable_preemptive_callback failed"); - } - threadContextSet = ok; - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - ok = (ca_create_channel(&pvs[n].pvName[0], NULL_PTR(caCh *), NULL_PTR(void *), 20u, &pvs[n].pvChid) == ECA_NORMAL); - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_create_channel failed for PV with name %s", pvs[n].pvName); - } - } - } - } - - //Allow to write event at the first time! - if (threadContextSet) { - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - bool isNewValue = true; - if (pvs[n].pvType == DBR_STRING) { - if(strcmp((char*)pvs[n].memory,(char*)pvs[n].previousValue)==0){ - isNewValue = false; - continue; - } - if(isNewValue){ - ok = (ca_put(pvs[n].pvType, pvs[n].pvChid, pvs[n].memory) == ECA_NORMAL); - memcpy(pvs[n].previousValue,pvs[n].memory, pvs[n].numberOfElements); - } - } - else { - if(memcmp(pvs[n].memory, pvs[n].previousValue, pvs[n].numberOfElements)==0){ - isNewValue = false; - continue; - } - if(isNewValue){ - ok = (ca_array_put(pvs[n].pvType, pvs[n].numberOfElements, pvs[n].pvChid, pvs[n].memory) == ECA_NORMAL); - memcpy(pvs[n].previousValue, pvs[n].memory, pvs[n].numberOfElements); - } - } - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_put failed for PV: %s", pvs[n].pvName); - } - (void) ca_pend_io(0.1); - } - } - } - - return ok; -} - -bool JAEPICSCAOutput::IsIgnoringBufferOverrun() const { - return (ignoreBufferOverrun == 1u); -} - -CLASS_REGISTER(JAEPICSCAOutput, "1.0") - -} - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.h deleted file mode 100644 index 5c2de87..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.h +++ /dev/null @@ -1,233 +0,0 @@ -/** - * @file EPICSCAOutput.h - * @brief Header file for class EPICSCAOutput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAOutput - * 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 JAEPICSCAOutput_H_ -#define JAEPICSCAOutput_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" -#include "JAEPICSCAInput.h" -#include "EmbeddedServiceMethodBinderI.h" -#include "EventSem.h" -#include "SingleThreadService.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -//Maximum size that a PV name may have - -/** - * @brief A DataSource which allows to output data into any number of PVs using the EPICS channel access client protocol. - * Data is asynchronously ca_put in the context of a different thread (w.r.t. to the real-time thread). - * - * The configuration syntax is (names are only given as an example): - * - *
- * +EPICSCAOutput_1 = {
- *     Class = EPICSCA::EPICSCAOutput
- *     StackSize = 1048576 //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u
- *     CPUs = 0xff //Optional the affinity of the EmbeddedThread (where the EPICS context is attached).
- *     IgnoreBufferOverrun = 1 //Optional. If true no error will be triggered when the thread that writes into EPICS does not consume the data fast enough.
- *     NumberOfBuffers = 10 //Compulsory. Number of buffers in a circular buffer that asynchronously writes the PV values. Each buffer is capable of holding a copy of all the DataSourceI signals.
- *     Signals = {
- *          PV1 = { //At least one shall be defined
- *             PVName = My::PV1 //Compulsory. Name of the PV.
- *             Type = uint32 //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, float32 and float64
- *          }
- *          ...
- *     }
- * }
- *
- * 
- */ -class JAEPICSCAOutput: public DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Default constructor. NOOP. - */ - JAEPICSCAOutput(); - - /** - * @brief Destructor. - * @details TODO. - */ - virtual ~JAEPICSCAOutput(); - - /** - * @brief See DataSourceI::AllocateMemory. NOOP. - * @return true. - */ - virtual bool AllocateMemory(); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @return 1. - */ - virtual uint32 GetNumberOfMemoryBuffers(); - - /** - * @brief See DataSourceI::GetSignalMemoryBuffer. - * @pre - * SetConfiguredDatabase - */ - virtual bool GetSignalMemoryBuffer(const uint32 signalIdx, - const uint32 bufferIdx, - void *&signalAddress); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @details Only OutputSignals are supported. - * @return MemoryMapAsyncOutputBroker. - */ - virtual const char8 *GetBrokerName(StructuredDataI &data, - const SignalDirection direction); - - /** - * @brief See DataSourceI::GetInputBrokers. - * @return false. - */ - virtual bool GetInputBrokers(ReferenceContainer &inputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::GetOutputBrokers. - * @details adds a memory MemoryMapOutputBroker instance to the outputBrokers - * @return true. - */ - virtual bool GetOutputBrokers(ReferenceContainer &outputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::PrepareNextState. NOOP. - * @return true. - */ - virtual bool PrepareNextState(const char8 * const currentStateName, - const char8 * const nextStateName); - - /** - * @brief Loads and verifies the configuration parameters detailed in the class description. - * @return true if all the mandatory parameters are correctly specified and if the specified optional parameters have valid values. - */ - virtual bool Initialise(StructuredDataI & data); - - /** - * @brief Final verification of all the parameters. Setup of the memory required to hold all the signals. - * @details This method verifies that all the parameters requested by the GAMs interacting with this DataSource - * are valid and consistent with the parameters set during the initialisation phase. - * In particular the following conditions shall be met: - * - All the signals have the PVName defined - * - All the signals have one of the following types: uint32, int32, float32 or float64. - * @return true if all the parameters are valid and the conditions above are met. - */ - virtual bool SetConfiguredDatabase(StructuredDataI & data); - - /** - * @brief Gets the affinity of the thread which is going to be used to asynchronously write data with ca_put. - * @return the affinity of the thread which is going to be used to asynchronously write data with ca_put. - */ - uint32 GetCPUMask() const; - - /** - * @brief Gets the stack size of the thread which is going to be used to asynchronously write data with ca_put. - * @return the stack size of the thread which is going to be used to asynchronously write data with ca_put. - */ - uint32 GetStackSize() const; - - /** - * @brief Gets the number of buffers in the circular buffer that asynchronously writes the PV values. - * @return the number of buffers in the circular buffer that asynchronously writes the PV values. - */ - uint32 GetNumberOfBuffers() const; - - /** - * @brief Provides the context to execute all the EPICS ca_put calls. - * @details Executes in the context of the MemoryMapAsyncOutputBroker thread the following EPICS calls: - * ca_context_create, ca_create_channel, ca_create_subscription, ca_clear_subscription, - * ca_clear_event, ca_clear_channel, ca_detach_context and ca_context_destroy - * @return true if all the EPICS calls return without any error. - */ - virtual bool Synchronise(); - - /** - * @brief Gets if buffer overruns is being ignored (i.e. the consumer thread which writes into EPICS is not consuming the data fast enough). - * @return if true no error is to be triggered when there is a buffer overrun. - */ - bool IsIgnoringBufferOverrun() const; - - -private: - /** - * List of PVs. - */ - PVWrapper *pvs; - - /** - * The CPU mask for the executor - */ - uint32 cpuMask; - - /** - * The stack size - */ - uint32 stackSize; - - /** - * Stores the configuration information received at Initialise. - */ - ConfigurationDatabase originalSignalInformation; - - /** - * The number of buffers for the circular buffer that flushes data into EPICS - */ - uint32 numberOfBuffers; - - /** - * True once the epics thread context is set - */ - bool threadContextSet; - - /** - * If true no error will be triggered when the data cannot be consumed by the thread doing the caputs. - */ - uint32 ignoreBufferOverrun; -}; -} - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* EPICSCADATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.gcc deleted file mode 100644 index 1c65faf..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.gcc +++ /dev/null @@ -1,29 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc - -LIBRARIES += -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)/ -lca diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.inc deleted file mode 100644 index 5b7751f..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.inc +++ /dev/null @@ -1,58 +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=JAEPICSCAOutput.x JAEPICSCAInput.x - -PACKAGE=DataSources - -ROOT_DIR=../../ -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -INCLUDES += -I. -INCLUDES += -I$(EPICS_BASE)/include/ -INCLUDES += -I$(EPICS_BASE)/include/os/Linux/ -INCLUDES += -I$(EPICS_BASE)/include/compiler/gcc/ -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/Scheduler/L5GAMs - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAEPICSCA$(LIBEXT) \ - $(BUILD_DIR)/JAEPICSCA$(DLLEXT) - echo $(OBJS) - -include depends.$(TARGET) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.gcc deleted file mode 100644 index e0a2fc4..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.gcc +++ /dev/null @@ -1,26 +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. -# -############################################################# - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.inc deleted file mode 100644 index 8bb8ee7..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.inc +++ /dev/null @@ -1,42 +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 $ -# -############################################################# -SPB = RandomDataSource.x NI6528.x JAEPICSCA.x - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=.. -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.gcc deleted file mode 100644 index 29201d0..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.gcc +++ /dev/null @@ -1,30 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc - -LIBRARIES += -L$(CODAC_ROOT)/lib/ -lpxi6528 - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.inc deleted file mode 100644 index 30adbd0..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.inc +++ /dev/null @@ -1,53 +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=NI6528.x - -PACKAGE=DataSources - -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$(CODAC_ROOT)/include/ - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/NI6528$(LIBEXT) \ - $(BUILD_DIR)/NI6528$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.cpp deleted file mode 100644 index 49f62b1..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @file NI6528.cpp - * @brief Source file for class NI6528 - * @date 01/03/2017 - * @author Andre Neto - * - * @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 NI6528 (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include -#include -#include -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "CompilerTypes.h" -#include "NI6528.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -NI6528::NI6528() : - MARTe::DataSourceI() { - using namespace MARTe; - previousValue = 0u; - value = 0u; - port = 0u; - boardFileDescriptor = 0; -} - -NI6528::~NI6528() { - using namespace MARTe; - (void) pxi6528_close_device(boardFileDescriptor); -} - -bool NI6528::SetConfiguredDatabase(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = (DataSourceI::SetConfiguredDatabase(data)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "DataSourceI::SetConfiguredDatabas() failed"); - } - if (ok) { - ok = (GetNumberOfSignals() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetNumberOfSignals() != 1u"); - } - } - if (ok) { - ok = (GetSignalType(0u) == UnsignedInteger8Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetSignalType(0u) != UnsignedInteger8Bit"); - } - } - - return ok; -} - -bool NI6528::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("Port", port); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The Port shall be specified"); - } - } - if (ok) { - ok = data.Read("DeviceName", deviceName); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The DeviceName shall be specified"); - } - } - int32 ret = pxi6528_open_device(&boardFileDescriptor, deviceName.Buffer(), O_NONBLOCK); - ok = (ret == 0); - if (!ok) { - StreamString err = strerror(-ret); - REPORT_ERROR(ErrorManagement::FatalError, "Could not open device (%s) : %s", deviceName.Buffer(), err.Buffer()); - } - return ok; -} - -bool NI6528::Synchronise() { - using namespace MARTe; - if(previousValue != value){ - int32 ret = (pxi6528_write_port(boardFileDescriptor, port, value) > 0); - previousValue = value; - bool ok = (ret > -1); - if (!ok) { - StreamString err = strerror(-ret); - REPORT_ERROR(ErrorManagement::FatalError, "Could not write to device (%s) : %s", deviceName.Buffer(), err.Buffer()); - } - } - - return true; -} - -bool NI6528::AllocateMemory() { - return true; -} - -bool NI6528::GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress) { - signalAddress = &value; - return true; -} - -const MARTe::char8 *NI6528::GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction) { - using namespace MARTe; - return "MemoryMapSynchronisedOutputBroker"; -} - -bool NI6528::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - return true; -} - -CLASS_REGISTER(NI6528, "1.0") - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.h deleted file mode 100644 index 7074477..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.h +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file NI6528.h - * @brief Header file for class NI6528 - * @date 07/06/2018 - * @author Andre Neto - * - * @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 NI6528 - * 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 RANDOM_DATASOURCE_H_ -#define RANDOM_DATASOURCE_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief NI6528 simplified data source implementation. - * - * The configuration syntax is (names and signal quantities are only given as an example): - * +NI6528 = { - * Class = NI6528 - * DeviceName = "/dev/pxi6528.0" //Mandatory - * Port = 0 //The port where to write - * Signals = { - * currentValue = {Type = uint8} - * bitmask = {Type = uint8} - * Value = {Type = uint8} - * } - * } - */ -class NI6528: public MARTe::DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Constructor. NOOP. - */ -NI6528 (); - - /** - * @brief Destructor. NOOP. - */ - virtual ~NI6528(); - - /** - * @brief The configuration data detailed in the class description - * @return true if all the compulsory parameters are set. - */ - virtual bool Initialise(MARTe::StructuredDataI & data); - - /** - * @brief Verifies that at most one signal has been set with the correct type (i.e. any integer). - * @return true if the above conditions are met. - */ - virtual bool SetConfiguredDatabase(MARTe::StructuredDataI & data); - - /** - * @brief @see DataSourceI::Synchronise - */ - virtual bool Synchronise(); - - /** - * @brief @see DataSourceI::AllocateMemory - */ - virtual bool AllocateMemory(); - - /** - * @brief @see DataSourceI::GetSignalMemoryBuffer - */ - virtual bool GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress); - - /** - * @return "MemoryMapSynchronisedInputBroker" - */ - virtual const MARTe::char8 *GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction); - - /** - * @brief NOOP - */ - virtual bool PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName); - -private: - /** - * The previous value to write. - */ - MARTe::uint8 previousValue; - - /** - * The bitmask to write value. (new value) = (current value) || (bitmask) && (write value) - */ - MARTe::uint8 bitmask; - - /** - * The value to write. - */ - MARTe::uint8 value; - - /** - * The port number - */ - MARTe::uint32 port; - - /** - * The board file descriptor - */ - pxi6528_device_t boardFileDescriptor; - - /** - * The device name - */ - MARTe::StreamString deviceName; -}; - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* RANDOM_DATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.inc deleted file mode 100644 index 2f1534c..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.inc +++ /dev/null @@ -1,53 +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=RandomDataSource.x - -PACKAGE=DataSources - -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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/RandomDataSource$(LIBEXT) \ - $(BUILD_DIR)/RandomDataSource$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.cpp deleted file mode 100644 index bcfc0b0..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/** - * @file RandomDataSource.cpp - * @brief Source file for class RandomDataSource - * @date 01/03/2017 - * @author Andre Neto - * - * @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 RandomDataSource (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 "AdvancedErrorManagement.h" -#include "CompilerTypes.h" -#include "RandomDataSource.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -RandomDataSource::RandomDataSource() : - MARTe::DataSourceI() { - using namespace MARTe; - seed = 0u; - signalPtr = NULL_PTR(MARTe::char8 *); - signalTypeDescriptor = UnsignedInteger8Bit; -} - -RandomDataSource::~RandomDataSource() { - using namespace MARTe; - if (signalPtr) { - delete[] signalPtr; - } -} - -bool RandomDataSource::SetConfiguredDatabase(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = (DataSourceI::SetConfiguredDatabase(data)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "DataSourceI::SetConfiguredDatabas() failed"); - } - if (ok) { - ok = (GetNumberOfSignals() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetNumberOfSignals() != 1u"); - } - } - if (ok) { - signalTypeDescriptor = GetSignalType(0u); - ok = (signalTypeDescriptor.type == UnsignedInteger); - if (!ok) { - ok = (signalTypeDescriptor.type == SignedInteger); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetSignalType(0u) != Un/SignedInteger"); - } - } - - return ok; -} - -bool RandomDataSource::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("Seed", seed); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The Seed shall be specified"); - } - } - - return ok; -} - -bool RandomDataSource::Synchronise() { - using namespace MARTe; - - if (signalTypeDescriptor.numberOfBits == 8u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 16u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 32u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 64u) { - GetValue(); - } - - return true; -} - -bool RandomDataSource::AllocateMemory() { - signalPtr = new MARTe::char8[signalTypeDescriptor.numberOfBits]; - return true; -} - -bool RandomDataSource::GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress) { - signalAddress = &signalPtr[0]; - return true; -} - -const MARTe::char8 *RandomDataSource::GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction) { - using namespace MARTe; - - static bool firstTime = true; - const char8 * broker;// = NULL_PTR(const char8 *); - if (firstTime) { - broker = "MemoryMapSynchronisedInputBroker"; - } - else { - firstTime = false; - broker = "MemoryMapInputBroker"; - } - return broker; -} - -bool RandomDataSource::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - return true; -} - -CLASS_REGISTER(RandomDataSource, "1.0") - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.h deleted file mode 100644 index 11cade5..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.h +++ /dev/null @@ -1,137 +0,0 @@ -/** - * @file RandomDataSource.h - * @brief Header file for class RandomDataSource - * @date 07/06/2018 - * @author Andre Neto - * - * @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 RandomDataSource - * 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 RANDOM_DATASOURCE_H_ -#define RANDOM_DATASOURCE_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief DataDource which generates random numbers against a given seed. - * - * The configuration syntax is (names and signal quantities are only given as an example): - * +RandomDataSource = { - * Class = RandomDataSource - * Seed = 8 //Seed against which the the seed will be generated. Note that each signal - * Signals = { - * Random1 = { //Maximum one signal - * Type = uint64 //All the integer types are supported - * } - * } - * } - */ -class RandomDataSource: public MARTe::DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Constructor. NOOP. - */ -RandomDataSource (); - - /** - * @brief Destructor. NOOP. - */ - virtual ~RandomDataSource(); - - /** - * @brief The configuration data detailed in the class description - * @return true if all the compulsory parameters are set. - */ - virtual bool Initialise(MARTe::StructuredDataI & data); - - /** - * @brief Verifies that at most one signal has been set with the correct type (i.e. any integer). - * @return true if the above conditions are met. - */ - virtual bool SetConfiguredDatabase(MARTe::StructuredDataI & data); - - /** - * @brief @see DataSourceI::Synchronise - */ - virtual bool Synchronise(); - - /** - * @brief @see DataSourceI::AllocateMemory - */ - virtual bool AllocateMemory(); - - /** - * @brief @see DataSourceI::GetSignalMemoryBuffer - */ - virtual bool GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress); - - /** - * @return "MemoryMapSynchronisedInputBroker" - */ - virtual const MARTe::char8 *GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction); - - /** - * @brief NOOP - */ - virtual bool PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName); - -private: - /** - * The seed to compute the signals. - */ - MARTe::uint32 seed; - - /** - * The signal pointer - */ - MARTe::char8 *signalPtr; - - /** - * The signal type descriptor. - */ - MARTe::TypeDescriptor signalTypeDescriptor; - - /** - * Compute the random value - */ - template - void GetValue(); - -}; - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ -template -void RandomDataSource::GetValue() { - *(reinterpret_cast(&signalPtr[0u])) = static_cast(rand_r(&seed)); -} - -#endif /* RANDOM_DATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Doc/RTAppStates.xml b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Doc/RTAppStates.xml deleted file mode 100644 index 5a244e9..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Doc/RTAppStates.xml +++ /dev/null @@ -1 +0,0 @@ -7V1Zd+K4Ev41Oefeh/TxvjwSlpDbYRkgSfe8cBww4G5jM8ZkmV9/Je+WBMjGNg50P6RtYWup+lRVqirJN3xz/XHvaJtVz57r5g3HzD9u+NYNx0kcC/7Cgk+/QJAkv2DpGHO/iI0Lxsa/elDIBKU7Y65vUw+6tm26xiZdOLMtS5+5qTLNcez39GML20y3utGWOlYwnmkmXvpizN2VX6pwUlze1Y3lKmyZlVT/l1dt9nvp2DsraO+G4xfeP//ntRbWFQx0u9Lm9nuiiG/f8E3Htl3/av3R1E1I2pBs/nudPb9G/XZ0y6V5YbP6+/bVXm9s9y9xvdD+ni6Vx1tV9qt508xdQJAXzXDHrmbNXz+DjrufIbG84eqwQuaGv3tfGa4+3mgz+Os7QAcoW7lrE9yx4BLvYNDnN91x9Y9EUdDhe91e664DmmWCXzmV918JwRXQ8j3mFBvSd5XgUvicFoBjGdUcEwhcBDTKQi8Fo4k+B3gKbm3HXdlL29LMdlx6l6ZagkL6h+H+gMXfxODuZ+KX1kfwhnfzGdz80l33M5hG2s61QVHc6qNtb45Rf2vvnJlOgQlXc5a6S/EgpMBBbjq6qbnGW3rGFc4blgnxFYN5sFiYhqXXDsiccm4kswyHUatlbLVXE5Dl7ORiakctgSgoh7qzNtzz0wuTk+cnmIgRbOgAVQoEgbWsHcFE7vwEk4gIG+navH6KWDq7JmYZFaMXrputeQPaiOBuZmrbrTFDFLAFuuJrYFkM73+GahfexErYuwu1cKS5E3o7rGOv6q5AJUdS/ahOTjBOJPAtLKNW3UELQ9sAg4txo6QlOSsiePCHHryVtF6RipB6ZAmpx6cMVg/gvvaZeGwDH9ju7y/LIu2kbGpw4VcYwzai6AlIZnFNPHxsTsftx3ZzAsphESwN7ZsEwMH0ddOQ3rqO/Vtv2qbtgBLLtqAFujBMEynSTGNpwXkBwKiD8jsoDAywLmoEP6yN+dwzX0nSJS1/ChAwCH9pxTFXmnhh+SLFS0q2fONEWvESPBpKmJLESyQ1ijP5qxEvPIOIFzaneGEFBH9oRQXJFzHdjFiJeMEtsfxIZtNIpgZySk+WpSajFeDX05Mqgj9Uv9ECmRPZb2K6KpkOysXhDTdks+ONiBvuMHD2WnPsEZSegjjhiyIOtXQEFCbUolNCKkJ1ckmmmcBWIjxxB+kNJ5nQ6Jobb+ByCS97zeF42mhOpqO7pL3Gh4+CthNPEypo9FvUz3qNNZ9Go2lv0AeF2hpaZNbrduM9z0RFQQVQR2bvxqsTFt4fGVz85P7X4+4e6B6xoqN97nRB/YOnyaCPdJAthfpec712A5LkgXI4+yq/VGOeR8wclWDNizwu2lilPHOeweYxeY3FXC5bWIQtnCzgfKl4lYU7ca6eLTytt7s8tnD4bMlvwmUIbiUsuEzuuPwGXAbPGlsr+w1ZsEp5zTdk4SFRWm+FGVhcEX6WLwG1LKtToc5Yk/M6cRGsyUzVWMODeE1onT6Mp6Onfv+hf4/YjxesdXgxHdGJbLak1pGq1TpFOKq+iCgQqUWB9EcUlCEKinRS1Rxr9C4qsVZY49MYUficWENjh+gqs3Ss4T6k61vkoMw8/xpHKVACJOZ/iWkAdbMLo9BCFM7KG7VAVyElhffRxDKBZw73iyP3q1yfM0fKbMEckcNRezjtDVptRIKU4POE0mrYHvUe0GyEa3d0IrAlZpHxB+Zf8VItbC0HdjLw8w+aqliSCaQlWcVwwlOq7382pgA/3XZjMp089FDxcy3MEUlBjWrXyzyHMQdmjHafYZwN4UPVCaOSnM5CkFlKg6+8hFEe9zR2nxvOug75yCi5RFEO0zjOSDDcXeYRTJ83tp/WrHZEq0HWO4+7sLrPD9YvfeYatlUXsgkpstVgdwWPe2NGnUG/LvRKw4wlWXkV0wv3KHSfJ3AviqW559/txKJ5jnWQ/vhyvw2W9s75icWrKpKyJzL82clFtQZtWHAgY9cDHZWxXgPqctLZqStQrdJSO3G/CnVl5fzUxRctGKXK9e2nPPuJZNQSnPuB5jzu3A9XCzXxHaKBJBWBQ95AEgqrgjyH6PIvbKdcT6CAr/DyIznlo6ZNpc6Y738CkkN8fr09KClgKHkTcUSkIqEkJIvozEPPjTjyfCUucKGIzZ1EEX54D9W+8GyJOwiocR85MGoCfAQXCuroyivBq96vIpKMsQvFGk+NtXpFGi8Ga6WZpvXDGnXaCV+vtJOLwVqRxmPNsUadTsfXOp3u62KtyD3GGVPj8izVT8GaSo01pVZYYwUGddYI4SkHmTd98jzmtBSRukrHHGlr5oViTqHFXChQ6oI5EYWJKueEHIehV+WqRhwpZRBz294Nx9NRu9H6eVP6ZtTGwaauOJNGUlJIkRRCML3aTBqJtMok5kZhDN2b1Hep7BMFhH2kXBuWwL7ycm0k3MCB83z84u9pPzD3BiO8rNd9Bi/7iTqply+VozIvI8Kb5wlTMjyqpqIpSXW2A5ySe5h8LfNR5tO8I53+p1Y7Hak0cYM8ySrJcr2ja5t4ZIa3O+Rnv7k3u/t6NbuMrJgFiaAaSJq9vKMlFNzPApOXxnXIXWIZnv9Wu/QlBU8s3DN7Uf2aYQacPHv3tl1oS2RTgDBOoqRAJBz9i3cUL16bbGFZxI3Gc7RJuJEHsoTJQtqpSpwsnce8Oyqw6khGa6bJU5e++NNr8JxvLX5Sb4Kmm2dreh8PSm77YTx9mDzmazluhmob0b52rliGCZKCrrRos0k5dPtmgUKMaqk1ao/bkyJFB1H10b+Nz6GC7I9ihOr5OkOSqqf05rQOkgTtuXtTIKtO7A4ujs+HG4LM/mN3kmR2FEw7KrPL87EouI8F94Vd8I5PFT03hLC9TCnJ6/X99w/7+z/P7R9dcdnXh9Pb5WJ3i+cOBdvx6upqqHRDHpFkuGsGo1PeEPGxdJYwRBwGhRMJ1KWEiAmpfYdQVJMA8ZkTYDIfQs2gHw6SFQSkp6VDE1lGcpdVjOIsCWBUKD6EzSSG31dPzd1o9P2p9/z4Igxb2r30XjMMSyyCYS4fhlk2XZEsIxUVl99ApD4e4iS5YGmDGJThUeK7VxcfZVkG/W4DKxO9j6QQqVqA85GICNwCrB0i6AJq8Xk3+HH5V2DKolEzNvxI7zFksYxSErSO7C9mQgqC0n928Bu5dwEto/ukm6aYKG+WRqlCPBkqLCNeXKQ/tBwhRx2+RbeHFreowvOyYPR26OhDx8boUvWiSkFO2Ks0eEumV4mZ3nVbUhF2FRzEUE3sUQVxXPB5j2VUkS2pWC5WQasqtJ2ww6Uuqgifqbpg4+aCbWcVNW5kSrO5POOG+NWorEKywK1Xx7YznCIk6Q+gqNe+fRbgBD0ZJvfnI3nk42Qi5RnTWSUlmol55PxarF98FYK1tIOV63dmBfXXY2p2+oqqovnY2BeVqbHPCFhdlF9PzYG4301d1ExnKz++3LblvvHGqi1CYCTUkis21JLkw5Ti38PCTfTCSrdApd7aagIU7x3ck2FsfV0KY81bHVIh+vTfeOgX3ycLGNAg+Ot9NK7xNBnAqkYwMuzasKJvUEUfWqNt0LK4w4PFwjQsPfNgwu0lfs9gCfwGimd6gCkQjcvvYHKk3qdS/A/teUOLhrC/t1EB/Io9BLf2pi9sZw2puHDsNfhvtoXrZGBlwKaNBWxn/Dx9HDRaIblB6wcbSfN4CE/Bc+moUk2vWsZWezWBxUPVpz6kqr2hqxqsUrs6kAPwBFOaytvAqoJCBs5PxhvvbjP3Dm9j8GN9Ief9vWwd/6aRvPFwPxnd+592HLcnCfTjxd4E8N71YROSHFyC9jVPoHm8COgPKZ+B6ZCRlNM6E33j43RpqgbixfGmjrGGHh7mPxtzNgHX/4UDjiegN9UyYig+qJamI5OdAxuzrYCDwcoi6EPQK5/ms5W+TTw1bU3oJnSyiQZVEw3KJpBBR4fNZh14alF1oF/+c3nGnVjyHSEtfIq6CTDsUa+dFDQJcQxaCoQSbM9d+Y/AAxijyrMqklQSQS6cOwvbQoA+6vg4n9nrta9pxq2+Z2bNfnsD8jru6DMdGDHz7LQncTfsRmnsJTaQmb/o1KFoo1E1ho4hJjrS+Irm5WG+7RN5Gdn20P9fuzl5SOmIcqd/4qDlLKxcLFJkaKbp7k/5FKu3/imxDFyzZezsJtnXkjCddPpflymVjbVNhK/haAIu+4xPGB3edCHy/pycpld2TyFX/UFHTIvZkJ2FGBSGAUMDWZJgaaFas4OyNmwQlsD7jnfR6aQVN3Q6H+tCxol8JVBLHcpe+OokOL88s9RGaXqH3cX0b2DUD5CTJjYMBFBjobBAxBaAEi6K+JYY300A+fjWLbcvQGsDwb0wPdfjypjPAf5LiEnsO9044d2TSAdYsEoRge623mkI/7x2P5vfe389q4v2y2vvNtsHLwMKnxiPoHKtfoWQKhZjyhspwEOdZXlKiSDIFpeqEASHt9bXBAUssy8dI7vTXBUqwgExgZbAdkDicXBrO+7KXtqWZrbjUkRInumQyF+6636OjX9hN7UdUNRAoEe9fbQ92R/n3iC4OYrCQ8nGx2M8PlpxcFKjjla+H+om+ctDRe0QwTQggaRZdohw4VEQVeQzEcmGfxTsys51OpGlqpSWY2FItIRjncCtY8OkyVgSgmGtevZch0/8Hw== \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Doc/StateMachine.txt b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Doc/StateMachine.txt deleted file mode 100644 index 1254477..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Doc/StateMachine.txt +++ /dev/null @@ -1,463 +0,0 @@ -********** -* EXAMLE * -********** - -State1 // RT application state name -========== -1. // Numbered GAMs in order of execution -if (signal_A == 1) // Execution function of the GAM -{ - set signal_B = 3 - change state to State2 -} ----------- - - - -***************** -* RT APP STATES * -***************** - -WaitStandby -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 0) //If a Gyrotron is not selected by PLC. -{ - change state to Disabled -} ----------- -2. // DONE -if (EC-GN-P01-GPF:PLC4110-YTS-ST1R == 1) //If STANDBY signal come from PLC, start Coil&Fil PSs. -{ - // TODO should these signals be set only once every time this state is entered? - set signal EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP = 1 - set signal EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP = 1 - set signal EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START = 1 -} ----------- -3. // DONE -if (EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB == 1 - AND - EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON > 0 - AND - EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB == 1 - AND - EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB > 0) -{ - change state to Offline -} ----------- - - - -Disabled -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 1) -{ - change state to WaitStandby -} ----------- - - - -Offline -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 0) //If Gyrotron selection is turned off. -{ - change state to Disabled -} ----------- -2. // DONE -// If READY signal come from PLC is equal 1, app starts CCPS. -if (EC-GN-P01-GPF:PLC4110-YTS-ST2R == 1 - AND - EC-GN-P01-GAF-CCPS:PLC4110-YON-CCPS1 == 1) -{ - // TODO should this signal be set only once every time this state is entered? - set signal EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP = 1 -} ----------- -3. // DONE (with a temporary signal that needs to be changed when the record is added) -// TODO: Do we also have to check, that GAM 2. executed? So do we also have to check that EC-GN-P01-GPF:PLC4110-YTS-ST2R == 1? -if (EC-GN-P01-GAF-CCPS:PSU2320-STAT == 1) // TODO: there is no signal named EC-GN-P01-GAF-CCPS:PSU2320-STAT - // MEMO: I need add this record to check whether CCPS in running or stop. -{ - change state to WaitPermit -} ----------- -4. // DONE -// Wait CSV-LOAD trigger. When the app detect it, save data into the app. -if (EC-GN-P01-GAF:STAT-CSV-LOAD == 1) -{ - open csv file (file name: EC-GN-P01-GAF:STAT-CSV-NAME) - load time series data into memory - write data into EPICS waveform PSs.(EC-GN-P01-???:STAT-PREP-WF) // TODO do we realy write first data here or do we wait for PreHeating? - set signal EC-GN-P01-GAF:STAT-CSV-LOADED = 1 // TODO do we write 1 here? - If there is error, write EC-GN-P01-GAF:STAT-CSV-ERROR. // TODO there is no signal named EC-GN-P01-GAF:STAT-CSV-ERROR -} - - -WaitPermit -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 0) //If Gyrotron is un-selected. -{ - change state to Disabled -} ----------- -2. // DONE -if (EC-GN-P01-GAF:STAT-PREP-MODE == 1 - AND - EC-GN-P01-GAF:PLC4110-CON-GY1PRM == 1) -{ - change state to PreHeating -} ----------- -3. // DONE -if (EC-GN-P01-GAF:STAT-PREP-MODE == 0 - AND - EC-GN-P01-GAF:PLC4110-CON-GY1PRM == 1) -{ - change state to WaitReady -} ----------- -4. // DONE -if (EC-GN-P01-GAF:STAT-CSV-LOAD == 1) -{ - open csv file (file name: EC-GN-P01-GAF:STAT-CSV-NAME) - load time series data into memory - write data into EPICS waveform PSs.(EC-GN-P01-???:STAT-PREP-WF) - set signal EC-GN-P01-GAF:STAT-CSV-LOADED = 1 - If there is error, write EC-GN-P01-GAF:STAT-CSV-ERROR. -} - -PreHeating -========== -1. // DONE -every 10 ms do -{ - else - { - // TODO do we use float32 for the type of waveform signals? - // TODO is this the right order of columns? Time point is in column 1. - // TODO on what signal do we write time? - set signal EC-GN-P01-PB1F:PSU1000-EREF = setpoint column 2 - set signal EC-GN-P01-PA1F:PSU3000-EREF = setpoint column 3 // TODO there are two EC-GN-P01-PA1F:PSU3000-EREF signals. One ending with -P and one with -N. - set signal EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET = setpoint column 4 - set signal EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET = setpoint column 5 - set signal EC-GN-P01-GAF-FHPS:PSU2320-EREF = setpoint column 6 - } -} ----------- -2. // DONE -if (time == 0) -{ - change state to WaitReady -} ----------- - - -WaitReady -========== -1. // DONE -if (EC-GN-P01-PB1F:PSU1000-YSTA == 1 - AND - EC-GN-P01-PA1F:PSU3000-YSTA == 1) -{ - change state to WaitHVON -} ----------- - - -WaitHVON -========== -1. // DONE -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 1)// Check ON signal from PLC. This signal come when PLC check the operation operation possible conditions. -{ - change state to HVArming -} ----------- -2. // DONE -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 1) -{ - start HVON timer -} ----------- - - - -HVArming //HVArming is a state to startup HV generation in APS and BPS. -========== -1. -at specified time // TODO: Where do I get this specified time? And is it a countdown time or what? - // MEMO: Time is specified by PVs (EC-GN-P01-PB1F:STAT-DT-HVON). When app detect HVON from PLC, it is t=0. -{ - set signal EC-GN-P01-PB1F:PSU1000-CON-HV = 1 -} ----------- -2. -at specified time // TODO: Where do I get this specified time? And is it a countdown time or what? - // MEMO: Time is specified by PVs (EC-GN-P01-PA1F:STAT-DT-HVON) -{ - set signal EC-GN-P01-PA1F:PSU3000-CON-HV = 1 -} ----------- -3. -if (EC-GN-P01-PB1F:PSU1000-CON-HV == 1 - AND - EC-GN-P01-PA1F:PSU3000-CON-HV == 1 - AND - EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 0) // MEMO: Both HV PVs are 1. i.e.Both PSs are charged HV. and is in async mode. -{ - change state to HVArmed -} ----------- -4. -if (EC-GN-P01-PB1F:PSU1000-CON-HV == 1 - AND - EC-GN-P01-PA1F:PSU3000-CON-HV == 1 - AND - EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 1) // MEMO: HVPS HVs are ON and is in SYNC mode. -{ - Change state to HVArmedESDN -} ----------- -5. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED - - -HVArmed -========== -1. -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 0) // TODO: when do we go from HVArmed to Offline? - // MEMO: move to Offline when ON signal from PLC is turned off. -{ - change state to Offline -} ----------- -2. -// TODO: "(Entry) Write EC-GN-P01-GAF:PCF4210-YTS-GA1" What does Entry mean? Does it mean to do something -// only on the first cycle when we enter this state? What do I write to signal EC-GN-P01-GAF:PCF4210-YTS-GA1? -// MEMO: EC-GN-P01-GAF:PCF4210-YTS-GA1 is a PV that fast controller notifies Gyrotron operation state to PLC. -// When enter the HVArmed state, App writes 1 to this EPICS PV. ----------- -3. -if (EC-GN-P01-PB1F:PSU1000-CON-SW == 1) // TODO: when do we go from HVArmed to HVInjectionBPS? - // MEMO: If MHVPS HV is turned ON first, goto this state. -{ - change state to HVInjectionBPS -} ----------- -4. -if (EC-GN-P01-PMF:PSU0000-CON-SW == 1) // TODO: when do we go from HVArmed to HVInjectionMHVPS? - // MEMO: If BPS HV is turned ON first, goto this state. -{ - change state to HVInjectionMHVPS -} ----------- -5. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -6. -if (EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 1) //When SYNC mode turned ON. -{ - change state to HVArmedESDN -} ----------- - -HVArmedESDN // Start ESDN command, waveform subscription. -========== -1. -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 0) -{ - change state to Offline -} ----------- -2. -if (EC-GN-P01-PB1F:PSU1000-CON-SW == 1) -{ - change state to HVInjectionBPSESDN -} ----------- -3. -if (EC-GN-P01-PMF:PSU0000-CON-SW == 1) -{ - change state to HVInjectionMHVPSESDN -} ----------- -4. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -6. -if (EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 0) //When SYNC mode turned ON. -{ - change state to HVArmed -} ----------- - -HVInjectionBPS -========== -HVInjectionMHVPS -========== -1. -// MEMO: Write Gyrotron state PV (HVInjection) to notify PLC. -Write 1 to EC-GN-P01-GAF:PCF4210-YTS-GA2. ----------- -// TODO: Following questions/states are for ALL of the above states -2. (Exist in HVInjection BPS) -set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 1 // TODO when do we set this signal -// MEMO: Countdown time for EC-GN-P01-PA1F:STAT-DT-SWON ----------- -2. (Exist in HVInjection MHVPS) -set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 1 // TODO when do we set this signal -// MEMO: Countdown time for EC-GN-P01-PB1F:STAT-DT-SWON ----------- -3. -set signal EC-GN-P01-PMF:PSU0000-CON-SW = 1 // TODO when do we set this signal -// MEMO: Countdown time for EC-GN-P01-PMF:STAT-DT-SWON ----------- -4. -// TODO when to switch to RFON? -// MEMO: Go to RFON state when All switch PVs are 1. and the mode is async. -if (EC-GN-P01-PA1F:PSU3000-CON-SW == 1 AND - EC-GN-P01-PB1F:PSU1000-CON-SW == 1 AND - EC-GN-P01-PMF:PSU0000-CON-SW == 1) -{ - change state to RFON -} ----------- -5. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- - -HVInjectionESDN -========== -1. -// MEMO: Write Gyrotron state PV (HVInjection) to notify PLC. -Write 1 to EC-GN-P01-GAF:PCF4210-YTS-GA2. ----------- -2. -set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 1 -// Write 1 when ESDN command give a command. ----------- -3. -set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 1 -// Write 1 when ESDN command give a command. ----------- -4. -set signal EC-GN-P01-PMF:PSU0000-CON-SW = 1 -// Write 1 when ESDN command give a command. ----------- -5. -// TODO when to switch to RFONESDN? -// MEMO: Go to RFON state when All switch PVs are 1. and the mode is sync.i,e. change from HVInjectionxxxESDN -if (EC-GN-P01-PA1F:PSU3000-CON-SW == 1 AND - EC-GN-P01-PB1F:PSU1000-CON-SW == 1 AND - EC-GN-P01-PMF:PSU0000-CON-SW == 1) -{ - change state to RFONESDN -} ----------- - -RFON -========== -// TODO is this correct? -1. -// This only executes on the last cycle before we move to HVArmed -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= EC-GN-P01-GAF:STAT-DT-SHOTLEN) -{ - set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 0 - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 0 -} ----------- -2. -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= EC-GN-P01-GAF:STAT-DT-SHOTLEN) -{ - change state to HVArmed -} ----------- -3. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -4. -When enter the state beam-on timer is set to 0. -count up beam-on time. write the time into EC-GN-P01-GAF:STAT-BEAMON-TIME ----------- - - - -RFONESDN -========== -// TODO is this correct? -// MEMO: In the ESDN sync mode, HVPS turned off by ESDN packet. -// In both mode, there is mode_limit which is given by (EC-GN-P01-GPF:PLC4110-YTS-MD1,2,3,4). -1. -// This only executes on the last cycle before we move to HVArmed -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= t_mode_limit) // TODO: where do I get t_mode_limit? -{ - set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 0 - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 0 -} ----------- -2. -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= t_mode_limit) // TODO: where do I get t_mode_limit? -{ - change state to HVArmedESDN -} ----------- -3. -Subscribe ESDN commands. When GAM detect Beam-off command. It turn all HVPS SW OFF. -And change state to HVArmedESDN ----------- -4. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -5. -When enter the state beam-on timer is set to 0. -count up beam-on time. write the time into EC-GN-P01-GAF:STAT-BEAMON-TIME ----------- - - -Error -========== -1. -// Only execute on the first cycle after entering this state -if (first) -{ - set first = false - - set signal EC-GN-P01-PA1F:PUS3000-CON-HV = 0 // TODO: there is no signal named EC-GN-P01-PA1F:PUS3000-CON-HV - set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-HV = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 0 - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 0 - // MEMO: PA2F and PB2F are component type for gyrotron B. I will remove following action. - set signal EC-GN-P01-PA2F:PUS4000-CON-HV = 0 // TODO: there is no signal named EC-GN-P01-PA2F:PUS4000-CON-HV - set signal EC-GN-P01-PA2F:PSU4000-CON-SW = 0 // TODO: signal EC-GN-P01-PA2F:PSU4000-CON-SW missing in configuration file - set signal EC-GN-P01-PB2F:PSU2000-CON-HV = 0 // TODO: signal EC-GN-P01-PB2F:PSU2000-CON-HV missing in configuration file - set signal EC-GN-P01-PB2F:PSU2000-CON-SW = 0 // TODO: signal EC-GN-P01-PB2F:PSU2000-CON-SW missing in configuration file - - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 1 - set signal EC-GN-P01-PA1F:PSU3000-CTRP = 1 - set signal EC-GN-P01-PB1F:PSU1000-CTRP = 1 - // MEMO: PA2F and PB2F are component type for gyrotron B. I will remove following action. - set signal EC-GN-P01-PA2F:PSU4000-CTRP = 1 // TODO: signal EC-GN-P01-PA2F:PSU4000-CTRP missing in configuration file - set signal EC-GN-P01-PB2F:PSU1000-CTRP = 1 // TODO: there is no signal named EC-GN-P01-PB2F:PSU1000-CTRP -} ----------- -2. -if (EC-GN-P01-GPF:STAT-RST-FLT == 1 && ) // TODO: when do we go to Offline state? -{ - change state to Offline -} ----------- diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.cpp deleted file mode 100644 index dd322b8..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/** - * @file JABitReverseGAM.cpp - * @brief Source file for class JABitReverseGAM - * @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 JABitReverseGAM (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 "JABitReverseGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JABitReverseGAM::JABitReverseGAM() { - //Input signals. - input1 = NULL_PTR(MARTe::uint8 *); - - //Output signals. - output1= NULL_PTR(MARTe::uint8 *); -} - -JABitReverseGAM::~JABitReverseGAM() { -} - -bool JABitReverseGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - return ok; -} - -bool JABitReverseGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JABitReverseGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 1u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One input signals shall be defined"); - } - // Do type check for input signals. - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - ok = ((inputType == UnsignedInteger8Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger8Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - } - } - // Do type cast. - if (ok) { - input1 = reinterpret_cast(GetInputSignalMemory(0)); - - output1 = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JABitReverseGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - *output1 = ~(*input1); - return true; -} - -CLASS_REGISTER(JABitReverseGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.h deleted file mode 100644 index 1d2bbcf..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @file JABitReverseGAM.h - * @brief Header file for class JABitReverseGAM - * @date Mar 18, 2020 - * @author kuchida - * - * @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 JABitReverseGAM - * 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_JABitReverseGAM_H_ -#define GAMS_JABitReverseGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JABitReverseGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JABitReverseGAM(); - - virtual ~JABitReverseGAM(); - - 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 - - // Input signals - MARTe::uint8 *input1; - - // Output signals - MARTe::uint8 *output1; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JABitReverseGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.inc deleted file mode 100644 index e764f01..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.inc +++ /dev/null @@ -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=JABitReverseGAM.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)/JABitReverseGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitReverseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.cpp deleted file mode 100644 index 7c75cd1..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file JABitSumGAM.cpp - * @brief Source file for class JABitSumGAM - * @date Feb 10, 2020 - * @author kuchida - * - * @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 JABitSumGAM (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 "JABitSumGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JABitSumGAM::JABitSumGAM() { - //Input signals. - input0 = NULL_PTR(MARTe::uint32 *); - input1 = NULL_PTR(MARTe::uint32 *); - input2 = NULL_PTR(MARTe::uint32 *); - input3 = NULL_PTR(MARTe::uint32 *); - input4 = NULL_PTR(MARTe::uint32 *); - input5 = NULL_PTR(MARTe::uint32 *); - input6 = NULL_PTR(MARTe::uint32 *); - input7 = NULL_PTR(MARTe::uint32 *); - - //Output signals. - output= NULL_PTR(MARTe::uint8 *); -} - -JABitSumGAM::~JABitSumGAM() { -} - -bool JABitSumGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (!ok){ - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "ParametersError in init."); - } - return ok; -} - -bool JABitSumGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JABitSumGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 8u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Eight input signals shall be defined"); - } - // Do type check for input signals. - 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()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = (outputType == UnsignedInteger8Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - } - } - // Do type cast. - if (ok) { - input0 = reinterpret_cast(GetInputSignalMemory(0)); - input1 = reinterpret_cast(GetInputSignalMemory(1)); - input2 = reinterpret_cast(GetInputSignalMemory(2)); - input3 = reinterpret_cast(GetInputSignalMemory(3)); - input4 = reinterpret_cast(GetInputSignalMemory(4)); - input5 = reinterpret_cast(GetInputSignalMemory(5)); - input6 = reinterpret_cast(GetInputSignalMemory(6)); - input7 = reinterpret_cast(GetInputSignalMemory(7)); - - output = reinterpret_cast(GetOutputSignalMemory(0)); - } - - return ok; -} - -bool JABitSumGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - *output = *input0 + *input1*2 + *input2*4 + *input3*8 + *input4*16 + - *input5*32 + *input6*64 + *input7*128; - - return true; -} - -CLASS_REGISTER(JABitSumGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.h deleted file mode 100644 index 462f62b..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.h +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @file JABitSumGAM.h - * @brief Header file for class JABitSumGAM - * @date Feb 10, 2020 - * @author kuchida - * - * @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 JABitSumGAM - * 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_JABitSumGAM_H_ -#define GAMS_JABitSumGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "stdio.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JABitSumGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JABitSumGAM(); - - virtual ~JABitSumGAM(); - - 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: - // Input signals - MARTe::uint32 *input0; - MARTe::uint32 *input1; - MARTe::uint32 *input2; - MARTe::uint32 *input3; - MARTe::uint32 *input4; - MARTe::uint32 *input5; - MARTe::uint32 *input6; - MARTe::uint32 *input7; - - // Output signals - MARTe::uint8 *output; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JABitSumGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.inc deleted file mode 100644 index 42b3063..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.inc +++ /dev/null @@ -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=JABitSumGAM.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)/JABitSumGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitSumGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp deleted file mode 100644 index 99ba1f5..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp +++ /dev/null @@ -1,309 +0,0 @@ -/** - * @file JAConditionalSignalUpdateGAM.cpp - * @brief Source file for class JAConditionalSignalUpdateGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAConditionalSignalUpdateGAM (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 "JAConditionalSignalUpdateGAM.h" -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAConditionalSignalUpdateGAM::JAConditionalSignalUpdateGAM() { - inputSignals = NULL_PTR(void **); - inputSignalTypes = NULL_PTR(MARTe::TypeDescriptor *); - values = NULL_PTR(MARTe::uint32 *); - valuesCount = 0u; - outputSignals = NULL_PTR(MARTe::uint32 **); - defaultValues = NULL_PTR(MARTe::uint32 **); - needsReset = false; - expectedValues = NULL_PTR(MARTe::uint32 *); - expectedValuesCount = 0u; - operation = And; - comparators = NULL_PTR(ComparisonMode *); -} - -JAConditionalSignalUpdateGAM::~JAConditionalSignalUpdateGAM() { - if (outputSignals != NULL_PTR(MARTe::uint32 **)) { - delete[] outputSignals; - } - if (inputSignals != NULL_PTR(void **)) { - delete[] inputSignals; - } - if (inputSignalTypes != NULL_PTR(MARTe::TypeDescriptor *)) { - delete[] inputSignalTypes; - } - if (values != NULL_PTR(MARTe::uint32 *)) { - delete[] values; - } - if (comparators != NULL_PTR(ComparisonMode *)) { - delete[] comparators; - } - if (defaultValues != NULL_PTR(MARTe::uint32 **)) { - delete[] defaultValues; - } -} - -bool JAConditionalSignalUpdateGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - // Read expected values. - AnyType valuesArray = data.GetType("ExpectedValues"); - - if (valuesArray.GetDataPointer() != NULL) { - expectedValuesCount = valuesArray.GetNumberOfElements(0u); - - expectedValues = new uint32[expectedValuesCount]; - - Vector valuesVector(expectedValues, expectedValuesCount); - ok = (data.Read("ExpectedValues", valuesVector)); - } - } - if (ok) { - // Read comparators. - AnyType comparatorsArray = data.GetType("Comparators"); - if (comparatorsArray.GetDataPointer() != NULL) { - uint32 count; - if (ok) { - count = comparatorsArray.GetNumberOfElements(0u); - ok = count == expectedValuesCount; - } - if (ok) { - comparators = new ComparisonMode[count]; - StreamString* comp = new StreamString[count]; - Vector compVector(comp, count); - - ok = (data.Read("Comparators", compVector)); - - if (ok) { - for (uint32 i = 0; i < count; ++i) { - if (comp[i] == "EQUALS") { - comparators[i] = Equals; - } else if (comp[i] == "NOT") { - comparators[i] = Not; - } else if (comp[i] == "GREATER") { - comparators[i] = Greater; - } else if (comp[i] == "EQUALS_OR_GREATER") { - comparators[i] = EqualsOrGreater; - } else if (comp[i] == "LESS") { - comparators[i] = Less; - } else if (comp[i] == "EQUALS_OR_LESS") { - comparators[i] = EqualsOrLess; - } else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Comparator %s is not defined.", comp[i].Buffer()); - } - } - } - delete[] comp; - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } else { - // Create default comparators (equals) when they aren't provided in the configuration. - comparators = new ComparisonMode[expectedValuesCount]; - for (uint32 i = 0; i < expectedValuesCount; ++i) { - comparators[i] = Equals; - } - } - } - if (ok) { - MARTe::StreamString operationStr; - if (data.Read("Operation", operationStr)) { - if (operationStr == "AND") { - operation = And; - } - else if (operationStr == "OR") { - operation = Or; - } - else if (operationStr == "NOR") { - operation = Nor; - } - else if (operationStr == "XOR") { - operation = Xor; - } - else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Operation %s is not defined", operationStr.Buffer()); - } - } - } - if (ok) { - // Read output signal values to be set. - AnyType valuesArray = data.GetType("Values"); - ok = (valuesArray.GetDataPointer() != NULL); - - if (ok) { - valuesCount = valuesArray.GetNumberOfElements(0u); - ok = valuesCount > 0u; - } - if (ok) { - values = new uint32[valuesCount]; - - Vector valuesVector(values, valuesCount); - ok = (data.Read("Values", valuesVector)); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Values shall be defined."); - } - } - return ok; -} - -bool JAConditionalSignalUpdateGAM::Setup() { - using namespace MARTe; - bool ok = numberOfInputSignals == (expectedValuesCount + numberOfOutputSignals); - if (ok) { - inputSignals = new void*[expectedValuesCount]; - defaultValues = new uint32*[numberOfOutputSignals]; - uint32 i; - for (i = 0u; i < expectedValuesCount; i++) { - inputSignals[i] = GetInputSignalMemory(i); - } - for (; i < numberOfInputSignals; i++) { - defaultValues[i - expectedValuesCount] = reinterpret_cast(GetInputSignalMemory(i)); - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be equal to number " - "of expected values plus number of output signals."); - } - if (ok) { - inputSignalTypes = new TypeDescriptor[expectedValuesCount]; - uint32 i; - for (i = 0u; (i < expectedValuesCount) && (ok); i++) { - inputSignalTypes[i] = GetSignalType(InputSignals, i); - ok = ((inputSignalTypes[i] == UnsignedInteger32Bit) || (inputSignalTypes[i] == UnsignedInteger16Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint16", signalName.Buffer()); - } - } - } - if (ok) { - ok = numberOfOutputSignals == valuesCount; - if (ok) { - ok = numberOfOutputSignals > 0u; - if (ok) { - outputSignals = new uint32*[numberOfOutputSignals]; - uint32 i; - for (i = 0u; i < numberOfOutputSignals; i++) { - outputSignals[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one output signal shall be defined"); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of output signals shall be the same as " - "number of provided values."); - } - } - - return ok; -} - -bool JAConditionalSignalUpdateGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - needsReset = false; - return true; -} - -bool JAConditionalSignalUpdateGAM::Execute() { - if (!needsReset) { - bool eventDetected = expectedValuesCount == 0; - if (!eventDetected) { - if (operation == Or) { - MARTe::uint32 j; - for (j = 0; (j < expectedValuesCount) && (!eventDetected); j++) { - eventDetected = Compare(j); - } - } - else if (operation == Nor) { - MARTe::uint32 j; - for (j = 0; (j < expectedValuesCount) && (!eventDetected); j++) { - eventDetected = Compare(j); - } - eventDetected = !eventDetected; - } - else if (operation == And) { - MARTe::uint32 j; - eventDetected = Compare(0); - for (j = 1; (j < expectedValuesCount); j++) { - eventDetected &= Compare(j); - } - } - else if (operation == Xor) { - MARTe::uint32 j; - MARTe::uint32 eventDetectedUint32; - if (inputSignalTypes[0] == MARTe::UnsignedInteger32Bit) { - eventDetectedUint32 = *static_cast(inputSignals[0]); - } - else { - eventDetectedUint32 = *static_cast(inputSignals[0]); - } - for (j = 1; (j < expectedValuesCount); j++) { - eventDetectedUint32 ^= Compare(j); - } - eventDetected = (eventDetectedUint32 == 1u); - } - } - if (eventDetected) { - needsReset = true; - MARTe::uint32 i; - for (i = 0u; i < numberOfOutputSignals; ++i) { - *outputSignals[i] = values[i]; - MARTe::StreamString signalName; - (void) GetSignalName(MARTe::OutputSignals, i, signalName); - } - } - else { - MARTe::uint32 i; - for (i = 0u; i < numberOfOutputSignals; ++i) { - *outputSignals[i] = *defaultValues[i]; - } - } - } - return true; -} - -bool JAConditionalSignalUpdateGAM::Compare(MARTe::uint32 index) { - if (inputSignalTypes[index] == MARTe::UnsignedInteger32Bit) { - return Compare(index); - } - return Compare(index); -} - -CLASS_REGISTER(JAConditionalSignalUpdateGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h deleted file mode 100644 index 2cf5c5d..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h +++ /dev/null @@ -1,180 +0,0 @@ -/** - * @file JAConditionalSignalUpdateGAM.h - * @brief Header file for class JAConditionalSignalUpdateGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAConditionalSignalUpdateGAM - * 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_JACONDITIONALSIGNALUPDATEGAM_H_ -#define GAMS_JACONDITIONALSIGNALUPDATEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that writes predefined values to output signals when a condition is met. - * If there are no conditional signals provided, the condition is presumed to be met. - * - * +ASYNCShotlengthControlGAM = { - * Class = JAConditionalSignalUpdateGAM - * Operation = OR // Logical operation performed between conditional signals - * // Supported values: AND, OR, XOR, NOR - * // Default: AND - * ExpectedValues = {1 1} // Values to which conditional signals will be compared. - * Comparators = {EQUALS EQUALS} // Operator between conditional signal an expected value - * // Supported values: EQUALS, NOT, GREATER, EQUALS_OR_GREATER, LESS, EQUALS_OR_LESS - * // Default: EQUALS - * Values = {0 3} // Values that will be written to output signals when condition is met. - * InputSignals = { - * // Conditional Signals - * SHOTLEN_FLAG = { - * DataSource = DDB1 - * Type = uint32 - * } - * MODE_SHOTLEN_FLAG = { - * DataSource = DDB1 - * Type = uint32 - * } - * // Default values (set to output signals before the condition is met) - * APS_SWON = { // APS_SWON will keep the value from previous state. - * DataSource = DDB1 - * Type = uint32 - * } - * BPS_SWON_DEFAULT = { // BPS_SWON will be set to 7 before condition is met. - * DataSource = DDB1 - * Type = uint32 - * Default = 7 - * } - * } - * OutputSignals = { - * APS_SWON = { - * DataSource = DDB1 - * Type = uint32 - * } - * BPS_SWON = { - * DataSource = DDB1 - * Type = uint32 - * } - * } - * } - */ -class JAConditionalSignalUpdateGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAConditionalSignalUpdateGAM(); - - virtual ~JAConditionalSignalUpdateGAM(); - - 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: - /** - * @brief Does the input signal at provided index have the expected value. - * @param[in] index of the signal. - * @return true if the signal has expected value. - */ - bool Compare(MARTe::uint32 index); - - template - bool Compare(MARTe::uint32 index); - - enum OperationMode { - And, Or, Xor, Nor - }; - - enum ComparisonMode { - Equals, Not, Greater, EqualsOrGreater, Less, EqualsOrLess - }; - - // Input signals - void **inputSignals; - - MARTe::TypeDescriptor *inputSignalTypes; - - // Condition operation. - OperationMode operation; - - // Array of expected values of input signals. - MARTe::uint32* expectedValues; - - // Expected values count (must be equal to numberOfInputSignals) - MARTe::uint32 expectedValuesCount; - - // Array of comparators - ComparisonMode* comparators; - - // Values to be written on output signals when input signal has the expected value. - MARTe::uint32 *values; - - // Number of values (must be equal to numberOfOutputSignals) - MARTe::uint32 valuesCount; - - // Output signals - MARTe::uint32 **outputSignals; - - // Default values of output signals - MARTe::uint32 **defaultValues; - - // Were output signals already set and we are waiting for a state change before they are set again. - bool needsReset; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -template -bool JAConditionalSignalUpdateGAM::Compare(MARTe::uint32 index) { - switch (comparators[index]) { - case Equals: - return *static_cast(inputSignals[index]) == static_cast(expectedValues[index]); - case Not: - return *static_cast(inputSignals[index]) != static_cast(expectedValues[index]); - case Greater: - return *static_cast(inputSignals[index]) > static_cast(expectedValues[index]); - case EqualsOrGreater: - return *static_cast(inputSignals[index]) >= static_cast(expectedValues[index]); - case Less: - return *static_cast(inputSignals[index]) < static_cast(expectedValues[index]); - default: // case EqualsOrLess: - return *static_cast(inputSignals[index]) <= static_cast(expectedValues[index]); - } -} - -#endif /* GAMS_JACONDITIONALSIGNALUPDATEGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc deleted file mode 100644 index c66a7fd..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc +++ /dev/null @@ -1,53 +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=JAConditionalSignalUpdateGAM.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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAConditionalSignalUpdateGAM$(LIBEXT) \ - $(BUILD_DIR)/JAConditionalSignalUpdateGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.cpp deleted file mode 100644 index 50ca308..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.cpp +++ /dev/null @@ -1,347 +0,0 @@ -/** - * @file JAMessageGAM.cpp - * @brief Source file for class JAMessageGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAMessageGAM (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 "AdvancedErrorManagement.h" -#include "JAMessageGAM.h" -#include "MessageI.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -template -bool Compare(JAMessageGAM::ComparisonMode comparator, void *inputSignal, U expectedValue) { - switch (comparator) { - case JAMessageGAM::Equals: - return *static_cast(inputSignal) == expectedValue; - case JAMessageGAM::Not: - return *static_cast(inputSignal) != expectedValue; - case JAMessageGAM::Greater: - return *static_cast(inputSignal) > expectedValue; - case JAMessageGAM::EqualsOrGreater: - return *static_cast(inputSignal) >= expectedValue; - case JAMessageGAM::Less: - return *static_cast(inputSignal) < expectedValue; - default: // case EqualsOrLess: - return *static_cast(inputSignal) <= expectedValue; - } -} - -JAMessageGAM::JAMessageGAM() { - inputSignals = NULL_PTR(void **); - inputSignalTypes = NULL_PTR(MARTe::TypeDescriptor *); - operation = And; - needsReset = false; - expectedValuesInt = NULL_PTR(MARTe::uint64 *); - expectedValuesFloat = NULL_PTR(MARTe::float64 *); - intValuesCount = 0u; - floatValuesCount = 0u; - comparators = NULL_PTR(ComparisonMode *); -} - -JAMessageGAM::~JAMessageGAM() { - if (inputSignals != NULL_PTR(void **)) { - delete[] inputSignals; - } - if (inputSignalTypes != NULL_PTR(MARTe::TypeDescriptor *)) { - delete[] inputSignalTypes; - } - if (expectedValuesInt != NULL_PTR(MARTe::uint64 *)) { - delete[] expectedValuesInt; - } - if (expectedValuesFloat != NULL_PTR(MARTe::float64 *)) { - delete[] expectedValuesFloat; - } - if (comparators != NULL_PTR(ComparisonMode *)) { - delete[] comparators; - } -} - -bool JAMessageGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - // Read expected integer values. - AnyType valuesArray = data.GetType("ExpectedIntValues"); - bool intValuesProvided = (valuesArray.GetDataPointer() != NULL); - - if (intValuesProvided) { - intValuesCount = valuesArray.GetNumberOfElements(0u); - } - if (intValuesProvided) { - expectedValuesInt = new uint64[intValuesCount]; - - Vector valuesVector(expectedValuesInt, intValuesCount); - ok = (data.Read("ExpectedIntValues", valuesVector)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Failed to read ExpectedIntValues."); - return ok; - } - } - // Read expected float values. - valuesArray = data.GetType("ExpectedFloatValues"); - bool floatValuesProvided = (valuesArray.GetDataPointer() != NULL); - - if (floatValuesProvided) { - floatValuesCount = valuesArray.GetNumberOfElements(0u); - } - if (floatValuesProvided) { - expectedValuesFloat = new float64[floatValuesCount]; - - Vector valuesVector(expectedValuesFloat, floatValuesCount); - ok = (data.Read("ExpectedFloatValues", valuesVector)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Failed to read ExpectedFloatValues."); - return ok; - } - } - - ok = (floatValuesCount + intValuesCount) > 0u; - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "ExpectedFloatValues and or ExpectedIntValues shall be defined."); - } - } - if (ok) { - // Read comparators. - AnyType comparatorsArray = data.GetType("Comparators"); - if (comparatorsArray.GetDataPointer() != NULL) { - uint32 count = comparatorsArray.GetNumberOfElements(0u); - ok = count == (intValuesCount + floatValuesCount); - if (ok) { - comparators = new ComparisonMode[count]; - StreamString* comp = new StreamString[count]; - Vector compVector(comp, count); - - ok = (data.Read("Comparators", compVector)); - - if (ok) { - for (uint32 i = 0; i < count; ++i) { - if (comp[i] == "EQUALS") { - comparators[i] = Equals; - } else if (comp[i] == "NOT") { - comparators[i] = Not; - } else if (comp[i] == "GREATER") { - comparators[i] = Greater; - } else if (comp[i] == "EQUALS_OR_GREATER") { - comparators[i] = EqualsOrGreater; - } else if (comp[i] == "LESS") { - comparators[i] = Less; - } else if (comp[i] == "EQUALS_OR_LESS") { - comparators[i] = EqualsOrLess; - } else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Comparator %s is not defined.", comp[i].Buffer()); - } - } - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } else { - uint32 count = intValuesCount + floatValuesCount; - if (ok) { - // Create default comparators (equals) when they aren't provided in the configuration. - comparators = new ComparisonMode[count]; - for (uint32 i = 0; i < count; ++i) { - comparators[i] = Equals; - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } - } - if (ok) { - MARTe::StreamString operationStr; - if (data.Read("Operation", operationStr)) { - if (operationStr == "AND") { - operation = And; - } - else if (operationStr == "OR") { - operation = Or; - } - else if (operationStr == "NOR") { - operation = Nor; - } - else if (operationStr == "XOR") { - operation = Xor; - } - else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Operation %s is not defined", operationStr.Buffer()); - } - } - } - if (ok) { - ok = (Size() == 1); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "A Message object shall be added to this container"); - } - } - if (ok) { - eventMsg = Get(0); - ok = (eventMsg.IsValid()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "A valid Message shall be added to this container"); - } - } - return ok; -} - -bool JAMessageGAM::Setup() { - using namespace MARTe; - bool ok = numberOfInputSignals == (intValuesCount + floatValuesCount); - if (ok) { - ok = numberOfInputSignals > 0u; - if (ok) { - inputSignals = new void*[numberOfInputSignals]; - uint32 i; - for (i = 0u; i < numberOfInputSignals; i++) { - inputSignals[i] = GetInputSignalMemory(i); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one input signal shall be defined"); - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be the same as " - "number of expected values."); - } - if (ok) { - inputSignalTypes = new TypeDescriptor[numberOfInputSignals]; - uint32 i; - for (i = 0u; (i < numberOfInputSignals) && (ok); i++) { - TypeDescriptor inputType = GetSignalType(InputSignals, i); - inputSignalTypes[i] = inputType; - ok = (inputType == UnsignedInteger32Bit) || (inputType == SignedInteger32Bit) || - (inputType == UnsignedInteger16Bit) || (inputType == SignedInteger16Bit) || - (inputType == UnsignedInteger8Bit) || (inputType == SignedInteger8Bit) || - (inputType == Float64Bit) || (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as 32/16/8 bit signed/unsigned integer " - "or as 64/32 float.", signalName.Buffer()); - } - } - } - - return ok; -} - -bool JAMessageGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - needsReset = false; - return true; -} - -bool JAMessageGAM::Execute() { - using namespace MARTe; - bool ok = true; - bool eventDetected = false; - uint32 inputPortIndex = 0; - uint32 intIndex = 0; - uint32 floatIndex = 0; - if (operation == Or) { - for (inputPortIndex = 0; (inputPortIndex < numberOfInputSignals) && (!eventDetected); inputPortIndex++) { - eventDetected = Compare(inputPortIndex, floatIndex, intIndex); - } - } - else if (operation == Nor) { - for (inputPortIndex = 0; (inputPortIndex < numberOfInputSignals) && (!eventDetected); inputPortIndex++) { - eventDetected = Compare(inputPortIndex, floatIndex, intIndex); - } - eventDetected = !eventDetected; - } - else if (operation == And) { - eventDetected = Compare(0, floatIndex, intIndex); - for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals); inputPortIndex++) { - eventDetected &= Compare(inputPortIndex, floatIndex, intIndex); - } - } - else if (operation == Xor) { - uint32 eventDetectedUInt32 = Compare(inputPortIndex, floatIndex, intIndex); - for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals); inputPortIndex++) { - eventDetectedUInt32 ^= Compare(inputPortIndex, floatIndex, intIndex); - } - eventDetected = (eventDetectedUInt32 == 1u); - } - if (eventDetected) { - if (!needsReset) { - ok = (MessageI::SendMessage(eventMsg, this) == ErrorManagement::NoError); - needsReset = true; - } - } - return ok; -} - -bool JAMessageGAM::Compare(MARTe::uint32 inputPortIndex, MARTe::uint32 &floatValueIndex, MARTe::uint32 &intValueIndex) { - using namespace MARTe; - bool ret = false; - if (inputSignalTypes[inputPortIndex] == UnsignedInteger32Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger32Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == UnsignedInteger16Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger16Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == UnsignedInteger8Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger8Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == Float64Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesFloat[floatValueIndex]); - ++floatValueIndex; - } - else { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesFloat[floatValueIndex]); - ++floatValueIndex; - } - return ret; -} - -CLASS_REGISTER(JAMessageGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.h deleted file mode 100644 index 0cdb315..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.h +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @file JAMessageGAM.h - * @brief Header file for class JAMessageGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAMessageGAM - * 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_JAMESSAGEGAM_H_ -#define GAMS_JAMESSAGEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that sends a message when input signals have expected values. Message will not be sent multiple - * times without first changing the application state. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- * +MessageGAM = {
- *      Class = JAMessageGAM
- *      Operation = AND // Accepted values are: AND, OR, XOR, NOR. Default value is AND.
- *      ExpectedIntValues = {1 10} // Expected values for input signals of integral type.
- *      ExpectedFloatValues = {3.5} // Expected values for float signals of floting point type.
- *      Comparators = {EQUALS GREATER NOT} // Accepted values are: EQUALS, NOT, GREATER, EQUALS_OR_GREATER, LESS, EQUALS_OR_LESS
- *                                         // Comparators element is optional. Default comparator is EQUALS.
- *      InputSignals = {
- *          Sig1 = {
- *              DataSource = EPICSCAInput
- *              Type = uint32
- *          }
- *          Sig2 = {
- *              DataSource = EPICSCAInput
- *              Type = float32
- *          }
- *          Sig3 = {
- *              DataSource = EPICSCAInput
- *              Type = uint32
- *          }
- *      }
- *      +Event = { // Message to be sent when condition is true.
- *          Class = Message
- *          Destination = StateMachine
- *          Function = GoDisabled
- *      }
- *  }
- * 
- * This example will send Event message when Sig1 == 1 && Sig2 > 3.5 && Sig3 != 10 - */ -class JAMessageGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAMessageGAM(); - - virtual ~JAMessageGAM(); - - 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); - - enum ComparisonMode { - Equals, Not, Greater, EqualsOrGreater, Less, EqualsOrLess - }; - -private: - /** - * @brief Does the input signal at provided index have the expected value. - * @param[in] index of the signal. - * @param[out] floatValueIndex lookup index for expected float values array. - * @param[out] intValueIndex lookup index for expected integer values array. - * @return true if the signal has expected value. - */ - bool Compare(MARTe::uint32 index, MARTe::uint32 &floatValueIndex, MARTe::uint32 &intValueIndex); - - enum OperationMode { - And, Or, Xor, Nor - }; - - // Input signals - void **inputSignals; - - MARTe::TypeDescriptor *inputSignalTypes; - - // Condition operation. - OperationMode operation; - - // Message to be sent when conditions are met. - MARTe::ReferenceT eventMsg; - - // Was the message already sent and we are waiting for a state change before next message can be sent. - bool needsReset; - - // Array of expected integer values of input signals. - MARTe::uint64* expectedValuesInt; - - // Array of expected float values for input signals. - MARTe::float64* expectedValuesFloat; - - // Expected integer values count (must be equal to numberOfInputSignals - floatValuesCount) - MARTe::uint32 intValuesCount; - - // Expected integer values count (must be equal to numberOfInputSignals - floatValuesCount) - MARTe::uint32 floatValuesCount; - - // Array of comparators - ComparisonMode* comparators; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAMESSAGEGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.inc deleted file mode 100644 index 658d273..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.inc +++ /dev/null @@ -1,53 +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=JAMessageGAM.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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAMessageGAM$(LIBEXT) \ - $(BUILD_DIR)/JAMessageGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.cpp deleted file mode 100644 index c55e6d0..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/** - * @file JAModeControlGAM.cpp - * @brief Source file for class JAModeControlGAM - * @date Jan, 2019 - * @author kuchida - * - * @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 JAModeControlGAM (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 "JAModeControlGAM.h" -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAModeControlGAM::JAModeControlGAM() { - inputSignals = NULL_PTR(MARTe::uint32 **); - outputSignal = NULL_PTR(MARTe::uint32 *); - pulseLengthLimit = 360000000u; - resetRemainingTime = true; - previousState = 0u; -} - -JAModeControlGAM::~JAModeControlGAM() { - if (inputSignals != NULL_PTR(MARTe::uint32 **)) { - delete[] inputSignals; - } -} - -bool JAModeControlGAM::Initialise(MARTe::StructuredDataI & data) { - /* read hard coded on cfg file parameter values by using key name. */ - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JAModeControlGAM::Setup() { - /* read GAM Input signal */ - using namespace MARTe; - /* read 4 mode bits and 4 shot length limit values */ - - bool ok = numberOfInputSignals == 11; - if (ok) { - uint32 i; - for (i = 0u; (i < numberOfInputSignals) && (ok); i++) { - TypeDescriptor inputType = GetSignalType(InputSignals, i); - ok = inputType == UnsignedInteger32Bit; - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "InputSignel %s shall be defined as uint32", signalName.Buffer()); - } - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Eleven input signals shall be defined."); - } - if (ok) { - ok = numberOfOutputSignals == 1; - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "One output signal shall be defined."); - } - else { - TypeDescriptor type = GetSignalType(OutputSignals, 0); - ok = type == UnsignedInteger32Bit; - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 0, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - } - if (ok) { - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - inputSignals = new uint32*[numberOfInputSignals]; - uint32 i; - for (i = 0u; i < 11; i++) { - inputSignals[i] = reinterpret_cast(GetInputSignalMemory(i)); - } - } - return ok; -} - -bool JAModeControlGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - *outputSignal = 0u; - previousState = 0u; - resetRemainingTime = true; - return true; -} - -bool JAModeControlGAM::Execute() { - using namespace MARTe; - //When RT state goes to RFON state, update the limit. - if(previousState == 0u && *inputSignals[8] == 1u && resetRemainingTime) { - rfonTime = *inputSignals[9]; - resetRemainingTime = false; - pulseLengthLimit = CalcPulseLengthLimit(inputSignals); - 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)) { - *outputSignal = 0u; - return true; - } else if(*inputSignals[9] == 1u){ - resetRemainingTime = true; - *outputSignal = 1u; - } - - previousState = *inputSignals[8]; - return true; -} - - -MARTe::uint32 JAModeControlGAM::CalcPulseLengthLimit(MARTe::uint32 **inputSignals) { - if (*inputSignals[0] == 1) { - return *inputSignals[1]; - } else if (*inputSignals[2] == 1) { - return *inputSignals[3]; - } else if (*inputSignals[4] == 1) { - return *inputSignals[5]; - } else if (*inputSignals[6] == 1) { - return *inputSignals[7]; - } else { - return 3600000000;//us - } -} - - -CLASS_REGISTER(JAModeControlGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.h deleted file mode 100644 index e9041ce..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.h +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @file JAModeControlGAM.h - * @brief Header file for class JAModeControlGAM - * @date Jan, 2019 - * @author kuchida - * - * @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 JAModeControlGAM - * 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_JAMODECONTROLGAM_H_ -#define GAMS_JAMODECONTROLGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that check the pulse lenght limit. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +ModeLimitGAM = {
- *           Class = JAModeControlGAM
- *           InputSignals = {
- *               PLC_MODE1 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD1_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE2 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD2_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE3 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD3_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE4 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD4_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               RFON = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint32
- *               }
- *               Time = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               HVInjection = {
- *               	DataSource = RealTimeThreadAsyncBridge
- *               	Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               MODE_SHOTLEN_FLAG = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *       }
- * 
- * If MODE1 is ON and Time is exceed MD1_SHOTLEN_LIM, MODE_SHOTLEN_FLAG become ON. - */ - -class JAModeControlGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAModeControlGAM(); - - virtual ~JAModeControlGAM(); - - 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: - - MARTe::uint32 CalcPulseLengthLimit(MARTe::uint32 **inputSignals); - - // Input signals - MARTe::uint32 **inputSignals; - - // Output signals - MARTe::uint32 *outputSignal; - - // Calculated pulse lenght limit. - MARTe::uint32 pulseLengthLimit; - - // Amount of time passed per execution cycle. - MARTe::uint32 rfonTime; - - // reset flag - bool resetRemainingTime; - MARTe::uint32 previousState; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAMODECONTROLGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.inc deleted file mode 100644 index 093c4b9..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.inc +++ /dev/null @@ -1,52 +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=JAModeControlGAM.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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAModeControlGAM$(LIBEXT) \ - $(BUILD_DIR)/JAModeControlGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp deleted file mode 100644 index 06de1df..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp +++ /dev/null @@ -1,460 +0,0 @@ -/** - * @file JAPreProgrammedGAM.cpp - * @brief Source file for class JAPreProgrammedGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAPreProgrammedGAM (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 "AdvancedErrorManagement.h" -#include "CLASSMETHODREGISTER.h" -#include "File.h" -#include "JAPreProgrammedGAM.h" -#include "MessageI.h" -#include "RegisteredMethodsMessageFilter.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -// How often output signals are updated. -const MARTe::uint32 cycleMs = 10u; - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAPreProgrammedGAM::JAPreProgrammedGAM() : - GAM() { - using namespace MARTe; - filenameSignalIndex = 0u; - timeSignal = NULL_PTR(MARTe::int32 *); - loadTriggerSignal = NULL_PTR(MARTe::uint32 *); - fhpsrefSignal = NULL_PTR(MARTe::float32 *); - rfonStateSignal = NULL_PTR(MARTe::uint32 *); - - valueSignals = NULL_PTR(MARTe::float32 **); - preProgrammedValues = NULL_PTR(MARTe::float32 **); - preProgrammedTime = NULL_PTR(MARTe::int32 *); - fileLoadedSignal = NULL_PTR(MARTe::uint32 *); - fileLoadErrorOutput = NULL_PTR(MARTe::uint32 *); - - startTime = 0u; - numberOfPreProgrammedValues = 0u; - numberOfPreProgrammedTimeRows = 0u; - currentRow = 0u; - mode = None; - preProgrammedExecutaionPeriodMs = 0u; - msCounter = 0u; - preProgrammedRow = 0u; - resetOutputSignals = false; - readOnce = true; -} - -JAPreProgrammedGAM::~JAPreProgrammedGAM() { - DeleteArrays(); - if (valueSignals != NULL_PTR(MARTe::float32 **)) { - delete[] valueSignals; - } -} - -bool JAPreProgrammedGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("Directory", directory); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - if (ok) { - ok = data.Read("PreProgrammedPeriodMs", preProgrammedExecutaionPeriodMs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - return ok; -} - -bool JAPreProgrammedGAM::Setup() { - using namespace MARTe; - //Signal number check. - bool ok = (numberOfInputSignals == 4u); - if (ok) { - ok = (numberOfOutputSignals > 2u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "At least two output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Four input signals with the filename and file load trigger shall be defined"); - } - //Input signals type consistency check. - if (ok) { - StreamString signalName = "Filename"; - ok = GetSignalIndex(InputSignals, filenameSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Filename input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, filenameSignalIndex); - ok = (inputType == CharString); - if (!ok) { - ok = (inputType == Character8Bit); - } - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, filenameSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as string", signalName.Buffer()); - } - } - } - if (ok) { - StreamString signalName = "CSV_LOAD"; - uint32 loadSignalIndex; - ok = GetSignalIndex(InputSignals, loadSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "CSV_LOAD input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, loadSignalIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, loadSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } else { - loadTriggerSignal = reinterpret_cast(GetInputSignalMemory(loadSignalIndex)); - } - } - } - if (ok) { - StreamString signalName = "FHPS_REF"; - uint32 fhpsrefIndex; - ok = GetSignalIndex(InputSignals, fhpsrefIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "FHPS_REF input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, fhpsrefIndex); - ok = (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, fhpsrefIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - fhpsrefSignal = reinterpret_cast(GetInputSignalMemory(fhpsrefIndex)); - } - } - } - if (ok) { - StreamString signalName = "RFON"; - uint32 rfonIndex; - ok = GetSignalIndex(InputSignals, rfonIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "RFON input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, rfonIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, rfonIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - rfonStateSignal = reinterpret_cast(GetInputSignalMemory(rfonIndex)); - } - } - } - - //Output signals type check. - if (ok) { - TypeDescriptor timeType = GetSignalType(OutputSignals, 0); - ok = (timeType == SignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, 0, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as int32", signalName.Buffer()); - } - - uint32 i; - for (i = 1u; (i <= 6) && (ok); i++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, i); - ok = (outputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, i, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } - } - - if (ok) { - TypeDescriptor fileLoadedType = GetSignalType(OutputSignals, 7u); - ok = (fileLoadedType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 6u, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - if (ok) { - TypeDescriptor fileLoadErrorOutputType = GetSignalType(OutputSignals, 8u); - ok = (fileLoadErrorOutputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 7u, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - } - - //Register signal memory - if (ok) { - timeSignal = reinterpret_cast(GetOutputSignalMemory(0)); - valueSignals = new float32*[6u]; - uint32 i; - for (i = 1u; i <= 6u; i++) { - valueSignals[i - 1] = reinterpret_cast(GetOutputSignalMemory(i)); - } - fileLoadedSignal = reinterpret_cast(GetOutputSignalMemory(7u)); - fileLoadErrorOutput = reinterpret_cast(GetOutputSignalMemory(8u)); - } - return ok; -} - -bool JAPreProgrammedGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - bool ok = true; - if (strcmp(nextStateName, "WaitReady") == 0) { - mode = LoadFileMode; - resetOutputSignals = true; - // Reset read once flag when reentering WaitReady state. - readOnce = true; - } else if (strcmp(nextStateName, "WaitPermit") == 0) { - mode = LoadFileMode; - resetOutputSignals = true; - currentRow = 0u; - } else if (strcmp(nextStateName, "WaitHVON_PREP") == 0 || strcmp(nextStateName, "WaitHVON_SDN_PREP") == 0) { - ok = numberOfPreProgrammedTimeRows > 0; - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::IllegalOperation, "Entering PreProgrammed mode without any waveform data."); - } - mode = PreProgrammedMode; - msCounter = cycleMs; - currentRow = 0u; - } else { - mode = None; - } - return ok; -} - -bool JAPreProgrammedGAM::LoadFile() { - using namespace MARTe; - - DeleteArrays(); - - bool ok = true; - - const MARTe::char8 * const filenameSignal = reinterpret_cast(GetInputSignalMemory(filenameSignalIndex)); - //Prepare full path to the configuration file. - StreamString filename = directory; - filename += DIRECTORY_SEPARATOR; - filename += filenameSignal; - REPORT_ERROR(MARTe::ErrorManagement::Debug, "Opening file %s", filename.Buffer()); - - //parse prepro configuration file into two arrays(time, values). - File f; - ok = f.Open(filename.Buffer(), BasicFile::ACCESS_MODE_R); - if (ok) { - //Count up number of file Rows. - numberOfPreProgrammedTimeRows = 0u; - StreamString tokenLine; - while (f.GetLine(tokenLine)) { - if (tokenLine[0] != '#' && tokenLine[0] != '-') { - numberOfPreProgrammedTimeRows++; - } - tokenLine = ""; - } - //Count up number of file lines - numberOfPreProgrammedValues = 0u; - f.Seek(0); - uint32 t = 0u; - tokenLine = ""; - while ((ok) && (f.GetLine(tokenLine))) { - // Skip comment line and minus time - if (tokenLine[0] == '#' || tokenLine[0] == '-') { - tokenLine = ""; - continue; - } - // Prepare two arrays at first. - if (numberOfPreProgrammedValues == 0) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - while (tokenLine.GetToken(token, ",", ignored)) { - numberOfPreProgrammedValues++; - token = ""; - } -REPORT_ERROR(MARTe::ErrorManagement::ParametersError,"numberOfPreProgrammedVal %d", numberOfPreProgrammedValues); - ok = (numberOfPreProgrammedValues == 7u);//From time row to FHPS row. - numberOfPreProgrammedValues -= 1u; //From MHVPS row to FHPS row. - if (ok) { - preProgrammedTime = new int32[numberOfPreProgrammedTimeRows]; - preProgrammedValues = new float32*[numberOfPreProgrammedTimeRows]; - uint32 j; - for (j = 0u; j < numberOfPreProgrammedTimeRows; j++) { - preProgrammedValues[j] = new float32[numberOfPreProgrammedValues]; - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, - "Number of columns in csv file (%d) is not consistent with the number of output signals (%d)", - numberOfPreProgrammedValues, 6u); - *fileLoadErrorOutput = 1; - } - } - // Add loaded data into two arrays. - if (ok) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - uint32 idx = 0u; - while (tokenLine.GetToken(token, ",", ignored)) { - if (idx == 0u) { - preProgrammedTime[t] = atoi(token.Buffer()); - if (t == 0 && preProgrammedTime[0] != 0) { - REPORT_ERROR(MARTe::ErrorManagement::Debug, "Prepro start from none zero time."); - } - } - else { - ok = ((idx - 1) < numberOfPreProgrammedValues); - if (ok) { - preProgrammedValues[t][idx - 1] = static_cast(atof(token.Buffer())); - } - else { - REPORT_ERROR(MARTe::ErrorManagement::FatalError, "Number of columns in csv file is not consistent with the number of output signals in line %d", t); - *fileLoadErrorOutput = 1; - } - } - token = ""; - idx++; - } - t++; - } - tokenLine = ""; - } - f.Close(); - } - if (ok) { - currentRow = 0u; - } - else { - numberOfPreProgrammedTimeRows = 0u; - REPORT_ERROR(ErrorManagement::Warning, "Failed to read waveform data from file."); - *fileLoadErrorOutput = 2; - } - return ok; -} - -bool JAPreProgrammedGAM::Execute() { - using namespace MARTe; - bool ok = true; - - switch (mode) { - case LoadFileMode: { - if (*loadTriggerSignal == 1u) { - if (readOnce) { - *fileLoadErrorOutput = 0; - *fileLoadedSignal = LoadFile() ? 1 : 0; - readOnce = false; - } - } else { - // Reset read once flag when loadTriggerSignal is reset. - readOnce = true; - } - - if (resetOutputSignals) { - // Write default values to output signals - *timeSignal = 0u; - *valueSignals[FHPS-1] = *fhpsrefSignal; - resetOutputSignals = false; - } else { - *valueSignals[FHPS-1] = *fhpsrefSignal; //copy input(2) to val_arr(4) - } - } break; - - case PreProgrammedMode: { - ok = numberOfPreProgrammedTimeRows > 0; - - //add 20210105. Before RFON, prepro setpoints should be same as the values listed at csv first line. - if (ok && *rfonStateSignal == 0) { - uint32 j; - for (j = 0u; j < FHPS; j++) { - *valueSignals[j] = preProgrammedValues[0][j]; - } - } - //end 20210105 - - if (ok && currentRow < numberOfPreProgrammedTimeRows && *rfonStateSignal == 1) { - if (msCounter >= cycleMs) { - msCounter -= cycleMs; - int32 currentTime = preProgrammedTime[currentRow]; - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Write Time at %d",currentRow); - // Write to output signals - *timeSignal = currentTime; - uint32 j; - for (j = 0u; j < FHPS; j++) { - *valueSignals[j] = preProgrammedValues[currentRow][j]; - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Write Value %f at row %d",preProgrammedValues[currentRow][j], currentRow); - } - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Writing pre programmed data for time %d", currentTime); - - // Update row - ++currentRow; - } - msCounter += preProgrammedExecutaionPeriodMs; - } - } break; - default: - // Nothing to do. - REPORT_ERROR(MARTe::ErrorManagement::Warning, "Unhandled mode."); - break; - } - return ok; -} - -void JAPreProgrammedGAM::DeleteArrays() { - if (preProgrammedValues != NULL_PTR(MARTe::float32 **)) { - MARTe::uint32 i; - for (i = 0u; i < numberOfPreProgrammedValues; i++) { - delete preProgrammedValues[i]; - } - delete[] preProgrammedValues; - } - if (preProgrammedTime != NULL_PTR(MARTe::int32 *)) { - delete[] preProgrammedTime; - } -} - -CLASS_REGISTER(JAPreProgrammedGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h deleted file mode 100644 index 4226fef..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h +++ /dev/null @@ -1,187 +0,0 @@ -/** - * @file JAPreProgrammedGAM.h - * @brief Header file for class JAPreProgrammedGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAPreProgrammedGAM - * 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_JAPREPROGRAMMEDGAM_H_ -#define GAMS_JAPREPROGRAMMEDGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that update PS output value for pre-programmed operation. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +PreProgrammedGAM = {
- *           Class = JAPreProgrammedGAM
- *           Directory = "../Configurations" // Directory which has pre-pro configuration file.
- *           PreProgrammedPeriodMs = 1       // RFON state is executed every millisecond.
- *           InputSignals = {
- *               CSV_LOAD = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               Filename = {
- *                   Alias = CSV_NAME
- *                   DataSource = EPICSCAInput
- *               }
- *               FHPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               RFON = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               GYA_PREHEAT_TIME = {
- *                   DataSource = DDB1
- *                   Type = int32
- *               }
- *               MHVPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               BPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               APS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               MCPS_TRG_CURR_SET = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               GCPS_TRG_CURR_SET = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               FHPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               CSV_LOADED = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               CSV_ERR = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *       }
- * 
- * - */ - -class JAPreProgrammedGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAPreProgrammedGAM(); - - virtual ~JAPreProgrammedGAM(); - - 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: - bool LoadFile(); - - void DeleteArrays(); - - //Parameters - MARTe::StreamString directory; //Location for prepro configuration file. - MARTe::uint32 preProgrammedExecutaionPeriodMs; // Time between to execution cycles in milliseconds in pre-programmed mode. - - //Input Signals - MARTe::uint32 *loadTriggerSignal; //index:0 - MARTe::uint32 filenameSignalIndex;//index:1 - MARTe::float32 *fhpsrefSignal; //index:2 - MARTe::uint32 *rfonStateSignal; //index:3 - - //Output Signals - MARTe::int32 *timeSignal; //index:0 - MARTe::float32 **valueSignals; //index:1-5 = BPS,APS,MC,GC,FHPS - MARTe::uint32 *fileLoadedSignal; //index:6 - MARTe::uint32 *fileLoadErrorOutput;//index:7 - - //Internal variables - MARTe::int32 *preProgrammedTime; - MARTe::float32 **preProgrammedValues; - - MARTe::uint32 startTime; - - //Number of columns in csv, EXCLUDING the time - MARTe::uint32 numberOfPreProgrammedValues; //is 5.(BPS, APS, MC, GC, FHPS) - MARTe::uint32 numberOfPreProgrammedTimeRows; //This start from t=0 row. - MARTe::uint32 currentRow; - - // Number of milliseconds since the last time output signals were updated. - MARTe::uint32 msCounter; - - // Row number where the pre-programmed data begins (time == 0). - MARTe::uint32 preProgrammedRow; - - enum OperationMode { - LoadFileMode, PreProgrammedMode, None - }; - enum PreProTableDefinition { - Time, MHVPS, BPS, APS, MCPS, GCPS, FHPS - }; - - OperationMode mode; - - bool resetOutputSignals; - - // Flag determining whether file should be read (so it isn't read multiple time) - bool readOnce; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAPREPROGRAMMEDGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.inc deleted file mode 100644 index aaa1948..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JAPreProgrammedGAM.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)/JAPreProgrammedGAM$(LIBEXT) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp deleted file mode 100644 index 56f9b18..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp +++ /dev/null @@ -1,411 +0,0 @@ -/** - * @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(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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - modulation = reinterpret_cast(GetInputSignalMemory(11)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h deleted file mode 100644 index e968f39..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h +++ /dev/null @@ -1,262 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp deleted file mode 100644 index 55983f1..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp +++ /dev/null @@ -1,409 +0,0 @@ -/** - * @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(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 == 13u); - 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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - modulation = reinterpret_cast(GetInputSignalMemory(11)); - pauseSet = reinterpret_cast(GetInputSignalMemory(12)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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; - if (modulation) p4Value += 32; - if (pauseSet) p4Value += 1; - //*outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value); - *outputSignalNI6528P4 = ~p4Value; - return true; -} - -CLASS_REGISTER(JARTStateMachineGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h deleted file mode 100644 index 876d64e..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h +++ /dev/null @@ -1,264 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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; - // Input signal for pause signal set pv. - MARTe::uint32 *pauseSet; - - // 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_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp deleted file mode 100644 index 71c7669..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp +++ /dev/null @@ -1,402 +0,0 @@ -/** - * @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(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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h deleted file mode 100644 index e59f3fa..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.inc deleted file mode 100644 index 609ad23..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JARTStateMachineGAM.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)/JARTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.cpp deleted file mode 100644 index 98003a2..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.cpp +++ /dev/null @@ -1,295 +0,0 @@ -/** - * @file JARampupGAM.cpp - * @brief Source file for class JARampupGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JARampupGAM (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 "AdvancedErrorManagement.h" -#include "JARampupGAM.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JARampupGAM::JARampupGAM() : GAM() { - current_setpoint = NULL_PTR(MARTe::float32 *); - target_value = NULL_PTR(MARTe::float32 *); - rampup_time = NULL_PTR(MARTe::float32 *); - start = NULL_PTR(MARTe::uint32 *); - standby = NULL_PTR(MARTe::uint32 *); - isAuto = NULL_PTR(MARTe::uint32 *); - FHPS_PrePro = NULL_PTR(MARTe::float32 *); - - output = NULL_PTR(MARTe::float32 *); - state = NULL_PTR(MARTe::uint32 *); - - rampup_rate = 0.0f; - inRampup = false; - resetFlag = true; - inWaitHVON = false; - inWaitStandby = false; -} - -JARampupGAM::~JARampupGAM() { -} - -bool JARampupGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JARampupGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 7u); - if (ok) { - ok = (numberOfOutputSignals == 2u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Two output signals shall be defined."); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Six input signals shall be defined."); - } - uint32 currentspvIndex; - uint32 targetvIndex; - uint32 timeIndex; - uint32 startIndex; - uint32 standbyIndex; - uint32 isAutoIndex; - uint32 fhpsPreProIndex; - - if (ok) { - StreamString signalName = "Currspv"; - ok = GetSignalIndex(InputSignals, currentspvIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Currspv input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, currentspvIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Currspv shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Targetv"; - ok = GetSignalIndex(InputSignals, targetvIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Targetv input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, targetvIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Targetv shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Time"; - ok = GetSignalIndex(InputSignals, timeIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Time input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, timeIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Time shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Start"; - ok = GetSignalIndex(InputSignals, startIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Start input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, startIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Start shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "PLC_STANDBY"; - ok = GetSignalIndex(InputSignals, standbyIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLC_STANDBY input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, standbyIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLC_STANDBY shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "MANUAL_AUTO"; - ok = GetSignalIndex(InputSignals, isAutoIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "MANUAL_AUTO input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, isAutoIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "MANUAL_AUTO shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "FHPS_PrePro"; - ok = GetSignalIndex(InputSignals, fhpsPreProIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "FHPS_PrePro input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, fhpsPreProIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal FHPS_PrePro shall be defined as float32."); - } - } - } - - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 0); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Output shall be defined as float32."); - } - } - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 1); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal state shall be defined as float32."); - } - } - - if (ok) { - current_setpoint = reinterpret_cast(GetInputSignalMemory(currentspvIndex)); - target_value = reinterpret_cast(GetInputSignalMemory(targetvIndex)); - rampup_time = reinterpret_cast(GetInputSignalMemory(timeIndex)); - start = reinterpret_cast(GetInputSignalMemory(startIndex)); - standby = reinterpret_cast(GetInputSignalMemory(standbyIndex)); - isAuto = reinterpret_cast(GetInputSignalMemory(isAutoIndex)); - FHPS_PrePro = reinterpret_cast(GetInputSignalMemory(fhpsPreProIndex)); - - output = reinterpret_cast(GetOutputSignalMemory(0)); - state = reinterpret_cast(GetOutputSignalMemory(1)); - } - return ok; -} - -bool JARampupGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName){ - if(strcmp(nextStateName, "WaitHVON_PREP")==0 || strcmp(nextStateName, "WaitHVON_SDN_PREP")==0 || - strcmp(nextStateName, "WaitHVON")==0 || strcmp(nextStateName, "WaitHVON_SDN")==0){ - inWaitHVON = true; - inWaitStandby = false; - } else{ - inWaitHVON = false; - if(strcmp(nextStateName,"WaitStandby")==0 ){ - inWaitStandby = true; - } else { - inWaitStandby = false; - } - } - return true; -} - -bool JARampupGAM::Execute() { - using namespace MARTe; - if(!inWaitHVON){ - if (*target_value <= 0.0f || *standby == 0u) { - *output = 0.0f; - rampup_rate = 0.0f; - if(*target_value <= 0.0f){ - *state = 3u; - } else { - *state = 0u; - } - return true; - } - - if(*start == 1u && *isAuto==0u){ //isAuto = 1.Manual, 0.auto-rampup. - inRampup = true; - resetFlag = true; - *output = 0.0f; //Enable if it should start always zero. - } - - // Calcrate new rampup rate. - if(*rampup_time != 0 && resetFlag == true){ - rampup_rate = (*target_value - *current_setpoint) / *rampup_time/1000.0f; // Volt/msec - resetFlag = false; - } - - // Update Parameter - if(*standby == 1u ){ - if(*isAuto == 1u){ - if (inWaitStandby){ - *output = *target_value; - } else{ - *output = *FHPS_PrePro; - } - //*output = *target_value; - *state = 0u; - return true; - } - else if (inRampup){ - if (*output + rampup_rate < *target_value && *rampup_time != 0){ - *output = *output + rampup_rate; - *state = 1u; - } else { - *output = *target_value; - *state = 2u; - inRampup = false; - } - } - } - return true; - } else { - if(*isAuto == 0){ - *output = *FHPS_PrePro; - } else{ - *output = *target_value; - } - return true; - } -} - -CLASS_REGISTER(JARampupGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.h deleted file mode 100644 index 3c6e012..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.h +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @file JARampupGAM.h - * @brief Header file for class JARampupGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JARampupGAM - * 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_JARampupGAM_H_ -#define GAMS_JARampupGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that rampup output value with specified target value and duration. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *      +FHPSRampupGAM = {
- *         Class = JARampupGAM
- *         InputSignals = {
- *             Currspv = {
- *                 Alias = FHPS_REF
- *                 DataSource = DDB1
- *                 Type = float32
- *             }
- *             Targetv = {
- *                 Alias = FHPS_AUTO_TAGV
- *                 DataSource = EPICSCAInput
- *                 Type = float32
- *             }
- *             Time = {
- *                 Alias = FHPS_AUTO_TIME
- *                 DataSource = EPICSCAInput
- *                 Type = float32
- *             }
- *             Start = {
- *                 Alias = FHPS_AUTO_START
- *                 DataSource = EPICSCAInput
- *                 Type = uint32
- *             }
- *         }
- *         OutputSignals = {
- *             FHPS_REF = {
- *                 DataSource = DDB1
- *                 Type = float32
- *             }
- *         }
- *       }
- *  
- * 
- * - */ - -class JARampupGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JARampupGAM(); - - virtual ~JARampupGAM(); - - 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: - // Input signal containing current current_setpoint - MARTe::float32 *current_setpoint; - - // Input signal containing the frequency of the waveform. - MARTe::float32 *target_value; - - // Input signal containing the amplitude of the waveform. - MARTe::float32 *rampup_time; - - // Input signal containing CCPS_ON_REQUEST - MARTe::uint32 *start; - - // Input signal PLC_STANDBY - MARTe::uint32 *standby; - - // MANUAL AUTO button - MARTe::uint32 *isAuto; - - // Input signal - MARTe::float32 *FHPS_PrePro; - - // Output - MARTe::float32 *output; - // State output - MARTe::uint32 *state; //0:NotOperation, 1:InOperation, 2:Finish, 3:Error - - // Internal variables - MARTe::float32 rampup_rate; - bool inRampup; - bool resetFlag; - bool inWaitHVON; - bool inWaitStandby; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JARampupGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.inc deleted file mode 100644 index e9ce666..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.inc +++ /dev/null @@ -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=JARampupGAM.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)/JARampupGAM$(LIBEXT) \ - $(BUILD_DIR)/JARampupGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp deleted file mode 100644 index d164e89..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp +++ /dev/null @@ -1,361 +0,0 @@ -/** - * @file JASDNRTStateMachineGAM.cpp - * @brief Source file for class JASDNRTStateMachineGAM - * @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 JASDNRTStateMachineGAM (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 "JASDNRTStateMachineGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASDNRTStateMachineGAM::JASDNRTStateMachineGAM() { - currentState = WaitTrigger; // Set Entry state. - plcOnTime = 0; // Triggered time holder. - sdnTriggerTime = 0; - //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 *); - 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 *); - sdnCommand = NULL_PTR(MARTe::uint16 *); - - // 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; -} - -JASDNRTStateMachineGAM::~JASDNRTStateMachineGAM() { -} - -bool JASDNRTStateMachineGAM::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 JASDNRTStateMachineGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - - return true; -} - -bool JASDNRTStateMachineGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 11u); - if (ok) { - ok = (numberOfOutputSignals == 8u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Seven output signals shall be defined"); - } - } - 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 || inputType == UnsignedInteger16Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint16", 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) { - currentTime = reinterpret_cast(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - sdnCommand = reinterpret_cast(GetInputSignalMemory(10)); - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - *shotCounter = 0; - } - return ok; -} - -bool JASDNRTStateMachineGAM::Execute() { - using namespace MARTe; - if (currentState == WaitTrigger) { - - //State Transition condition - if ((*triggerSignal == conditionTrigger)) { - REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence in SDN mode."); - plcOnTime = *currentTime; //Save pulse start time. - *outputBeamON = 0; - //State transition. - currentState = SwitchingHVPS_HVON; - } - } - else if (currentState == SwitchingHVPS_HVON) { - - //Actions in this state. - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *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; - 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; - REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal."); - } - - *outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time. - if (bps_hvon_is_on && aps_hvon_is_on){ - *outputHVArmed = 0; - currentState = WaitSDNTrigger; - } - - } - else if (currentState == WaitSDNTrigger) { - - // Action in this state - *outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time. - - // State change conditions - if (*sdnCommand == 1){ - sdnTriggerTime = *currentTime; - currentState = SwitchingHVPS_SWON; - } - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *outputSignal = 0; - currentState = HVTerminate; - } - } - else if (currentState == SwitchingHVPS_SWON) { - - //Actions in this state. - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *outputSignal = 0; - currentState = HVTerminate; - } - - if (*currentTime >= (sdnTriggerTime + *triggerDelay_bps_swon) && bps_swon_is_on==false){ - //Do action - *outputSignal += bps_swon; - 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; - 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; - apsSwonTime = *currentTime; - 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 = 0; - } - - //State transition condition - if (aps_swon_is_on){ - currentState = RFON; - *outputRFON = 0; - *shotCounter += 1; - REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON"); - } - } - else if (currentState == RFON) { - - //SDN command processing. - if (*sdnCommand == 4 && aps_swon_is_on) { - *outputSignal -= aps_swon; - aps_swon_is_on = false; - REPORT_ERROR(ErrorManagement::Debug, "sdn command was 4"); - } - if (*sdnCommand == 3 && !aps_swon_is_on) { - *outputSignal += aps_swon; - 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"); - } else if (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen)){ - 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; - bps_hvon_is_on = false; - bps_swon_is_on = false; - REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime); - } - *outputRFON = 0; - *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::Information, "state was changed to HVTerminate"); - } - } - else if (currentState == HVTerminate) { - - //Action in this state. - *outputBeamON = 1; - *outputHVArmed = 1; - *outputHVInjection = 1; - *outputRFON = 1; - - // State transition condition. - if (*currentTime - apsSwoffTime >= turn_off_delay){ - *outputSignal = 0; - } - if (*triggerSignal == false){ - //Check PLC_ON is reset - currentState = WaitTrigger; - *outputSignal = 0; - REPORT_ERROR(ErrorManagement::Debug, "state was changed to WaitTrigger"); - } - } - - return true; -} - -CLASS_REGISTER(JASDNRTStateMachineGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h deleted file mode 100644 index 91b4199..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h +++ /dev/null @@ -1,250 +0,0 @@ -/** - * @file JARTStateMachineGAM.h - * @brief Header file for class JASDNRTStateMachineGAM - * @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_JASDNRTSTATEMACHINEGAM_H_ -#define GAMS_JASDNRTSTATEMACHINEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM provides real-time state machine that communicate with SDN packet. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +GAMSDNRealTimeStateMachine = {
- *           Class = JASDNRTStateMachineGAM
- *           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
- *               }
- *               Command = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint16
- *               }
- *           }
- *           OutputSignals = {
- *               Value = {
- *                   //DataSource = NI6259
- *                   DataSource = Display
- *                   Type = uint32
- *                   Trigger = 1
- *               }
- *               BeamON = {
- *                   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
- *               }
- *           }
- *       }
- * 
- * - */ - -class JASDNRTStateMachineGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASDNRTStateMachineGAM(); - - virtual ~JASDNRTStateMachineGAM(); - - 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_HVON = 1, - WaitSDNTrigger = 2, - SwitchingHVPS_SWON = 3, - RFON = 4, - HVTerminate = 5 - }; - - //The current rtState - JARealTimeState currentState; - - ///////////////////////////////////////////////// - // Static parameter given by cfg File - ///////////////////////////////////////////////// - //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; - - ///////////////////////////////////////////////// - // Input signals - ///////////////////////////////////////////////// - //The trigger signal (PLC_ON) - MARTe::uint32 *triggerSignal; - //Time signal (Time from TimerGAM) - 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 SDN commands. - MARTe::uint16 *sdnCommand; - - ///////////////////////////////////////////////////////////// - // 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; - - ////////////////////////////// - //Internal Parameters - ////////////////////////////// - //PLC_ON time holder - MARTe::uint32 plcOnTime; - //APS_SWON time holder - MARTe::uint32 apsSwonTime; - MARTe::uint32 apsSwoffTime; - - //PS turn off delay - MARTe::uint32 turn_off_delay; - - //SDN trigger command arrival time. - MARTe::uint32 sdnTriggerTime; - //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; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASDNRTSTATEMACHINEGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.inc deleted file mode 100644 index 0ddfbdf..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.inc +++ /dev/null @@ -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=JASDNRTStateMachineGAM.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)/JASDNRTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.cpp deleted file mode 100644 index 62ab62d..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/** - * @file JASampleGAM.cpp - * @brief Source file for class JASampleGAM - * @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 JASampleGAM (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 "JASampleGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASampleGAM::JASampleGAM() { - // initialize member variables. - param1 = 0; - param2 = 0; - - //Input signals. - input1 = NULL_PTR(MARTe::uint32 *); - input2 = NULL_PTR(MARTe::float32 *); - //Output signals. - output1= NULL_PTR(MARTe::uint32 *); - output2 = NULL_PTR(MARTe::float32 *); - -} - -JASampleGAM::~JASampleGAM() { -} - -bool JASampleGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("param1", param1); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The param1 shall be specified"); - } - } - if (ok) { - ok = data.Read("param2", param2); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The param2 shall be specified"); - } - } - return ok; -} - -bool JASampleGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JASampleGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 2u); - if (ok) { - ok = (numberOfOutputSignals == 2u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two output signals shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two input signals shall be defined"); - } - // Do type check for input signals. - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - ok = ((inputType == UnsignedInteger32Bit) || (inputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or flaot32", signalName.Buffer()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger32Bit) || (outputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or float32", signalName.Buffer()); - } - } - } - - // Signal id can get by signal name in configuration file - if (ok) { - StreamString signalName = "InputXXX"; //Variable name in configuration file. - uint32 signalxxxIndex; //Index is copied to this variable by using signal name. - ok = GetSignalIndex(InputSignals, signalxxxIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "InputXXX input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, signalxxxIndex); - ok = (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, signalxxxIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - inputXXX = reinterpret_cast(GetInputSignalMemory(signalxxxIndex)); - } - } - } - - // Do type cast. with explicit signal id. - if (ok) { - input1 = reinterpret_cast(GetInputSignalMemory(0)); - input2 = reinterpret_cast(GetInputSignalMemory(1)); - - output1 = reinterpret_cast(GetOutputSignalMemory(0)); - output2 = reinterpret_cast(GetOutputSignalMemory(1)); - - } - return ok; -} - -bool JASampleGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - REPORT_ERROR(ErrorManagement::Information, "input1 is %d.", *input1); - REPORT_ERROR(ErrorManagement::Information, "input2 is %f.", *input2); - REPORT_ERROR(ErrorManagement::Information, "inputXXX is %f.", *inputXXX); - - REPORT_ERROR(ErrorManagement::Information, "maltiply param value to input."); - - *output1 = *input1 * param1; - *output2 = *input2 * param2; - - REPORT_ERROR(ErrorManagement::Information, "output1 is %d.", *output1); - REPORT_ERROR(ErrorManagement::Information, "output2 is %f.", *output2); - - return true; -} - -CLASS_REGISTER(JASampleGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.h deleted file mode 100644 index 53f06ad..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.h +++ /dev/null @@ -1,122 +0,0 @@ -/** - * @file JASampleGAM.h - * @brief Header file for class JASampleGAM - * @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 JASampleGAM - * 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_JASampleGAM_H_ -#define GAMS_JASampleGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief GAM Sample Usage. - * @details Sample - * - * The configuration syntax is: - * - *
- * +SampleGAM = {
- *     Class = JASampleGAM
- *     InputSignals = {
- *         Input1 = {
- *             DataSource = "DDB"
- *             Type = uint32
- *             Default = 0
- *         }
- *         Input2 = {
- *             DataSource = "DDB"
- *             Type = float32
- *             Default = 100
- *         }
- *         InputXXX = {
- *             DataSource = "DDB"
- *             Type = float32
- *             NumberOfElements = 1
- *         }
- *     }
- *     OutputSignals = {
- *         Output1 = {
- *             DataSource = "DDB"
- *             Type = uint32
- *             Default = 0
- *         }
- *         Output2 = {
- *             DataSource = "DDB"
- *             Type = int32
- *             Default = 100
- *         }
- *     }
- * }
- * 
- */ - - -class JASampleGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASampleGAM(); - - virtual ~JASampleGAM(); - - 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: - //GAM fixed parameters. - MARTe::uint32 param1; - MARTe::float32 param2; - - // Input signals - MARTe::uint32 *input1; - MARTe::float32 *input2; - MARTe::float32 *inputXXX; - - // Output signals - MARTe::uint32 *output1; - MARTe::float32 *output2; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASampleGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.inc deleted file mode 100644 index c9bc4f2..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.inc +++ /dev/null @@ -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=JARTSampleGAM.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)/JARTSampleGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTSampleGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp deleted file mode 100644 index 3ab70d0..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/** - * @file JASourceChoiseGAM.cpp - * @brief Source file for class JASourceChoiseGAM - * @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 JASourceChoiseGAM (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 "JASourceChoiseGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASourceChoiseGAM::JASourceChoiseGAM() { - // initialize member variables. - numberOfPVs = 0; -} - -JASourceChoiseGAM::~JASourceChoiseGAM() { -} - -bool JASourceChoiseGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("numberOfPVs", numberOfPVs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The numberOfPVs parameter shall be specified"); - } - } - return ok; -} - -bool JASourceChoiseGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JASourceChoiseGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == numberOfPVs*3u); - if (ok) { - ok = (numberOfOutputSignals == numberOfPVs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "%d *3 output signals shall be defined", numberOfPVs); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "%d input signals shall be defined", numberOfPVs); - } - // Do type check for input signals. - int int_num = 0; - int float_num = 0; - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - if(inputType == UnsignedInteger32Bit){ - int_num++; - } else if (inputType == Float32Bit) { - float_num++; - } else { - ok = false; - }; - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or flaot32", signalName.Buffer()); - } - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger32Bit) || (outputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or float32", signalName.Buffer()); - } - } - } - // Set memory - inputUInt32.resize(numberOfPVs*2); - inputFloat32.resize(numberOfPVs*2); - choise.resize(numberOfPVs); - outputUInt32.resize(numberOfPVs); - outputFloat32.resize(numberOfPVs); - - prevUInt32.resize(numberOfPVs*2); - prevFloat32.resize(numberOfPVs*2); - - if(ok){ - for(uint32 i=0; i(GetInputSignalMemory(3*i)); - inputUInt32[2*i+1] = reinterpret_cast(GetInputSignalMemory(3*i+1)); - choise[i] = reinterpret_cast(GetInputSignalMemory(3*i+2)); - outputUInt32[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } else if(inputType == Float32Bit){ - inputFloat32[2*i] = reinterpret_cast(GetInputSignalMemory(3*i)); - inputFloat32[2*i+1] = reinterpret_cast(GetInputSignalMemory(3*i+1)); - choise[i] = reinterpret_cast(GetInputSignalMemory(3*i+2)); - outputFloat32[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } - prevUInt32[2*i] = 0; - prevUInt32[2*i+1] = 0; - prevFloat32[2*i] = 0; - prevFloat32[2*i+1] = 0; - } - } - return ok; -} - -bool JASourceChoiseGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - - for (uint32 i=0; i < numberOfPVs; i++){ - if(*choise[i]==0){ - if(outputUInt32[i]){ - if(prevUInt32[i*2] != *inputUInt32[i*2]){ - *outputUInt32[i] = *inputUInt32[i*2]; - prevUInt32[i*2] = *inputUInt32[i*2]; - prevUInt32[1+i*2] = *inputUInt32[1+i*2]; - } - } else if(outputFloat32[i]){ - if(prevFloat32[i*2] != *inputFloat32[i*2]){ - *outputFloat32[i] = *inputFloat32[i*2]; - prevFloat32[i*2] = *inputFloat32[i*2]; - prevFloat32[1+i*2] = *inputFloat32[1+i*2]; - } - } - } else { - if(outputUInt32[i]){ - if(prevUInt32[1+i*2] != *inputUInt32[1+i*2]){ - *outputUInt32[i] = *inputUInt32[1+i*2]; - prevUInt32[i*2] = *inputUInt32[i*2]; - prevUInt32[1+i*2] = *inputUInt32[1+i*2]; - } - } else if (outputFloat32[i]){ - if(prevFloat32[1+i*2] != *inputFloat32[1+i*2]){ - *outputFloat32[i] = *inputFloat32[1+i*2]; - prevFloat32[i*2] = *inputFloat32[i*2]; - prevFloat32[1+i*2] = *inputFloat32[1+i*2]; - } - } - } - } - return true; -} - -CLASS_REGISTER(JASourceChoiseGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h deleted file mode 100644 index 2a4cd80..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @file JASourceChoiseGAM.h - * @brief Header file for class JASourceChoiseGAM - * @date Mar 04, 2019 - * @author kuchida - * - * @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 JASourceChoiseGAM - * 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_JASourceChoiseGAM_H_ -#define GAMS_JASourceChoiseGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JASourceChoiseGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASourceChoiseGAM(); - - virtual ~JASourceChoiseGAM(); - - 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 - //GAM fixed parameters. - MARTe::uint32 numberOfPVs; - - // Input signals - std::vector inputUInt32; - std::vector inputFloat32; - std::vector choise; - - // Output signals - std::vector outputUInt32; - std::vector outputFloat32; - - // Previous Input value - std::vector prevUInt32; - std::vector prevFloat32; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASourceChoiseGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.inc deleted file mode 100644 index cf441bb..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.inc +++ /dev/null @@ -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=JASourceChoiseGAM.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)/JASourceChoiseGAM$(LIBEXT) \ - $(BUILD_DIR)/JASourceChoiseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp deleted file mode 100644 index 1d3f9c1..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/** - * @file JATerminalInterfaceGAM.cpp - * @brief Source file for class JATerminalInterfaceGAM - * @date Feb 19, 2019 - * @author kuchida - * - * @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 JATerminalInterfaceGAM (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 "JATerminalInterfaceGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JATerminalInterfaceGAM::JATerminalInterfaceGAM() { - - // Fixed GAM input - aps_hvon_term = 0; - - // Parameters which get from Input signals. - mhvps_hvon = NULL_PTR(MARTe::uint32 *); - aps_hvon = NULL_PTR(MARTe::uint32 *); - aps_swon = NULL_PTR(MARTe::uint32 *); - bps_hvon = NULL_PTR(MARTe::uint32 *); - bps_swon = NULL_PTR(MARTe::uint32 *); - - stateMachineOutput = NULL_PTR(MARTe::uint32 *); - - // write out target. - outputSignalNI6259 = NULL_PTR(MARTe::uint32 *); - outputSignalNI6528P3 = NULL_PTR(MARTe::uint8 *); - outputSignalNI6528P4 = NULL_PTR(MARTe::uint8 *); - - aps_hvon_state = 0; - aps_swon_state = 0; - mhvps_hvon_state = 0; - bps_hvon_state = 0; - bps_swon_state = 0; - p3Value = 0; - p4Value = 0; -} - -JATerminalInterfaceGAM::~JATerminalInterfaceGAM() { -} - -bool JATerminalInterfaceGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("mhvps_hvon_term", mhvps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The mhvps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("aps_hvon_term", aps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("aps_swon_term", aps_swon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_swon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("bps_hvon_term", bps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("bps_swon_term", bps_swon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_swon_term shall be specified"); - } - } - return ok; -} - -bool JATerminalInterfaceGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - - return true; -} - -bool JATerminalInterfaceGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 9u); - if (ok) { - ok = (numberOfOutputSignals == 3u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Three output signals shall be defined"); - } - } - 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 || inputType == UnsignedInteger8Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint8", 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 or uint8", signalName.Buffer()); - } - } - } - if (ok) { - //mhvps_manm = reinterpret_cast(GetInputSignalMemory(0)); - mhvps_hvon = reinterpret_cast(GetInputSignalMemory(0)); - //aps_manm = reinterpret_cast(GetInputSignalMemory(2)); - aps_hvon = reinterpret_cast(GetInputSignalMemory(1)); - aps_swon = reinterpret_cast(GetInputSignalMemory(2)); - //bps_manm = reinterpret_cast(GetInputSignalMemory(5)); - bps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - bps_swon = reinterpret_cast(GetInputSignalMemory(4)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(5)); - stateMachineOutput = reinterpret_cast(GetInputSignalMemory(6)); - ni6528p3Value = reinterpret_cast(GetInputSignalMemory(7)); - ni6528p4Value = reinterpret_cast(GetInputSignalMemory(8)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(0)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(1)); - outputSignalNI6528P4 = reinterpret_cast(GetOutputSignalMemory(2)); - - } - return ok; -} - -bool JATerminalInterfaceGAM::Execute() { - using namespace MARTe; - uint8 sm = *stateMachineOutput; - - - //Update HVPS state - aps_hvon_state = ((sm >> (0))&1); - aps_swon_state = ((sm >> (4))&1); - mhvps_hvon_state = ((sm >> (2))&1); - bps_hvon_state = ((sm >> (1))&1); - bps_swon_state = ((sm >> (3))&1); - - if(*short_pulse_mode == 1){ - p3Value = 1*aps_hvon_state + 8*bps_hvon_state +16*bps_swon_state; - *outputSignalNI6259 = 1*aps_swon_state; - //uint8 ni6528p3ValueTemp = 0;//*ni6528p3Value; - //ni6528p3ValueTemp &= ~(1<<2); //Does not turn on ni6258 aps switch - //Update terminal value - //*outputSignalNI6528P3 = ~(ni6528p3ValueTemp | p3Value); - *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; - //REPORT_ERROR(ErrorManagement::Debug, "long pulse mode with p3: %d.", p3Value); - } - - p4Value = 8*mhvps_hvon_state; - *outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value); - return true; -} - -CLASS_REGISTER(JATerminalInterfaceGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h deleted file mode 100644 index 773cbd6..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h +++ /dev/null @@ -1,157 +0,0 @@ -/** - * @file JATerminalInterfaceGAM.h - * @brief Header file for class JATerminalInterfaceGAM - * @date Feb 19, 2020 - * @author kuchida - * - * @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 JATerminalInterfaceGAM - * 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_JATerminalInterfaceGAM_H_ -#define GAMS_JATerminalInterfaceGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM calculates one output value by comparing input value and fixed parameters. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- * 
- *         +terminalInterfaceGAM = {
- *           Class = JATerminalInterfaceGAM
- *           mhvps_hvon_term = 4
- *           aps_hvon_term = 1
- *           aps_swon_term = 16
- *           bps_hvon_term = 2
- *           bps_swon_term = 8
- *           InputSignals = {
- *               MHVPS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               APS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               APS_SWON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               BPS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               BPS_SWON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               Value = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               Value = {
- *                   DataSource = NI6259
- *                   Type = uint32
- *                   Trigger = 1
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -class JATerminalInterfaceGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JATerminalInterfaceGAM(); - - virtual ~JATerminalInterfaceGAM(); - - 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: - // Fixed GAM input - MARTe::uint32 mhvps_hvon_term; - MARTe::uint32 aps_hvon_term; - MARTe::uint32 aps_swon_term; - MARTe::uint32 bps_hvon_term; - MARTe::uint32 bps_swon_term; - - // Input signals - //MARTe::uint32 *mhvps_manm; - MARTe::uint32 *mhvps_hvon; - - //MARTe::uint32 *aps_manm; - MARTe::uint32 *aps_hvon; - MARTe::uint32 *aps_swon; - - //MARTe::uint32 *bps_manm; - MARTe::uint32 *bps_hvon; - MARTe::uint32 *bps_swon; - - MARTe::uint32 *short_pulse_mode; - - MARTe::uint32 *stateMachineOutput; - MARTe::uint8 *ni6528p3Value; - MARTe::uint8 *ni6528p4Value; - - // Output signals - MARTe::uint32 *outputSignalNI6259; - MARTe::uint8 *outputSignalNI6528P3; - MARTe::uint8 *outputSignalNI6528P4; - - 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; - MARTe::uint8 p3Value; - MARTe::uint8 p4Value; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JATerminalInterfaceGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.inc deleted file mode 100644 index ff7c79a..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.inc +++ /dev/null @@ -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=JATerminalInterfaceGAM.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)/JATerminalInterfaceGAM$(LIBEXT) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp deleted file mode 100644 index 7004a1f..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp +++ /dev/null @@ -1,178 +0,0 @@ -/** - * @file JATriangleWaveGAM.cpp - * @brief Source file for class JATriangleWaveGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JATriangleWaveGAM (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 "AdvancedErrorManagement.h" -#include "JATriangleWaveGAM.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -MARTe::float32 absFloat(MARTe::float32 x) { - if (x < 0.0f) { - return -x; - } - return x; -} - -JATriangleWaveGAM::JATriangleWaveGAM() { - frequency = NULL_PTR(MARTe::float32 *); - amplitude = NULL_PTR(MARTe::float32 *); - offset = NULL_PTR(MARTe::float32 *); - plcStandby = NULL_PTR(MARTe::uint32 *); - waveOutput = NULL_PTR(MARTe::float32 *); - time = 0.0f; -} - -JATriangleWaveGAM::~JATriangleWaveGAM() { -} - -bool JATriangleWaveGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JATriangleWaveGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 4u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "One output signal shall be defined."); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Four input signals shall be defined."); - } - uint32 freqIndex; - uint32 ampIndex; - uint32 offsetIndex; - uint32 plcStandbyIndex; - if (ok) { - StreamString signalName = "Frequency"; - ok = GetSignalIndex(InputSignals, freqIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Frequency input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, freqIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Frequency shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Amplitude"; - ok = GetSignalIndex(InputSignals, ampIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Amplitude input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, ampIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Amplitude shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Offset"; - ok = GetSignalIndex(InputSignals, offsetIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Offset input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, offsetIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Offset shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "PLCSTANDBY"; - ok = GetSignalIndex(InputSignals, plcStandbyIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLCSTANDBY input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, plcStandbyIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLCSTANDBY shall be defined as uint32."); - } - } - } - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 0); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Amplitude shall be defined as float32."); - } - } - if (ok) { - frequency = reinterpret_cast(GetInputSignalMemory(freqIndex)); - amplitude = reinterpret_cast(GetInputSignalMemory(ampIndex)); - offset = reinterpret_cast(GetInputSignalMemory(offsetIndex)); - plcStandby = reinterpret_cast(GetInputSignalMemory(plcStandbyIndex)); - waveOutput = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JATriangleWaveGAM::Execute() { - using namespace MARTe; - // If frequency is not set, output 0. - if (*frequency <= 0.0f || *plcStandby == 0u) { - *waveOutput = 0.0f; - return true; - } - // Increase the current time. - ++time; - // Calculate the period in milliseconds - float32 periodMs = 1000.0 / *frequency; - // Make sure the time is on [0, periodMs] interval. - while (time > periodMs) { - time -= periodMs; - } - // Formula: - // f(x) = |x - 0.5| * 2 * amplitude - // where x is between 0 and 1 - *waveOutput = absFloat((time / periodMs) - 0.5f) * 2.0f * (*amplitude) + *offset; - return true; -} - -CLASS_REGISTER(JATriangleWaveGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h deleted file mode 100644 index 22e34c3..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file JATriangleWaveGAM.h - * @brief Header file for class JATriangleWaveGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JATriangleWaveGAM - * 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_JATRIANGLEWAVEGAM_H_ -#define GAMS_JATRIANGLEWAVEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM provides triangular waveform output within 1kHz thread. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *      +CCPSWaveformGAM = {
- *           Class = JATriangleWaveGAM
- *           InputSignals = {
- *               Offset = {
- *                   Alias = OFFSET
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               Frequency = {
- *                   Alias = CCPS_OUTPUT_FREQ
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               Amplitude = {
- *                   Alias = CCPS_OUTPUT_AMP
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               PLCCCPSON = {
- *                   Alias = PLC_CCPSON
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
-  *              READY = {
- *                   Alias = PLC_READY
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               CCPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -class JATriangleWaveGAM : public MARTe::GAM { -public: - CLASS_REGISTER_DECLARATION() - - JATriangleWaveGAM(); - - virtual ~JATriangleWaveGAM(); - - virtual bool Initialise(MARTe::StructuredDataI & data); - - virtual bool Setup(); - - virtual bool Execute(); -private: - // Input signal containing the frequency of the waveform. - MARTe::float32 *frequency; - - // Input signal containing the amplitude of the waveform. - MARTe::float32 *amplitude; - - // Input signal cantaining the offset of the waveform. - MARTe::float32 *offset; - - // Input signal containing CCPS_ON_REQUEST - //MARTe::uint32 *plcccpson; - - // Input signal condition CCPS_READY - //MARTe::uint32 *plcReady; - - // Input signal condition CCPS_STANDBY - MARTe::uint32 *plcStandby; - - MARTe::float32 *waveOutput; - - MARTe::float32 time; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JATRIANGLEWAVEGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.inc deleted file mode 100644 index 2e2dfed..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JATriangleWaveGAM.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)/JATriangleWaveGAM$(LIBEXT) \ - $(BUILD_DIR)/JATriangleWaveGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp deleted file mode 100644 index b26b6bd..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp +++ /dev/null @@ -1,317 +0,0 @@ -/** - * @file JAWFRecordGAM.cpp - * @brief Source file for class JAWFRecordGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAWFRecordGAM (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 "JAWFRecordGAM.h" - -#include "AdvancedErrorManagement.h" -#include "CLASSMETHODREGISTER.h" -#include "File.h" -#include "MessageI.h" -#include "RegisteredMethodsMessageFilter.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -// How often output signals are updated. -const MARTe::uint32 cycleMs = 10u; - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAWFRecordGAM::JAWFRecordGAM() : - GAM() { - filenameSignalIndex = 0u; - timeSignal = NULL_PTR(MARTe::int32 *); - loadTriggerSignal = NULL_PTR(MARTe::uint32 *); - valueSignals = NULL_PTR(MARTe::float32 **); - maxElements = 0u; - readOnce = true; -} - -JAWFRecordGAM::~JAWFRecordGAM() { - if (valueSignals != NULL_PTR(MARTe::float32 **)) { - delete[] valueSignals; - } -} - -bool JAWFRecordGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("Directory", directory); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - return ok; -} - -bool JAWFRecordGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 2u); - if (ok) { - ok = (numberOfOutputSignals > 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "At least two output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two input signal with the filename and file load trigger shall be defined"); - } - if (ok) { - StreamString signalName = "Filename"; - ok = GetSignalIndex(InputSignals, filenameSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Filename input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, filenameSignalIndex); - ok = (inputType == CharString); - if (!ok) { - ok = (inputType == Character8Bit); - } - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, filenameSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as string", signalName.Buffer()); - } - } - } - if (ok) { - StreamString signalName = "CSV_LOAD"; - uint32 loadSignalIndex; - ok = GetSignalIndex(InputSignals, loadSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "CSV_LOAD input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, loadSignalIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, loadSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } else { - loadTriggerSignal = reinterpret_cast(GetInputSignalMemory(loadSignalIndex)); - } - } - } - if (ok) { - TypeDescriptor timeType = GetSignalType(OutputSignals, 0); - - ok = (timeType == SignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, 0, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as int32", signalName.Buffer()); - } - - uint32 i; - for (i = 1u; (i < numberOfOutputSignals) && (ok); i++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, i); - ok = (outputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, i, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } - else { - uint32 dimentionsCount; - ok = GetSignalNumberOfDimensions(OutputSignals, 0u, dimentionsCount); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Output signals shall have 1 dimension."); - } - else { - uint32 elementsCount; - ok = GetSignalNumberOfElements(OutputSignals, 0u, elementsCount); - if (maxElements == 0) { - maxElements = elementsCount; - } - else { - ok = (maxElements == elementsCount); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Output signals shall have consistent number of elements."); - } - } - } - } - } - } - if (ok) { - valueSignals = new float32*[numberOfOutputSignals - 1u]; - uint32 i; - for (i = 1u; i < numberOfOutputSignals; i++) { - valueSignals[i - 1] = reinterpret_cast(GetOutputSignalMemory(i)); - } - timeSignal = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JAWFRecordGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - if (strcmp(nextStateName, "WaitReady") == 0) { - // Reset read once flag when reentering WaitReady state. - readOnce = true; - } - return true; -} - -void JAWFRecordGAM::LoadFile() { - using namespace MARTe; - - bool ok = true; - - const char8 * const filenameSignal = reinterpret_cast(GetInputSignalMemory(filenameSignalIndex)); - StreamString filename = directory; - filename += DIRECTORY_SEPARATOR; - filename += filenameSignal; - REPORT_ERROR(ErrorManagement::Debug, "Opening file %s", filename.Buffer()); - - File f; - ok = f.Open(filename.Buffer(), BasicFile::ACCESS_MODE_R); - - uint32 numberOfPreProgrammedTimeRows = 0u; - int32 *preProgrammedTime; - float32 **preProgrammedValues; - uint32 numberOfPreProgrammedValues = 0u; - - if (ok) { - StreamString tokenLine; - while (f.GetLine(tokenLine)) { - if (tokenLine[0] != '#') { - numberOfPreProgrammedTimeRows++; - } - tokenLine = ""; - } - f.Seek(0); - uint32 t = 0u; - tokenLine = ""; - while ((ok) && (f.GetLine(tokenLine))) { - if (tokenLine[0] == '#') { - tokenLine = ""; - continue; - } - if (numberOfPreProgrammedValues == 0) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - while (tokenLine.GetToken(token, ",", ignored)) { - numberOfPreProgrammedValues++; - token = ""; - } - ok = numberOfPreProgrammedValues == numberOfOutputSignals; - // Remove time from pre-programmed values count. - numberOfPreProgrammedValues -= 1u; - if (ok) { - preProgrammedTime = new int32[maxElements]; - memset(preProgrammedTime, 0, maxElements * sizeof(int32)); - preProgrammedValues = new float32*[numberOfPreProgrammedValues]; - uint32 j; - for (j = 0u; j < numberOfPreProgrammedValues; j++) { - preProgrammedValues[j] = new float32[maxElements]; - memset(preProgrammedValues[j], 0, maxElements * sizeof(float32)); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Number of columns in csv file (%d) is not consistent with the number of output signals (%d)", numberOfPreProgrammedValues, - numberOfOutputSignals - 1u); - } - } - if (ok) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - uint32 idx = 0u; - while (tokenLine.GetToken(token, ",", ignored)) { - if (idx == 0u) { - preProgrammedTime[t] = atoi(token.Buffer()); - } - else { - ok = ((idx - 1) < numberOfPreProgrammedValues); - if (ok) { - preProgrammedValues[idx - 1][t] = static_cast(atof(token.Buffer())); - } - else { - REPORT_ERROR(ErrorManagement::FatalError, "Number of columns in csv file is not consistent with the number of output signals in line %d", t); - } - } - token = ""; - idx++; - } - t++; - } - tokenLine = ""; - } - f.Close(); - } else { - REPORT_ERROR(ErrorManagement::Debug, "Cannot open the file %s", filename.Buffer()); - return; - } - if (numberOfPreProgrammedTimeRows > maxElements) { - REPORT_ERROR(ErrorManagement::Warning, "Only %d (out of %d) of pre-programmed values will be written to waveform record.", - maxElements, numberOfPreProgrammedTimeRows); - } - ok = MemoryOperationsHelper::Copy(timeSignal, preProgrammedTime, maxElements * sizeof(int32)); - uint32 i; - for (i = 0u; (i < numberOfPreProgrammedValues) && (ok); ++i) { - ok = MemoryOperationsHelper::Copy(valueSignals[i], preProgrammedValues[i], maxElements * sizeof(float32)); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::Warning, "Failed to write data to waveform record."); - } - - if (preProgrammedValues != NULL_PTR(float32 **)) { - uint32 i; - for (i = 0u; i < numberOfPreProgrammedValues; i++) { - delete preProgrammedValues[i]; - } - delete[] preProgrammedValues; - } - if (preProgrammedTime != NULL_PTR(int32 *)) { - delete[] preProgrammedTime; - } -} - -bool JAWFRecordGAM::Execute() { - if (*loadTriggerSignal == 1u) { - if (readOnce) { - LoadFile(); - readOnce = false; - } - } else { - // Reset read once flag when loadTriggerSignal is reset. - readOnce = true; - } - return true; -} - -CLASS_REGISTER(JAWFRecordGAM, "1.0") diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.h b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.h deleted file mode 100644 index ee22c1a..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.h +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file JAWFRecordGAM.h - * @brief Header file for class JAWFRecordGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAWFRecordGAM - * 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_JAWFRECORDGAM_H_ -#define GAMS_JAWFRECORDGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that is used for pre-programmed operation. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *       +WFRecordGAM = {
- *           Class = JAWFRecordGAM
- *           Directory = "../Configurations" 
- *           InputSignals = {
- *               CSV_LOAD = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               Filename = {
- *                   Alias = CSV_NAME
- *                   DataSource = EPICSCAInput
- *               }
- *           }
- *           OutputSignals = {
- *               PREP_TIME_WF = {
- *                   DataSource = DDB1
- *               }
- * *             MHVPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               BPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               APS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               MCPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               GCPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               FHPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *           }
- *       }
- * 
- * - */ - -class JAWFRecordGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAWFRecordGAM(); - - virtual ~JAWFRecordGAM(); - - 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: - void LoadFile(); - - MARTe::uint32 filenameSignalIndex; - - MARTe::uint32 *loadTriggerSignal; - - MARTe::StreamString directory; - - MARTe::float32 **valueSignals; - - MARTe::int32 *timeSignal; - - MARTe::uint32 maxElements; - - // Flag determining whether file should be read (so it isn't read multiple time) - bool readOnce; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAWFRECORDGAM_H_ */ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.inc deleted file mode 100644 index cd7a5f1..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JAWFRecordGAM.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)/JAWFRecordGAM$(LIBEXT) \ - $(BUILD_DIR)/JAWFRecordGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.gcc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.gcc deleted file mode 100644 index e0a2fc4..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.gcc +++ /dev/null @@ -1,26 +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. -# -############################################################# - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.inc deleted file mode 100644 index 9dfc5c1..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.inc +++ /dev/null @@ -1,45 +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 $ -# -############################################################# - -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 - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=.. -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Makefile.inc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Makefile.inc deleted file mode 100644 index 1e256f8..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Makefile.inc +++ /dev/null @@ -1,42 +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 $ -# -############################################################# -SPB = DataSources.x GAMs.x - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=. -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Makefile.linux b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Makefile.linux deleted file mode 100644 index 04cde43..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Makefile.linux +++ /dev/null @@ -1,27 +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. -# -############################################################# -export TARGET=x86-linux - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/README.md b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/README.md deleted file mode 100644 index 2064aac..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/README.md +++ /dev/null @@ -1 +0,0 @@ -QST Gyrotron Fast Controller Implementation with MARTe2 RT Application Framework diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/Main.sh b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/Main.sh deleted file mode 100644 index b425a77..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/Main.sh +++ /dev/null @@ -1,195 +0,0 @@ -#!/bin/bash -#Arguments -f FILENAME -m MESSAGE [-d cgdb|strace] -x DAN_CONFIG_LOCATION -r root -#-f FILENAME=MARTe configuration file -#-m MESSAGE=Start message -#-d cgdb=Run with cgdb -#-d strace=Run with strace -#-x DAN_CONFIG_LOCATION=Location of the DANConfig.xml (e.g. ~/Projects/ECJASDN/Configurations/DANTestConfig.xml) -#-r run as root - -#Run with cgdb or strace? -DEBUG="" - -#Consume input arguments -while [[ $# -gt 1 ]] -do -key="$1" - -case $key in - -f|--file) - FILE="$2" - shift # past argument - ;; - -m|--message) - MESSAGE="$2" - shift # past argument - ;; - -s|--state) - STATE="$2" - shift # past argument - ;; - -d|--debug) - DEBUG="$2" - shift # past argument - ;; - -x|--dan_config) - DAN_CONFIG_LOCATION="$2" - shift # past argument - ;; - -i|--dan_ip) - DAN_MASTER_IP="$2" - shift # past argument - ;; - -r|--root) - RUN_AS_ROOT="root" - shift # past argument - ;; - --default) - DEFAULT=YES - ;; - *) - # unknown option - ;; -esac -shift # past argument or value -done - -if [ -z ${MARTe2_DIR+x} ]; then - echo "Please set the MARTe2_DIR environment variable"; - exit; -fi - -if [ -z ${MARTe2_Components_DIR+x} ]; then - #Check if this is a CCS deployment - MARTe2_Components_DIR_CSS=$MARTe2_DIR/Build/x86-linux/Components/ - if [ -d ${MARTe2_Components_DIR_CSS+x} ]; then - MARTe2_Components_DIR=$MARTe2_DIR - else - echo "Please set the MARTe2_Components_DIR environment variable"; - exit; - fi -fi - -echo $MARTe2_Components_DIR - -LD_LIBRARY_PATH=. -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_DIR/Build/x86-linux/Core/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/EPICSCA/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/LinuxTimer/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/LoggerDataSource/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/DAN/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/NI6259/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/NI6368/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/SDN/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/UDP/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/MDSWriter/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/RealTimeThreadAsyncBridge/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/RealTimeThreadSynchronisation/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/FileDataSource/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/IOGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/BaseLib2GAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/ConversionGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/FilterGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/StatisticsGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/WaveformGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/ConstantGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/Interfaces/BaseLib2Wrapper/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/Interfaces/SysLogger/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/Interfaces/EPICS/ -### Add own datasource lib path -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/DataSources/RandomDataSource/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/DataSources/NI6528/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/DataSources/JAEPICSCA/ -### Add own GAM lib path -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/ESDNValidationGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAMessageGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAPreProgrammedGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JACountdownGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAWaitStandbyGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JATimerGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAESDNProcessCommandGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAModeControlGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JATimedSignalUpdateGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAHVArmedSyncGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JARFONSyncGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAWFRecordGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JATriangleWaveGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JARampupGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JACounterGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JARTStateMachineGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JASDNRTStateMachineGAM/ -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/ -### 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/ -#LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mdsplus/lib64/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SDN_CORE_LIBRARY_DIR -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/codac/lib/ - - -echo $LD_LIBRARY_PATH -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH - -#Starts the DAN services only if required -if [ ! -z "$DAN_CONFIG_LOCATION" ]; then - export DAN_ARCHIVE_MASTER=$DAN_MASTER_IP - echo $DAN_MASTER_IP - /opt/codac/bin/danApiTool api close - /opt/codac/bin/danApiTool api init $DAN_CONFIG_LOCATION -fi - -NR_CPUS=16 -#Setup performance -#Disable CPU speed changing -#service cpuspeed stop -#memo:Redirecting to /bin/systemctl stop cpuspeed.service -#memo:Failed to stop cpuspeed.service: Unit cpuspeed.service not loaded. -# - -# Migrate irq to CPU0 -#for D in $(ls /proc/irq) -#do -#if [ -x "/proc/irq/$D" ] && [ $D != "0" ] -#then -# echo $D -# echo 1 > /proc/irq/$D/smp_affinity -#fi -#done - - -#Location of the MARTe2 application loader -MARTe2APP=$MARTe2_DIR/Build/x86-linux/App/MARTeApp.ex - -#Start with cgdb or with strace -if [ "$DEBUG" = "cgdb" ]; then - cgdb --args $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE -elif [ "$DEBUG" = "strace" ]; then - strace -o/tmp/strace.err $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE -else - if [ -z ${RUN_AS_ROOT+x} ]; then - if [ -z ${STATE+x} ]; then - echo "taskset was not used." - sleep 1 - $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE - else - $MARTe2APP -l RealTimeLoader -f $FILE -s $STATE - fi - else - if [ -z ${STATE+x} ]; then - echo "taskset was used." - sleep 1 - taskset 1 $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE - else - taskset 1 $MARTe2APP -l RealTimeLoader -f $FILE -s $STATE - fi - fi -fi - - -if [ ! -z "$DAN_CONFIG_LOCATION" ]; then - /opt/codac/bin/danApiTool api close -fi diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runECPCSub.sh b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runECPCSub.sh deleted file mode 100644 index 3254982..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runECPCSub.sh +++ /dev/null @@ -1 +0,0 @@ -./Main.sh -f ../Configurations/tests/ECPCSubscriber.cfg -l RealTimeLoader -m StateMachine:Start \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runEPICSTEST.sh b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runEPICSTEST.sh deleted file mode 100644 index c141074..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runEPICSTEST.sh +++ /dev/null @@ -1,2 +0,0 @@ -./Main.sh -f ../Configurations/tests/EPICS_Test.cfg -l RealTimeLoader -m StateMachine:START - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runHWTEST.sh b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runHWTEST.sh deleted file mode 100644 index 5991673..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runHWTEST.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -./Main.sh -f ../Configurations/tests/NI6528_NI6259_test.cfg -l RealTimeLoader -m StateMachine:START - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runMain.sh b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runMain.sh deleted file mode 100644 index 623ae28..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runMain.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -taskset -c 8-11 ./Main.sh -f ../Configurations/JAGyrotronA_FY19_P1.cfg -l RealTimeLoader -m StateMachine:Start - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runMainB.sh b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runMainB.sh deleted file mode 100644 index a6fb765..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runMainB.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -taskset -c 12-15 ./Main.sh -f ../Configurations/JAGyrotronB_FY19_P1.cfg -l RealTimeLoader -m StateMachine:Start diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runNI6528TEST.sh b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runNI6528TEST.sh deleted file mode 100644 index ae06cf5..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Startup/runNI6528TEST.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -./Main.sh -f ../Configurations/tests/NI6528_test.cfg -l RealTimeLoader -m StateMachine:START - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/beamon_test_async_GYB.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/beamon_test_async_GYB.py deleted file mode 100644 index 90477ef..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/beamon_test_async_GYB.py +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -import test_async -import test_sync -import test_ready_hw -import test_setup_hw -import test_standby_hw -import test_ready -import test_setup -import test_standby - - -"""" -Test GYB operation with Async mode. -This code can be executed when WaitPermit state. -""" -# 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-GY2PRM.SCAN Passive', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SIML ', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SIMM 1', shell=True) -res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SVAL 1', shell=True) -res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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.SCAN Passive', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SIML ', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SIMM 1', shell=True) -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(11) -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-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!" - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test.py deleted file mode 100644 index 82a2603..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -import test_async -import test_sync -import test_ready_hw -import test_setup_hw -import test_standby_hw -import test_ready -import test_setup -import test_standby - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -print '---------- Pre setup for the test ----------' -test_setup.test_setup() -#test_setup_hw.test_setup() - -print 'Enter to continue test:' -inpval = raw_input() -################################################################################ -# set SELECT and STANDBY signal -################################################################################ -print '---------- WatiStandby test ----------' -test_standby.test_standby() -#test_standby_hw.test_standby() - -print 'Enter to continue test' -inpval = raw_input() - -################################################################################ -# set READY and CCPS_ON_REQUEST signal -################################################################################ -print '---------- WatiReady test ----------' -test_ready.test_ready() -#test_ready_hw.test_ready() - -print 'Enter to continue test' -inpval = raw_input() -################################################################################ -# set PERMIT and ON signal -################################################################################ -print 'Simulate PERMIT signal. State should go to WaitHVON state' -while(1): - print '''Select test type and push enter key: - 1: GYA / Async mode - 2: GYB / Async mode - 3: Two Gyrotron operation - 4: Mode limit detection - 5: Short pulse - 6: Long pulse - 7: PrePro operation - 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 - ''' - inpval = raw_input() - - if inpval == "1": - test_async.test_async_GYA() - elif inpval == "2": - test_async.test_async_GYB() - elif inpval == "3": - test_async.test_async_both() - elif inpval == "4": - test_async.test_async_limit() - elif inpval == "5": - test_async.test_async_shortpulse() - elif inpval == "6": - test_async.test_async_longpulse() - elif inpval == "7": - test_async.test_async_prepro() - elif inpval == "8": - test_sync.test_sync() - elif inpval == "9": - test_async.test_async_GYA_manual() - elif inpval == "10": - test_async.test_async_GYB_manual() - else: - print 'invalid value. Enter 1 to 10!' - continue - -print '..... End of test code .....' diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.py deleted file mode 100644 index 8f595b2..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.py +++ /dev/null @@ -1,414 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - - -def test_async(): - """" - Simulate permit signal and ON signal from PLC. - Confirm pulse generation with async mode. 10ms - """ - print '1.set beam-on schedule (10ms diff + 3s pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 1000000', shell=True) - # 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 10000000', 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(1) - 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 "end of async, non-prepro mode test!" - -def test_async_limit(): - """" - Mode Limit Stop test. - Pulse lenght was set to 3s, but it stop in 1s because of mode limit. - """ - print '1.set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 11000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 21000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 31000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 41000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 3000000', shell=True) - # 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(6) - 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 "end of async, non-prepro mode test!" - -def test_async_prepro(): - """PrePro mode test""" - print '1.set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 3000000', shell=True) - 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 10000000', shell = True) - time.sleep(1) - print '1.Set Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 1', shell = True) - time.sleep(1) - print '2.Reset Mode 1 flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) - 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(2) - 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) - time.sleep(4) - print '5.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(3) - print '6.Reset Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 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 'end of async, prepro mode testscript!' - -def test_async_shortpulse(): - """Short Pulse Mode test""" - #print '1.Set puls length to 1ms (1ms diff)' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 1', shell=True) #Set short pulse mode. - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 1', shell = True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 2000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 4000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 5000', shell=True) #Should be grater than 1ms. - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 1000', shell=True) - print '1.Set puls length to 100us (100us diff)' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 1', shell=True) #Set short pulse mode. - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 1', shell = True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200', shell=True) - #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) - print '1.Set puls length (100us diff)' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 1', shell=True) #Set short pulse mode. - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 1', shell = True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200', shell=True) - 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 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) - time.sleep(1) - print '3.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(1) - print '4.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 '5.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 '6.Reset short pulse mode' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0', shell=True) #Set short pulse mode. - print "-----------------------------------------\n" - -def test_async_longpulse(): - """" - Simulate permit signal and ON signal from PLC. - Confirm pulse generation with async mode. 10ms - """ - print '1.set beam-on schedule (10ms diff + 50ms pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 3600000000', shell=True) - # 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 180000000', 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(185) - 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 "end of async, non-prepro mode test!" - -def test_async_both(): - """" - Simultanious operation test. - """ - print '1.set beam-on schedule (10ms diff + 500ms pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 500000', shell=True) - - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DT-SHOTLEN 500000', shell=True) - # 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) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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(1) - 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) - 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(): - """" - Test GYA operation with Async mode. - """ - #print '1.set beam-on schedule (1s diff + 1s pulse.)' - #print '1.set beam-on schedule (100ms diff + 1s pulse.)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 1000000', shell=True) - #print '1.set beam-on schedule (10ms diff + 100ms pulse.)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - #print '1.set beam-on schedule (1ms diff + 10ms pulse.)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 2000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 4000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 5000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 10000', shell=True) - print '1.set beam-on schedule (1s diff + 20s pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 2000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 4000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 5000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 20000000', shell=True) - # 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(30) - 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 "end of async, non-prepro mode test!" - -def test_async_GYB(): - """" - Test GYB operation with Async mode. - """ - print '1.set beam-on schedule (1s diff + 1s pulse.)' - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-HVON 1000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-HVON 2000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-SWON 4000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-SWON 5000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DT-SHOTLEN 20000000', shell=True) - # 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-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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(30) - 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-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_manual(): - """" - Test GYA operation with Async mode. - """ - print '1.. Set delays and pulse length on HMI and set sleep time here:' - inp_val = raw_input() - try: - sleep_time = float(inp_val) - except: - return - # 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 "end of async, non-prepro mode test!" - -def test_async_GYB_manual(): - """" - Test GYA operation with Async mode. - """ - print '1.. Set delays and pulse length on HMI and set sleep time here:' - inp_val = raw_input() - try: - sleep_time = float(inp_val) - except: - return - # 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-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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-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!" diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.pyc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.pyc deleted file mode 100644 index f899918..0000000 Binary files a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.py deleted file mode 100644 index 72089d8..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -def test_ready(): - """In the WaitReady state, simulate READY signal from PLC.""" - print '---------- WatiReady test ----------' - print '1. Simulate READY signal. State should go to WaitPermit state.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R 1', shell=True) - print '2. Set CCPS trianguler waveform parameters(1V, 1Hz)' - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-AMP 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-FREQ 1', shell=True) #Hz - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-AMP 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-FREQ 1', shell=True) #Hz - time.sleep(1) - print '3. load csv file.' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-NAME test.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-LOAD 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-NAME test2.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-LOAD 1', shell=True) - time.sleep(1) - print '4. Simulate CCPS_ON_REQUEST signal' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2 1', shell=True) - time.sleep(1) - print '5. Confirm CCPS_ON flag and triangular waveform generation.' - print '6. Simulate CCPS status PVs.' - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:PSU2320-TR 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:PSU2320-TR 1', shell=True) - print '7. Confirm PCF state changes to WaitPermit state.' - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.pyc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.pyc deleted file mode 100644 index 68b2851..0000000 Binary files a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.py deleted file mode 100644 index 78526fd..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -def test_ready(): - """In the WaitReady state, simulate READY signal from PLC.""" - print '---------- WatiReady test ----------' - print '1. Simulate READY signal. State should go to WaitPermit state.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '2. Set CCPS trianguler waveform parameters(1V, 1Hz)' - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-AMP 3', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-FREQ 1', shell=True) #Hz - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-AMP 4', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-FREQ 1', shell=True) #Hz - print 'Enter to continue test' - inpval = raw_input() - time.sleep(1) - print '3. load csv file.' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-NAME test.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-LOAD 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-NAME test2.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-LOAD 1', shell=True) - time.sleep(1) - print '4. Simulate CCPS_ON_REQUEST signal' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '5. Confirm CCPS_ON flag and triangular waveform generation.' - print '6. Simulate CCPS status PVs.' - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:PSU2320-TR 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:PSU2320-TR 0', shell=True) - print '7. Confirm PCF state changes to WaitPermit state.' - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.pyc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.pyc deleted file mode 100644 index 05b88d6..0000000 Binary files a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_rup_confirm.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_rup_confirm.py deleted file mode 100644 index cf99a15..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_rup_confirm.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -import test_async -import test_sync -import test_ready_hw -import test_setup_hw -import test_standby_hw -import test_ready -import test_setup -import test_standby -import test_setup_rup_confirm - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -print '---------- Pre setup for the test ----------' -test_setup_rup_confirm.test_setup() -#test_setup.test_setup() -#test_setup_hw.test_setup() - - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.py deleted file mode 100644 index ff47dc4..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.py +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -def test_setup(): - """ - Setup EPICS PVs for testing. - Turn simulation mode ON for unavailable device - """ - print '---------- Start setup for the test ----------' - - print '1. set PVs to simulation mode' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-AI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:STAT-SIMM YES', shell=True) #turn off for GCPS test. - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT 0', shell=True) - time.sleep(1) - print '2. Change SCAN mode from I/O Inter to Passive to write sumulated values.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SCAN Passive', shell=True) #STANDBY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SCAN Passive', shell=True) #READY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SCAN Passive', shell=True) #ON - res = subprocess.call('caput EC-GN-P01-PMF:PSU0000-TYSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SCAN Passive', shell = True) #SYNC/ASYNC - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SCAN Passive', shell=True) #CCPS ON REQUEST - time.sleep(1) - print '3. Set pulse length limit mode value and state.' - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD1-LIM 10000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD2-LIM 100000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD3-LIM 1000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD4-LIM 10000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4 0', shell = True) #Pulse lenght mode - print '4. Set other operation modes' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) #Pre-pro mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0',shell = True) #Short pulse mode - time.sleep(1) - print '5. Set a beam-on schedule(10ms diff + 100ms pulse)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - time.sleep(1) - print '6. Reset PLC INTERLOCK' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP 0', shell=True) #CCPS_IS_OPERATION - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-RST-FLT 1', shell=True) - print '---------- END setup for the test ----------' diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.pyc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.pyc deleted file mode 100644 index e99d4b3..0000000 Binary files a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.py deleted file mode 100644 index 190c39c..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -def test_setup(): - """ - Setup EPICS PVs for testing. - Turn simulation mode ON for unavailable device - """ - print '---------- Start setup for the test ----------' - - print '1. set PVs to simulation mode' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-DI-SIMM YES', shell=True) - #temporary commentout 2 lines - #res = subprocess.call('caput EC-GN-P01-GAF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:STAT-SIMM YES', shell=True) - #temporary commentout following line - #res = subprocess.call('caput EC-GN-P01-GBF-GCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-SIMM YES', shell=True) - #temporary commentout following line - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:STAT-SIMM YES', shell=True) - #temporary commentout following line - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:STAT-SIMM YES', shell=True) - time.sleep(1) - print '2. Change SCAN mode from I/O Inter to Passive to write sumulated values.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SCAN Passive', shell=True)#SELECT - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SCAN Passive', shell=True)#SELECT - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SCAN Passive', shell=True) #STANDBY - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SCAN Passive', shell=True) #READY - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SCAN Passive', shell=True) #ON - #res = subprocess.call('caput EC-GN-P01-PMF:PSU0000-TYSTA.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YSTA.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YSTA.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SCAN Passive', shell=True) #PERMIT - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SCAN Passive', shell = True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SCAN Passive', shell = True) #SYNC/ASYNC - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SCAN Passive', shell=True) #CCPS ON REQUEST - time.sleep(1) - print '3. Set pulse length limit mode value and state.' - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD1-LIM 10000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD2-LIM 100000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD3-LIM 1000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD4-LIM 10000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4 0', shell = True) #Pulse lenght mode - print '4. Set other operation modes' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) #Pre-pro mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0',shell = True) #Short pulse mode - time.sleep(1) - print '5. Set a beam-on schedule(10ms diff + 100ms pulse)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - time.sleep(1) - print '6. Reset PLC INTERLOCK' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SIMM 1', shell=True) #PLC Interlock - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SCAN 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SVAL 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP 0', shell=True) #CCPS_IS_OPERATION - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SIMM 1', shell=True) #cRIO Interlock - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SCAN 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SVAL 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPF:STAT-RST-FLT 1', shell=True) - print '---------- END setup for the test ----------' diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.pyc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.pyc deleted file mode 100644 index 67d714d..0000000 Binary files a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.py deleted file mode 100644 index 3f14868..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.py +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -def test_setup(): - """ - Setup EPICS PVs for testing. - Turn simulation mode ON for unavailable device - """ - print '---------- Start setup for the test ----------' - - print '1. set PVs to simulation mode' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-AI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:STAT-SIMM YES', shell=True) #turn off for GCPS test. - #res = subprocess.call('caput EC-GN-P01-GBF-GCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT 0', shell=True) - time.sleep(1) - print '2. Change SCAN mode from I/O Inter to Passive to write sumulated values.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SCAN Passive', shell=True) #STANDBY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SCAN Passive', shell=True) #READY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SCAN Passive', shell=True) #ON - res = subprocess.call('caput EC-GN-P01-PMF:PSU0000-TYSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SCAN Passive', shell = True) #SYNC/ASYNC - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SCAN Passive', shell=True) #CCPS ON REQUEST - time.sleep(1) - print '3. Set pulse length limit mode value and state.' - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD1-LIM 10000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD2-LIM 100000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD3-LIM 1000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD4-LIM 10000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4 0', shell = True) #Pulse lenght mode - print '4. Set other operation modes' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) #Pre-pro mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0',shell = True) #Short pulse mode - time.sleep(1) - print '5. Set a beam-on schedule(10ms diff + 100ms pulse)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - time.sleep(1) - print '6. Reset PLC INTERLOCK' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP 0', shell=True) #CCPS_IS_OPERATION - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-RST-FLT 1', shell=True) - print '7. Simulate SELECT signal. State should go to WatiStandby from Disabled.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2 1', shell=True) - time.sleep(1) - print '8. Simulate STANDBY signal. MCPS, GCPS, FHPS rampup must be started.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R 1', shell=True) - print '---------- END setup for the test ----------' diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.pyc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.pyc deleted file mode 100644 index b3a9917..0000000 Binary files a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.py deleted file mode 100644 index 6d3b3b1..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.py +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - - -def test_standby(): - """ - In the WaitStandby State, simulate PLC STANDBY signal. - Turn on FHPS by push auto-on button. - Turn on SCM PSs automatically. - State transition condition is checked at last. - """ - print '---------- Start WatiStandby test ----------' - print '1. Simulate SELECT signal. State should go to WatiStandby from Disabled.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2 1', shell=True) - time.sleep(1) - print '2. Set MCPS rampup parameter(target current, sweep rate.)' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For A - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET 1.5', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET 1.5', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For B - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET 1.5', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET 1.5', shell=True) - time.sleep(1) - print '3. Simulate STANDBY signal. MCPS, GCPS, FHPS rampup must be started.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R 1', shell=True) - time.sleep(1) - print '4. Set FHPS rampup parameter and start it.' - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME 10', shell=True) #in second. - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME 10', shell=True) #in second. - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - time.sleep(10) - print '5. Simulate FHPS, MCPS and GCPS state.' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - time.sleep(1) - print '6. Confirm FHPS and SCM ramp-up complete. The state goes to WaitREADY from WaitStandby.' - print '---------- END WaitStandby test ----------' - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.pyc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.pyc deleted file mode 100644 index bc74300..0000000 Binary files a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.py deleted file mode 100644 index 6305e40..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - - -def test_standby(): - """ - In the WaitStandby State, simulate PLC STANDBY signal. - Turn on FHPS by push auto-on button. - Turn on SCM PSs automatically. - State transition condition is checked at last. - """ - print '---------- Start WatiStandby test ----------' - print '1. Simulate SELECT signal. State should go to WatiStandby from Disabled.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '2. Set MCPS rampup parameter(target current, sweep rate.)' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For A - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET 1.69', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET 1.0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For B - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET 1.69', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET 1.0', shell=True) - time.sleep(1) - print '3. Simulate STANDBY signal. MCPS, GCPS, FHPS rampup must be started.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '4. Set FHPS rampup parameter and start it.' - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME 60', shell=True) #in second. - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME 60', shell=True) #in second. - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - print 'Enter to continue test' - inpval = raw_input() - print '5. Simulate FHPS, MCPS and GCPS state.' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON 4', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - time.sleep(1) - print '6. Confirm FHPS and SCM ramp-up complete. The state goes to WaitREADY from WaitStandby.' - print '---------- END WaitStandby test ----------' - diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.pyc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.pyc deleted file mode 100644 index b19006e..0000000 Binary files a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.py b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.py deleted file mode 100644 index ebf5a71..0000000 --- a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -def test_sync(): - """Test Sync Mode""" - print '1. Set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-SWON 500000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 300000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DT-SHOTLEN 300000000', shell=True) - print '2. Set SYNC flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 1', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 1', shell = True) - print '3. Set Mode 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 600000000', shell = True) - print '4. 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) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 1', shell=True) - time.sleep(1) - print '5. 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) - print '6. Wait SDN commands.' - print 'Enter to stop operation(Trun off PLC_HVON)' - inpval = raw_input() - print '7. Write 0 to 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(2) - print '8. 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) - 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 '9. Reset Mode 1 flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) - print 'end of sequence.' - -def test_sync_prepro(): - """Test Sync PrePro Mode""" - print '1. Set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 300000000', shell=True) - print '2. Set SYNC flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 1', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 1', shell = True) - print '3. Set Mode 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 600000000', shell = True) - print '4.Set Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 1', shell = True) - time.sleep(1) - print '5. 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) - print '6. 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) - print '7. Wait SDN commands.' - print 'Enter to stop operation(Trun off PLC_HVON)' - inpval = raw_input() - print '8. Write 0 to 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(2) - print '9. 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 '10.Reset Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) - time.sleep(1) - print '11. Reset Mode 1 flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) - print 'end of sequence.' \ No newline at end of file diff --git a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.pyc b/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.pyc deleted file mode 100644 index 3637b06..0000000 Binary files a/EC-GN-JA-PCF/src/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/target/.codac-version b/EC-GN-JA-PCF/target/.codac-version deleted file mode 100644 index 1f2be2a..0000000 --- a/EC-GN-JA-PCF/target/.codac-version +++ /dev/null @@ -1 +0,0 @@ -6.3 \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/bin/Gyrotron01DAN b/EC-GN-JA-PCF/target/bin/Gyrotron01DAN deleted file mode 100755 index 0f2e98d..0000000 Binary files a/EC-GN-JA-PCF/target/bin/Gyrotron01DAN and /dev/null differ diff --git a/EC-GN-JA-PCF/target/bin/Gyrotron02DAN b/EC-GN-JA-PCF/target/bin/Gyrotron02DAN deleted file mode 100755 index d3f6ac9..0000000 Binary files a/EC-GN-JA-PCF/target/bin/Gyrotron02DAN and /dev/null differ diff --git a/EC-GN-JA-PCF/target/codac-core-6.3-EC-GN-PCF0SYSM-ioc-6.3.2.v1.0.0-1.el7.x86_64.rpm b/EC-GN-JA-PCF/target/codac-core-6.3-EC-GN-PCF0SYSM-ioc-6.3.2.v1.0.0-1.el7.x86_64.rpm deleted file mode 100644 index 9255f40..0000000 Binary files a/EC-GN-JA-PCF/target/codac-core-6.3-EC-GN-PCF0SYSM-ioc-6.3.2.v1.0.0-1.el7.x86_64.rpm and /dev/null differ diff --git a/EC-GN-JA-PCF/target/codac-core-6.3-EC-GN-PSH0PCF-ioc-6.3.2.v1.0.0-1.el7.x86_64.rpm b/EC-GN-JA-PCF/target/codac-core-6.3-EC-GN-PSH0PCF-ioc-6.3.2.v1.0.0-1.el7.x86_64.rpm deleted file mode 100644 index 75717f5..0000000 Binary files a/EC-GN-JA-PCF/target/codac-core-6.3-EC-GN-PSH0PCF-ioc-6.3.2.v1.0.0-1.el7.x86_64.rpm and /dev/null differ diff --git a/EC-GN-JA-PCF/target/iter-icint-EC-GN-1.0.0-1.noarch.rpm b/EC-GN-JA-PCF/target/iter-icint-EC-GN-1.0.0-1.noarch.rpm deleted file mode 100644 index ab45c14..0000000 Binary files a/EC-GN-JA-PCF/target/iter-icint-EC-GN-1.0.0-1.noarch.rpm and /dev/null differ diff --git a/EC-GN-JA-PCF/target/iter-icint-EC-GN-alarm-1.0.0-1.noarch.rpm b/EC-GN-JA-PCF/target/iter-icint-EC-GN-alarm-1.0.0-1.noarch.rpm deleted file mode 100644 index a0ca266..0000000 Binary files a/EC-GN-JA-PCF/target/iter-icint-EC-GN-alarm-1.0.0-1.noarch.rpm and /dev/null differ diff --git a/EC-GN-JA-PCF/target/iter-icint-EC-GN-archive-1.0.0-1.noarch.rpm b/EC-GN-JA-PCF/target/iter-icint-EC-GN-archive-1.0.0-1.noarch.rpm deleted file mode 100644 index 31a7803..0000000 Binary files a/EC-GN-JA-PCF/target/iter-icint-EC-GN-archive-1.0.0-1.noarch.rpm and /dev/null differ diff --git a/EC-GN-JA-PCF/target/iter-icint-EC-GN-opi-1.0.0-1.noarch.rpm b/EC-GN-JA-PCF/target/iter-icint-EC-GN-opi-1.0.0-1.noarch.rpm deleted file mode 100644 index 4b31694..0000000 Binary files a/EC-GN-JA-PCF/target/iter-icint-EC-GN-opi-1.0.0-1.noarch.rpm and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/beast/EC-beast.xml b/EC-GN-JA-PCF/target/main/beast/EC-beast.xml deleted file mode 100644 index 595af96..0000000 --- a/EC-GN-JA-PCF/target/main/beast/EC-beast.xml +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - -Connection or frame of the communication for 4110 configuration and state is invalid -true -0 - -4110 communication failed -
The connection for configuration and state to 4110 was broken or the frame is not correct
-
- -Causes related to the alarm -
Timestamp update error (TIME) -Data block header, footer or length mismatch (FERROR) -Data block version mismatch (FVERS) -Data block alive counter update error (ALIVEC) -Frame lost due (FLOST) -PLC communication broken (CFGSTAT) -Lost a redundant CPU (CPU0-ALIVE, CPU1-ALIVE)
-
- -Corrective action -
Check whether the PLC is running\n Check whether network is ok\n Contact maintenance service (if needed)
-
- -4110 State Comm. Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-PLCHLTS_Alarm.opi "CBS1=EC, CBS2=GN, PP=01, NNNN=4110, TTT=PLC, PPPP=52RF, ALARM_PV=EC-GN-SYSM-52RF-01:PLC4110-PLCHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=PLC communication failed, ALARM_GUIDANCE1_DETAILS=The connection for configuration and state to PLC is broken or the frame is not correct."
-
-
- -Connection or frame of the communication for PLC Event is invalid -true -0 - -PLC Event communication failed -
The connection for event to PLC was broken or the frame is not correct
-
- -Causes related to the alarm -
Event Frame count update error (FRAMEC) -PLC Event communication broken (EVTSTAT)
-
- -Corrective action -
Check whether the PLC is running\n Check whether network is ok\n Contact maintenance service (if needed)
-
- -PLC Event Comm. Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-EVTHLTS_Alarm.opi "CBS1=EC, CBS2=GN, CBS3=SYSM, PP=01, NNNN=4110, TTT=PLC, PPPP=52RF, ALARM_PV=EC-GN-SYSM-52RF-01:PLC4110-EVTHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=PLC Event communication failed, ALARM_GUIDANCE1_DETAILS=The connection for event to PLC was broken or the frame is not correct."
-
-
- -Any one of CPU, MEM, Disk, FD, Process of the host is in alarm state -true -0 - -System is an abnormal state -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - one of CPU, Disk, Memory, FD load is high or necessary process has been stopped -2 - two of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped -3 - three of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped
-
- -Corrective action -
If any load remains high continuously, contact maintenance service. -In addition, check if the necessary processes are running
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIHI 100 - - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI - -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SHLT_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PCF, NNNN=4210, ALARM_PV=EC-GN-SYSM-52RF-01:PCF4210-SHLT, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD / Process of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
- -Any one of CPU, MEM, Disk or FD of the host is in alarm state -true -0 - -System resource utilization is high -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - CPU utilization high (CPUUTL) : CPU utilization is high -2 - Memory utilization high (MEMUTL) : Memory utilization is high -3 - CPU, Mem util high (CPUUTL, MEMUTL) : CPU and Memory utilizations are high -4 - Disk utilization high (DISKUTL) : Disk utilizations are high -5 - CPU, Disk util high (CPUUTL,DISKUTL) : CPU and Disk utilizations are high -6 - Mem, Disk util high (MEMUTL,DISKUTL) : Memory and Disk utilizations are high -7 - CPU, Mem, Disk util high (CPUUTL,MEMUTL,DISKUTL) : CPU/Memory/Disk utilizations are high -8 - FD utilization high (FDUTL) : FD utilization is high -9 - CPU, FD util high (CPUUTL,FDUTL) : CPU and FD are in alarm state -10 - Mem, FD util high (MEMUTL,FDUTL) : Memory and FD are in alarm state -11 - CPU, Mem, FD alarm (CPUUTL,MEMUTL,FDUTL) : CPU/Memory/FD are in alarm state -12 - Disk, FD util high (DISKUTL,FDUTL) : Disk and FD are in alarm state -13 - CPU, Disk, FD alarm (CPUUTL,DISKUTL,FDUTL) : CPU/Disk/FD are in alarm state -14 - Mem, Disk, FD alarm (MEMUTL,DISKUTL,FDUTL) : Memory/Disk/FD are in alarm state -15 - CPU,Mem,Disk,FD alarm (CPUUTL,MEMUTL,DISKUTL,FDUTL) : CPU/Memory/Disk/FD alarm
-
- -Corrective action -
If any load remains high continuously, contact maintenance service
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PCF4210-CPUUTL.HIHI 100 - - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PCF4210-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SYSHLTS_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PCF, NNNN=4210, ALARM_PV=EC-GN-SYSM-52RF-01:PCF4210-SYSHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
- -Current state of TCNd and the synchronization state of the device -true -0 - -System time synchronization is not fully operational -
If status is N/A, then check that tcnd is running. -If status is not operational for some time, please contact maintenance service.
-
- -Documentation TCNd -
firefox file:///opt/codac/doc/pdf/TCNd_User_Manual.pdf
-
- -TCNd Sync. Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-TSTATUS_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PCF, NNNN=4210, ALARM_PV=EC-GN-SYSM-52RF-01:PCF4210-TSTATUS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System clock synchronization with respect to ITER time, ALARM_GUIDANCE1_DETAILS=The computer system clock is synchronized to ITER time using the TCN daemon (TCNd) component of CODAC Core SYstem. Please see TCNd User Manual (ITER_D_MUYNT6 - /opt/codac/doc/pdf/TCNd_User_Manual.pdf). -The clock synchronization has been detected to have been in an abnormal state. i.e. STATUS different from 'Operational' after two minutes of uptime."
-
-
- -Any one of CPU, MEM, Disk, FD, Process of the host is in alarm state -true -0 - -System is an abnormal state -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - one of CPU, Disk, Memory, FD load is high or necessary process has been stopped -2 - two of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped -3 - three of CPU, Disk, Memory, FD load are high and/or necessary process has been stopped
-
- -Corrective action -
If any load remains high continuously, contact maintenance service. -In addition, check if the necessary processes are running
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIHI 100 - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SHLT_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PSH, NNNN=4410, ALARM_PV=EC-GN-SYSM-52RF-01:PSH4410-SHLT, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD / Process of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
- -Any one of CPU, MEM, Disk or FD of the host is in alarm state -true -0 - -System resource utilization is high -
Check the mentioned alarm load and identify the cause
-
- -System resources related to the alarm -
1 - CPU utilization high (CPUUTL) : CPU utilization is high -2 - Memory utilization high (MEMUTL) : Memory utilization is high -3 - CPU, Mem util high (CPUUTL, MEMUTL) : CPU and Memory utilizations are high -4 - Disk utilization high (DISKUTL) : Disk utilizations are high -5 - CPU, Disk util high (CPUUTL,DISKUTL) : CPU and Disk utilizations are high -6 - Mem, Disk util high (MEMUTL,DISKUTL) : Memory and Disk utilizations are high -7 - CPU, Mem, Disk util high (CPUUTL,MEMUTL,DISKUTL) : CPU/Memory/Disk utilizations are high -8 - FD utilization high (FDUTL) : FD utilization is high -9 - CPU, FD util high (CPUUTL,FDUTL) : CPU and FD are in alarm state -10 - Mem, FD util high (MEMUTL,FDUTL) : Memory and FD are in alarm state -11 - CPU, Mem, FD alarm (CPUUTL,MEMUTL,FDUTL) : CPU/Memory/FD are in alarm state -12 - Disk, FD util high (DISKUTL,FDUTL) : Disk and FD are in alarm state -13 - CPU, Disk, FD alarm (CPUUTL,DISKUTL,FDUTL) : CPU/Disk/FD are in alarm state -14 - Mem, Disk, FD alarm (MEMUTL,DISKUTL,FDUTL) : Memory/Disk/FD are in alarm state -15 - CPU,Mem,Disk,FD alarm (CPUUTL,MEMUTL,DISKUTL,FDUTL) : CPU/Memory/Disk/FD alarm
-
- -Corrective action -
If any load remains high continuously, contact maintenance service
-
- -Temporary actions to suppress -
Change the alarm limits or severity for each load in alarm state. - - Ex1) alarm limits -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIGH 90 -% caput EC-GN-SYSM-52RF-01:PSH4410-CPUUTL.HIHI 100 - - Ex2) alarm severity -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HSV NO_ALARM -% caput EC-GN-SYSM-52RF-01:PSH4410-MEMUTL.HHSV NO_ALARM
-
- -System Health Alarm OPI -
/opt/codac/opi/boy/resources/alarmpages/healthMonitoring/ITER-SYSM-SYSHLTS_Alarm.opi "CBS=EC-GN-SYSM, PPPP=52RF, PP=01, TTT=PSH, NNNN=4410, ALARM_PV=EC-GN-SYSM-52RF-01:PSH4410-SYSHLTS, ALARM_PATH=/CODAC_AlarmHandler/EC/EC-GN/EC-GN-SYSM, LEVEL=ITER-EC-GN-SYSM, ALARM_GUIDANCE1_TITLE=System resource utilization is high, ALARM_GUIDANCE1_DETAILS=Any one of CPU / MEM / Disk / FD of the host is in alarm state. Check the mentioned alarm load and identify the cause. If any load remains high continuously contact maintenance service."
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - -
-
-
\ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/beauty/EC-beauty.xml b/EC-GN-JA-PCF/target/main/beauty/EC-beauty.xml deleted file mode 100755 index ebe75ef..0000000 --- a/EC-GN-JA-PCF/target/main/beauty/EC-beauty.xml +++ /dev/null @@ -1,242 +0,0 @@ - - - - -EC-GN-SYSM - -EC-GN-SYSM-52RF-01:PLC4110-CFGWRCNTR -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PLC4110-PLCHLTS -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PLC4110-EVTHLTS -1.0 -0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-BTIME - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CCSV - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CORE-DBDLC - 10.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CORE-DBRECC - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CORE-STTOD - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-CPUUTL - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-DISKUTL - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-EPICSV - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-HOSTNAME - 1.0 -0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-MEMUTL - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-NRBPS - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-NSBPS - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SHLT - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSHLTS - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSM-DBDLC - 10.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSM-DBRECC - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-SYSM-STTOD - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-TDEVICE - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-TOFFSET - 1.0 - 0.0 - - - EC-GN-SYSM-52RF-01:PCF4210-TSTATUS - 1.0 - 0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-BTIME -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-CCSV -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-CPUUTL -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-DISKUTL -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-EPICSV -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-HOSTNAME -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-MEMUTL -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-NRBPS -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-NSBPS -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-SHLT -1.0 -0.0 - - -EC-GN-SYSM-52RF-01:PSH4410-SYSHLTS -1.0 -0.0 - - - -EC-GN-HWCF - - -EC-GN-P01-GAF - - -EC-GN-P01-GAF-CCPS - - -EC-GN-P01-GAF-FHPS - - -EC-GN-P01-GAF-GCPS - - -EC-GN-P01-GAF-MCPS - - -EC-GN-P01-GAFP - - -EC-GN-P01-GBF - - -EC-GN-P01-GBF-CCPS - - -EC-GN-P01-GBF-FHPS - - -EC-GN-P01-GBF-GCPS - - -EC-GN-P01-GBF-MCPS - - -EC-GN-P01-GBFP - - -EC-GN-P01-GPF - - -EC-GN-P01-GPS - - -EC-GN-P01-PA1F - - -EC-GN-P01-PA2F - - -EC-GN-P01-PB1F - - -EC-GN-P01-PB2F - - -EC-GN-P01-PMF - - diff --git a/EC-GN-JA-PCF/target/main/boy/SymbolLibrary b/EC-GN-JA-PCF/target/main/boy/SymbolLibrary deleted file mode 120000 index 3fee910..0000000 --- a/EC-GN-JA-PCF/target/main/boy/SymbolLibrary +++ /dev/null @@ -1 +0,0 @@ -/opt/codac-6.3/opi/boy/SymbolLibrary \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-HWCF_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-HWCF_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-HWCF_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-CCPS_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-CCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-CCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-FHPS_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-FHPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-FHPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-GCPS_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-GCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-GCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-MCPS_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-MCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF-MCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAFP_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAFP_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAFP_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GAF_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-CCPS_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-CCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-CCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-FHPS_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-FHPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-FHPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-GCPS_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-GCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-GCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-MCPS_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-MCPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF-MCPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBFP_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBFP_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBFP_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GBF_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GPF_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GPF_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GPF_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GPS_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GPS_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-GPS_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PA1F_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PA1F_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PA1F_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PA2F_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PA2F_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PA2F_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PB1F_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PB1F_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PB1F_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PB2F_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PB2F_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PB2F_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PMF_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PMF_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01-PMF_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN-P01_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC-GN_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC_Mimic.opi b/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC_Mimic.opi deleted file mode 100644 index 2e893db..0000000 --- a/EC-GN-JA-PCF/target/main/boy/empty/ITER-EC_Mimic.opi +++ /dev/null @@ -1,211 +0,0 @@ - - - - - false - -1 - -1 - - false - - - - 5.0.0.201512210936 - - - - 1 - 1760 - - true - - MAIN DISPLAY AREA - MIMIC - - - true - true - true - true - true - Display - 3236 - -14a921ec:134b2495e46:-7f53 - 0 - 0 - - - - - - - - - 0 - 1 - true - false - - IO Title - - - - - 1760 - false - - true - - MAIN DISPLAY AREA - MIMIC - - - false - false - false - - - false - - true - true - Grouping Container - 3236 - -28c93393:14b0cb4ebee:-6a50 - 0 - 0 - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Information Layer - - - - false - - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - false - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-432f - 0 - 0 - - - - - - - - - - 0 - 2 - true - false - - IO Title - - - - - 1760 - false - - true - - Static Data Layer - - - false - false - false - - - true - $(name) - true - true - Grouping Container - 3236 - -1e0f3b69:149c8d6d12f:-4384 - 0 - 0 - - - - false - true - true - - - - 0 - false - - - - 0 - 2 - true - - IO Label - - false - - - - 45 - - Show/Hide Tickbox - loc://$(DID)_INFO_SHOW(0) - - - - false - false - false - - - - - - $(name) - true - Check Box - 225 - -17ac9c77:14e0084b99a:2504 - 3000 - 0 - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation.xml deleted file mode 100755 index 2b1cfbe..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-HWCF.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-HWCF.xml deleted file mode 100755 index 12eb6c5..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-HWCF.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-CCPS.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-CCPS.xml deleted file mode 100755 index f0c1369..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-CCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-FHPS.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-FHPS.xml deleted file mode 100755 index 0645fab..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-FHPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-GCPS.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-GCPS.xml deleted file mode 100755 index 30d6e02..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-GCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-MCPS.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-MCPS.xml deleted file mode 100755 index 7868875..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF-MCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF.xml deleted file mode 100755 index 07012f8..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAF.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAFP.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAFP.xml deleted file mode 100755 index 3c42493..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GAFP.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-CCPS.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-CCPS.xml deleted file mode 100755 index e761be7..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-CCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-FHPS.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-FHPS.xml deleted file mode 100755 index aed4fec..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-FHPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-GCPS.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-GCPS.xml deleted file mode 100755 index 3799297..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-GCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-MCPS.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-MCPS.xml deleted file mode 100755 index b958fd0..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF-MCPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF.xml deleted file mode 100755 index 0e1b217..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBF.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBFP.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBFP.xml deleted file mode 100755 index 2ce42cd..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GBFP.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GPF.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GPF.xml deleted file mode 100755 index 761e26b..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GPF.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GPS.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GPS.xml deleted file mode 100755 index c6da874..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-GPS.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PA1F.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PA1F.xml deleted file mode 100755 index 13fdc95..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PA1F.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PA2F.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PA2F.xml deleted file mode 100755 index f143ef0..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PA2F.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PB1F.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PB1F.xml deleted file mode 100755 index 16a1375..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PB1F.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PB2F.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PB2F.xml deleted file mode 100755 index 2c215fe..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PB2F.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PMF.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PMF.xml deleted file mode 100755 index 5f84ca9..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01-PMF.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01.xml deleted file mode 100755 index 1d1e6ee..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN-P01.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN.xml deleted file mode 100755 index c2d11a9..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC-GN.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC.xml b/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC.xml deleted file mode 100755 index 3be2fb2..0000000 --- a/EC-GN-JA-PCF/target/main/boy/navigation/Navigation_EC.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-CubicleDetails.opi b/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-CubicleDetails.opi deleted file mode 100755 index a3e2747..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-CubicleDetails.opi +++ /dev/null @@ -1,415 +0,0 @@ - - - - Display - - true - EC - GN - SYSM - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - false - - - - false - -1 - -1 - - - - - true - Grouping Container - - true - - true - 0 - - true - - 2 - groupHeading - - - - true - - false - false - false - - false - - 0 - - - - - - - 0 - - 1243 - 50 - - - - - - true - 1 - true - - 13 - CubicleDetailsLabel - - false - false - false - - true - false - - - - - - - Label - false - Cubicle Details: - - IO Normal - - 40 - 0 - - 2 - - - - 0 - - 55 - true - - 6 - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-CUB_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 200 - 45 - - - - - true - 1 - true - - 13 - CubicleDetailsLabel - - false - false - false - - true - false - - - - - - - Label - false - $(CUB_LOC) - - IO Normal - - 40 - 0 - - 2 - - - - 0 - - 55 - true - - 600 - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - (ºC) - - - - - - - - - - - - 1 - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-CY1 - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-CY2 - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-FAN - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-HTH-TT - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):CU$(NNNN)-SHLT - - - 1000 - CubicleDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1000 - 0 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 100 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 125 - - 6 - - - - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 0 - - true - - 26 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 4 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 4 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-F0-PCFDetails.opi b/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-F0-PCFDetails.opi deleted file mode 100755 index 7c58c4c..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-F0-PCFDetails.opi +++ /dev/null @@ -1,1471 +0,0 @@ - - - - Display - - true - F0 - 52RF01-PCF-4210 - EC-GN-SYSM - 52RF - 01 - 4210 - PCF - - false - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - false - - - - false - -1 - -1 - - - - - true - Grouping Container - - true - - true - 6 - - true - - 2 - groupHeading - - false - false - false - - - - - true - false - - 0 - - - - - - - 0 - - - - - - 1243 - 50 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SystemDetailsLabel - - - false - false - false - - - false - System Information: - - true - 1 - true - Label - 40 - true - - 6 - 55 - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-SYS_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 200 - 45 - - - true - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - (°C) - picmg-sensors - - - - - - - (°C) - picmg-sensors - - - - - - - (°C) - picmg-sensors - - - - - - - (MB) - sysmon - - - - - - - (MB) - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (KB) - sysmon - - - - - - - (KB) - sysmon - - - - - - - (%) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon-tcnd - - - - - - - - sysmon - - - - - - - (ns) - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - - sysmon-tcnd - - - - - - - (ns) - sysmon-tcnd - - - - - - - (s) - sysmon-tcnd - - - - - - - - sysmon-tcnd - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-BTIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CAV1 - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CCSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CTEMPAVG - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CTEMPMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CTEMPMIN - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EPICSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-HOSTNAME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-IPADDR - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-KERNELV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NRBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NSBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-OSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCLST - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCSTS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SHLT - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TDEVICE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TMAXOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TMEANOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TMINOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TOFFSET - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TSTATUS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TSTDOFF - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TUPTIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TVERSION - - - 600 - SystemDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - Template Name - 100 - no - - - false - - 2 - - - - 5 - - 125 - - 6 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - COREIOCDetailsLabel - - - false - false - false - - - false - CORE IOC: - - true - 1 - true - Label - 40 - true - - 1600 - 55 - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-IOC_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 1800 - 45 - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-SVPORT - - - 600 - COREIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 125 - - 1600 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SYSMIOCDetailsLabel - - - false - false - false - - - false - SYSM IOC: - - true - 1 - true - Label - 40 - true - - 6 - 750 - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-SVPORT - - - 600 - SYSMIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 6 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLCIOCDetailsLabel - - - false - false - false - - - false - Others: - - true - 1 - true - Label - 40 - true - - 1600 - 750 - - - - true - - - - - - - 600 - PLCIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 1600 - - - - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 6 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 4 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 4 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-H0-PSHDetails.opi b/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-H0-PSHDetails.opi deleted file mode 100755 index fb0fc2e..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-H0-PSHDetails.opi +++ /dev/null @@ -1,1405 +0,0 @@ - - - - Display - - true - H0 - 52RF01-PSH-4410 - EC-GN-SYSM - 52RF - 01 - 4410 - PSH - false - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - - false - - - - false - -1 - -1 - - - - - - - - true - Grouping Container - - true - - true - 0 - - true - - 2 - - false - false - false - - groupHeading - - - - true - false - - 0 - - - - - - - 0 - - - - - - - 1243 - 50 - - - - - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SystemDetailsLabel - - - false - false - false - - - false - System Information: - - true - 1 - true - Label - 40 - true - - 6 - 55 - - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-SYS_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 200 - 45 - - - - true - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - (MB) - sysmon - - - - - - - (MB) - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - (%) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - (KB) - sysmon - - - - - - - (KB) - sysmon - - - - - - - (%) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - (KBps) - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - - - - sysmon - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-BTIME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CAV1 - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CCSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-DISKUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EPICSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-HOSTNAME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-IPADDR - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-KERNELV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMFREE - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMMAX - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NRBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-NSBPS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-OSV - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCLST - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PROCSTS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PS - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SHLT - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TIME - - - 600 - SystemDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - Template Name - 100 - no - - - false - - 2 - - - - 5 - - 125 - - 6 - - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - COREIOCDetailsLabel - - - false - false - false - - - false - CORE IOC: - - true - 1 - true - Label - 40 - true - - 1600 - 55 - - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-IOC_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) -$(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 1800 - 45 - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CORE-SVPORT - - - 600 - COREIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 125 - - 1600 - - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - SYSMIOCDetailsLabel - - - false - false - false - - - false - SYSM IOC: - - true - 1 - true - Label - 40 - true - - 6 - 750 - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - (%) - - - - - - - - - - - - - - - - - - - - - - - - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SYSM-SVPORT - - - 600 - SYSMIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 6 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLCIOCDetailsLabel - - - false - false - false - - - false - Others: - - true - 1 - true - Label - 40 - true - - 1600 - 750 - - - - - true - - - - - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-BECTME - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CACLNTC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CAPVC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CONTMO - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-CPUUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-DBCLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-DBDLC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-DBRECC - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-FDUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-HB - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-IOCDIR.VAL$ - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-MEMUTL - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-PID - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-STTOD - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-PLC-SVPORT - - - 600 - PLCIOCDetailsTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1500 - 6 - - - Name - 200 - no - - - Value - 200 - no - - - Status - 100 - no - - - Severity - 75 - no - - - EGU - 0 - no - - - false - - 2 - - - - 4 - - 790 - - 1600 - - - - - - - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 0 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 1 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 1 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-P0-PLCDetails.opi b/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-P0-PLCDetails.opi deleted file mode 100755 index 4de6bdb..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM-P0-PLCDetails.opi +++ /dev/null @@ -1,707 +0,0 @@ - - - - Display - - true - P0 - 52RF01-PLC-4110 - EC-GN-SYSM - 52RF - 01 - 4110 - PLC - EC - GN - SYSM - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - - false - - - - false - -1 - -1 - - - - - - - true - Grouping Container - - true - - true - 6 - - true - - 2 - - false - false - false - - groupHeading - - - - true - false - - 0 - - - - - - - 0 - - 1243 - 50 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Configuration Control: - - - false - false - false - - - false - Configuration Control: - - true - 1 - true - Label - 40 - true - - 6 - 90 - - - - - false - true - - - - 0 - false - - - - 0 - 2 - Are you sure you want to do this? - 0 - true - true - - IO Label - - false - - - - 38 - false - boolButton$(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGWRCNTR - - - - Check Configuration - - - - Configuration OK - - 0 - $(FCT_NAME)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGWRCNTR - - 0 - - - false - false - false - - - true - 1 - true - true - true - $(pv_name) $(pv_value) - true - Boolean Button - 210 - - 250 - 90 - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLC Variable Communication: - - - false - false - false - - - false - PLC Variable Communication: - - true - 1 - true - Label - 40 - true - - 6 - 240 - - - - - - - /opt/codac/opi/epics-sysmon/boy/ITER-SYSM-PLC_Mimic.opi - - true - - 0 - - - - false - - - - 6 - 2 - true - - IO Label - - false - - - - 37 - - Action Button Template - 0 - - - - - false - false - false - - - - More Details - false - $(pv_name) - $(pv_value) - true - Action Button - 279 - 6cb4f02d:15e5c6fbe55:-70fa - 400 - 230 - - - - - true - - - - - - - - - - - 1 - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGBC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CFGSTAT - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-ALIVE - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-MASTER - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-RUN - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU0-VALID - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-ALIVE - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-MASTER - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-RUN - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CPU1-VALID - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FERROR - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FLENGTH - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FLOST - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-FVERS - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-SIM-NOPLC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-TIME - - - - 300 - GeneralTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 2000 - 6 - - - Name - 250 - no - - - Value - 280 - no - - - Status - 200 - no - - - Severity - 140 - no - - - false - - 2 - - - - 4 - - 290 - - 6 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLC Command Communication: - - - false - false - false - - - false - PLC Command Communication: - - true - 1 - true - Label - 40 - true - - 6 - 640 - - - - - - - true - - - - - - - - - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CMDBC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-CMDSTAT - - - - 300 - GeneralTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 2000 - 6 - - - Name - 250 - no - - - Value - 280 - no - - - Status - 200 - no - - - Severity - 140 - no - - - false - - 2 - - - - 4 - - 690 - - 6 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - PLC Event Communication: - - - false - false - false - - - false - PLC Event Communication: - - true - 1 - true - Label - 40 - true - - 6 - 1040 - - - - - - - true - - - - - - - - - - - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EFLOST - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EVTBC - $(CBS1)-$(CBS2)-$(CBS3)-$(PPPP)-$(PP):$(TTT)$(NNNN)-EVTSTAT - - - - 300 - GeneralTable - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 2000 - 6 - - - Name - 250 - no - - - Value - 280 - no - - - Status - 200 - no - - - Severity - 140 - no - - - false - - 2 - - - - 4 - - 1090 - - 6 - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 6 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1500 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 1 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 1 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM.opi b/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM.opi deleted file mode 100755 index 3a20916..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/EC-GN-SYSM.opi +++ /dev/null @@ -1,619 +0,0 @@ - - - - Display - - true - - 3236 - - - true - 1760 - true - EC-GN-SYSM - 6 - true - true - 0 - - - - - - - - 0 - - false - - - - false - -1 - -1 - - - - - - - - true - Grouping Container - - true - - true - 6 - - true - - 2 - - false - false - false - - groupHeading - - - - true - false - - 0 - - - - - - - 0 - - 1243 - 50 - - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Label Template - - - false - false - false - - - false - Cubicles - - true - 1 - true - Label - 40 - true - - 6 - 54 - - - - - - true - - - - - - - - 1 - - - - - - - - 200 - EC-GN-SYSM - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1400 - 6 - - - Name - 50 - no - - - Physical Name - 120 - - - - Description - 120 - no - - - Cubicle health summary - 100 - no - - - PLC health summary - 100 - no - - - Location - 100 - no - - - Macro PPPP - 0 - no - - - Macro PP - 0 - no - - - Macro NNNN - 0 - no - - - false - - 2 - - - - 7 - - 90 - - 6 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Label Template - - - false - false - false - - - false - PLCs - - true - 1 - true - Label - 26 - true - - 6 - 320 - - - - - - true - - - - P0 - 52RF01-PLC-4110 - - - - - - - - - - - - 1 - - - - - EC-GN-SYSM-52RF-01:PLC4110-PLCHLTS -EC-GN-SYSM-52RF-01:PLC4110-EVTHLTS -EC-GN-SYSM-52RF-01:PLC4110-FRAMEC - - - - - 200 - EC-GN-SYSM - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1400 - 6 - - - Name - 50 - no - - - Physical Name - 120 - - - - Description - 120 - no - - - PLC health summary - 100 - no - - - ALIVEC - 100 - no - - - Event health summary - 100 - no - - - FRAMEC - 100 - no - - - false - - 2 - - - - 5 - - 350 - - 6 - - - - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 13 - 0 - Label Template - - - false - false - false - - - false - Control Units - - true - 1 - true - Label - 59 - true - - 6 - 570 - - - - - - true - - - - H0 - 52RF01-PSH-4410 - - - - - - Plant System Host - - - - - F0 - 52RF01-PCF-4210 - - - - - - Fast Controller - - - - - - - 1 - - - - EC-GN-SYSM-52RF-01:PCF4210-SYSHLTS -EC-GN-SYSM-52RF-01:PSH4410-SYSHLTS - - - - - - 300 - EC-GN-SYSM - - false - false - false - - - - - - - - true - Table - true - - IO Scale - - 1400 - 6 - - - Name - 50 - no - - - Physical Name - 120 - - - - Description - 120 - no - - - Controller health summary - 150 - no - - - PSH0CORE IOC health summary - 100 - no - - - Controller IOC health summary - 100 - no - - - PLC IOC health summary - 100 - no - - - Type - 100 - no - - - false - - 2 - - - - 7 - - 600 - - 6 - - - - - true - Grouping Container - - true - - true - 1243 - - false - false - false - - 6 - - true - - 48 - 2 - groupICProjectInfo - - - - true - false - - 1400 - - - - - - - 0 - - - - true - - - - - - - 0 - 2 - false - - IO Label - - - - - 38 - 0 - I&C Project Name: EC-GN, Version: 1 - - - false - false - false - - - false - I&C Project Name: EC-GN, Version: 1 - - true - 1 - true - Label - 3000 - true - - 40 - 0 - - - - - - \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/AlarmShortFormat.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/AlarmShortFormat.js deleted file mode 100644 index 5141753..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/AlarmShortFormat.js +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright (c) : 2010-2019 ITER Organization, -CS 90 046 -13067 St. Paul-lez-Durance Cedex -France - -This product is part of ITER CODAC software. -For the terms and conditions of redistribution or use of this software -refer to the file ITER-LICENSE.TXT located in the top level directory -of the distribution package. -*/ - - -importPackage(Packages.org.csstudio.opibuilder.scriptUtil); - -var t = new Date(PVUtil.getTimeInMilliseconds(pvs[0])).toTimeString(); -var st = t.split(" "); - -widget.setPropertyValue("on_label", st[0]); -widget.setPropertyValue("off_label", st[0]); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CUDetailsTableSelectionMonitor.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CUDetailsTableSelectionMonitor.js deleted file mode 100644 index b4a5c3f..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CUDetailsTableSelectionMonitor.js +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("SystemDetailsTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-SYS_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.js deleted file mode 100644 index e6c9edb..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.js +++ /dev/null @@ -1,51 +0,0 @@ - -importClass(Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); - -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var selectedrow= table.getSelection(); - var cuName=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - var plcIocHlts =selectedrow[0][6]; - var cuType=selectedrow[0][7]; -// change $(CU) substitution - macroInput = DataUtil.createMacrosInput(true) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("CU_TYPE", cuType) - if (plcIocHlts == "") { - macroInput.put("SHOW_PLC_IOC", "false") - } - else { - macroInput.put("SHOW_PLC_IOC", "true") - } - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if (cuType == "POC with CA") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-POCWithCADetails.opi", 1, macroInput) - } - else if (cuType == "POC without CA") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-POCWithoutCADetails.opi", 1, macroInput) - } - else if (cuType == "Plant System Host") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-PSHDetails.opi", 1, macroInput) - } - else if (cuType == "Fast Controller") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-PCFDetails.opi", 1, macroInput) - } - else if (cuType == "Server") { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-SRVDetails.opi", 1, macroInput) - } - else { - ScriptUtil.openOPI(widget, fct_name+"-CtrlUnitDetails.opi", 1, macroInput) - } - - } -}; - -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.py deleted file mode 100644 index 3a90691..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ControlUnitsTableSelectionMonitor.py +++ /dev/null @@ -1,38 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuName="" - phyName="" - plcIocHlts ="" - cuType="" - for row in selection: - phyName=row[1] - cuName=row[0] - plcIocHlts=row[6] - cuType=row[7]; -# change $(CU) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("CU_TYPE", cuType) - if plcIocHlts == "": - macroInput.put("SHOW_PLC_IOC", "false") - else: - macroInput.put("SHOW_PLC_IOC", "true") - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if cuType == "POC with CA": - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-POCWithCADetails.opi", 1, macroInput) - elif cuType == "POC without CA": - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-POCWithoutCADetails.opi", 1, macroInput) - else: - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CtrlUnitDetails.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.js deleted file mode 100644 index 4b14a4a..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.js +++ /dev/null @@ -1,23 +0,0 @@ -importClass(Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil); - -var table = widget.getTable(); -var fct_name = widget.getPropertyValue("name"); - -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var selectedrow= table.getSelection(); - var cuIndex=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - - // change $(CU_INDEX) substitution - var macroInput = DataUtil.createMacrosInput(true); - macroInput.put("CUB", cuIndex); - macroInput.put("PHY_NAME", phyName); - macroInput.put("FCT_NAME", fct_name); - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(widget, fct_name+"-"+cuIndex+"-CubicleContents.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.py deleted file mode 100644 index 2bd84d4..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesContentSummaryTableSelectionMonitor.py +++ /dev/null @@ -1,24 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuIndex="" - phyName="" - for row in selection: - cuIndex=row[0]; - phyName=row[1] - # change $(CU_INDEX) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CUB", cuIndex) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-"+cuIndex+"-CubicleContents.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesDetailsTableSelectionMonitor.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesDetailsTableSelectionMonitor.js deleted file mode 100644 index 76c1402..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesDetailsTableSelectionMonitor.js +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("CubicleDetailsTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-CUB_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.js deleted file mode 100644 index efa63e1..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.js +++ /dev/null @@ -1,31 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - - var selectedrow= table.getSelection(); - var cuIndex=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - var loc=selectedrow[0][5]; - var pppp=selectedrow[0][6]; - var pp=selectedrow[0][7]; - var nnnn=selectedrow[0][8]; - - var macroInput = DataUtil.createMacrosInput(true) - macroInput.put("CUB", cuIndex) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("PPPP", pppp) - macroInput.put("PP", pp) - macroInput.put("NNNN", nnnn) - macroInput.put("CUB_LOC", "Location: "+loc) - - ScriptUtil.openOPI(widget, fct_name+"-CubicleDetails.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.py deleted file mode 100644 index ff9821d..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/CubiclesTableSelectionMonitor.py +++ /dev/null @@ -1,24 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuIndex="" - phyName="" - for row in selection: - cuIndex=row[0]; - phyName=row[1] - # change $(CU_INDEX) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CUB", cuIndex) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CubicleDetails.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayAlarmsInRow.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayAlarmsInRow.py deleted file mode 100644 index 2c60bb7..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayAlarmsInRow.py +++ /dev/null @@ -1,14 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - -import datetime - -pv = pvs[0] - -s = PVUtil.getTimeInMilliseconds(pv) -t = datetime.datetime.fromtimestamp(float(s)/1000.) - -format = "%H:%M:%S" - -widget.setPropertyValue("on_label", t.strftime(format)) -widget.setPropertyValue("off_label", t.strftime(format)) diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.js deleted file mode 100644 index 884f5e7..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.js +++ /dev/null @@ -1,57 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); - -var table = widget.getTable(); - -//Fill PV Name only once -if (widget.getVar("firstTime") == null) { - widget.setVar("firstTime", true); - // Fill table only with non EGU pv's - for (var i=0;pv=pvs[i];i++) { - // earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().trim()); - if (!pv.isConnected()) { - table.setCellText(i/2, 1, "Disconnected"); - } - } - // Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if (widget.getPropertyValue("name") == 'PLCIOCDetailsTable') { - if (display.getMacroValue("SHOW_PLC_IOC") == "true") { - widget.setPropertyValue("visible", "true"); - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true"); - } - } -} -//find index of the trigger PV -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -var pvValue = PVUtil.getString(triggerPV).trim(); -var eugValue = table.getCellText(i, 4); -if (eugValue != "") { - pvValue = pvValue+" "+eugValue; -} -table.setCellText(i, 1, pvValue); -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).trim()); -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).trim()); - -var s = PVUtil.getSeverity(triggerPV); - -color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} - - -table.setCellBackground(i, 3, color); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.py deleted file mode 100644 index 8a24ff6..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesINCtrlUnitDetailTableTable.py +++ /dev/null @@ -1,49 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil -# from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -table = widget.getTable() - -#Fill PV Name only once -if widget.getVar("firstTime") == None: - widget.setVar("firstTime", True) - i=0 - # Fill table only with non EGU pv's - for pv in pvs: - # earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().strip()) - if not pv.isConnected(): - table.setCellText(i/2, 1, "Disconnected") - i+=1 - # Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if widget.getPropertyValue("name") == 'PLCIOCDetailsTable': - if display.getMacroValue("SHOW_PLC_IOC") == "true": - widget.setPropertyValue("visible", "true") - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true") - -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -pvValue = PVUtil.getString(triggerPV).strip(); -eugValue = table.getCellText(i, 4); -if eugValue != "": - pvValue = pvValue+" "+eugValue; -table.setCellText(i, 1, pvValue) -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).strip()) -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).strip()) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i, 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.js deleted file mode 100644 index 6a59a92..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.js +++ /dev/null @@ -1,92 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -// from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -var func = display.getPropertyValue("name"); -var type = widget.getPropertyValue("name"); -var widgetType = "ellipse"; -var varName = "XXXXXXX"; - -if (type.indexOf("PSH") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("PCF") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("SRV") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("PLC") != -1) { - varName = "-PLCHLTS"; -} -if (type.indexOf("COM") != -1) { - varName = "-SYSHLTS"; -} -if (type.indexOf("CHS") != -1) { - varName = "-SYSHLTS"; -} -// if ("IOM" in type.indexOf() != -1) { -// varName = "-BS"; -if (type.indexOf("CUB") != -1) { - varName = "-CUBHLTS"; -} -if (type.indexOf("Box") != -1) { - widgetType = "rectangle"; -} - -if (triggerPV.getName().indexOf(varName) != -1) { -// ConsoleUtil.writeInfo("Trigger PV found) { " +triggerPV.getName()); - - var s = PVUtil.getSeverity(triggerPV); - - color = ColorFontUtil.WHITE; - if( s == 0) { - color = ColorFontUtil.GREEN; - } - else if( s == 1) { - color = ColorFontUtil.RED; - } - else if( s == 2) { - color = ColorFontUtil.YELLOW; - } - else if( s == 3) { - color = ColorFontUtil.PINK; - } - - if ("ellipse" == widgetType) { - widget.setPropertyValue("foreground_color", color); - } - - var tooltip = PVUtil.getString(triggerPV); - widget.setPropertyValue("tooltip", tooltip); -} - -if (type.indexOf("IOM") != -1) { - if (triggerPV.getName().indexOf(".SIMM") == -1) { - var s = PVUtil.getSeverity(triggerPV); - var color = ColorFontUtil.WHITE; - if( s == 0) { - color = ColorFontUtil.GREEN; - } - else if( s == 1) { - color = ColorFontUtil.RED; - } - else if( s == 2) { - color = ColorFontUtil.YELLOW; - } - else if( s == 3) { - color = ColorFontUtil.PINK; - } - else if( s == 4) { - color = ColorFontUtil.GREEN; - } - - widget.setPropertyValue("foreground_color", color); - - var tooltip = PVUtil.getString(triggerPV); - widget.setPropertyValue("tooltip", tooltip); - } -} - - - diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.py deleted file mode 100644 index 30565c2..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleContent.py +++ /dev/null @@ -1,71 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil -# from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -func = display.getPropertyValue("name") -type = widget.getPropertyValue("name") -widgetType = "ellipse"; -varName = "XXXXXXX"; - -if "PSH" in type: - varName = "-SYSHLTS"; -if "PCF" in type: - varName = "-SYSHLTS"; -if "SRV" in type: - varName = "-SYSHLTS"; -if "PLC" in type: - varName = "-PLCHLTS"; -if "COM" in type: - varName = "-SYSHLTS"; -if "CHS" in type: - varName = "-SYSHLTS"; -# if "IOM" in type: -# varName = "-BS"; -if "CUB" in type: - varName = "-CUBHLTS"; -if "Box" in type: - widgetType = "rectangle"; - -if varName in triggerPV.getName(): -# ConsoleUtil.writeInfo("Trigger PV found: " +triggerPV.getName()); - - s = PVUtil.getSeverity(triggerPV) - - color = ColorFontUtil.WHITE - if s == 0: - color = ColorFontUtil.GREEN - elif s == 1: - color = ColorFontUtil.RED - elif s == 2: - color = ColorFontUtil.YELLOW - elif s == 3: - color = ColorFontUtil.PINK - elif s == 4: - color = ColorFontUtil.GREEN - - if "ellipse" == widgetType: - widget.setPropertyValue("foreground_color", color) - - tooltip = PVUtil.getString(triggerPV) - widget.setPropertyValue("tooltip", tooltip) - -if "IOM" in type: - if ".SIMM" not in triggerPV.getName(): - - s = PVUtil.getSeverity(triggerPV) - color = ColorFontUtil.WHITE - if s == 0: - color = ColorFontUtil.GREEN - elif s == 1: - color = ColorFontUtil.RED - elif s == 2: - color = ColorFontUtil.YELLOW - elif s == 3: - color = ColorFontUtil.PINK - elif s == 4: - color = ColorFontUtil.GREEN - - widget.setPropertyValue("foreground_color", color) - - tooltip = PVUtil.getString(triggerPV) - widget.setPropertyValue("tooltip", tooltip) \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.js deleted file mode 100644 index 7136451..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.js +++ /dev/null @@ -1,57 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var nbColPVs=2; -// find index of the trigger PV -var i=0; -while (i< pvs.length) { -if(pvs[i].isConnected()==true){ - - -var s = PVUtil.getSeverity(pvs[i]); -}else{ - -var s =3; -} - -var color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} -else if( s == 4) { - color = ColorFontUtil.GREEN; -} - - -if (pvs[i].getName().indexOf("-CUBHLTS") != -1) { - if(pvs[i].isConnected()==true){ - table.setCellText(i/nbColPVs, 3, PVUtil.getString(pvs[i])); - }else{ - table.setCellText(i/nbColPVs, 3, "disconnected"); - } - table.setCellBackground(i/nbColPVs, 3, color); -} -if (pvs[i].getName().indexOf("-PLCHLTS") != -1) { -if(pvs[i].isConnected()==true){ - table.setCellText(i/nbColPVs, 4, PVUtil.getString(pvs[i])); - }else{ - table.setCellText(i/nbColPVs, 4, "disconnected"); - } - table.setCellBackground(i/nbColPVs, 4, color); -} -i=i+1; -} diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.py deleted file mode 100644 index c3eaa05..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInCubicleOverview.py +++ /dev/null @@ -1,31 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() -nbColPVs=2 -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK -elif s == 4: - color = ColorFontUtil.GREEN -# table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color) -if "-CUBHLTS" in triggerPV.getName(): - table.setCellText(i/nbColPVs, 3, PVUtil.getString(triggerPV)) - table.setCellBackground(i/nbColPVs, 3, color) -if "-PLCHLTS" in triggerPV.getName(): - table.setCellText(i/nbColPVs, 4, PVUtil.getString(triggerPV)) - table.setCellBackground(i/nbColPVs, 4, color) diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.js deleted file mode 100644 index 2502e17..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.js +++ /dev/null @@ -1,55 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); - - -var table = widget.getTable(); - -//Fill PV Name only once -if (widget.getVar("firstTime") == null) -{ - widget.setVar("firstTime", true); - - for (var i=0;pv=pvs[i];i++) { - // earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().trim()) - if (!pv.isConnected()) { - table.setCellText(i, 1, "Disconnected"); - } - } - // Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if (widget.getPropertyValue("name") == 'PLCIOCDetailsTable') { - if (display.getMacroValue("SHOW_PLC_IOC") == "true") { - widget.setPropertyValue("visible", "true"); - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true"); - } - } -} - - -//find index of the trigger PV -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -table.setCellText(i, 1, PVUtil.getString(triggerPV).trim()); -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).trim()); -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).trim()); - -var s = PVUtil.getSeverity(triggerPV); - -var color = ColorFontUtil.WHITE -color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} -table.setCellBackground(i, 3, color); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.py deleted file mode 100644 index a0574c6..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInGeneralTable.py +++ /dev/null @@ -1,45 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() - -#Fill PV Name only once -if widget.getVar("firstTime") == None: - widget.setVar("firstTime", True) - i=0 - for pv in pvs: - # earlier when by default pv.getName() was giving name with 'epics://' prefix. Ripping it off before showing was done below - table.setCellText(i, 0, pv.getName().strip()) - if not pv.isConnected(): - table.setCellText(i, 1, "Disconnected") - i+=1 - # Based on value of macro SHOW_PLC_IOC, enable visibility of PLCIOCDetailsTable - if widget.getPropertyValue("name") == 'PLCIOCDetailsTable': - if display.getMacroValue("SHOW_PLC_IOC") == "true": - widget.setPropertyValue("visible", "true") - display.getWidget("PLCIOCDetailsLabel").setPropertyValue("visible", "true") - - -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -table.setCellText(i, 1, PVUtil.getString(triggerPV).strip()) -table.setCellText(i, 2, PVUtil.getStatus(triggerPV).strip()) -table.setCellText(i, 3, PVUtil.getSeverityString(triggerPV).strip()) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i, 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInOverview.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInOverview.js deleted file mode 100644 index e3d7232..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInOverview.js +++ /dev/null @@ -1,74 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil.*); - -var table = widget.getTable(); -var func = display.getPropertyValue("name"); - -var i = 0; -var row = 0; -var col = 3; -// ConsoleUtil.writeInfo("Trigger PV : " + triggerPV.getName()); -while (triggerPV != pvs[i]) { -// ConsoleUtil.writeInfo("pvs[i] : " + pvs[i].getName()); - if (col == 5) { - if (pvs[i+1].getName().indexOf("PLC-IOCHLTS") != -1) { - col = col+1; - } - else { - col = 3 - row = row+1; - } - } - else if (col == 3) { - if ( (pvs[i+1].getName().indexOf("-SYSHLTS") != -1) || (pvs[i+1].getName().indexOf("-HLTS") != -1)) { - col = 3; - row = row+1; - } - else if (pvs[i+1].getName().indexOf("-IOCHLTS") != -1) { - if (pvs[i+1].getName().indexOf("CORE-IOCHLTS") != -1) { - col = 4; - } - else { - col = 5; - } - } - else { - col += 1; - if (col > 5) { - row += 1; - col = 3; - } - } - } - else { - col += 1; - if (col > 6) { - row += 1; - col = 3; - } - } - i += 1; -} - -table.setCellText(row, col, PVUtil.getString(triggerPV)) - -var s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if( s == 0) { - color = ColorFontUtil.GREEN -} -else if( s == 1) { - color = ColorFontUtil.RED -} -else if( s == 2) { - color = ColorFontUtil.YELLOW -} -else if( s == 3) { - color = ColorFontUtil.PINK -} -else if( s == 3) { - color = ColorFontUtil.PINK -} -table.setCellBackground(row, col, color) diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInOverview.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInOverview.py deleted file mode 100644 index fde230a..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInOverview.py +++ /dev/null @@ -1,55 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil -from org.csstudio.opibuilder.scriptUtil import ConsoleUtil - -table = widget.getTable() -func = display.getPropertyValue("name") - -i = 0 -row = 0 -col = 3 -# ConsoleUtil.writeInfo("Trigger PV : " + triggerPV.getName()); -while triggerPV != pvs[i]: -# ConsoleUtil.writeInfo("pvs[i] : " + pvs[i].getName()); - if col == 5: - if "PLC-IOCHLTS" in pvs[i+1].getName(): - col = col+1 - else: - col = 3 - row = row+1 - elif col == 3: - if "-SYSHLTS" in pvs[i+1].getName() or "-HLTS" in pvs[i+1].getName(): - col =3 - row = row+1 - elif "-IOCHLTS" in pvs[i+1].getName(): - if "CORE-IOCHLTS" in pvs[i+1].getName(): - col = 4 - else: - col = 5 - else: - col += 1 - if col > 5: - row += 1 - col = 3 - else: - col += 1 - if col > 6: - row += 1 - col = 3 - i += 1 - -table.setCellText(row, col, PVUtil.getString(triggerPV)) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(row, col, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.js deleted file mode 100644 index 20f083d..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.js +++ /dev/null @@ -1,34 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); -importPackage(Packages.org.csstudio.opibuilder.scriptUtil.*); - -var table = widget.getTable(); -var nbColPVs=4; - -//find index of the trigger PV - -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -table.setCellText(i/nbColPVs, i%nbColPVs +3, PVUtil.getString(triggerPV)); - -var s = PVUtil.getSeverity(triggerPV); - -var color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} - -table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color); - diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.py deleted file mode 100644 index 28e8d36..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInPLCOverview.py +++ /dev/null @@ -1,26 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() -nbColPVs=4 -#find index of the trigger PV -i=0 -while triggerPV != pvs[i]: - i+=1 - -table.setCellText(i/nbColPVs, i%nbColPVs +3, PVUtil.getString(triggerPV)) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.js deleted file mode 100644 index a94ca00..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.js +++ /dev/null @@ -1,31 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ColorFontUtil); - - -var table = widget.getTable(); -var nbColPVs=3; -//find index of the trigger PV -var i=0; -while (triggerPV != pvs[i]) { - i+=1; -} - -table.setCellText(i/nbColPVs, i%nbColPVs +3, PVUtil.getString(triggerPV)); - -var s = PVUtil.getSeverity(triggerPV); - -var color = ColorFontUtil.WHITE; -if( s == 0) { - color = ColorFontUtil.GREEN; -} -else if( s == 1) { - color = ColorFontUtil.RED; -} -else if( s == 2) { - color = ColorFontUtil.YELLOW; -} -else if( s == 3) { - color = ColorFontUtil.PINK; -} - -table.setCellBackground(i/nbColPVs, i%nbColPVs + 3, color); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.py deleted file mode 100644 index a127b25..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/DisplayPVValuesInServerOverview.py +++ /dev/null @@ -1,27 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import ColorFontUtil - - -table = widget.getTable() -nbColPVs = 3 -#find index of the trigger PV -i = 0 -while triggerPV != pvs[i]: - i += 1 - - -table.setCellText(i / nbColPVs, i % nbColPVs + 3, PVUtil.getString(triggerPV)) - -s = PVUtil.getSeverity(triggerPV) - -color = ColorFontUtil.WHITE -if s == 0: - color = ColorFontUtil.GREEN -elif s == 1: - color = ColorFontUtil.RED -elif s == 2: - color = ColorFontUtil.YELLOW -elif s == 3: - color = ColorFontUtil.PINK - -table.setCellBackground(i / nbColPVs, i % nbColPVs + 3, color) \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/IOCDetailsTableSelectionMonitor.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/IOCDetailsTableSelectionMonitor.js deleted file mode 100644 index 7e7b51c..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/IOCDetailsTableSelectionMonitor.js +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("SystemDetailsTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-IOC_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/PLCDetailsTableSelectionMonitor.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/PLCDetailsTableSelectionMonitor.js deleted file mode 100644 index dc1af0c..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/PLCDetailsTableSelectionMonitor.js +++ /dev/null @@ -1,14 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=display.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var macroInput = DataUtil.createMacrosInput(true) - ScriptUtil.openOPI(display.getWidget("GeneralTable"), "/opt/codac/opi/epics-sysmon/boy/ITER-SYSM-PLC_Mimic.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/PLCsTableSelectionMonitor.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/PLCsTableSelectionMonitor.js deleted file mode 100644 index 5598c54..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/PLCsTableSelectionMonitor.js +++ /dev/null @@ -1,29 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); - -var selectionListener = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - var selectedrow= table.getSelection(); - var cuName=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - - var macroInput = DataUtil.createMacrosInput(true); - macroInput.put("CU", cuName); - macroInput.put("PHY_NAME", phyName); - macroInput.put("FCT_NAME", fct_name); - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if (cuName.indexOf("P") == 0) { - ScriptUtil.openOPI(widget, fct_name + "-" + cuName + "-PLCDetails.opi", 1, macroInput); - } - else { - ScriptUtil.openOPI(widget, fct_name+"-CubiclePLCDetails.opi", 0, macroInput); - } - } -}; -table.addSelectionChangedListener(selectionListener); - diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/PLCsTableSelectionMonitor.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/PLCsTableSelectionMonitor.py deleted file mode 100644 index 0f8c3a7..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/PLCsTableSelectionMonitor.py +++ /dev/null @@ -1,27 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuName="" - phyName="" - for row in selection: - phyName=row[1] - cuName=row[0]; - # change $(CU) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - if cuName.startswith('P'): - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-PLCDetails.opi", 1, macroInput) - else: - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CubiclePLCDetails.opi", 0, macroInput) -table.addSelectionChangedListener(SelectionListener()) \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ServersTableSelectionMonitor.js b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ServersTableSelectionMonitor.js deleted file mode 100644 index c36ff86..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ServersTableSelectionMonitor.js +++ /dev/null @@ -1,26 +0,0 @@ -importClass(Packages.org.csstudio.opibuilder.scriptUtil.DataUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.PVUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ScriptUtil); -importClass(Packages.org.csstudio.opibuilder.scriptUtil.ConsoleUtil); - -var table = widget.getTable(); -var fct_name=widget.getPropertyValue("name"); -var selectionChanged = new Packages.org.csstudio.swt.widgets.natives.SpreadSheetTable.ITableSelectionChangedListener() { - selectionChanged: function(selection) { - - var selectedrow= table.getSelection(); - var cuName=selectedrow[0][0]; - var phyName=selectedrow[0][1]; - - // change $(CU) substitution - var macroInput = DataUtil.createMacrosInput(true); - macroInput.put("CU", cuName); - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name); - macroInput.put("SHOW_PLC_IOC", "false"); - // open OPI - // see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(widget, fct_name+"-"+cuName+"-SRVDetails.opi", 1, macroInput); - } -}; -table.addSelectionChangedListener(selectionChanged); diff --git a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ServersTableSelectionMonitor.py b/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ServersTableSelectionMonitor.py deleted file mode 100644 index bf77d44..0000000 --- a/EC-GN-JA-PCF/target/main/boy/sysm/scripts/ServersTableSelectionMonitor.py +++ /dev/null @@ -1,26 +0,0 @@ -from org.csstudio.opibuilder.scriptUtil import PVUtil -from org.csstudio.opibuilder.scriptUtil import DataUtil -from org.csstudio.opibuilder.scriptUtil import ScriptUtil -from org.csstudio.swt.widgets.natives.SpreadSheetTable import ITableSelectionChangedListener -from java.util import Arrays - -table = widget.getTable() -fct_name=display.getPropertyValue("name") -class SelectionListener(ITableSelectionChangedListener): - def selectionChanged(self, selection): - cuName="" - phyName="" - for row in selection: - phyName=row[1] - cuName=row[0] - - # change $(CU) substitution - macroInput = DataUtil.createMacrosInput(True) - macroInput.put("CU", cuName) - macroInput.put("PHY_NAME", phyName) - macroInput.put("FCT_NAME", fct_name) - macroInput.put("SHOW_PLC_IOC", "false") - # open OPI - # see https://svnpub.iter.org/codac/iter/codac/dev/units/m-css-boy/trunk/org.csstudio.opibuilder/src/org/csstudio/opibuilder/scriptUtil/ScriptUtil.java - ScriptUtil.openOPI(display.getWidget("Table"), fct_name+"-CtrlUnitDetails.opi", 1, macroInput) -table.addSelectionChangedListener(SelectionListener()) diff --git a/EC-GN-JA-PCF/target/main/boy/templates b/EC-GN-JA-PCF/target/main/boy/templates deleted file mode 120000 index 14f8e4d..0000000 --- a/EC-GN-JA-PCF/target/main/boy/templates +++ /dev/null @@ -1 +0,0 @@ -/opt/codac-6.3/opi/boy/resources/templates \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.cpp b/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.cpp deleted file mode 100644 index ac3464d..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.cpp +++ /dev/null @@ -1,366 +0,0 @@ -/** - * @file JAEPICSCAInput.cpp - * @brief Source file for class JAEPICSCAInput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 JAEPICSCAInput (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include "JAEPICSCAInput.h" - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "MemoryMapInputBroker.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -namespace MARTe { -/** - * @brief Callback function for the ca_create_subscription. Single point of access which - * delegates the events to the corresponding JAEPICSPV instance. - */ -static FastPollingMutexSem eventCallbackFastMux; -/*lint -e{1746} function must match required prototype and thus cannot be changed to constant reference.*/ -void JAEPICSCAInputEventCallback(struct event_handler_args const args) { - (void) eventCallbackFastMux.FastLock(); - PVWrapper *pv = static_cast(args.usr); - if (pv != NULL_PTR(PVWrapper *)) { - (void) MemoryOperationsHelper::Copy(pv->memory, args.dbr, pv->memorySize); - } - eventCallbackFastMux.FastUnLock(); -} -} -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -JAEPICSCAInput::JAEPICSCAInput() : - DataSourceI(), EmbeddedServiceMethodBinderI(), executor(*this) { - pvs = NULL_PTR(PVWrapper *); - stackSize = THREADS_DEFAULT_STACKSIZE * 4u; - cpuMask = 0xffu; - eventCallbackFastMux.Create(); -} - -/*lint -e{1551} must stop the SingleThreadService in the destructor.*/ -JAEPICSCAInput::~JAEPICSCAInput() { - if (!executor.Stop()) { - if (!executor.Stop()) { - REPORT_ERROR(ErrorManagement::FatalError, "Could not stop SingleThreadService."); - } - } - (void) eventCallbackFastMux.FastLock(); - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - if (pvs[n].memory != NULL_PTR(void *)) { - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].memory); - } - } - delete[] pvs; - } - eventCallbackFastMux.FastUnLock(); -} - -bool JAEPICSCAInput::Initialise(StructuredDataI & data) { - bool ok = DataSourceI::Initialise(data); - if (ok) { - if (!data.Read("CPUs", cpuMask)) { - REPORT_ERROR(ErrorManagement::Information, "No CPUs defined. Using default = %d", cpuMask); - } - if (!data.Read("StackSize", stackSize)) { - REPORT_ERROR(ErrorManagement::Information, "No StackSize defined. Using default = %d", stackSize); - } - executor.SetStackSize(stackSize); - executor.SetCPUMask(cpuMask); - } - if (ok) { - ok = data.MoveRelative("Signals"); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Could not move to the Signals section"); - } - if (ok) { - ok = data.Copy(originalSignalInformation); - } - if (ok) { - ok = originalSignalInformation.MoveToRoot(); - } - //Do not allow to add signals in run-time - if (ok) { - ok = signalsDatabase.MoveRelative("Signals"); - } - if (ok) { - ok = signalsDatabase.Write("Locked", 1u); - } - if (ok) { - ok = signalsDatabase.MoveToAncestor(1u); - } - } - if (ok) { - ok = data.MoveToAncestor(1u); - } - return ok; -} - -bool JAEPICSCAInput::SetConfiguredDatabase(StructuredDataI & data) { - bool ok = DataSourceI::SetConfiguredDatabase(data); - //Check the signal index of the timing signal. - uint32 nOfSignals = GetNumberOfSignals(); - if (ok) { - ok = (nOfSignals > 0u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one signal shall be defined"); - } - } - if (ok) { - //Do not allow samples - uint32 functionNumberOfSignals = 0u; - uint32 n; - if (GetFunctionNumberOfSignals(InputSignals, 0u, functionNumberOfSignals)) { - for (n = 0u; (n < functionNumberOfSignals) && (ok); n++) { - uint32 nSamples; - ok = GetFunctionSignalSamples(InputSignals, 0u, n, nSamples); - if (ok) { - ok = (nSamples == 1u); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The number of samples shall be exactly 1"); - } - } - } - } - if (ok) { - pvs = new PVWrapper[nOfSignals]; - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - pvs[n].memory = NULL_PTR(void *); - } - for (n = 0u; (n < nOfSignals) && (ok); n++) { - //Note that the RealTimeApplicationConfigurationBuilder is allowed to change the order of the signals w.r.t. to the originalSignalInformation - StreamString orderedSignalName; - ok = GetSignalName(n, orderedSignalName); - if (ok) { - //Have to mix and match between the original setting of the DataSource signal - //and the ones which are later added by the RealTimeApplicationConfigurationBuilder - ok = originalSignalInformation.MoveRelative(orderedSignalName.Buffer()); - } - StreamString pvName; - if (ok) { - ok = originalSignalInformation.Read("PVName", pvName); - if (!ok) { - uint32 nn = n; - REPORT_ERROR(ErrorManagement::ParametersError, "No PVName specified for signal at index %d", nn); - } - } - TypeDescriptor td = GetSignalType(n); - if (ok) { - (void) StringHelper::CopyN(&pvs[n].pvName[0], pvName.Buffer(), PV_NAME_MAX_SIZE); - if (td == CharString) { - pvs[n].pvType = DBR_STRING; - } - else if (td == Character8Bit) { - pvs[n].pvType = DBR_STRING; - } - else if (td == SignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == UnsignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == SignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == UnsignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == SignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == UnsignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == Float32Bit) { - pvs[n].pvType = DBR_FLOAT; - } - else if (td == Float64Bit) { - pvs[n].pvType = DBR_DOUBLE; - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Type %s is not supported", TypeDescriptor::GetTypeNameFromTypeDescriptor(td)); - ok = false; - } - } - uint32 numberOfElements = 1u; - if (ok) { - ok = GetSignalNumberOfElements(n, numberOfElements); - } - if (ok) { - if (pvs[n].pvType == DBR_STRING) { - ok = (numberOfElements == 40u); - } - if (!ok) { - //Could support arrays of strings with multiples of char8[40] - REPORT_ERROR(ErrorManagement::ParametersError, "Strings shall be defined with 40 elements char8[40]. Arrays of strings are not currently supported"); - } - } - if (ok) { - pvs[n].numberOfElements = numberOfElements; - } - if (ok) { - pvs[n].memorySize = td.numberOfBits; - pvs[n].memorySize /= 8u; - pvs[n].memorySize *= numberOfElements; - pvs[n].memory = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - ok = originalSignalInformation.MoveToAncestor(1u); - } - } - } - - if (ok) { - ok = (executor.Start() == ErrorManagement::NoError); - } - return ok; -} - -bool JAEPICSCAInput::AllocateMemory() { - return true; -} - -uint32 JAEPICSCAInput::GetNumberOfMemoryBuffers() { - return 1u; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The signalAddress is independent of the bufferIdx.*/ -bool JAEPICSCAInput::GetSignalMemoryBuffer(const uint32 signalIdx, const uint32 bufferIdx, void*& signalAddress) { - bool ok = (pvs != NULL_PTR(PVWrapper *)); - if (ok) { - ok = (signalIdx < GetNumberOfSignals()); - } - if (ok) { - //lint -e{613} pvs cannot as otherwise ok would be false - signalAddress = pvs[signalIdx].memory; - } - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The brokerName only depends on the direction */ -const char8* JAEPICSCAInput::GetBrokerName(StructuredDataI& data, const SignalDirection direction) { - const char8* brokerName = ""; - if (direction == InputSignals) { - brokerName = "MemoryMapInputBroker"; - } - return brokerName; -} - -bool JAEPICSCAInput::GetInputBrokers(ReferenceContainer& inputBrokers, const char8* const functionName, void* const gamMemPtr) { - ReferenceT broker("MemoryMapInputBroker"); - bool ok = broker->Init(InputSignals, *this, functionName, gamMemPtr); - if (ok) { - ok = inputBrokers.Insert(broker); - } - - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: OutputBrokers are not supported. Function returns false irrespectively of the parameters.*/ -bool JAEPICSCAInput::GetOutputBrokers(ReferenceContainer& outputBrokers, const char8* const functionName, void* const gamMemPtr) { - return false; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: NOOP at StateChange, independently of the function parameters.*/ -bool JAEPICSCAInput::PrepareNextState(const char8* const currentStateName, const char8* const nextStateName) { - return true; -} - -ErrorManagement::ErrorType JAEPICSCAInput::Execute(ExecutionInfo& info) { - ErrorManagement::ErrorType err = ErrorManagement::NoError; - if (info.GetStage() == ExecutionInfo::StartupStage) { - (void) eventCallbackFastMux.FastLock(); - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_context_create(ca_enable_preemptive_callback) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_enable_preemptive_callback failed"); - } - - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_create_channel(&pvs[n].pvName[0], NULL_PTR(caCh *), NULL_PTR(void *), 20u, &pvs[n].pvChid) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_create_channel failed for PV with name %s", pvs[n].pvName); - } - if (err.ErrorsCleared()) { - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_create_subscription(pvs[n].pvType, pvs[n].numberOfElements, pvs[n].pvChid, DBE_VALUE, &JAEPICSCAInputEventCallback, &pvs[n], - &pvs[n].pvEvid) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_create_subscription failed for PV %s", pvs[n].pvName); - } - } - } - } - eventCallbackFastMux.FastUnLock(); - } - else if (info.GetStage() != ExecutionInfo::BadTerminationStage) { - Sleep::Sec(1.0F); - } - else { - (void) eventCallbackFastMux.FastLock(); - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - (void) ca_clear_subscription(pvs[n].pvEvid); - (void) ca_clear_event(pvs[n].pvEvid); - (void) ca_clear_channel(pvs[n].pvChid); - } - } - ca_detach_context(); - ca_context_destroy(); - eventCallbackFastMux.FastUnLock(); - } - - return err; -} - -uint32 JAEPICSCAInput::GetStackSize() const { - return stackSize; -} - -uint32 JAEPICSCAInput::GetCPUMask() const { - return cpuMask; -} - -bool JAEPICSCAInput::Synchronise() { - return false; -} - -CLASS_REGISTER(JAEPICSCAInput, "1.0") - -} - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.h b/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.h deleted file mode 100644 index 3a5071d..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAInput.h +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @file EPICSCAInput.h - * @brief Header file for class EPICSCAInput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAInput - * 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 JAEPICSCAINPUT_H_ -#define JAEPICSCAINPUT_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" -#include "EmbeddedServiceMethodBinderI.h" -#include "EventSem.h" -#include "SingleThreadService.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -/** - * Maximum size that a PV name may have - */ -/*lint -esym(551, MARTe::PV_NAME_MAX_SIZE) the symbol is used to define the size of PVWrapper below*/ -const uint32 PV_NAME_MAX_SIZE = 64u; - -/** - * Wraps a PV - */ -struct PVWrapper { - /** - * The channel identifier - */ - chid pvChid; - /** - * The event identifier - */ - evid pvEvid; - /** - * The PV type - */ - chtype pvType; - /** - * The memory of the signal associated to this channel - */ - void *memory; - void *previousValue; - /** - * The number of elements > 0 - */ - uint32 numberOfElements; - /** - * The memory size - */ - uint32 memorySize; - /** - * The PV name - */ - char8 pvName[PV_NAME_MAX_SIZE]; -}; - -/** - * @brief A DataSource which allows to retrieved data from any number of PVs using the EPICS channel access client protocol. - * Data is asynchronously retrieved using ca_create_subscriptions in the context of a different thread (w.r.t. to the real-time thread). - * - * The configuration syntax is (names are only given as an example): - * - *
- * +EPICSCAInput_1 = {
- *     Class = JAEPICSCA::JAEPICSCAInput
- *     StackSize = 1048576 //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u
- *     CPUs = 0xff //Optional the affinity of the EmbeddedThread (where the EPICS context is attached).
- *     Signals = {
- *          PV1 = { //At least one shall be defined
- *             PVName = My::PV1 //Compulsory. Name of the PV.
- *             Type = uint32 //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, uint64, int64, float32 and float64
- *             NumberOfElements = 1 //Arrays also supported
- *          }
- *          ...
- *     }
- * }
- *
- * 
- */ -class JAEPICSCAInput: public DataSourceI, public EmbeddedServiceMethodBinderI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Default constructor. NOOP. - */ - JAEPICSCAInput(); - - /** - * @brief Destructor. - * @details TODO. - */ - virtual ~JAEPICSCAInput(); - - /** - * @brief See DataSourceI::AllocateMemory. NOOP. - * @return true. - */ - virtual bool AllocateMemory(); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @return 1. - */ - virtual uint32 GetNumberOfMemoryBuffers(); - - /** - * @brief See DataSourceI::GetSignalMemoryBuffer. - * @pre - * SetConfiguredDatabase - */ - virtual bool GetSignalMemoryBuffer(const uint32 signalIdx, - const uint32 bufferIdx, - void *&signalAddress); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @details Only InputSignals are supported. - * @return MemoryMapInputBroker. - */ - virtual const char8 *GetBrokerName(StructuredDataI &data, - const SignalDirection direction); - - /** - * @brief See DataSourceI::GetInputBrokers. - * @details adds a memory MemoryMapInputBroker instance to the inputBrokers - * @return true. - */ - virtual bool GetInputBrokers(ReferenceContainer &inputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::GetOutputBrokers. - * @return false. - */ - virtual bool GetOutputBrokers(ReferenceContainer &outputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::PrepareNextState. NOOP. - * @return true. - */ - virtual bool PrepareNextState(const char8 * const currentStateName, - const char8 * const nextStateName); - - /** - * @brief Loads and verifies the configuration parameters detailed in the class description. - * @return true if all the mandatory parameters are correctly specified and if the specified optional parameters have valid values. - */ - virtual bool Initialise(StructuredDataI & data); - - /** - * @brief Final verification of all the parameters. Setup of the memory required to hold all the signals. - * @details This method verifies that all the parameters requested by the GAMs interacting with this DataSource - * are valid and consistent with the parameters set during the initialisation phase. - * In particular the following conditions shall be met: - * - All the signals have the PVName defined - * - All the signals have one of the following types: uint32, int32, float32 or float64. - * @return true if all the parameters are valid and the conditions above are met. - */ - virtual bool SetConfiguredDatabase(StructuredDataI & data); - - /** - * @brief Gets the affinity of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - * @return the the affinity of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - */ - uint32 GetCPUMask() const; - - /** - * @brief Gets the stack size of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - * @return the stack size of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - */ - uint32 GetStackSize() const; - - /** - * @brief Provides the context to execute all the EPICS relevant calls. - * @details Executes in the context of a spawned thread the following EPICS calls: - * ca_context_create, ca_create_channel, ca_create_subscription, ca_clear_subscription, - * ca_clear_event, ca_clear_channel, ca_detach_context and ca_context_destroy - * @return ErrorManagement::NoError if all the EPICS calls return without any error. - */ - virtual ErrorManagement::ErrorType Execute(ExecutionInfo & info); - - /** - * @brief See DataSourceI::Synchronise. - * @return false. - */ - virtual bool Synchronise(); - - /** - * @brief Registered as the ca_create_subscription callback function. - * It calls updates the memory of the corresponding PV variable. - */ - friend void JAEPICSCAInputEventCallback(struct event_handler_args args); - -private: - - /** - * List of PVs. - */ - PVWrapper *pvs; - - /** - * The CPU mask for the executor - */ - uint32 cpuMask; - - /** - * The stack size - */ - uint32 stackSize; - - /** - * The EmbeddedThread where the ca_pend_event is executed. - */ - SingleThreadService executor; - - /** - * Stores the configuration information received at Initialise. - */ - ConfigurationDatabase originalSignalInformation; -}; -} - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* EPICSCADATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp b/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp deleted file mode 100644 index 951ed07..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp +++ /dev/null @@ -1,375 +0,0 @@ -/** - * @file EPICSCAOutput.cpp - * @brief Source file for class EPICSCAOutput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAOutput (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include "JAEPICSCAOutput.h" - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "MemoryMapAsyncOutputBroker.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -JAEPICSCAOutput::JAEPICSCAOutput() : - DataSourceI() { - pvs = NULL_PTR(PVWrapper *); - stackSize = THREADS_DEFAULT_STACKSIZE * 4u; - cpuMask = 0xffu; - numberOfBuffers = 0u; - ignoreBufferOverrun = 1u; - threadContextSet = false; -} - -/*lint -e{1551} must free the memory allocated to the different PVs.*/ -JAEPICSCAOutput::~JAEPICSCAOutput() { - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - if (pvs[n].pvChid != NULL_PTR(chid)) { - (void) ca_clear_channel(pvs[n].pvChid); - } - if (pvs[n].memory != NULL_PTR(void *)) { - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].memory); - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].previousValue); - } - } - delete[] pvs; - } -} - -bool JAEPICSCAOutput::Initialise(StructuredDataI & data) { - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("NumberOfBuffers", numberOfBuffers); - - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "NumberOfBuffers shall be specified"); - } - } - if (ok) { - if (!data.Read("CPUs", cpuMask)) { - REPORT_ERROR(ErrorManagement::Information, "No CPUs defined. Using default = %d", cpuMask); - } - if (!data.Read("StackSize", stackSize)) { - REPORT_ERROR(ErrorManagement::Information, "No StackSize defined. Using default = %d", stackSize); - } - if (!data.Read("IgnoreBufferOverrun", ignoreBufferOverrun)) { - REPORT_ERROR(ErrorManagement::Information, "No IgnoreBufferOverrun defined. Using default = %d", ignoreBufferOverrun); - } - - } - if (ok) { - ok = data.MoveRelative("Signals"); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Could not move to the Signals section"); - } - if (ok) { - ok = data.Copy(originalSignalInformation); - } - if (ok) { - ok = originalSignalInformation.MoveToRoot(); - } - //Do not allow to add signals in run-time - if (ok) { - ok = signalsDatabase.MoveRelative("Signals"); - } - if (ok) { - ok = signalsDatabase.Write("Locked", 1u); - } - if (ok) { - ok = signalsDatabase.MoveToAncestor(1u); - } - } - if (ok) { - ok = data.MoveToAncestor(1u); - } - return ok; -} - -bool JAEPICSCAOutput::SetConfiguredDatabase(StructuredDataI & data) { - bool ok = DataSourceI::SetConfiguredDatabase(data); - //Check the signal index of the timing signal. - uint32 nOfSignals = GetNumberOfSignals(); - if (ok) { - ok = (nOfSignals > 0u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one signal shall be defined"); - } - } - if (ok) { - //Do not allow samples - uint32 functionNumberOfSignals = 0u; - uint32 n; - if (GetFunctionNumberOfSignals(OutputSignals, 0u, functionNumberOfSignals)) { - for (n = 0u; (n < functionNumberOfSignals) && (ok); n++) { - uint32 nSamples; - ok = GetFunctionSignalSamples(OutputSignals, 0u, n, nSamples); - if (ok) { - ok = (nSamples == 1u); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The number of samples shall be exactly 1"); - } - } - } - } - //Only one and one GAM allowed to interact with this DataSourceI - if (ok) { - ok = (GetNumberOfFunctions() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Exactly one Function allowed to interact with this DataSourceI"); - } - } - - if (ok) { - pvs = new PVWrapper[nOfSignals]; - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - pvs[n].memory = NULL_PTR(void *); //value to write PV - pvs[n].previousValue = NULL_PTR(void *); //written value - pvs[n].pvChid = NULL_PTR(chid); - - } - for (n = 0u; (n < nOfSignals) && (ok); n++) { - //Note that the RealTimeApplicationConfigurationBuilder is allowed to change the order of the signals w.r.t. to the originalSignalInformation - StreamString orderedSignalName; - ok = GetSignalName(n, orderedSignalName); - if (ok) { - //Have to mix and match between the original setting of the DataSource signal - //and the ones which are later added by the RealTimeApplicationConfigurationBuilder - ok = originalSignalInformation.MoveRelative(orderedSignalName.Buffer()); - } - StreamString pvName; - if (ok) { - ok = originalSignalInformation.Read("PVName", pvName); - if (!ok) { - uint32 nn = n; - REPORT_ERROR(ErrorManagement::ParametersError, "No PVName specified for signal at index %d", nn); - } - } - TypeDescriptor td = GetSignalType(n); - - if (ok) { - (void) StringHelper::CopyN(&pvs[n].pvName[0], pvName.Buffer(), PV_NAME_MAX_SIZE); - if (td == CharString) { - pvs[n].pvType = DBR_STRING; - } - else if (td == Character8Bit) { - pvs[n].pvType = DBR_STRING; - } - else if (td == SignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == UnsignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == SignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == UnsignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == SignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == UnsignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == Float32Bit) { - pvs[n].pvType = DBR_FLOAT; - } - else if (td == Float64Bit) { - pvs[n].pvType = DBR_DOUBLE; - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Type %s is not supported", TypeDescriptor::GetTypeNameFromTypeDescriptor(td)); - ok = false; - } - } - uint32 numberOfElements = 1u; - if (ok) { - ok = GetSignalNumberOfElements(n, numberOfElements); - } - if (ok) { - if (pvs[n].pvType == DBR_STRING) { - ok = (numberOfElements == 40u); - } - if (!ok) { - //Could support arrays of strings with multiples of char8[40] - REPORT_ERROR(ErrorManagement::ParametersError, - "Strings shall be defined with 40 elements char8[40]. Arrays of strings are not currently supported"); - } - } - if (ok) { - pvs[n].numberOfElements = numberOfElements; - } - if (ok) { - pvs[n].memorySize = td.numberOfBits; - pvs[n].memorySize /= 8u; - pvs[n].memorySize *= numberOfElements; - pvs[n].memory = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - pvs[n].previousValue = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - ok = originalSignalInformation.MoveToAncestor(1u); - } - } - } - return ok; -} - -bool JAEPICSCAOutput::AllocateMemory() { - return true; -} - -uint32 JAEPICSCAOutput::GetNumberOfMemoryBuffers() { - return 1u; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The signalAddress is independent of the bufferIdx.*/ -bool JAEPICSCAOutput::GetSignalMemoryBuffer(const uint32 signalIdx, const uint32 bufferIdx, void*& signalAddress) { - bool ok = (pvs != NULL_PTR(PVWrapper *)); - if (ok) { - ok = (signalIdx < GetNumberOfSignals()); - } - if (ok) { - //lint -e{613} pvs cannot as otherwise ok would be false - signalAddress = pvs[signalIdx].memory; - } - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The brokerName only depends on the direction */ -const char8* JAEPICSCAOutput::GetBrokerName(StructuredDataI& data, const SignalDirection direction) { - const char8* brokerName = ""; - if (direction == OutputSignals) { - brokerName = "MemoryMapAsyncOutputBroker"; - } - return brokerName; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: InputBrokers are not supported. Function returns false irrespectively of the parameters.*/ -bool JAEPICSCAOutput::GetInputBrokers(ReferenceContainer& inputBrokers, const char8* const functionName, void* const gamMemPtr) { - return false; -} - -bool JAEPICSCAOutput::GetOutputBrokers(ReferenceContainer& outputBrokers, const char8* const functionName, void* const gamMemPtr) { - ReferenceT broker("MemoryMapAsyncOutputBroker"); - bool ok = broker->InitWithBufferParameters(OutputSignals, *this, functionName, gamMemPtr, numberOfBuffers, cpuMask, stackSize); - if (ok) { - ok = outputBrokers.Insert(broker); - broker->SetIgnoreBufferOverrun(ignoreBufferOverrun == 1u); - } - - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: NOOP at StateChange, independently of the function parameters.*/ -bool JAEPICSCAOutput::PrepareNextState(const char8* const currentStateName, const char8* const nextStateName) { - return true; -} - -uint32 JAEPICSCAOutput::GetStackSize() const { - return stackSize; -} - -uint32 JAEPICSCAOutput::GetCPUMask() const { - return cpuMask; -} - -uint32 JAEPICSCAOutput::GetNumberOfBuffers() const { - return numberOfBuffers; -} - -bool JAEPICSCAOutput::Synchronise() { - bool ok = true; - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (!threadContextSet) { - ok = (ca_context_create(ca_enable_preemptive_callback) == ECA_NORMAL); - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_enable_preemptive_callback failed"); - } - threadContextSet = ok; - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - ok = (ca_create_channel(&pvs[n].pvName[0], NULL_PTR(caCh *), NULL_PTR(void *), 20u, &pvs[n].pvChid) == ECA_NORMAL); - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_create_channel failed for PV with name %s", pvs[n].pvName); - } - } - } - } - - //Allow to write event at the first time! - if (threadContextSet) { - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - bool isNewValue = true; - if (pvs[n].pvType == DBR_STRING) { - if(strcmp((char*)pvs[n].memory,(char*)pvs[n].previousValue)==0){ - isNewValue = false; - continue; - } - if(isNewValue){ - ok = (ca_put(pvs[n].pvType, pvs[n].pvChid, pvs[n].memory) == ECA_NORMAL); - memcpy(pvs[n].previousValue,pvs[n].memory, pvs[n].numberOfElements); - } - } - else { - if(memcmp(pvs[n].memory, pvs[n].previousValue, pvs[n].numberOfElements)==0){ - isNewValue = false; - continue; - } - if(isNewValue){ - ok = (ca_array_put(pvs[n].pvType, pvs[n].numberOfElements, pvs[n].pvChid, pvs[n].memory) == ECA_NORMAL); - memcpy(pvs[n].previousValue, pvs[n].memory, pvs[n].numberOfElements); - } - } - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_put failed for PV: %s", pvs[n].pvName); - } - (void) ca_pend_io(0.1); - } - } - } - - return ok; -} - -bool JAEPICSCAOutput::IsIgnoringBufferOverrun() const { - return (ignoreBufferOverrun == 1u); -} - -CLASS_REGISTER(JAEPICSCAOutput, "1.0") - -} - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.h b/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.h deleted file mode 100644 index 5c2de87..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/JAEPICSCAOutput.h +++ /dev/null @@ -1,233 +0,0 @@ -/** - * @file EPICSCAOutput.h - * @brief Header file for class EPICSCAOutput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAOutput - * 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 JAEPICSCAOutput_H_ -#define JAEPICSCAOutput_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" -#include "JAEPICSCAInput.h" -#include "EmbeddedServiceMethodBinderI.h" -#include "EventSem.h" -#include "SingleThreadService.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -//Maximum size that a PV name may have - -/** - * @brief A DataSource which allows to output data into any number of PVs using the EPICS channel access client protocol. - * Data is asynchronously ca_put in the context of a different thread (w.r.t. to the real-time thread). - * - * The configuration syntax is (names are only given as an example): - * - *
- * +EPICSCAOutput_1 = {
- *     Class = EPICSCA::EPICSCAOutput
- *     StackSize = 1048576 //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u
- *     CPUs = 0xff //Optional the affinity of the EmbeddedThread (where the EPICS context is attached).
- *     IgnoreBufferOverrun = 1 //Optional. If true no error will be triggered when the thread that writes into EPICS does not consume the data fast enough.
- *     NumberOfBuffers = 10 //Compulsory. Number of buffers in a circular buffer that asynchronously writes the PV values. Each buffer is capable of holding a copy of all the DataSourceI signals.
- *     Signals = {
- *          PV1 = { //At least one shall be defined
- *             PVName = My::PV1 //Compulsory. Name of the PV.
- *             Type = uint32 //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, float32 and float64
- *          }
- *          ...
- *     }
- * }
- *
- * 
- */ -class JAEPICSCAOutput: public DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Default constructor. NOOP. - */ - JAEPICSCAOutput(); - - /** - * @brief Destructor. - * @details TODO. - */ - virtual ~JAEPICSCAOutput(); - - /** - * @brief See DataSourceI::AllocateMemory. NOOP. - * @return true. - */ - virtual bool AllocateMemory(); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @return 1. - */ - virtual uint32 GetNumberOfMemoryBuffers(); - - /** - * @brief See DataSourceI::GetSignalMemoryBuffer. - * @pre - * SetConfiguredDatabase - */ - virtual bool GetSignalMemoryBuffer(const uint32 signalIdx, - const uint32 bufferIdx, - void *&signalAddress); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @details Only OutputSignals are supported. - * @return MemoryMapAsyncOutputBroker. - */ - virtual const char8 *GetBrokerName(StructuredDataI &data, - const SignalDirection direction); - - /** - * @brief See DataSourceI::GetInputBrokers. - * @return false. - */ - virtual bool GetInputBrokers(ReferenceContainer &inputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::GetOutputBrokers. - * @details adds a memory MemoryMapOutputBroker instance to the outputBrokers - * @return true. - */ - virtual bool GetOutputBrokers(ReferenceContainer &outputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::PrepareNextState. NOOP. - * @return true. - */ - virtual bool PrepareNextState(const char8 * const currentStateName, - const char8 * const nextStateName); - - /** - * @brief Loads and verifies the configuration parameters detailed in the class description. - * @return true if all the mandatory parameters are correctly specified and if the specified optional parameters have valid values. - */ - virtual bool Initialise(StructuredDataI & data); - - /** - * @brief Final verification of all the parameters. Setup of the memory required to hold all the signals. - * @details This method verifies that all the parameters requested by the GAMs interacting with this DataSource - * are valid and consistent with the parameters set during the initialisation phase. - * In particular the following conditions shall be met: - * - All the signals have the PVName defined - * - All the signals have one of the following types: uint32, int32, float32 or float64. - * @return true if all the parameters are valid and the conditions above are met. - */ - virtual bool SetConfiguredDatabase(StructuredDataI & data); - - /** - * @brief Gets the affinity of the thread which is going to be used to asynchronously write data with ca_put. - * @return the affinity of the thread which is going to be used to asynchronously write data with ca_put. - */ - uint32 GetCPUMask() const; - - /** - * @brief Gets the stack size of the thread which is going to be used to asynchronously write data with ca_put. - * @return the stack size of the thread which is going to be used to asynchronously write data with ca_put. - */ - uint32 GetStackSize() const; - - /** - * @brief Gets the number of buffers in the circular buffer that asynchronously writes the PV values. - * @return the number of buffers in the circular buffer that asynchronously writes the PV values. - */ - uint32 GetNumberOfBuffers() const; - - /** - * @brief Provides the context to execute all the EPICS ca_put calls. - * @details Executes in the context of the MemoryMapAsyncOutputBroker thread the following EPICS calls: - * ca_context_create, ca_create_channel, ca_create_subscription, ca_clear_subscription, - * ca_clear_event, ca_clear_channel, ca_detach_context and ca_context_destroy - * @return true if all the EPICS calls return without any error. - */ - virtual bool Synchronise(); - - /** - * @brief Gets if buffer overruns is being ignored (i.e. the consumer thread which writes into EPICS is not consuming the data fast enough). - * @return if true no error is to be triggered when there is a buffer overrun. - */ - bool IsIgnoringBufferOverrun() const; - - -private: - /** - * List of PVs. - */ - PVWrapper *pvs; - - /** - * The CPU mask for the executor - */ - uint32 cpuMask; - - /** - * The stack size - */ - uint32 stackSize; - - /** - * Stores the configuration information received at Initialise. - */ - ConfigurationDatabase originalSignalInformation; - - /** - * The number of buffers for the circular buffer that flushes data into EPICS - */ - uint32 numberOfBuffers; - - /** - * True once the epics thread context is set - */ - bool threadContextSet; - - /** - * If true no error will be triggered when the data cannot be consumed by the thread doing the caputs. - */ - uint32 ignoreBufferOverrun; -}; -} - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* EPICSCADATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/Makefile.gcc deleted file mode 100644 index 1c65faf..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/Makefile.gcc +++ /dev/null @@ -1,29 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc - -LIBRARIES += -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)/ -lca diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/Makefile.inc deleted file mode 100644 index 435df16..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/Makefile.inc +++ /dev/null @@ -1,58 +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=JAEPICSCAOutput.x JAEPICSCAInput.x - -PACKAGE=DataSources - -ROOT_DIR=../../../../obj -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -INCLUDES += -I. -INCLUDES += -I$(EPICS_BASE)/include/ -INCLUDES += -I$(EPICS_BASE)/include/os/Linux/ -INCLUDES += -I$(EPICS_BASE)/include/compiler/gcc/ -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/Scheduler/L5GAMs - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAEPICSCA$(LIBEXT) \ - $(BUILD_DIR)/JAEPICSCA$(DLLEXT) - echo $(OBJS) - -include depends.$(TARGET) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/depends.x86-linux b/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/depends.x86-linux deleted file mode 100644 index eced617..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/depends.x86-linux +++ /dev/null @@ -1,305 +0,0 @@ -../../../../obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCAInput.o: JAEPICSCAInput.cpp JAEPICSCAInput.h \ - /opt/codac-6.3/epics/include/cadef.h \ - /opt/codac-6.3/epics/include/epicsThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/os/Linux/osdEvent.h \ - /opt/codac-6.3/epics/include/epicsMutex.h \ - /opt/codac-6.3/epics/include/epicsAssert.h \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/compiler/gcc/compilerSpecific.h \ - /opt/codac-6.3/epics/include/epicsGuard.h \ - /opt/codac-6.3/epics/include/os/Linux/osdMutex.h \ - /opt/codac-6.3/epics/include/os/Linux/osdThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/ellLib.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/libCaAPI.h \ - /opt/codac-6.3/epics/include/caerr.h \ - /opt/codac-6.3/epics/include/epicsTypes.h \ - /opt/codac-6.3/epics/include/db_access.h \ - /opt/codac-6.3/epics/include/epicsTime.h \ - /opt/codac-6.3/epics/include/os/Linux/osdTime.h \ - /opt/codac-6.3/epics/include/errMdef.h \ - /opt/codac-6.3/epics/include/caeventmask.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/DataSourceI.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/AnyObject.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/AnyType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassProperties.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/FractionalInteger.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ErrorType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitBoolean.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitRange.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeStamp.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Atomic.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Sleep.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CString.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Introspection.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BasicType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/FractionalInteger.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitRange.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitBoolean.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListable.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/IteratorT.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Iterator.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListable.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/SortFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/SearchFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticList.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Matrix.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Vector.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapManager.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Object.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StringHelper.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/StructuredDataI.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/AnyType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/BinaryTree.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticList.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/HashFunction.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Object.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Reference.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceT.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/StructuredDataI.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/TypeConversion.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Vector.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamString.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/CharBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/IOBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/StatefulI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/ExecutionInfo.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/Threads.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ProcessorType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitSet.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/EventSem.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/SingleThreadService.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedThread.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassProperties.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/MemoryMapInputBroker.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/MemoryMapBroker.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/BrokerI.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/DataSourceI.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/ExecutableI.h -../../../../obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCAOutput.o: JAEPICSCAOutput.cpp JAEPICSCAOutput.h \ - /opt/codac-6.3/epics/include/cadef.h \ - /opt/codac-6.3/epics/include/epicsThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/os/Linux/osdEvent.h \ - /opt/codac-6.3/epics/include/epicsMutex.h \ - /opt/codac-6.3/epics/include/epicsAssert.h \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/compiler/gcc/compilerSpecific.h \ - /opt/codac-6.3/epics/include/epicsGuard.h \ - /opt/codac-6.3/epics/include/os/Linux/osdMutex.h \ - /opt/codac-6.3/epics/include/os/Linux/osdThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/ellLib.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/libCaAPI.h \ - /opt/codac-6.3/epics/include/caerr.h \ - /opt/codac-6.3/epics/include/epicsTypes.h \ - /opt/codac-6.3/epics/include/db_access.h \ - /opt/codac-6.3/epics/include/epicsTime.h \ - /opt/codac-6.3/epics/include/os/Linux/osdTime.h \ - /opt/codac-6.3/epics/include/errMdef.h \ - /opt/codac-6.3/epics/include/caeventmask.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/DataSourceI.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/AnyObject.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/AnyType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassProperties.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/FractionalInteger.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ErrorType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitBoolean.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitRange.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeStamp.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Atomic.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Sleep.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CString.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Introspection.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BasicType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/FractionalInteger.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitRange.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitBoolean.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListable.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/IteratorT.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Iterator.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListable.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/SortFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/SearchFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticList.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Matrix.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Vector.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapManager.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Object.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StringHelper.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/StructuredDataI.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/AnyType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/BinaryTree.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticList.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/HashFunction.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Object.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Reference.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceT.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/StructuredDataI.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/TypeConversion.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Vector.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamString.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/CharBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/IOBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/StatefulI.h \ - JAEPICSCAInput.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/ExecutionInfo.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/Threads.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ProcessorType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitSet.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/EventSem.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/SingleThreadService.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedThread.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassProperties.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \ - /opt/marte2-core/Source/Core/Scheduler/L5GAMs/MemoryMapAsyncOutputBroker.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/MemoryMapBroker.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/BrokerI.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/DataSourceI.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/ExecutableI.h diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/dependsRaw.x86-linux b/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/dependsRaw.x86-linux deleted file mode 100644 index d7f31d7..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/JAEPICSCA/dependsRaw.x86-linux +++ /dev/null @@ -1,305 +0,0 @@ -JAEPICSCAInput.o: JAEPICSCAInput.cpp JAEPICSCAInput.h \ - /opt/codac-6.3/epics/include/cadef.h \ - /opt/codac-6.3/epics/include/epicsThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/os/Linux/osdEvent.h \ - /opt/codac-6.3/epics/include/epicsMutex.h \ - /opt/codac-6.3/epics/include/epicsAssert.h \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/compiler/gcc/compilerSpecific.h \ - /opt/codac-6.3/epics/include/epicsGuard.h \ - /opt/codac-6.3/epics/include/os/Linux/osdMutex.h \ - /opt/codac-6.3/epics/include/os/Linux/osdThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/ellLib.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/libCaAPI.h \ - /opt/codac-6.3/epics/include/caerr.h \ - /opt/codac-6.3/epics/include/epicsTypes.h \ - /opt/codac-6.3/epics/include/db_access.h \ - /opt/codac-6.3/epics/include/epicsTime.h \ - /opt/codac-6.3/epics/include/os/Linux/osdTime.h \ - /opt/codac-6.3/epics/include/errMdef.h \ - /opt/codac-6.3/epics/include/caeventmask.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/DataSourceI.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/AnyObject.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/AnyType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassProperties.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/FractionalInteger.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ErrorType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitBoolean.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitRange.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeStamp.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Atomic.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Sleep.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CString.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Introspection.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BasicType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/FractionalInteger.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitRange.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitBoolean.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListable.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/IteratorT.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Iterator.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListable.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/SortFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/SearchFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticList.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Matrix.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Vector.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapManager.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Object.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StringHelper.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/StructuredDataI.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/AnyType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/BinaryTree.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticList.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/HashFunction.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Object.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Reference.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceT.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/StructuredDataI.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/TypeConversion.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Vector.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamString.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/CharBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/IOBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/StatefulI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/ExecutionInfo.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/Threads.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ProcessorType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitSet.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/EventSem.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/SingleThreadService.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedThread.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassProperties.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/MemoryMapInputBroker.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/MemoryMapBroker.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/BrokerI.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/DataSourceI.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/ExecutableI.h -JAEPICSCAOutput.o: JAEPICSCAOutput.cpp JAEPICSCAOutput.h \ - /opt/codac-6.3/epics/include/cadef.h \ - /opt/codac-6.3/epics/include/epicsThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/os/Linux/osdEvent.h \ - /opt/codac-6.3/epics/include/epicsMutex.h \ - /opt/codac-6.3/epics/include/epicsAssert.h \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/compiler/gcc/compilerSpecific.h \ - /opt/codac-6.3/epics/include/epicsGuard.h \ - /opt/codac-6.3/epics/include/os/Linux/osdMutex.h \ - /opt/codac-6.3/epics/include/os/Linux/osdThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/ellLib.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/libCaAPI.h \ - /opt/codac-6.3/epics/include/caerr.h \ - /opt/codac-6.3/epics/include/epicsTypes.h \ - /opt/codac-6.3/epics/include/db_access.h \ - /opt/codac-6.3/epics/include/epicsTime.h \ - /opt/codac-6.3/epics/include/os/Linux/osdTime.h \ - /opt/codac-6.3/epics/include/errMdef.h \ - /opt/codac-6.3/epics/include/caeventmask.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/DataSourceI.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/ConfigurationDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/AnyObject.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/AnyType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassProperties.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Architecture/x86_gcc/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/FractionalInteger.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TypeCharacteristics.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/TemplateParametersVerificator.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GlobalObjectsDatabase.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/GlobalObjectI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/StandardHeap.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../ErrorInformation.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ErrorType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitBoolean.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitRange.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../StreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../TimeStamp.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Architecture/x86_gcc/HighResolutionTimerA.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CompilerTypes.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/HighResolutionTimerCalibrator.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../../Environment/Linux/../../GeneralDefinitions.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeStamp.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Environment/Linux/../Generic/StandardHeap_Generic.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/FastPollingMutexSem.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Atomic.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Architecture/x86_gcc/AtomicA.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HighResolutionTimer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/Sleep.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryItem.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/CString.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Introspection.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/IntrospectionEntry.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TypeDescriptor.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BasicType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/FractionalInteger.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitRange.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitBoolean.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/ZeroTerminatedArray.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListable.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolderT.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/IteratorT.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Iterator.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListable.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/SortFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/SearchFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/LoadableLibrary.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ObjectBuilder.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticList.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Matrix.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Vector.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapManager.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/HeapI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/MemoryOperationsHelper.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Object.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StringHelper.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/StructuredDataI.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/AnyType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/CLASSREGISTER.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassRegistryItemT.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ObjectBuilderT.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/ConfigurationDatabaseNode.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/BinaryTree.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StaticList.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Fnv1aHashFunction.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/HashFunction.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/LinkedListHolder.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Object.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/Reference.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerFilter.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerNode.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/TimeoutType.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceT.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainerFilterObjectName.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ReferenceContainer.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/StructuredDataI.h \ - /opt/marte2-core/Source/Core/BareMetal/L4Configuration/TypeConversion.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/Vector.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/StreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamString.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/CharBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/BufferedStreamI.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/FormatDescriptor.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/IOBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamStringIOBuffer.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/StatefulI.h \ - JAEPICSCAInput.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/ExecutionInfo.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/Threads.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/ExceptionHandler.h \ - /opt/marte2-core/Source/Core/BareMetal/L1Portability/ProcessorType.h \ - /opt/marte2-core/Source/Core/BareMetal/L0Types/BitSet.h \ - /opt/marte2-core/Source/Core/Scheduler/L1Portability/EventSem.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/SingleThreadService.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedServiceMethodBinderT.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedThreadI.h \ - /opt/marte2-core/Source/Core/Scheduler/L3Services/EmbeddedThread.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/AdvancedErrorManagement.h \ - /opt/marte2-core/Source/Core/BareMetal/L2Objects/ClassProperties.h \ - /opt/marte2-core/Source/Core/BareMetal/L3Streams/StreamMemoryReference.h \ - /opt/marte2-core/Source/Core/Scheduler/L5GAMs/MemoryMapAsyncOutputBroker.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/MemoryMapBroker.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/BrokerI.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/DataSourceI.h \ - /opt/marte2-core/Source/Core/BareMetal/L5GAMs/ExecutableI.h diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/Makefile b/EC-GN-JA-PCF/target/main/c++/DataSources/Makefile deleted file mode 100644 index fa87195..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/Makefile +++ /dev/null @@ -1,28 +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 $ -# -############################################################# -export TARGET=x86-linux - -include Makefile.gcc \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/DataSources/Makefile.gcc deleted file mode 100644 index e0a2fc4..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/Makefile.gcc +++ /dev/null @@ -1,26 +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. -# -############################################################# - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/DataSources/Makefile.inc deleted file mode 100644 index 59ce9d2..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/Makefile.inc +++ /dev/null @@ -1,42 +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 $ -# -############################################################# -SPB = RandomDataSource.x NI6528.x JAEPICSCA.x - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=../../../obj -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/Makefile.gcc deleted file mode 100644 index 29201d0..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/Makefile.gcc +++ /dev/null @@ -1,30 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc - -LIBRARIES += -L$(CODAC_ROOT)/lib/ -lpxi6528 - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/Makefile.inc deleted file mode 100644 index 24ebd5d..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/Makefile.inc +++ /dev/null @@ -1,53 +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=NI6528.x - -PACKAGE=DataSources - -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 -INCLUDES += -I$(CODAC_ROOT)/include/ - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/NI6528$(LIBEXT) \ - $(BUILD_DIR)/NI6528$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/NI6528.cpp b/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/NI6528.cpp deleted file mode 100644 index 49f62b1..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/NI6528.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @file NI6528.cpp - * @brief Source file for class NI6528 - * @date 01/03/2017 - * @author Andre Neto - * - * @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 NI6528 (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include -#include -#include -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "CompilerTypes.h" -#include "NI6528.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -NI6528::NI6528() : - MARTe::DataSourceI() { - using namespace MARTe; - previousValue = 0u; - value = 0u; - port = 0u; - boardFileDescriptor = 0; -} - -NI6528::~NI6528() { - using namespace MARTe; - (void) pxi6528_close_device(boardFileDescriptor); -} - -bool NI6528::SetConfiguredDatabase(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = (DataSourceI::SetConfiguredDatabase(data)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "DataSourceI::SetConfiguredDatabas() failed"); - } - if (ok) { - ok = (GetNumberOfSignals() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetNumberOfSignals() != 1u"); - } - } - if (ok) { - ok = (GetSignalType(0u) == UnsignedInteger8Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetSignalType(0u) != UnsignedInteger8Bit"); - } - } - - return ok; -} - -bool NI6528::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("Port", port); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The Port shall be specified"); - } - } - if (ok) { - ok = data.Read("DeviceName", deviceName); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The DeviceName shall be specified"); - } - } - int32 ret = pxi6528_open_device(&boardFileDescriptor, deviceName.Buffer(), O_NONBLOCK); - ok = (ret == 0); - if (!ok) { - StreamString err = strerror(-ret); - REPORT_ERROR(ErrorManagement::FatalError, "Could not open device (%s) : %s", deviceName.Buffer(), err.Buffer()); - } - return ok; -} - -bool NI6528::Synchronise() { - using namespace MARTe; - if(previousValue != value){ - int32 ret = (pxi6528_write_port(boardFileDescriptor, port, value) > 0); - previousValue = value; - bool ok = (ret > -1); - if (!ok) { - StreamString err = strerror(-ret); - REPORT_ERROR(ErrorManagement::FatalError, "Could not write to device (%s) : %s", deviceName.Buffer(), err.Buffer()); - } - } - - return true; -} - -bool NI6528::AllocateMemory() { - return true; -} - -bool NI6528::GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress) { - signalAddress = &value; - return true; -} - -const MARTe::char8 *NI6528::GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction) { - using namespace MARTe; - return "MemoryMapSynchronisedOutputBroker"; -} - -bool NI6528::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - return true; -} - -CLASS_REGISTER(NI6528, "1.0") - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/NI6528.h b/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/NI6528.h deleted file mode 100644 index 7074477..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/NI6528/NI6528.h +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file NI6528.h - * @brief Header file for class NI6528 - * @date 07/06/2018 - * @author Andre Neto - * - * @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 NI6528 - * 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 RANDOM_DATASOURCE_H_ -#define RANDOM_DATASOURCE_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief NI6528 simplified data source implementation. - * - * The configuration syntax is (names and signal quantities are only given as an example): - * +NI6528 = { - * Class = NI6528 - * DeviceName = "/dev/pxi6528.0" //Mandatory - * Port = 0 //The port where to write - * Signals = { - * currentValue = {Type = uint8} - * bitmask = {Type = uint8} - * Value = {Type = uint8} - * } - * } - */ -class NI6528: public MARTe::DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Constructor. NOOP. - */ -NI6528 (); - - /** - * @brief Destructor. NOOP. - */ - virtual ~NI6528(); - - /** - * @brief The configuration data detailed in the class description - * @return true if all the compulsory parameters are set. - */ - virtual bool Initialise(MARTe::StructuredDataI & data); - - /** - * @brief Verifies that at most one signal has been set with the correct type (i.e. any integer). - * @return true if the above conditions are met. - */ - virtual bool SetConfiguredDatabase(MARTe::StructuredDataI & data); - - /** - * @brief @see DataSourceI::Synchronise - */ - virtual bool Synchronise(); - - /** - * @brief @see DataSourceI::AllocateMemory - */ - virtual bool AllocateMemory(); - - /** - * @brief @see DataSourceI::GetSignalMemoryBuffer - */ - virtual bool GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress); - - /** - * @return "MemoryMapSynchronisedInputBroker" - */ - virtual const MARTe::char8 *GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction); - - /** - * @brief NOOP - */ - virtual bool PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName); - -private: - /** - * The previous value to write. - */ - MARTe::uint8 previousValue; - - /** - * The bitmask to write value. (new value) = (current value) || (bitmask) && (write value) - */ - MARTe::uint8 bitmask; - - /** - * The value to write. - */ - MARTe::uint8 value; - - /** - * The port number - */ - MARTe::uint32 port; - - /** - * The board file descriptor - */ - pxi6528_device_t boardFileDescriptor; - - /** - * The device name - */ - MARTe::StreamString deviceName; -}; - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* RANDOM_DATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/Makefile.inc deleted file mode 100644 index 0833f11..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/Makefile.inc +++ /dev/null @@ -1,53 +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=RandomDataSource.x - -PACKAGE=DataSources - -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)/RandomDataSource$(LIBEXT) \ - $(BUILD_DIR)/RandomDataSource$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/RandomDataSource.cpp b/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/RandomDataSource.cpp deleted file mode 100644 index bcfc0b0..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/RandomDataSource.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/** - * @file RandomDataSource.cpp - * @brief Source file for class RandomDataSource - * @date 01/03/2017 - * @author Andre Neto - * - * @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 RandomDataSource (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 "AdvancedErrorManagement.h" -#include "CompilerTypes.h" -#include "RandomDataSource.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -RandomDataSource::RandomDataSource() : - MARTe::DataSourceI() { - using namespace MARTe; - seed = 0u; - signalPtr = NULL_PTR(MARTe::char8 *); - signalTypeDescriptor = UnsignedInteger8Bit; -} - -RandomDataSource::~RandomDataSource() { - using namespace MARTe; - if (signalPtr) { - delete[] signalPtr; - } -} - -bool RandomDataSource::SetConfiguredDatabase(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = (DataSourceI::SetConfiguredDatabase(data)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "DataSourceI::SetConfiguredDatabas() failed"); - } - if (ok) { - ok = (GetNumberOfSignals() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetNumberOfSignals() != 1u"); - } - } - if (ok) { - signalTypeDescriptor = GetSignalType(0u); - ok = (signalTypeDescriptor.type == UnsignedInteger); - if (!ok) { - ok = (signalTypeDescriptor.type == SignedInteger); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetSignalType(0u) != Un/SignedInteger"); - } - } - - return ok; -} - -bool RandomDataSource::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("Seed", seed); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The Seed shall be specified"); - } - } - - return ok; -} - -bool RandomDataSource::Synchronise() { - using namespace MARTe; - - if (signalTypeDescriptor.numberOfBits == 8u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 16u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 32u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 64u) { - GetValue(); - } - - return true; -} - -bool RandomDataSource::AllocateMemory() { - signalPtr = new MARTe::char8[signalTypeDescriptor.numberOfBits]; - return true; -} - -bool RandomDataSource::GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress) { - signalAddress = &signalPtr[0]; - return true; -} - -const MARTe::char8 *RandomDataSource::GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction) { - using namespace MARTe; - - static bool firstTime = true; - const char8 * broker;// = NULL_PTR(const char8 *); - if (firstTime) { - broker = "MemoryMapSynchronisedInputBroker"; - } - else { - firstTime = false; - broker = "MemoryMapInputBroker"; - } - return broker; -} - -bool RandomDataSource::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - return true; -} - -CLASS_REGISTER(RandomDataSource, "1.0") - diff --git a/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/RandomDataSource.h b/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/RandomDataSource.h deleted file mode 100644 index 11cade5..0000000 --- a/EC-GN-JA-PCF/target/main/c++/DataSources/RandomDataSource/RandomDataSource.h +++ /dev/null @@ -1,137 +0,0 @@ -/** - * @file RandomDataSource.h - * @brief Header file for class RandomDataSource - * @date 07/06/2018 - * @author Andre Neto - * - * @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 RandomDataSource - * 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 RANDOM_DATASOURCE_H_ -#define RANDOM_DATASOURCE_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief DataDource which generates random numbers against a given seed. - * - * The configuration syntax is (names and signal quantities are only given as an example): - * +RandomDataSource = { - * Class = RandomDataSource - * Seed = 8 //Seed against which the the seed will be generated. Note that each signal - * Signals = { - * Random1 = { //Maximum one signal - * Type = uint64 //All the integer types are supported - * } - * } - * } - */ -class RandomDataSource: public MARTe::DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Constructor. NOOP. - */ -RandomDataSource (); - - /** - * @brief Destructor. NOOP. - */ - virtual ~RandomDataSource(); - - /** - * @brief The configuration data detailed in the class description - * @return true if all the compulsory parameters are set. - */ - virtual bool Initialise(MARTe::StructuredDataI & data); - - /** - * @brief Verifies that at most one signal has been set with the correct type (i.e. any integer). - * @return true if the above conditions are met. - */ - virtual bool SetConfiguredDatabase(MARTe::StructuredDataI & data); - - /** - * @brief @see DataSourceI::Synchronise - */ - virtual bool Synchronise(); - - /** - * @brief @see DataSourceI::AllocateMemory - */ - virtual bool AllocateMemory(); - - /** - * @brief @see DataSourceI::GetSignalMemoryBuffer - */ - virtual bool GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress); - - /** - * @return "MemoryMapSynchronisedInputBroker" - */ - virtual const MARTe::char8 *GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction); - - /** - * @brief NOOP - */ - virtual bool PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName); - -private: - /** - * The seed to compute the signals. - */ - MARTe::uint32 seed; - - /** - * The signal pointer - */ - MARTe::char8 *signalPtr; - - /** - * The signal type descriptor. - */ - MARTe::TypeDescriptor signalTypeDescriptor; - - /** - * Compute the random value - */ - template - void GetValue(); - -}; - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ -template -void RandomDataSource::GetValue() { - *(reinterpret_cast(&signalPtr[0u])) = static_cast(rand_r(&seed)); -} - -#endif /* RANDOM_DATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.cpp deleted file mode 100644 index dd322b8..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/** - * @file JABitReverseGAM.cpp - * @brief Source file for class JABitReverseGAM - * @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 JABitReverseGAM (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 "JABitReverseGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JABitReverseGAM::JABitReverseGAM() { - //Input signals. - input1 = NULL_PTR(MARTe::uint8 *); - - //Output signals. - output1= NULL_PTR(MARTe::uint8 *); -} - -JABitReverseGAM::~JABitReverseGAM() { -} - -bool JABitReverseGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - return ok; -} - -bool JABitReverseGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JABitReverseGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 1u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One input signals shall be defined"); - } - // Do type check for input signals. - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - ok = ((inputType == UnsignedInteger8Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger8Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - } - } - // Do type cast. - if (ok) { - input1 = reinterpret_cast(GetInputSignalMemory(0)); - - output1 = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JABitReverseGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - *output1 = ~(*input1); - return true; -} - -CLASS_REGISTER(JABitReverseGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.h deleted file mode 100644 index 1d2bbcf..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/JABitReverseGAM.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @file JABitReverseGAM.h - * @brief Header file for class JABitReverseGAM - * @date Mar 18, 2020 - * @author kuchida - * - * @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 JABitReverseGAM - * 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_JABitReverseGAM_H_ -#define GAMS_JABitReverseGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JABitReverseGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JABitReverseGAM(); - - virtual ~JABitReverseGAM(); - - 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 - - // Input signals - MARTe::uint8 *input1; - - // Output signals - MARTe::uint8 *output1; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JABitReverseGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/Makefile.inc deleted file mode 100644 index 8847378..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitReverseGAM/Makefile.inc +++ /dev/null @@ -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=JABitReverseGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JABitReverseGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitReverseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/JABitSumGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/JABitSumGAM.cpp deleted file mode 100644 index 7c75cd1..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/JABitSumGAM.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file JABitSumGAM.cpp - * @brief Source file for class JABitSumGAM - * @date Feb 10, 2020 - * @author kuchida - * - * @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 JABitSumGAM (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 "JABitSumGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JABitSumGAM::JABitSumGAM() { - //Input signals. - input0 = NULL_PTR(MARTe::uint32 *); - input1 = NULL_PTR(MARTe::uint32 *); - input2 = NULL_PTR(MARTe::uint32 *); - input3 = NULL_PTR(MARTe::uint32 *); - input4 = NULL_PTR(MARTe::uint32 *); - input5 = NULL_PTR(MARTe::uint32 *); - input6 = NULL_PTR(MARTe::uint32 *); - input7 = NULL_PTR(MARTe::uint32 *); - - //Output signals. - output= NULL_PTR(MARTe::uint8 *); -} - -JABitSumGAM::~JABitSumGAM() { -} - -bool JABitSumGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (!ok){ - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "ParametersError in init."); - } - return ok; -} - -bool JABitSumGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JABitSumGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 8u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Eight input signals shall be defined"); - } - // Do type check for input signals. - 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()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = (outputType == UnsignedInteger8Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - } - } - // Do type cast. - if (ok) { - input0 = reinterpret_cast(GetInputSignalMemory(0)); - input1 = reinterpret_cast(GetInputSignalMemory(1)); - input2 = reinterpret_cast(GetInputSignalMemory(2)); - input3 = reinterpret_cast(GetInputSignalMemory(3)); - input4 = reinterpret_cast(GetInputSignalMemory(4)); - input5 = reinterpret_cast(GetInputSignalMemory(5)); - input6 = reinterpret_cast(GetInputSignalMemory(6)); - input7 = reinterpret_cast(GetInputSignalMemory(7)); - - output = reinterpret_cast(GetOutputSignalMemory(0)); - } - - return ok; -} - -bool JABitSumGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - *output = *input0 + *input1*2 + *input2*4 + *input3*8 + *input4*16 + - *input5*32 + *input6*64 + *input7*128; - - return true; -} - -CLASS_REGISTER(JABitSumGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/JABitSumGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/JABitSumGAM.h deleted file mode 100644 index 462f62b..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/JABitSumGAM.h +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @file JABitSumGAM.h - * @brief Header file for class JABitSumGAM - * @date Feb 10, 2020 - * @author kuchida - * - * @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 JABitSumGAM - * 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_JABitSumGAM_H_ -#define GAMS_JABitSumGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "stdio.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JABitSumGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JABitSumGAM(); - - virtual ~JABitSumGAM(); - - 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: - // Input signals - MARTe::uint32 *input0; - MARTe::uint32 *input1; - MARTe::uint32 *input2; - MARTe::uint32 *input3; - MARTe::uint32 *input4; - MARTe::uint32 *input5; - MARTe::uint32 *input6; - MARTe::uint32 *input7; - - // Output signals - MARTe::uint8 *output; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JABitSumGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/Makefile.inc deleted file mode 100644 index f57063b..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JABitSumGAM/Makefile.inc +++ /dev/null @@ -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=JABitSumGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JABitSumGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitSumGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp deleted file mode 100644 index 99ba1f5..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp +++ /dev/null @@ -1,309 +0,0 @@ -/** - * @file JAConditionalSignalUpdateGAM.cpp - * @brief Source file for class JAConditionalSignalUpdateGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAConditionalSignalUpdateGAM (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 "JAConditionalSignalUpdateGAM.h" -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAConditionalSignalUpdateGAM::JAConditionalSignalUpdateGAM() { - inputSignals = NULL_PTR(void **); - inputSignalTypes = NULL_PTR(MARTe::TypeDescriptor *); - values = NULL_PTR(MARTe::uint32 *); - valuesCount = 0u; - outputSignals = NULL_PTR(MARTe::uint32 **); - defaultValues = NULL_PTR(MARTe::uint32 **); - needsReset = false; - expectedValues = NULL_PTR(MARTe::uint32 *); - expectedValuesCount = 0u; - operation = And; - comparators = NULL_PTR(ComparisonMode *); -} - -JAConditionalSignalUpdateGAM::~JAConditionalSignalUpdateGAM() { - if (outputSignals != NULL_PTR(MARTe::uint32 **)) { - delete[] outputSignals; - } - if (inputSignals != NULL_PTR(void **)) { - delete[] inputSignals; - } - if (inputSignalTypes != NULL_PTR(MARTe::TypeDescriptor *)) { - delete[] inputSignalTypes; - } - if (values != NULL_PTR(MARTe::uint32 *)) { - delete[] values; - } - if (comparators != NULL_PTR(ComparisonMode *)) { - delete[] comparators; - } - if (defaultValues != NULL_PTR(MARTe::uint32 **)) { - delete[] defaultValues; - } -} - -bool JAConditionalSignalUpdateGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - // Read expected values. - AnyType valuesArray = data.GetType("ExpectedValues"); - - if (valuesArray.GetDataPointer() != NULL) { - expectedValuesCount = valuesArray.GetNumberOfElements(0u); - - expectedValues = new uint32[expectedValuesCount]; - - Vector valuesVector(expectedValues, expectedValuesCount); - ok = (data.Read("ExpectedValues", valuesVector)); - } - } - if (ok) { - // Read comparators. - AnyType comparatorsArray = data.GetType("Comparators"); - if (comparatorsArray.GetDataPointer() != NULL) { - uint32 count; - if (ok) { - count = comparatorsArray.GetNumberOfElements(0u); - ok = count == expectedValuesCount; - } - if (ok) { - comparators = new ComparisonMode[count]; - StreamString* comp = new StreamString[count]; - Vector compVector(comp, count); - - ok = (data.Read("Comparators", compVector)); - - if (ok) { - for (uint32 i = 0; i < count; ++i) { - if (comp[i] == "EQUALS") { - comparators[i] = Equals; - } else if (comp[i] == "NOT") { - comparators[i] = Not; - } else if (comp[i] == "GREATER") { - comparators[i] = Greater; - } else if (comp[i] == "EQUALS_OR_GREATER") { - comparators[i] = EqualsOrGreater; - } else if (comp[i] == "LESS") { - comparators[i] = Less; - } else if (comp[i] == "EQUALS_OR_LESS") { - comparators[i] = EqualsOrLess; - } else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Comparator %s is not defined.", comp[i].Buffer()); - } - } - } - delete[] comp; - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } else { - // Create default comparators (equals) when they aren't provided in the configuration. - comparators = new ComparisonMode[expectedValuesCount]; - for (uint32 i = 0; i < expectedValuesCount; ++i) { - comparators[i] = Equals; - } - } - } - if (ok) { - MARTe::StreamString operationStr; - if (data.Read("Operation", operationStr)) { - if (operationStr == "AND") { - operation = And; - } - else if (operationStr == "OR") { - operation = Or; - } - else if (operationStr == "NOR") { - operation = Nor; - } - else if (operationStr == "XOR") { - operation = Xor; - } - else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Operation %s is not defined", operationStr.Buffer()); - } - } - } - if (ok) { - // Read output signal values to be set. - AnyType valuesArray = data.GetType("Values"); - ok = (valuesArray.GetDataPointer() != NULL); - - if (ok) { - valuesCount = valuesArray.GetNumberOfElements(0u); - ok = valuesCount > 0u; - } - if (ok) { - values = new uint32[valuesCount]; - - Vector valuesVector(values, valuesCount); - ok = (data.Read("Values", valuesVector)); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Values shall be defined."); - } - } - return ok; -} - -bool JAConditionalSignalUpdateGAM::Setup() { - using namespace MARTe; - bool ok = numberOfInputSignals == (expectedValuesCount + numberOfOutputSignals); - if (ok) { - inputSignals = new void*[expectedValuesCount]; - defaultValues = new uint32*[numberOfOutputSignals]; - uint32 i; - for (i = 0u; i < expectedValuesCount; i++) { - inputSignals[i] = GetInputSignalMemory(i); - } - for (; i < numberOfInputSignals; i++) { - defaultValues[i - expectedValuesCount] = reinterpret_cast(GetInputSignalMemory(i)); - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be equal to number " - "of expected values plus number of output signals."); - } - if (ok) { - inputSignalTypes = new TypeDescriptor[expectedValuesCount]; - uint32 i; - for (i = 0u; (i < expectedValuesCount) && (ok); i++) { - inputSignalTypes[i] = GetSignalType(InputSignals, i); - ok = ((inputSignalTypes[i] == UnsignedInteger32Bit) || (inputSignalTypes[i] == UnsignedInteger16Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint16", signalName.Buffer()); - } - } - } - if (ok) { - ok = numberOfOutputSignals == valuesCount; - if (ok) { - ok = numberOfOutputSignals > 0u; - if (ok) { - outputSignals = new uint32*[numberOfOutputSignals]; - uint32 i; - for (i = 0u; i < numberOfOutputSignals; i++) { - outputSignals[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one output signal shall be defined"); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of output signals shall be the same as " - "number of provided values."); - } - } - - return ok; -} - -bool JAConditionalSignalUpdateGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - needsReset = false; - return true; -} - -bool JAConditionalSignalUpdateGAM::Execute() { - if (!needsReset) { - bool eventDetected = expectedValuesCount == 0; - if (!eventDetected) { - if (operation == Or) { - MARTe::uint32 j; - for (j = 0; (j < expectedValuesCount) && (!eventDetected); j++) { - eventDetected = Compare(j); - } - } - else if (operation == Nor) { - MARTe::uint32 j; - for (j = 0; (j < expectedValuesCount) && (!eventDetected); j++) { - eventDetected = Compare(j); - } - eventDetected = !eventDetected; - } - else if (operation == And) { - MARTe::uint32 j; - eventDetected = Compare(0); - for (j = 1; (j < expectedValuesCount); j++) { - eventDetected &= Compare(j); - } - } - else if (operation == Xor) { - MARTe::uint32 j; - MARTe::uint32 eventDetectedUint32; - if (inputSignalTypes[0] == MARTe::UnsignedInteger32Bit) { - eventDetectedUint32 = *static_cast(inputSignals[0]); - } - else { - eventDetectedUint32 = *static_cast(inputSignals[0]); - } - for (j = 1; (j < expectedValuesCount); j++) { - eventDetectedUint32 ^= Compare(j); - } - eventDetected = (eventDetectedUint32 == 1u); - } - } - if (eventDetected) { - needsReset = true; - MARTe::uint32 i; - for (i = 0u; i < numberOfOutputSignals; ++i) { - *outputSignals[i] = values[i]; - MARTe::StreamString signalName; - (void) GetSignalName(MARTe::OutputSignals, i, signalName); - } - } - else { - MARTe::uint32 i; - for (i = 0u; i < numberOfOutputSignals; ++i) { - *outputSignals[i] = *defaultValues[i]; - } - } - } - return true; -} - -bool JAConditionalSignalUpdateGAM::Compare(MARTe::uint32 index) { - if (inputSignalTypes[index] == MARTe::UnsignedInteger32Bit) { - return Compare(index); - } - return Compare(index); -} - -CLASS_REGISTER(JAConditionalSignalUpdateGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h deleted file mode 100644 index 2cf5c5d..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h +++ /dev/null @@ -1,180 +0,0 @@ -/** - * @file JAConditionalSignalUpdateGAM.h - * @brief Header file for class JAConditionalSignalUpdateGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAConditionalSignalUpdateGAM - * 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_JACONDITIONALSIGNALUPDATEGAM_H_ -#define GAMS_JACONDITIONALSIGNALUPDATEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that writes predefined values to output signals when a condition is met. - * If there are no conditional signals provided, the condition is presumed to be met. - * - * +ASYNCShotlengthControlGAM = { - * Class = JAConditionalSignalUpdateGAM - * Operation = OR // Logical operation performed between conditional signals - * // Supported values: AND, OR, XOR, NOR - * // Default: AND - * ExpectedValues = {1 1} // Values to which conditional signals will be compared. - * Comparators = {EQUALS EQUALS} // Operator between conditional signal an expected value - * // Supported values: EQUALS, NOT, GREATER, EQUALS_OR_GREATER, LESS, EQUALS_OR_LESS - * // Default: EQUALS - * Values = {0 3} // Values that will be written to output signals when condition is met. - * InputSignals = { - * // Conditional Signals - * SHOTLEN_FLAG = { - * DataSource = DDB1 - * Type = uint32 - * } - * MODE_SHOTLEN_FLAG = { - * DataSource = DDB1 - * Type = uint32 - * } - * // Default values (set to output signals before the condition is met) - * APS_SWON = { // APS_SWON will keep the value from previous state. - * DataSource = DDB1 - * Type = uint32 - * } - * BPS_SWON_DEFAULT = { // BPS_SWON will be set to 7 before condition is met. - * DataSource = DDB1 - * Type = uint32 - * Default = 7 - * } - * } - * OutputSignals = { - * APS_SWON = { - * DataSource = DDB1 - * Type = uint32 - * } - * BPS_SWON = { - * DataSource = DDB1 - * Type = uint32 - * } - * } - * } - */ -class JAConditionalSignalUpdateGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAConditionalSignalUpdateGAM(); - - virtual ~JAConditionalSignalUpdateGAM(); - - 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: - /** - * @brief Does the input signal at provided index have the expected value. - * @param[in] index of the signal. - * @return true if the signal has expected value. - */ - bool Compare(MARTe::uint32 index); - - template - bool Compare(MARTe::uint32 index); - - enum OperationMode { - And, Or, Xor, Nor - }; - - enum ComparisonMode { - Equals, Not, Greater, EqualsOrGreater, Less, EqualsOrLess - }; - - // Input signals - void **inputSignals; - - MARTe::TypeDescriptor *inputSignalTypes; - - // Condition operation. - OperationMode operation; - - // Array of expected values of input signals. - MARTe::uint32* expectedValues; - - // Expected values count (must be equal to numberOfInputSignals) - MARTe::uint32 expectedValuesCount; - - // Array of comparators - ComparisonMode* comparators; - - // Values to be written on output signals when input signal has the expected value. - MARTe::uint32 *values; - - // Number of values (must be equal to numberOfOutputSignals) - MARTe::uint32 valuesCount; - - // Output signals - MARTe::uint32 **outputSignals; - - // Default values of output signals - MARTe::uint32 **defaultValues; - - // Were output signals already set and we are waiting for a state change before they are set again. - bool needsReset; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -template -bool JAConditionalSignalUpdateGAM::Compare(MARTe::uint32 index) { - switch (comparators[index]) { - case Equals: - return *static_cast(inputSignals[index]) == static_cast(expectedValues[index]); - case Not: - return *static_cast(inputSignals[index]) != static_cast(expectedValues[index]); - case Greater: - return *static_cast(inputSignals[index]) > static_cast(expectedValues[index]); - case EqualsOrGreater: - return *static_cast(inputSignals[index]) >= static_cast(expectedValues[index]); - case Less: - return *static_cast(inputSignals[index]) < static_cast(expectedValues[index]); - default: // case EqualsOrLess: - return *static_cast(inputSignals[index]) <= static_cast(expectedValues[index]); - } -} - -#endif /* GAMS_JACONDITIONALSIGNALUPDATEGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc deleted file mode 100644 index 5853027..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc +++ /dev/null @@ -1,53 +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=JAConditionalSignalUpdateGAM.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)/JAConditionalSignalUpdateGAM$(LIBEXT) \ - $(BUILD_DIR)/JAConditionalSignalUpdateGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/JAMessageGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/JAMessageGAM.cpp deleted file mode 100644 index 50ca308..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/JAMessageGAM.cpp +++ /dev/null @@ -1,347 +0,0 @@ -/** - * @file JAMessageGAM.cpp - * @brief Source file for class JAMessageGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAMessageGAM (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 "AdvancedErrorManagement.h" -#include "JAMessageGAM.h" -#include "MessageI.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -template -bool Compare(JAMessageGAM::ComparisonMode comparator, void *inputSignal, U expectedValue) { - switch (comparator) { - case JAMessageGAM::Equals: - return *static_cast(inputSignal) == expectedValue; - case JAMessageGAM::Not: - return *static_cast(inputSignal) != expectedValue; - case JAMessageGAM::Greater: - return *static_cast(inputSignal) > expectedValue; - case JAMessageGAM::EqualsOrGreater: - return *static_cast(inputSignal) >= expectedValue; - case JAMessageGAM::Less: - return *static_cast(inputSignal) < expectedValue; - default: // case EqualsOrLess: - return *static_cast(inputSignal) <= expectedValue; - } -} - -JAMessageGAM::JAMessageGAM() { - inputSignals = NULL_PTR(void **); - inputSignalTypes = NULL_PTR(MARTe::TypeDescriptor *); - operation = And; - needsReset = false; - expectedValuesInt = NULL_PTR(MARTe::uint64 *); - expectedValuesFloat = NULL_PTR(MARTe::float64 *); - intValuesCount = 0u; - floatValuesCount = 0u; - comparators = NULL_PTR(ComparisonMode *); -} - -JAMessageGAM::~JAMessageGAM() { - if (inputSignals != NULL_PTR(void **)) { - delete[] inputSignals; - } - if (inputSignalTypes != NULL_PTR(MARTe::TypeDescriptor *)) { - delete[] inputSignalTypes; - } - if (expectedValuesInt != NULL_PTR(MARTe::uint64 *)) { - delete[] expectedValuesInt; - } - if (expectedValuesFloat != NULL_PTR(MARTe::float64 *)) { - delete[] expectedValuesFloat; - } - if (comparators != NULL_PTR(ComparisonMode *)) { - delete[] comparators; - } -} - -bool JAMessageGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - // Read expected integer values. - AnyType valuesArray = data.GetType("ExpectedIntValues"); - bool intValuesProvided = (valuesArray.GetDataPointer() != NULL); - - if (intValuesProvided) { - intValuesCount = valuesArray.GetNumberOfElements(0u); - } - if (intValuesProvided) { - expectedValuesInt = new uint64[intValuesCount]; - - Vector valuesVector(expectedValuesInt, intValuesCount); - ok = (data.Read("ExpectedIntValues", valuesVector)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Failed to read ExpectedIntValues."); - return ok; - } - } - // Read expected float values. - valuesArray = data.GetType("ExpectedFloatValues"); - bool floatValuesProvided = (valuesArray.GetDataPointer() != NULL); - - if (floatValuesProvided) { - floatValuesCount = valuesArray.GetNumberOfElements(0u); - } - if (floatValuesProvided) { - expectedValuesFloat = new float64[floatValuesCount]; - - Vector valuesVector(expectedValuesFloat, floatValuesCount); - ok = (data.Read("ExpectedFloatValues", valuesVector)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Failed to read ExpectedFloatValues."); - return ok; - } - } - - ok = (floatValuesCount + intValuesCount) > 0u; - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "ExpectedFloatValues and or ExpectedIntValues shall be defined."); - } - } - if (ok) { - // Read comparators. - AnyType comparatorsArray = data.GetType("Comparators"); - if (comparatorsArray.GetDataPointer() != NULL) { - uint32 count = comparatorsArray.GetNumberOfElements(0u); - ok = count == (intValuesCount + floatValuesCount); - if (ok) { - comparators = new ComparisonMode[count]; - StreamString* comp = new StreamString[count]; - Vector compVector(comp, count); - - ok = (data.Read("Comparators", compVector)); - - if (ok) { - for (uint32 i = 0; i < count; ++i) { - if (comp[i] == "EQUALS") { - comparators[i] = Equals; - } else if (comp[i] == "NOT") { - comparators[i] = Not; - } else if (comp[i] == "GREATER") { - comparators[i] = Greater; - } else if (comp[i] == "EQUALS_OR_GREATER") { - comparators[i] = EqualsOrGreater; - } else if (comp[i] == "LESS") { - comparators[i] = Less; - } else if (comp[i] == "EQUALS_OR_LESS") { - comparators[i] = EqualsOrLess; - } else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Comparator %s is not defined.", comp[i].Buffer()); - } - } - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } else { - uint32 count = intValuesCount + floatValuesCount; - if (ok) { - // Create default comparators (equals) when they aren't provided in the configuration. - comparators = new ComparisonMode[count]; - for (uint32 i = 0; i < count; ++i) { - comparators[i] = Equals; - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } - } - if (ok) { - MARTe::StreamString operationStr; - if (data.Read("Operation", operationStr)) { - if (operationStr == "AND") { - operation = And; - } - else if (operationStr == "OR") { - operation = Or; - } - else if (operationStr == "NOR") { - operation = Nor; - } - else if (operationStr == "XOR") { - operation = Xor; - } - else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Operation %s is not defined", operationStr.Buffer()); - } - } - } - if (ok) { - ok = (Size() == 1); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "A Message object shall be added to this container"); - } - } - if (ok) { - eventMsg = Get(0); - ok = (eventMsg.IsValid()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "A valid Message shall be added to this container"); - } - } - return ok; -} - -bool JAMessageGAM::Setup() { - using namespace MARTe; - bool ok = numberOfInputSignals == (intValuesCount + floatValuesCount); - if (ok) { - ok = numberOfInputSignals > 0u; - if (ok) { - inputSignals = new void*[numberOfInputSignals]; - uint32 i; - for (i = 0u; i < numberOfInputSignals; i++) { - inputSignals[i] = GetInputSignalMemory(i); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one input signal shall be defined"); - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be the same as " - "number of expected values."); - } - if (ok) { - inputSignalTypes = new TypeDescriptor[numberOfInputSignals]; - uint32 i; - for (i = 0u; (i < numberOfInputSignals) && (ok); i++) { - TypeDescriptor inputType = GetSignalType(InputSignals, i); - inputSignalTypes[i] = inputType; - ok = (inputType == UnsignedInteger32Bit) || (inputType == SignedInteger32Bit) || - (inputType == UnsignedInteger16Bit) || (inputType == SignedInteger16Bit) || - (inputType == UnsignedInteger8Bit) || (inputType == SignedInteger8Bit) || - (inputType == Float64Bit) || (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as 32/16/8 bit signed/unsigned integer " - "or as 64/32 float.", signalName.Buffer()); - } - } - } - - return ok; -} - -bool JAMessageGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - needsReset = false; - return true; -} - -bool JAMessageGAM::Execute() { - using namespace MARTe; - bool ok = true; - bool eventDetected = false; - uint32 inputPortIndex = 0; - uint32 intIndex = 0; - uint32 floatIndex = 0; - if (operation == Or) { - for (inputPortIndex = 0; (inputPortIndex < numberOfInputSignals) && (!eventDetected); inputPortIndex++) { - eventDetected = Compare(inputPortIndex, floatIndex, intIndex); - } - } - else if (operation == Nor) { - for (inputPortIndex = 0; (inputPortIndex < numberOfInputSignals) && (!eventDetected); inputPortIndex++) { - eventDetected = Compare(inputPortIndex, floatIndex, intIndex); - } - eventDetected = !eventDetected; - } - else if (operation == And) { - eventDetected = Compare(0, floatIndex, intIndex); - for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals); inputPortIndex++) { - eventDetected &= Compare(inputPortIndex, floatIndex, intIndex); - } - } - else if (operation == Xor) { - uint32 eventDetectedUInt32 = Compare(inputPortIndex, floatIndex, intIndex); - for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals); inputPortIndex++) { - eventDetectedUInt32 ^= Compare(inputPortIndex, floatIndex, intIndex); - } - eventDetected = (eventDetectedUInt32 == 1u); - } - if (eventDetected) { - if (!needsReset) { - ok = (MessageI::SendMessage(eventMsg, this) == ErrorManagement::NoError); - needsReset = true; - } - } - return ok; -} - -bool JAMessageGAM::Compare(MARTe::uint32 inputPortIndex, MARTe::uint32 &floatValueIndex, MARTe::uint32 &intValueIndex) { - using namespace MARTe; - bool ret = false; - if (inputSignalTypes[inputPortIndex] == UnsignedInteger32Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger32Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == UnsignedInteger16Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger16Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == UnsignedInteger8Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger8Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == Float64Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesFloat[floatValueIndex]); - ++floatValueIndex; - } - else { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesFloat[floatValueIndex]); - ++floatValueIndex; - } - return ret; -} - -CLASS_REGISTER(JAMessageGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/JAMessageGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/JAMessageGAM.h deleted file mode 100644 index 0cdb315..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/JAMessageGAM.h +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @file JAMessageGAM.h - * @brief Header file for class JAMessageGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAMessageGAM - * 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_JAMESSAGEGAM_H_ -#define GAMS_JAMESSAGEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that sends a message when input signals have expected values. Message will not be sent multiple - * times without first changing the application state. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- * +MessageGAM = {
- *      Class = JAMessageGAM
- *      Operation = AND // Accepted values are: AND, OR, XOR, NOR. Default value is AND.
- *      ExpectedIntValues = {1 10} // Expected values for input signals of integral type.
- *      ExpectedFloatValues = {3.5} // Expected values for float signals of floting point type.
- *      Comparators = {EQUALS GREATER NOT} // Accepted values are: EQUALS, NOT, GREATER, EQUALS_OR_GREATER, LESS, EQUALS_OR_LESS
- *                                         // Comparators element is optional. Default comparator is EQUALS.
- *      InputSignals = {
- *          Sig1 = {
- *              DataSource = EPICSCAInput
- *              Type = uint32
- *          }
- *          Sig2 = {
- *              DataSource = EPICSCAInput
- *              Type = float32
- *          }
- *          Sig3 = {
- *              DataSource = EPICSCAInput
- *              Type = uint32
- *          }
- *      }
- *      +Event = { // Message to be sent when condition is true.
- *          Class = Message
- *          Destination = StateMachine
- *          Function = GoDisabled
- *      }
- *  }
- * 
- * This example will send Event message when Sig1 == 1 && Sig2 > 3.5 && Sig3 != 10 - */ -class JAMessageGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAMessageGAM(); - - virtual ~JAMessageGAM(); - - 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); - - enum ComparisonMode { - Equals, Not, Greater, EqualsOrGreater, Less, EqualsOrLess - }; - -private: - /** - * @brief Does the input signal at provided index have the expected value. - * @param[in] index of the signal. - * @param[out] floatValueIndex lookup index for expected float values array. - * @param[out] intValueIndex lookup index for expected integer values array. - * @return true if the signal has expected value. - */ - bool Compare(MARTe::uint32 index, MARTe::uint32 &floatValueIndex, MARTe::uint32 &intValueIndex); - - enum OperationMode { - And, Or, Xor, Nor - }; - - // Input signals - void **inputSignals; - - MARTe::TypeDescriptor *inputSignalTypes; - - // Condition operation. - OperationMode operation; - - // Message to be sent when conditions are met. - MARTe::ReferenceT eventMsg; - - // Was the message already sent and we are waiting for a state change before next message can be sent. - bool needsReset; - - // Array of expected integer values of input signals. - MARTe::uint64* expectedValuesInt; - - // Array of expected float values for input signals. - MARTe::float64* expectedValuesFloat; - - // Expected integer values count (must be equal to numberOfInputSignals - floatValuesCount) - MARTe::uint32 intValuesCount; - - // Expected integer values count (must be equal to numberOfInputSignals - floatValuesCount) - MARTe::uint32 floatValuesCount; - - // Array of comparators - ComparisonMode* comparators; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAMESSAGEGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/Makefile.inc deleted file mode 100644 index e2e2415..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAMessageGAM/Makefile.inc +++ /dev/null @@ -1,53 +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=JAMessageGAM.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)/JAMessageGAM$(LIBEXT) \ - $(BUILD_DIR)/JAMessageGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.cpp deleted file mode 100644 index c55e6d0..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/** - * @file JAModeControlGAM.cpp - * @brief Source file for class JAModeControlGAM - * @date Jan, 2019 - * @author kuchida - * - * @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 JAModeControlGAM (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 "JAModeControlGAM.h" -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAModeControlGAM::JAModeControlGAM() { - inputSignals = NULL_PTR(MARTe::uint32 **); - outputSignal = NULL_PTR(MARTe::uint32 *); - pulseLengthLimit = 360000000u; - resetRemainingTime = true; - previousState = 0u; -} - -JAModeControlGAM::~JAModeControlGAM() { - if (inputSignals != NULL_PTR(MARTe::uint32 **)) { - delete[] inputSignals; - } -} - -bool JAModeControlGAM::Initialise(MARTe::StructuredDataI & data) { - /* read hard coded on cfg file parameter values by using key name. */ - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JAModeControlGAM::Setup() { - /* read GAM Input signal */ - using namespace MARTe; - /* read 4 mode bits and 4 shot length limit values */ - - bool ok = numberOfInputSignals == 11; - if (ok) { - uint32 i; - for (i = 0u; (i < numberOfInputSignals) && (ok); i++) { - TypeDescriptor inputType = GetSignalType(InputSignals, i); - ok = inputType == UnsignedInteger32Bit; - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "InputSignel %s shall be defined as uint32", signalName.Buffer()); - } - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Eleven input signals shall be defined."); - } - if (ok) { - ok = numberOfOutputSignals == 1; - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "One output signal shall be defined."); - } - else { - TypeDescriptor type = GetSignalType(OutputSignals, 0); - ok = type == UnsignedInteger32Bit; - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 0, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - } - if (ok) { - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - inputSignals = new uint32*[numberOfInputSignals]; - uint32 i; - for (i = 0u; i < 11; i++) { - inputSignals[i] = reinterpret_cast(GetInputSignalMemory(i)); - } - } - return ok; -} - -bool JAModeControlGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - *outputSignal = 0u; - previousState = 0u; - resetRemainingTime = true; - return true; -} - -bool JAModeControlGAM::Execute() { - using namespace MARTe; - //When RT state goes to RFON state, update the limit. - if(previousState == 0u && *inputSignals[8] == 1u && resetRemainingTime) { - rfonTime = *inputSignals[9]; - resetRemainingTime = false; - pulseLengthLimit = CalcPulseLengthLimit(inputSignals); - 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)) { - *outputSignal = 0u; - return true; - } else if(*inputSignals[9] == 1u){ - resetRemainingTime = true; - *outputSignal = 1u; - } - - previousState = *inputSignals[8]; - return true; -} - - -MARTe::uint32 JAModeControlGAM::CalcPulseLengthLimit(MARTe::uint32 **inputSignals) { - if (*inputSignals[0] == 1) { - return *inputSignals[1]; - } else if (*inputSignals[2] == 1) { - return *inputSignals[3]; - } else if (*inputSignals[4] == 1) { - return *inputSignals[5]; - } else if (*inputSignals[6] == 1) { - return *inputSignals[7]; - } else { - return 3600000000;//us - } -} - - -CLASS_REGISTER(JAModeControlGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.h deleted file mode 100644 index e9041ce..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/JAModeControlGAM.h +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @file JAModeControlGAM.h - * @brief Header file for class JAModeControlGAM - * @date Jan, 2019 - * @author kuchida - * - * @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 JAModeControlGAM - * 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_JAMODECONTROLGAM_H_ -#define GAMS_JAMODECONTROLGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that check the pulse lenght limit. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +ModeLimitGAM = {
- *           Class = JAModeControlGAM
- *           InputSignals = {
- *               PLC_MODE1 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD1_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE2 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD2_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE3 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD3_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE4 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD4_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               RFON = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint32
- *               }
- *               Time = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               HVInjection = {
- *               	DataSource = RealTimeThreadAsyncBridge
- *               	Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               MODE_SHOTLEN_FLAG = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *       }
- * 
- * If MODE1 is ON and Time is exceed MD1_SHOTLEN_LIM, MODE_SHOTLEN_FLAG become ON. - */ - -class JAModeControlGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAModeControlGAM(); - - virtual ~JAModeControlGAM(); - - 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: - - MARTe::uint32 CalcPulseLengthLimit(MARTe::uint32 **inputSignals); - - // Input signals - MARTe::uint32 **inputSignals; - - // Output signals - MARTe::uint32 *outputSignal; - - // Calculated pulse lenght limit. - MARTe::uint32 pulseLengthLimit; - - // Amount of time passed per execution cycle. - MARTe::uint32 rfonTime; - - // reset flag - bool resetRemainingTime; - MARTe::uint32 previousState; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAMODECONTROLGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/Makefile.inc deleted file mode 100644 index 2654a66..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAModeControlGAM/Makefile.inc +++ /dev/null @@ -1,52 +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=JAModeControlGAM.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)/JAModeControlGAM$(LIBEXT) \ - $(BUILD_DIR)/JAModeControlGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp deleted file mode 100644 index 06de1df..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp +++ /dev/null @@ -1,460 +0,0 @@ -/** - * @file JAPreProgrammedGAM.cpp - * @brief Source file for class JAPreProgrammedGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAPreProgrammedGAM (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 "AdvancedErrorManagement.h" -#include "CLASSMETHODREGISTER.h" -#include "File.h" -#include "JAPreProgrammedGAM.h" -#include "MessageI.h" -#include "RegisteredMethodsMessageFilter.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -// How often output signals are updated. -const MARTe::uint32 cycleMs = 10u; - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAPreProgrammedGAM::JAPreProgrammedGAM() : - GAM() { - using namespace MARTe; - filenameSignalIndex = 0u; - timeSignal = NULL_PTR(MARTe::int32 *); - loadTriggerSignal = NULL_PTR(MARTe::uint32 *); - fhpsrefSignal = NULL_PTR(MARTe::float32 *); - rfonStateSignal = NULL_PTR(MARTe::uint32 *); - - valueSignals = NULL_PTR(MARTe::float32 **); - preProgrammedValues = NULL_PTR(MARTe::float32 **); - preProgrammedTime = NULL_PTR(MARTe::int32 *); - fileLoadedSignal = NULL_PTR(MARTe::uint32 *); - fileLoadErrorOutput = NULL_PTR(MARTe::uint32 *); - - startTime = 0u; - numberOfPreProgrammedValues = 0u; - numberOfPreProgrammedTimeRows = 0u; - currentRow = 0u; - mode = None; - preProgrammedExecutaionPeriodMs = 0u; - msCounter = 0u; - preProgrammedRow = 0u; - resetOutputSignals = false; - readOnce = true; -} - -JAPreProgrammedGAM::~JAPreProgrammedGAM() { - DeleteArrays(); - if (valueSignals != NULL_PTR(MARTe::float32 **)) { - delete[] valueSignals; - } -} - -bool JAPreProgrammedGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("Directory", directory); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - if (ok) { - ok = data.Read("PreProgrammedPeriodMs", preProgrammedExecutaionPeriodMs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - return ok; -} - -bool JAPreProgrammedGAM::Setup() { - using namespace MARTe; - //Signal number check. - bool ok = (numberOfInputSignals == 4u); - if (ok) { - ok = (numberOfOutputSignals > 2u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "At least two output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Four input signals with the filename and file load trigger shall be defined"); - } - //Input signals type consistency check. - if (ok) { - StreamString signalName = "Filename"; - ok = GetSignalIndex(InputSignals, filenameSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Filename input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, filenameSignalIndex); - ok = (inputType == CharString); - if (!ok) { - ok = (inputType == Character8Bit); - } - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, filenameSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as string", signalName.Buffer()); - } - } - } - if (ok) { - StreamString signalName = "CSV_LOAD"; - uint32 loadSignalIndex; - ok = GetSignalIndex(InputSignals, loadSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "CSV_LOAD input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, loadSignalIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, loadSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } else { - loadTriggerSignal = reinterpret_cast(GetInputSignalMemory(loadSignalIndex)); - } - } - } - if (ok) { - StreamString signalName = "FHPS_REF"; - uint32 fhpsrefIndex; - ok = GetSignalIndex(InputSignals, fhpsrefIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "FHPS_REF input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, fhpsrefIndex); - ok = (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, fhpsrefIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - fhpsrefSignal = reinterpret_cast(GetInputSignalMemory(fhpsrefIndex)); - } - } - } - if (ok) { - StreamString signalName = "RFON"; - uint32 rfonIndex; - ok = GetSignalIndex(InputSignals, rfonIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "RFON input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, rfonIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, rfonIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - rfonStateSignal = reinterpret_cast(GetInputSignalMemory(rfonIndex)); - } - } - } - - //Output signals type check. - if (ok) { - TypeDescriptor timeType = GetSignalType(OutputSignals, 0); - ok = (timeType == SignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, 0, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as int32", signalName.Buffer()); - } - - uint32 i; - for (i = 1u; (i <= 6) && (ok); i++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, i); - ok = (outputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, i, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } - } - - if (ok) { - TypeDescriptor fileLoadedType = GetSignalType(OutputSignals, 7u); - ok = (fileLoadedType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 6u, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - if (ok) { - TypeDescriptor fileLoadErrorOutputType = GetSignalType(OutputSignals, 8u); - ok = (fileLoadErrorOutputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 7u, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - } - - //Register signal memory - if (ok) { - timeSignal = reinterpret_cast(GetOutputSignalMemory(0)); - valueSignals = new float32*[6u]; - uint32 i; - for (i = 1u; i <= 6u; i++) { - valueSignals[i - 1] = reinterpret_cast(GetOutputSignalMemory(i)); - } - fileLoadedSignal = reinterpret_cast(GetOutputSignalMemory(7u)); - fileLoadErrorOutput = reinterpret_cast(GetOutputSignalMemory(8u)); - } - return ok; -} - -bool JAPreProgrammedGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - bool ok = true; - if (strcmp(nextStateName, "WaitReady") == 0) { - mode = LoadFileMode; - resetOutputSignals = true; - // Reset read once flag when reentering WaitReady state. - readOnce = true; - } else if (strcmp(nextStateName, "WaitPermit") == 0) { - mode = LoadFileMode; - resetOutputSignals = true; - currentRow = 0u; - } else if (strcmp(nextStateName, "WaitHVON_PREP") == 0 || strcmp(nextStateName, "WaitHVON_SDN_PREP") == 0) { - ok = numberOfPreProgrammedTimeRows > 0; - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::IllegalOperation, "Entering PreProgrammed mode without any waveform data."); - } - mode = PreProgrammedMode; - msCounter = cycleMs; - currentRow = 0u; - } else { - mode = None; - } - return ok; -} - -bool JAPreProgrammedGAM::LoadFile() { - using namespace MARTe; - - DeleteArrays(); - - bool ok = true; - - const MARTe::char8 * const filenameSignal = reinterpret_cast(GetInputSignalMemory(filenameSignalIndex)); - //Prepare full path to the configuration file. - StreamString filename = directory; - filename += DIRECTORY_SEPARATOR; - filename += filenameSignal; - REPORT_ERROR(MARTe::ErrorManagement::Debug, "Opening file %s", filename.Buffer()); - - //parse prepro configuration file into two arrays(time, values). - File f; - ok = f.Open(filename.Buffer(), BasicFile::ACCESS_MODE_R); - if (ok) { - //Count up number of file Rows. - numberOfPreProgrammedTimeRows = 0u; - StreamString tokenLine; - while (f.GetLine(tokenLine)) { - if (tokenLine[0] != '#' && tokenLine[0] != '-') { - numberOfPreProgrammedTimeRows++; - } - tokenLine = ""; - } - //Count up number of file lines - numberOfPreProgrammedValues = 0u; - f.Seek(0); - uint32 t = 0u; - tokenLine = ""; - while ((ok) && (f.GetLine(tokenLine))) { - // Skip comment line and minus time - if (tokenLine[0] == '#' || tokenLine[0] == '-') { - tokenLine = ""; - continue; - } - // Prepare two arrays at first. - if (numberOfPreProgrammedValues == 0) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - while (tokenLine.GetToken(token, ",", ignored)) { - numberOfPreProgrammedValues++; - token = ""; - } -REPORT_ERROR(MARTe::ErrorManagement::ParametersError,"numberOfPreProgrammedVal %d", numberOfPreProgrammedValues); - ok = (numberOfPreProgrammedValues == 7u);//From time row to FHPS row. - numberOfPreProgrammedValues -= 1u; //From MHVPS row to FHPS row. - if (ok) { - preProgrammedTime = new int32[numberOfPreProgrammedTimeRows]; - preProgrammedValues = new float32*[numberOfPreProgrammedTimeRows]; - uint32 j; - for (j = 0u; j < numberOfPreProgrammedTimeRows; j++) { - preProgrammedValues[j] = new float32[numberOfPreProgrammedValues]; - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, - "Number of columns in csv file (%d) is not consistent with the number of output signals (%d)", - numberOfPreProgrammedValues, 6u); - *fileLoadErrorOutput = 1; - } - } - // Add loaded data into two arrays. - if (ok) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - uint32 idx = 0u; - while (tokenLine.GetToken(token, ",", ignored)) { - if (idx == 0u) { - preProgrammedTime[t] = atoi(token.Buffer()); - if (t == 0 && preProgrammedTime[0] != 0) { - REPORT_ERROR(MARTe::ErrorManagement::Debug, "Prepro start from none zero time."); - } - } - else { - ok = ((idx - 1) < numberOfPreProgrammedValues); - if (ok) { - preProgrammedValues[t][idx - 1] = static_cast(atof(token.Buffer())); - } - else { - REPORT_ERROR(MARTe::ErrorManagement::FatalError, "Number of columns in csv file is not consistent with the number of output signals in line %d", t); - *fileLoadErrorOutput = 1; - } - } - token = ""; - idx++; - } - t++; - } - tokenLine = ""; - } - f.Close(); - } - if (ok) { - currentRow = 0u; - } - else { - numberOfPreProgrammedTimeRows = 0u; - REPORT_ERROR(ErrorManagement::Warning, "Failed to read waveform data from file."); - *fileLoadErrorOutput = 2; - } - return ok; -} - -bool JAPreProgrammedGAM::Execute() { - using namespace MARTe; - bool ok = true; - - switch (mode) { - case LoadFileMode: { - if (*loadTriggerSignal == 1u) { - if (readOnce) { - *fileLoadErrorOutput = 0; - *fileLoadedSignal = LoadFile() ? 1 : 0; - readOnce = false; - } - } else { - // Reset read once flag when loadTriggerSignal is reset. - readOnce = true; - } - - if (resetOutputSignals) { - // Write default values to output signals - *timeSignal = 0u; - *valueSignals[FHPS-1] = *fhpsrefSignal; - resetOutputSignals = false; - } else { - *valueSignals[FHPS-1] = *fhpsrefSignal; //copy input(2) to val_arr(4) - } - } break; - - case PreProgrammedMode: { - ok = numberOfPreProgrammedTimeRows > 0; - - //add 20210105. Before RFON, prepro setpoints should be same as the values listed at csv first line. - if (ok && *rfonStateSignal == 0) { - uint32 j; - for (j = 0u; j < FHPS; j++) { - *valueSignals[j] = preProgrammedValues[0][j]; - } - } - //end 20210105 - - if (ok && currentRow < numberOfPreProgrammedTimeRows && *rfonStateSignal == 1) { - if (msCounter >= cycleMs) { - msCounter -= cycleMs; - int32 currentTime = preProgrammedTime[currentRow]; - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Write Time at %d",currentRow); - // Write to output signals - *timeSignal = currentTime; - uint32 j; - for (j = 0u; j < FHPS; j++) { - *valueSignals[j] = preProgrammedValues[currentRow][j]; - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Write Value %f at row %d",preProgrammedValues[currentRow][j], currentRow); - } - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Writing pre programmed data for time %d", currentTime); - - // Update row - ++currentRow; - } - msCounter += preProgrammedExecutaionPeriodMs; - } - } break; - default: - // Nothing to do. - REPORT_ERROR(MARTe::ErrorManagement::Warning, "Unhandled mode."); - break; - } - return ok; -} - -void JAPreProgrammedGAM::DeleteArrays() { - if (preProgrammedValues != NULL_PTR(MARTe::float32 **)) { - MARTe::uint32 i; - for (i = 0u; i < numberOfPreProgrammedValues; i++) { - delete preProgrammedValues[i]; - } - delete[] preProgrammedValues; - } - if (preProgrammedTime != NULL_PTR(MARTe::int32 *)) { - delete[] preProgrammedTime; - } -} - -CLASS_REGISTER(JAPreProgrammedGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h deleted file mode 100644 index 4226fef..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h +++ /dev/null @@ -1,187 +0,0 @@ -/** - * @file JAPreProgrammedGAM.h - * @brief Header file for class JAPreProgrammedGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAPreProgrammedGAM - * 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_JAPREPROGRAMMEDGAM_H_ -#define GAMS_JAPREPROGRAMMEDGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that update PS output value for pre-programmed operation. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +PreProgrammedGAM = {
- *           Class = JAPreProgrammedGAM
- *           Directory = "../Configurations" // Directory which has pre-pro configuration file.
- *           PreProgrammedPeriodMs = 1       // RFON state is executed every millisecond.
- *           InputSignals = {
- *               CSV_LOAD = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               Filename = {
- *                   Alias = CSV_NAME
- *                   DataSource = EPICSCAInput
- *               }
- *               FHPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               RFON = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               GYA_PREHEAT_TIME = {
- *                   DataSource = DDB1
- *                   Type = int32
- *               }
- *               MHVPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               BPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               APS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               MCPS_TRG_CURR_SET = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               GCPS_TRG_CURR_SET = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               FHPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               CSV_LOADED = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               CSV_ERR = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *       }
- * 
- * - */ - -class JAPreProgrammedGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAPreProgrammedGAM(); - - virtual ~JAPreProgrammedGAM(); - - 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: - bool LoadFile(); - - void DeleteArrays(); - - //Parameters - MARTe::StreamString directory; //Location for prepro configuration file. - MARTe::uint32 preProgrammedExecutaionPeriodMs; // Time between to execution cycles in milliseconds in pre-programmed mode. - - //Input Signals - MARTe::uint32 *loadTriggerSignal; //index:0 - MARTe::uint32 filenameSignalIndex;//index:1 - MARTe::float32 *fhpsrefSignal; //index:2 - MARTe::uint32 *rfonStateSignal; //index:3 - - //Output Signals - MARTe::int32 *timeSignal; //index:0 - MARTe::float32 **valueSignals; //index:1-5 = BPS,APS,MC,GC,FHPS - MARTe::uint32 *fileLoadedSignal; //index:6 - MARTe::uint32 *fileLoadErrorOutput;//index:7 - - //Internal variables - MARTe::int32 *preProgrammedTime; - MARTe::float32 **preProgrammedValues; - - MARTe::uint32 startTime; - - //Number of columns in csv, EXCLUDING the time - MARTe::uint32 numberOfPreProgrammedValues; //is 5.(BPS, APS, MC, GC, FHPS) - MARTe::uint32 numberOfPreProgrammedTimeRows; //This start from t=0 row. - MARTe::uint32 currentRow; - - // Number of milliseconds since the last time output signals were updated. - MARTe::uint32 msCounter; - - // Row number where the pre-programmed data begins (time == 0). - MARTe::uint32 preProgrammedRow; - - enum OperationMode { - LoadFileMode, PreProgrammedMode, None - }; - enum PreProTableDefinition { - Time, MHVPS, BPS, APS, MCPS, GCPS, FHPS - }; - - OperationMode mode; - - bool resetOutputSignals; - - // Flag determining whether file should be read (so it isn't read multiple time) - bool readOnce; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAPREPROGRAMMEDGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/Makefile.inc deleted file mode 100644 index 587d4b8..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAPreProgrammedGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JAPreProgrammedGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(LIBEXT) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp deleted file mode 100644 index 56f9b18..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp +++ /dev/null @@ -1,411 +0,0 @@ -/** - * @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(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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - modulation = reinterpret_cast(GetInputSignalMemory(11)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h deleted file mode 100644 index e968f39..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h +++ /dev/null @@ -1,262 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp deleted file mode 100644 index 55983f1..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp +++ /dev/null @@ -1,409 +0,0 @@ -/** - * @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(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 == 13u); - 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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - modulation = reinterpret_cast(GetInputSignalMemory(11)); - pauseSet = reinterpret_cast(GetInputSignalMemory(12)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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; - if (modulation) p4Value += 32; - if (pauseSet) p4Value += 1; - //*outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value); - *outputSignalNI6528P4 = ~p4Value; - return true; -} - -CLASS_REGISTER(JARTStateMachineGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h deleted file mode 100644 index 876d64e..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h +++ /dev/null @@ -1,264 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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; - // Input signal for pause signal set pv. - MARTe::uint32 *pauseSet; - - // 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_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp deleted file mode 100644 index 71c7669..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp +++ /dev/null @@ -1,402 +0,0 @@ -/** - * @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(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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h deleted file mode 100644 index e59f3fa..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/Makefile.inc deleted file mode 100644 index 234a3d6..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARTStateMachineGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JARTStateMachineGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/JARampupGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/JARampupGAM.cpp deleted file mode 100644 index 98003a2..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/JARampupGAM.cpp +++ /dev/null @@ -1,295 +0,0 @@ -/** - * @file JARampupGAM.cpp - * @brief Source file for class JARampupGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JARampupGAM (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 "AdvancedErrorManagement.h" -#include "JARampupGAM.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JARampupGAM::JARampupGAM() : GAM() { - current_setpoint = NULL_PTR(MARTe::float32 *); - target_value = NULL_PTR(MARTe::float32 *); - rampup_time = NULL_PTR(MARTe::float32 *); - start = NULL_PTR(MARTe::uint32 *); - standby = NULL_PTR(MARTe::uint32 *); - isAuto = NULL_PTR(MARTe::uint32 *); - FHPS_PrePro = NULL_PTR(MARTe::float32 *); - - output = NULL_PTR(MARTe::float32 *); - state = NULL_PTR(MARTe::uint32 *); - - rampup_rate = 0.0f; - inRampup = false; - resetFlag = true; - inWaitHVON = false; - inWaitStandby = false; -} - -JARampupGAM::~JARampupGAM() { -} - -bool JARampupGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JARampupGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 7u); - if (ok) { - ok = (numberOfOutputSignals == 2u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Two output signals shall be defined."); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Six input signals shall be defined."); - } - uint32 currentspvIndex; - uint32 targetvIndex; - uint32 timeIndex; - uint32 startIndex; - uint32 standbyIndex; - uint32 isAutoIndex; - uint32 fhpsPreProIndex; - - if (ok) { - StreamString signalName = "Currspv"; - ok = GetSignalIndex(InputSignals, currentspvIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Currspv input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, currentspvIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Currspv shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Targetv"; - ok = GetSignalIndex(InputSignals, targetvIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Targetv input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, targetvIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Targetv shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Time"; - ok = GetSignalIndex(InputSignals, timeIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Time input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, timeIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Time shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Start"; - ok = GetSignalIndex(InputSignals, startIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Start input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, startIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Start shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "PLC_STANDBY"; - ok = GetSignalIndex(InputSignals, standbyIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLC_STANDBY input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, standbyIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLC_STANDBY shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "MANUAL_AUTO"; - ok = GetSignalIndex(InputSignals, isAutoIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "MANUAL_AUTO input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, isAutoIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "MANUAL_AUTO shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "FHPS_PrePro"; - ok = GetSignalIndex(InputSignals, fhpsPreProIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "FHPS_PrePro input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, fhpsPreProIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal FHPS_PrePro shall be defined as float32."); - } - } - } - - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 0); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Output shall be defined as float32."); - } - } - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 1); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal state shall be defined as float32."); - } - } - - if (ok) { - current_setpoint = reinterpret_cast(GetInputSignalMemory(currentspvIndex)); - target_value = reinterpret_cast(GetInputSignalMemory(targetvIndex)); - rampup_time = reinterpret_cast(GetInputSignalMemory(timeIndex)); - start = reinterpret_cast(GetInputSignalMemory(startIndex)); - standby = reinterpret_cast(GetInputSignalMemory(standbyIndex)); - isAuto = reinterpret_cast(GetInputSignalMemory(isAutoIndex)); - FHPS_PrePro = reinterpret_cast(GetInputSignalMemory(fhpsPreProIndex)); - - output = reinterpret_cast(GetOutputSignalMemory(0)); - state = reinterpret_cast(GetOutputSignalMemory(1)); - } - return ok; -} - -bool JARampupGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName){ - if(strcmp(nextStateName, "WaitHVON_PREP")==0 || strcmp(nextStateName, "WaitHVON_SDN_PREP")==0 || - strcmp(nextStateName, "WaitHVON")==0 || strcmp(nextStateName, "WaitHVON_SDN")==0){ - inWaitHVON = true; - inWaitStandby = false; - } else{ - inWaitHVON = false; - if(strcmp(nextStateName,"WaitStandby")==0 ){ - inWaitStandby = true; - } else { - inWaitStandby = false; - } - } - return true; -} - -bool JARampupGAM::Execute() { - using namespace MARTe; - if(!inWaitHVON){ - if (*target_value <= 0.0f || *standby == 0u) { - *output = 0.0f; - rampup_rate = 0.0f; - if(*target_value <= 0.0f){ - *state = 3u; - } else { - *state = 0u; - } - return true; - } - - if(*start == 1u && *isAuto==0u){ //isAuto = 1.Manual, 0.auto-rampup. - inRampup = true; - resetFlag = true; - *output = 0.0f; //Enable if it should start always zero. - } - - // Calcrate new rampup rate. - if(*rampup_time != 0 && resetFlag == true){ - rampup_rate = (*target_value - *current_setpoint) / *rampup_time/1000.0f; // Volt/msec - resetFlag = false; - } - - // Update Parameter - if(*standby == 1u ){ - if(*isAuto == 1u){ - if (inWaitStandby){ - *output = *target_value; - } else{ - *output = *FHPS_PrePro; - } - //*output = *target_value; - *state = 0u; - return true; - } - else if (inRampup){ - if (*output + rampup_rate < *target_value && *rampup_time != 0){ - *output = *output + rampup_rate; - *state = 1u; - } else { - *output = *target_value; - *state = 2u; - inRampup = false; - } - } - } - return true; - } else { - if(*isAuto == 0){ - *output = *FHPS_PrePro; - } else{ - *output = *target_value; - } - return true; - } -} - -CLASS_REGISTER(JARampupGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/JARampupGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/JARampupGAM.h deleted file mode 100644 index 3c6e012..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/JARampupGAM.h +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @file JARampupGAM.h - * @brief Header file for class JARampupGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JARampupGAM - * 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_JARampupGAM_H_ -#define GAMS_JARampupGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that rampup output value with specified target value and duration. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *      +FHPSRampupGAM = {
- *         Class = JARampupGAM
- *         InputSignals = {
- *             Currspv = {
- *                 Alias = FHPS_REF
- *                 DataSource = DDB1
- *                 Type = float32
- *             }
- *             Targetv = {
- *                 Alias = FHPS_AUTO_TAGV
- *                 DataSource = EPICSCAInput
- *                 Type = float32
- *             }
- *             Time = {
- *                 Alias = FHPS_AUTO_TIME
- *                 DataSource = EPICSCAInput
- *                 Type = float32
- *             }
- *             Start = {
- *                 Alias = FHPS_AUTO_START
- *                 DataSource = EPICSCAInput
- *                 Type = uint32
- *             }
- *         }
- *         OutputSignals = {
- *             FHPS_REF = {
- *                 DataSource = DDB1
- *                 Type = float32
- *             }
- *         }
- *       }
- *  
- * 
- * - */ - -class JARampupGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JARampupGAM(); - - virtual ~JARampupGAM(); - - 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: - // Input signal containing current current_setpoint - MARTe::float32 *current_setpoint; - - // Input signal containing the frequency of the waveform. - MARTe::float32 *target_value; - - // Input signal containing the amplitude of the waveform. - MARTe::float32 *rampup_time; - - // Input signal containing CCPS_ON_REQUEST - MARTe::uint32 *start; - - // Input signal PLC_STANDBY - MARTe::uint32 *standby; - - // MANUAL AUTO button - MARTe::uint32 *isAuto; - - // Input signal - MARTe::float32 *FHPS_PrePro; - - // Output - MARTe::float32 *output; - // State output - MARTe::uint32 *state; //0:NotOperation, 1:InOperation, 2:Finish, 3:Error - - // Internal variables - MARTe::float32 rampup_rate; - bool inRampup; - bool resetFlag; - bool inWaitHVON; - bool inWaitStandby; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JARampupGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/Makefile.inc deleted file mode 100644 index 9bf127b..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JARampupGAM/Makefile.inc +++ /dev/null @@ -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=JARampupGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARampupGAM$(LIBEXT) \ - $(BUILD_DIR)/JARampupGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp deleted file mode 100644 index d164e89..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp +++ /dev/null @@ -1,361 +0,0 @@ -/** - * @file JASDNRTStateMachineGAM.cpp - * @brief Source file for class JASDNRTStateMachineGAM - * @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 JASDNRTStateMachineGAM (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 "JASDNRTStateMachineGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASDNRTStateMachineGAM::JASDNRTStateMachineGAM() { - currentState = WaitTrigger; // Set Entry state. - plcOnTime = 0; // Triggered time holder. - sdnTriggerTime = 0; - //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 *); - 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 *); - sdnCommand = NULL_PTR(MARTe::uint16 *); - - // 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; -} - -JASDNRTStateMachineGAM::~JASDNRTStateMachineGAM() { -} - -bool JASDNRTStateMachineGAM::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 JASDNRTStateMachineGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - - return true; -} - -bool JASDNRTStateMachineGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 11u); - if (ok) { - ok = (numberOfOutputSignals == 8u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Seven output signals shall be defined"); - } - } - 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 || inputType == UnsignedInteger16Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint16", 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) { - currentTime = reinterpret_cast(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - sdnCommand = reinterpret_cast(GetInputSignalMemory(10)); - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - *shotCounter = 0; - } - return ok; -} - -bool JASDNRTStateMachineGAM::Execute() { - using namespace MARTe; - if (currentState == WaitTrigger) { - - //State Transition condition - if ((*triggerSignal == conditionTrigger)) { - REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence in SDN mode."); - plcOnTime = *currentTime; //Save pulse start time. - *outputBeamON = 0; - //State transition. - currentState = SwitchingHVPS_HVON; - } - } - else if (currentState == SwitchingHVPS_HVON) { - - //Actions in this state. - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *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; - 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; - REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal."); - } - - *outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time. - if (bps_hvon_is_on && aps_hvon_is_on){ - *outputHVArmed = 0; - currentState = WaitSDNTrigger; - } - - } - else if (currentState == WaitSDNTrigger) { - - // Action in this state - *outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time. - - // State change conditions - if (*sdnCommand == 1){ - sdnTriggerTime = *currentTime; - currentState = SwitchingHVPS_SWON; - } - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *outputSignal = 0; - currentState = HVTerminate; - } - } - else if (currentState == SwitchingHVPS_SWON) { - - //Actions in this state. - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *outputSignal = 0; - currentState = HVTerminate; - } - - if (*currentTime >= (sdnTriggerTime + *triggerDelay_bps_swon) && bps_swon_is_on==false){ - //Do action - *outputSignal += bps_swon; - 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; - 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; - apsSwonTime = *currentTime; - 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 = 0; - } - - //State transition condition - if (aps_swon_is_on){ - currentState = RFON; - *outputRFON = 0; - *shotCounter += 1; - REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON"); - } - } - else if (currentState == RFON) { - - //SDN command processing. - if (*sdnCommand == 4 && aps_swon_is_on) { - *outputSignal -= aps_swon; - aps_swon_is_on = false; - REPORT_ERROR(ErrorManagement::Debug, "sdn command was 4"); - } - if (*sdnCommand == 3 && !aps_swon_is_on) { - *outputSignal += aps_swon; - 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"); - } else if (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen)){ - 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; - bps_hvon_is_on = false; - bps_swon_is_on = false; - REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime); - } - *outputRFON = 0; - *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::Information, "state was changed to HVTerminate"); - } - } - else if (currentState == HVTerminate) { - - //Action in this state. - *outputBeamON = 1; - *outputHVArmed = 1; - *outputHVInjection = 1; - *outputRFON = 1; - - // State transition condition. - if (*currentTime - apsSwoffTime >= turn_off_delay){ - *outputSignal = 0; - } - if (*triggerSignal == false){ - //Check PLC_ON is reset - currentState = WaitTrigger; - *outputSignal = 0; - REPORT_ERROR(ErrorManagement::Debug, "state was changed to WaitTrigger"); - } - } - - return true; -} - -CLASS_REGISTER(JASDNRTStateMachineGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h deleted file mode 100644 index 91b4199..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h +++ /dev/null @@ -1,250 +0,0 @@ -/** - * @file JARTStateMachineGAM.h - * @brief Header file for class JASDNRTStateMachineGAM - * @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_JASDNRTSTATEMACHINEGAM_H_ -#define GAMS_JASDNRTSTATEMACHINEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM provides real-time state machine that communicate with SDN packet. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +GAMSDNRealTimeStateMachine = {
- *           Class = JASDNRTStateMachineGAM
- *           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
- *               }
- *               Command = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint16
- *               }
- *           }
- *           OutputSignals = {
- *               Value = {
- *                   //DataSource = NI6259
- *                   DataSource = Display
- *                   Type = uint32
- *                   Trigger = 1
- *               }
- *               BeamON = {
- *                   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
- *               }
- *           }
- *       }
- * 
- * - */ - -class JASDNRTStateMachineGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASDNRTStateMachineGAM(); - - virtual ~JASDNRTStateMachineGAM(); - - 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_HVON = 1, - WaitSDNTrigger = 2, - SwitchingHVPS_SWON = 3, - RFON = 4, - HVTerminate = 5 - }; - - //The current rtState - JARealTimeState currentState; - - ///////////////////////////////////////////////// - // Static parameter given by cfg File - ///////////////////////////////////////////////// - //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; - - ///////////////////////////////////////////////// - // Input signals - ///////////////////////////////////////////////// - //The trigger signal (PLC_ON) - MARTe::uint32 *triggerSignal; - //Time signal (Time from TimerGAM) - 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 SDN commands. - MARTe::uint16 *sdnCommand; - - ///////////////////////////////////////////////////////////// - // 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; - - ////////////////////////////// - //Internal Parameters - ////////////////////////////// - //PLC_ON time holder - MARTe::uint32 plcOnTime; - //APS_SWON time holder - MARTe::uint32 apsSwonTime; - MARTe::uint32 apsSwoffTime; - - //PS turn off delay - MARTe::uint32 turn_off_delay; - - //SDN trigger command arrival time. - MARTe::uint32 sdnTriggerTime; - //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; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASDNRTSTATEMACHINEGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.inc deleted file mode 100644 index 50056e0..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASDNRTStateMachineGAM/Makefile.inc +++ /dev/null @@ -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=JASDNRTStateMachineGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/JASampleGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/JASampleGAM.cpp deleted file mode 100644 index 62ab62d..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/JASampleGAM.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/** - * @file JASampleGAM.cpp - * @brief Source file for class JASampleGAM - * @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 JASampleGAM (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 "JASampleGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASampleGAM::JASampleGAM() { - // initialize member variables. - param1 = 0; - param2 = 0; - - //Input signals. - input1 = NULL_PTR(MARTe::uint32 *); - input2 = NULL_PTR(MARTe::float32 *); - //Output signals. - output1= NULL_PTR(MARTe::uint32 *); - output2 = NULL_PTR(MARTe::float32 *); - -} - -JASampleGAM::~JASampleGAM() { -} - -bool JASampleGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("param1", param1); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The param1 shall be specified"); - } - } - if (ok) { - ok = data.Read("param2", param2); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The param2 shall be specified"); - } - } - return ok; -} - -bool JASampleGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JASampleGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 2u); - if (ok) { - ok = (numberOfOutputSignals == 2u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two output signals shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two input signals shall be defined"); - } - // Do type check for input signals. - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - ok = ((inputType == UnsignedInteger32Bit) || (inputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or flaot32", signalName.Buffer()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger32Bit) || (outputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or float32", signalName.Buffer()); - } - } - } - - // Signal id can get by signal name in configuration file - if (ok) { - StreamString signalName = "InputXXX"; //Variable name in configuration file. - uint32 signalxxxIndex; //Index is copied to this variable by using signal name. - ok = GetSignalIndex(InputSignals, signalxxxIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "InputXXX input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, signalxxxIndex); - ok = (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, signalxxxIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - inputXXX = reinterpret_cast(GetInputSignalMemory(signalxxxIndex)); - } - } - } - - // Do type cast. with explicit signal id. - if (ok) { - input1 = reinterpret_cast(GetInputSignalMemory(0)); - input2 = reinterpret_cast(GetInputSignalMemory(1)); - - output1 = reinterpret_cast(GetOutputSignalMemory(0)); - output2 = reinterpret_cast(GetOutputSignalMemory(1)); - - } - return ok; -} - -bool JASampleGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - REPORT_ERROR(ErrorManagement::Information, "input1 is %d.", *input1); - REPORT_ERROR(ErrorManagement::Information, "input2 is %f.", *input2); - REPORT_ERROR(ErrorManagement::Information, "inputXXX is %f.", *inputXXX); - - REPORT_ERROR(ErrorManagement::Information, "maltiply param value to input."); - - *output1 = *input1 * param1; - *output2 = *input2 * param2; - - REPORT_ERROR(ErrorManagement::Information, "output1 is %d.", *output1); - REPORT_ERROR(ErrorManagement::Information, "output2 is %f.", *output2); - - return true; -} - -CLASS_REGISTER(JASampleGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/JASampleGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/JASampleGAM.h deleted file mode 100644 index 53f06ad..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/JASampleGAM.h +++ /dev/null @@ -1,122 +0,0 @@ -/** - * @file JASampleGAM.h - * @brief Header file for class JASampleGAM - * @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 JASampleGAM - * 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_JASampleGAM_H_ -#define GAMS_JASampleGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief GAM Sample Usage. - * @details Sample - * - * The configuration syntax is: - * - *
- * +SampleGAM = {
- *     Class = JASampleGAM
- *     InputSignals = {
- *         Input1 = {
- *             DataSource = "DDB"
- *             Type = uint32
- *             Default = 0
- *         }
- *         Input2 = {
- *             DataSource = "DDB"
- *             Type = float32
- *             Default = 100
- *         }
- *         InputXXX = {
- *             DataSource = "DDB"
- *             Type = float32
- *             NumberOfElements = 1
- *         }
- *     }
- *     OutputSignals = {
- *         Output1 = {
- *             DataSource = "DDB"
- *             Type = uint32
- *             Default = 0
- *         }
- *         Output2 = {
- *             DataSource = "DDB"
- *             Type = int32
- *             Default = 100
- *         }
- *     }
- * }
- * 
- */ - - -class JASampleGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASampleGAM(); - - virtual ~JASampleGAM(); - - 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: - //GAM fixed parameters. - MARTe::uint32 param1; - MARTe::float32 param2; - - // Input signals - MARTe::uint32 *input1; - MARTe::float32 *input2; - MARTe::float32 *inputXXX; - - // Output signals - MARTe::uint32 *output1; - MARTe::float32 *output2; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASampleGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/Makefile.inc deleted file mode 100644 index a95be67..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASampleGAM/Makefile.inc +++ /dev/null @@ -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=JARTSampleGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JARTSampleGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTSampleGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp deleted file mode 100644 index 3ab70d0..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/** - * @file JASourceChoiseGAM.cpp - * @brief Source file for class JASourceChoiseGAM - * @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 JASourceChoiseGAM (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 "JASourceChoiseGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASourceChoiseGAM::JASourceChoiseGAM() { - // initialize member variables. - numberOfPVs = 0; -} - -JASourceChoiseGAM::~JASourceChoiseGAM() { -} - -bool JASourceChoiseGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("numberOfPVs", numberOfPVs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The numberOfPVs parameter shall be specified"); - } - } - return ok; -} - -bool JASourceChoiseGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JASourceChoiseGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == numberOfPVs*3u); - if (ok) { - ok = (numberOfOutputSignals == numberOfPVs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "%d *3 output signals shall be defined", numberOfPVs); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "%d input signals shall be defined", numberOfPVs); - } - // Do type check for input signals. - int int_num = 0; - int float_num = 0; - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - if(inputType == UnsignedInteger32Bit){ - int_num++; - } else if (inputType == Float32Bit) { - float_num++; - } else { - ok = false; - }; - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or flaot32", signalName.Buffer()); - } - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger32Bit) || (outputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or float32", signalName.Buffer()); - } - } - } - // Set memory - inputUInt32.resize(numberOfPVs*2); - inputFloat32.resize(numberOfPVs*2); - choise.resize(numberOfPVs); - outputUInt32.resize(numberOfPVs); - outputFloat32.resize(numberOfPVs); - - prevUInt32.resize(numberOfPVs*2); - prevFloat32.resize(numberOfPVs*2); - - if(ok){ - for(uint32 i=0; i(GetInputSignalMemory(3*i)); - inputUInt32[2*i+1] = reinterpret_cast(GetInputSignalMemory(3*i+1)); - choise[i] = reinterpret_cast(GetInputSignalMemory(3*i+2)); - outputUInt32[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } else if(inputType == Float32Bit){ - inputFloat32[2*i] = reinterpret_cast(GetInputSignalMemory(3*i)); - inputFloat32[2*i+1] = reinterpret_cast(GetInputSignalMemory(3*i+1)); - choise[i] = reinterpret_cast(GetInputSignalMemory(3*i+2)); - outputFloat32[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } - prevUInt32[2*i] = 0; - prevUInt32[2*i+1] = 0; - prevFloat32[2*i] = 0; - prevFloat32[2*i+1] = 0; - } - } - return ok; -} - -bool JASourceChoiseGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - - for (uint32 i=0; i < numberOfPVs; i++){ - if(*choise[i]==0){ - if(outputUInt32[i]){ - if(prevUInt32[i*2] != *inputUInt32[i*2]){ - *outputUInt32[i] = *inputUInt32[i*2]; - prevUInt32[i*2] = *inputUInt32[i*2]; - prevUInt32[1+i*2] = *inputUInt32[1+i*2]; - } - } else if(outputFloat32[i]){ - if(prevFloat32[i*2] != *inputFloat32[i*2]){ - *outputFloat32[i] = *inputFloat32[i*2]; - prevFloat32[i*2] = *inputFloat32[i*2]; - prevFloat32[1+i*2] = *inputFloat32[1+i*2]; - } - } - } else { - if(outputUInt32[i]){ - if(prevUInt32[1+i*2] != *inputUInt32[1+i*2]){ - *outputUInt32[i] = *inputUInt32[1+i*2]; - prevUInt32[i*2] = *inputUInt32[i*2]; - prevUInt32[1+i*2] = *inputUInt32[1+i*2]; - } - } else if (outputFloat32[i]){ - if(prevFloat32[1+i*2] != *inputFloat32[1+i*2]){ - *outputFloat32[i] = *inputFloat32[1+i*2]; - prevFloat32[i*2] = *inputFloat32[i*2]; - prevFloat32[1+i*2] = *inputFloat32[1+i*2]; - } - } - } - } - return true; -} - -CLASS_REGISTER(JASourceChoiseGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h deleted file mode 100644 index 2a4cd80..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @file JASourceChoiseGAM.h - * @brief Header file for class JASourceChoiseGAM - * @date Mar 04, 2019 - * @author kuchida - * - * @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 JASourceChoiseGAM - * 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_JASourceChoiseGAM_H_ -#define GAMS_JASourceChoiseGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JASourceChoiseGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASourceChoiseGAM(); - - virtual ~JASourceChoiseGAM(); - - 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 - //GAM fixed parameters. - MARTe::uint32 numberOfPVs; - - // Input signals - std::vector inputUInt32; - std::vector inputFloat32; - std::vector choise; - - // Output signals - std::vector outputUInt32; - std::vector outputFloat32; - - // Previous Input value - std::vector prevUInt32; - std::vector prevFloat32; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASourceChoiseGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/Makefile.inc deleted file mode 100644 index 52d83e4..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JASourceChoiseGAM/Makefile.inc +++ /dev/null @@ -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=JASourceChoiseGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JASourceChoiseGAM$(LIBEXT) \ - $(BUILD_DIR)/JASourceChoiseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp deleted file mode 100644 index 1d3f9c1..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/** - * @file JATerminalInterfaceGAM.cpp - * @brief Source file for class JATerminalInterfaceGAM - * @date Feb 19, 2019 - * @author kuchida - * - * @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 JATerminalInterfaceGAM (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 "JATerminalInterfaceGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JATerminalInterfaceGAM::JATerminalInterfaceGAM() { - - // Fixed GAM input - aps_hvon_term = 0; - - // Parameters which get from Input signals. - mhvps_hvon = NULL_PTR(MARTe::uint32 *); - aps_hvon = NULL_PTR(MARTe::uint32 *); - aps_swon = NULL_PTR(MARTe::uint32 *); - bps_hvon = NULL_PTR(MARTe::uint32 *); - bps_swon = NULL_PTR(MARTe::uint32 *); - - stateMachineOutput = NULL_PTR(MARTe::uint32 *); - - // write out target. - outputSignalNI6259 = NULL_PTR(MARTe::uint32 *); - outputSignalNI6528P3 = NULL_PTR(MARTe::uint8 *); - outputSignalNI6528P4 = NULL_PTR(MARTe::uint8 *); - - aps_hvon_state = 0; - aps_swon_state = 0; - mhvps_hvon_state = 0; - bps_hvon_state = 0; - bps_swon_state = 0; - p3Value = 0; - p4Value = 0; -} - -JATerminalInterfaceGAM::~JATerminalInterfaceGAM() { -} - -bool JATerminalInterfaceGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("mhvps_hvon_term", mhvps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The mhvps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("aps_hvon_term", aps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("aps_swon_term", aps_swon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_swon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("bps_hvon_term", bps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("bps_swon_term", bps_swon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_swon_term shall be specified"); - } - } - return ok; -} - -bool JATerminalInterfaceGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - - return true; -} - -bool JATerminalInterfaceGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 9u); - if (ok) { - ok = (numberOfOutputSignals == 3u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Three output signals shall be defined"); - } - } - 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 || inputType == UnsignedInteger8Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint8", 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 or uint8", signalName.Buffer()); - } - } - } - if (ok) { - //mhvps_manm = reinterpret_cast(GetInputSignalMemory(0)); - mhvps_hvon = reinterpret_cast(GetInputSignalMemory(0)); - //aps_manm = reinterpret_cast(GetInputSignalMemory(2)); - aps_hvon = reinterpret_cast(GetInputSignalMemory(1)); - aps_swon = reinterpret_cast(GetInputSignalMemory(2)); - //bps_manm = reinterpret_cast(GetInputSignalMemory(5)); - bps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - bps_swon = reinterpret_cast(GetInputSignalMemory(4)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(5)); - stateMachineOutput = reinterpret_cast(GetInputSignalMemory(6)); - ni6528p3Value = reinterpret_cast(GetInputSignalMemory(7)); - ni6528p4Value = reinterpret_cast(GetInputSignalMemory(8)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(0)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(1)); - outputSignalNI6528P4 = reinterpret_cast(GetOutputSignalMemory(2)); - - } - return ok; -} - -bool JATerminalInterfaceGAM::Execute() { - using namespace MARTe; - uint8 sm = *stateMachineOutput; - - - //Update HVPS state - aps_hvon_state = ((sm >> (0))&1); - aps_swon_state = ((sm >> (4))&1); - mhvps_hvon_state = ((sm >> (2))&1); - bps_hvon_state = ((sm >> (1))&1); - bps_swon_state = ((sm >> (3))&1); - - if(*short_pulse_mode == 1){ - p3Value = 1*aps_hvon_state + 8*bps_hvon_state +16*bps_swon_state; - *outputSignalNI6259 = 1*aps_swon_state; - //uint8 ni6528p3ValueTemp = 0;//*ni6528p3Value; - //ni6528p3ValueTemp &= ~(1<<2); //Does not turn on ni6258 aps switch - //Update terminal value - //*outputSignalNI6528P3 = ~(ni6528p3ValueTemp | p3Value); - *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; - //REPORT_ERROR(ErrorManagement::Debug, "long pulse mode with p3: %d.", p3Value); - } - - p4Value = 8*mhvps_hvon_state; - *outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value); - return true; -} - -CLASS_REGISTER(JATerminalInterfaceGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h deleted file mode 100644 index 773cbd6..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h +++ /dev/null @@ -1,157 +0,0 @@ -/** - * @file JATerminalInterfaceGAM.h - * @brief Header file for class JATerminalInterfaceGAM - * @date Feb 19, 2020 - * @author kuchida - * - * @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 JATerminalInterfaceGAM - * 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_JATerminalInterfaceGAM_H_ -#define GAMS_JATerminalInterfaceGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM calculates one output value by comparing input value and fixed parameters. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- * 
- *         +terminalInterfaceGAM = {
- *           Class = JATerminalInterfaceGAM
- *           mhvps_hvon_term = 4
- *           aps_hvon_term = 1
- *           aps_swon_term = 16
- *           bps_hvon_term = 2
- *           bps_swon_term = 8
- *           InputSignals = {
- *               MHVPS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               APS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               APS_SWON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               BPS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               BPS_SWON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               Value = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               Value = {
- *                   DataSource = NI6259
- *                   Type = uint32
- *                   Trigger = 1
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -class JATerminalInterfaceGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JATerminalInterfaceGAM(); - - virtual ~JATerminalInterfaceGAM(); - - 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: - // Fixed GAM input - MARTe::uint32 mhvps_hvon_term; - MARTe::uint32 aps_hvon_term; - MARTe::uint32 aps_swon_term; - MARTe::uint32 bps_hvon_term; - MARTe::uint32 bps_swon_term; - - // Input signals - //MARTe::uint32 *mhvps_manm; - MARTe::uint32 *mhvps_hvon; - - //MARTe::uint32 *aps_manm; - MARTe::uint32 *aps_hvon; - MARTe::uint32 *aps_swon; - - //MARTe::uint32 *bps_manm; - MARTe::uint32 *bps_hvon; - MARTe::uint32 *bps_swon; - - MARTe::uint32 *short_pulse_mode; - - MARTe::uint32 *stateMachineOutput; - MARTe::uint8 *ni6528p3Value; - MARTe::uint8 *ni6528p4Value; - - // Output signals - MARTe::uint32 *outputSignalNI6259; - MARTe::uint8 *outputSignalNI6528P3; - MARTe::uint8 *outputSignalNI6528P4; - - 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; - MARTe::uint8 p3Value; - MARTe::uint8 p4Value; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JATerminalInterfaceGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.inc deleted file mode 100644 index 0f3e2aa..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JATerminalInterfaceGAM/Makefile.inc +++ /dev/null @@ -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=JATerminalInterfaceGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(LIBEXT) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp deleted file mode 100644 index 7004a1f..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp +++ /dev/null @@ -1,178 +0,0 @@ -/** - * @file JATriangleWaveGAM.cpp - * @brief Source file for class JATriangleWaveGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JATriangleWaveGAM (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 "AdvancedErrorManagement.h" -#include "JATriangleWaveGAM.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -MARTe::float32 absFloat(MARTe::float32 x) { - if (x < 0.0f) { - return -x; - } - return x; -} - -JATriangleWaveGAM::JATriangleWaveGAM() { - frequency = NULL_PTR(MARTe::float32 *); - amplitude = NULL_PTR(MARTe::float32 *); - offset = NULL_PTR(MARTe::float32 *); - plcStandby = NULL_PTR(MARTe::uint32 *); - waveOutput = NULL_PTR(MARTe::float32 *); - time = 0.0f; -} - -JATriangleWaveGAM::~JATriangleWaveGAM() { -} - -bool JATriangleWaveGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JATriangleWaveGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 4u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "One output signal shall be defined."); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Four input signals shall be defined."); - } - uint32 freqIndex; - uint32 ampIndex; - uint32 offsetIndex; - uint32 plcStandbyIndex; - if (ok) { - StreamString signalName = "Frequency"; - ok = GetSignalIndex(InputSignals, freqIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Frequency input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, freqIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Frequency shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Amplitude"; - ok = GetSignalIndex(InputSignals, ampIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Amplitude input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, ampIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Amplitude shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Offset"; - ok = GetSignalIndex(InputSignals, offsetIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Offset input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, offsetIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Offset shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "PLCSTANDBY"; - ok = GetSignalIndex(InputSignals, plcStandbyIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLCSTANDBY input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, plcStandbyIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLCSTANDBY shall be defined as uint32."); - } - } - } - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 0); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Amplitude shall be defined as float32."); - } - } - if (ok) { - frequency = reinterpret_cast(GetInputSignalMemory(freqIndex)); - amplitude = reinterpret_cast(GetInputSignalMemory(ampIndex)); - offset = reinterpret_cast(GetInputSignalMemory(offsetIndex)); - plcStandby = reinterpret_cast(GetInputSignalMemory(plcStandbyIndex)); - waveOutput = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JATriangleWaveGAM::Execute() { - using namespace MARTe; - // If frequency is not set, output 0. - if (*frequency <= 0.0f || *plcStandby == 0u) { - *waveOutput = 0.0f; - return true; - } - // Increase the current time. - ++time; - // Calculate the period in milliseconds - float32 periodMs = 1000.0 / *frequency; - // Make sure the time is on [0, periodMs] interval. - while (time > periodMs) { - time -= periodMs; - } - // Formula: - // f(x) = |x - 0.5| * 2 * amplitude - // where x is between 0 and 1 - *waveOutput = absFloat((time / periodMs) - 0.5f) * 2.0f * (*amplitude) + *offset; - return true; -} - -CLASS_REGISTER(JATriangleWaveGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h deleted file mode 100644 index 22e34c3..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file JATriangleWaveGAM.h - * @brief Header file for class JATriangleWaveGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JATriangleWaveGAM - * 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_JATRIANGLEWAVEGAM_H_ -#define GAMS_JATRIANGLEWAVEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM provides triangular waveform output within 1kHz thread. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *      +CCPSWaveformGAM = {
- *           Class = JATriangleWaveGAM
- *           InputSignals = {
- *               Offset = {
- *                   Alias = OFFSET
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               Frequency = {
- *                   Alias = CCPS_OUTPUT_FREQ
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               Amplitude = {
- *                   Alias = CCPS_OUTPUT_AMP
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               PLCCCPSON = {
- *                   Alias = PLC_CCPSON
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
-  *              READY = {
- *                   Alias = PLC_READY
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               CCPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -class JATriangleWaveGAM : public MARTe::GAM { -public: - CLASS_REGISTER_DECLARATION() - - JATriangleWaveGAM(); - - virtual ~JATriangleWaveGAM(); - - virtual bool Initialise(MARTe::StructuredDataI & data); - - virtual bool Setup(); - - virtual bool Execute(); -private: - // Input signal containing the frequency of the waveform. - MARTe::float32 *frequency; - - // Input signal containing the amplitude of the waveform. - MARTe::float32 *amplitude; - - // Input signal cantaining the offset of the waveform. - MARTe::float32 *offset; - - // Input signal containing CCPS_ON_REQUEST - //MARTe::uint32 *plcccpson; - - // Input signal condition CCPS_READY - //MARTe::uint32 *plcReady; - - // Input signal condition CCPS_STANDBY - MARTe::uint32 *plcStandby; - - MARTe::float32 *waveOutput; - - MARTe::float32 time; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JATRIANGLEWAVEGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/Makefile.inc deleted file mode 100644 index 495d6ae..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JATriangleWaveGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JATriangleWaveGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JATriangleWaveGAM$(LIBEXT) \ - $(BUILD_DIR)/JATriangleWaveGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp b/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp deleted file mode 100644 index b26b6bd..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp +++ /dev/null @@ -1,317 +0,0 @@ -/** - * @file JAWFRecordGAM.cpp - * @brief Source file for class JAWFRecordGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAWFRecordGAM (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 "JAWFRecordGAM.h" - -#include "AdvancedErrorManagement.h" -#include "CLASSMETHODREGISTER.h" -#include "File.h" -#include "MessageI.h" -#include "RegisteredMethodsMessageFilter.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -// How often output signals are updated. -const MARTe::uint32 cycleMs = 10u; - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAWFRecordGAM::JAWFRecordGAM() : - GAM() { - filenameSignalIndex = 0u; - timeSignal = NULL_PTR(MARTe::int32 *); - loadTriggerSignal = NULL_PTR(MARTe::uint32 *); - valueSignals = NULL_PTR(MARTe::float32 **); - maxElements = 0u; - readOnce = true; -} - -JAWFRecordGAM::~JAWFRecordGAM() { - if (valueSignals != NULL_PTR(MARTe::float32 **)) { - delete[] valueSignals; - } -} - -bool JAWFRecordGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("Directory", directory); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - return ok; -} - -bool JAWFRecordGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 2u); - if (ok) { - ok = (numberOfOutputSignals > 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "At least two output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two input signal with the filename and file load trigger shall be defined"); - } - if (ok) { - StreamString signalName = "Filename"; - ok = GetSignalIndex(InputSignals, filenameSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Filename input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, filenameSignalIndex); - ok = (inputType == CharString); - if (!ok) { - ok = (inputType == Character8Bit); - } - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, filenameSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as string", signalName.Buffer()); - } - } - } - if (ok) { - StreamString signalName = "CSV_LOAD"; - uint32 loadSignalIndex; - ok = GetSignalIndex(InputSignals, loadSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "CSV_LOAD input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, loadSignalIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, loadSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } else { - loadTriggerSignal = reinterpret_cast(GetInputSignalMemory(loadSignalIndex)); - } - } - } - if (ok) { - TypeDescriptor timeType = GetSignalType(OutputSignals, 0); - - ok = (timeType == SignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, 0, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as int32", signalName.Buffer()); - } - - uint32 i; - for (i = 1u; (i < numberOfOutputSignals) && (ok); i++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, i); - ok = (outputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, i, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } - else { - uint32 dimentionsCount; - ok = GetSignalNumberOfDimensions(OutputSignals, 0u, dimentionsCount); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Output signals shall have 1 dimension."); - } - else { - uint32 elementsCount; - ok = GetSignalNumberOfElements(OutputSignals, 0u, elementsCount); - if (maxElements == 0) { - maxElements = elementsCount; - } - else { - ok = (maxElements == elementsCount); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Output signals shall have consistent number of elements."); - } - } - } - } - } - } - if (ok) { - valueSignals = new float32*[numberOfOutputSignals - 1u]; - uint32 i; - for (i = 1u; i < numberOfOutputSignals; i++) { - valueSignals[i - 1] = reinterpret_cast(GetOutputSignalMemory(i)); - } - timeSignal = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JAWFRecordGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - if (strcmp(nextStateName, "WaitReady") == 0) { - // Reset read once flag when reentering WaitReady state. - readOnce = true; - } - return true; -} - -void JAWFRecordGAM::LoadFile() { - using namespace MARTe; - - bool ok = true; - - const char8 * const filenameSignal = reinterpret_cast(GetInputSignalMemory(filenameSignalIndex)); - StreamString filename = directory; - filename += DIRECTORY_SEPARATOR; - filename += filenameSignal; - REPORT_ERROR(ErrorManagement::Debug, "Opening file %s", filename.Buffer()); - - File f; - ok = f.Open(filename.Buffer(), BasicFile::ACCESS_MODE_R); - - uint32 numberOfPreProgrammedTimeRows = 0u; - int32 *preProgrammedTime; - float32 **preProgrammedValues; - uint32 numberOfPreProgrammedValues = 0u; - - if (ok) { - StreamString tokenLine; - while (f.GetLine(tokenLine)) { - if (tokenLine[0] != '#') { - numberOfPreProgrammedTimeRows++; - } - tokenLine = ""; - } - f.Seek(0); - uint32 t = 0u; - tokenLine = ""; - while ((ok) && (f.GetLine(tokenLine))) { - if (tokenLine[0] == '#') { - tokenLine = ""; - continue; - } - if (numberOfPreProgrammedValues == 0) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - while (tokenLine.GetToken(token, ",", ignored)) { - numberOfPreProgrammedValues++; - token = ""; - } - ok = numberOfPreProgrammedValues == numberOfOutputSignals; - // Remove time from pre-programmed values count. - numberOfPreProgrammedValues -= 1u; - if (ok) { - preProgrammedTime = new int32[maxElements]; - memset(preProgrammedTime, 0, maxElements * sizeof(int32)); - preProgrammedValues = new float32*[numberOfPreProgrammedValues]; - uint32 j; - for (j = 0u; j < numberOfPreProgrammedValues; j++) { - preProgrammedValues[j] = new float32[maxElements]; - memset(preProgrammedValues[j], 0, maxElements * sizeof(float32)); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Number of columns in csv file (%d) is not consistent with the number of output signals (%d)", numberOfPreProgrammedValues, - numberOfOutputSignals - 1u); - } - } - if (ok) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - uint32 idx = 0u; - while (tokenLine.GetToken(token, ",", ignored)) { - if (idx == 0u) { - preProgrammedTime[t] = atoi(token.Buffer()); - } - else { - ok = ((idx - 1) < numberOfPreProgrammedValues); - if (ok) { - preProgrammedValues[idx - 1][t] = static_cast(atof(token.Buffer())); - } - else { - REPORT_ERROR(ErrorManagement::FatalError, "Number of columns in csv file is not consistent with the number of output signals in line %d", t); - } - } - token = ""; - idx++; - } - t++; - } - tokenLine = ""; - } - f.Close(); - } else { - REPORT_ERROR(ErrorManagement::Debug, "Cannot open the file %s", filename.Buffer()); - return; - } - if (numberOfPreProgrammedTimeRows > maxElements) { - REPORT_ERROR(ErrorManagement::Warning, "Only %d (out of %d) of pre-programmed values will be written to waveform record.", - maxElements, numberOfPreProgrammedTimeRows); - } - ok = MemoryOperationsHelper::Copy(timeSignal, preProgrammedTime, maxElements * sizeof(int32)); - uint32 i; - for (i = 0u; (i < numberOfPreProgrammedValues) && (ok); ++i) { - ok = MemoryOperationsHelper::Copy(valueSignals[i], preProgrammedValues[i], maxElements * sizeof(float32)); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::Warning, "Failed to write data to waveform record."); - } - - if (preProgrammedValues != NULL_PTR(float32 **)) { - uint32 i; - for (i = 0u; i < numberOfPreProgrammedValues; i++) { - delete preProgrammedValues[i]; - } - delete[] preProgrammedValues; - } - if (preProgrammedTime != NULL_PTR(int32 *)) { - delete[] preProgrammedTime; - } -} - -bool JAWFRecordGAM::Execute() { - if (*loadTriggerSignal == 1u) { - if (readOnce) { - LoadFile(); - readOnce = false; - } - } else { - // Reset read once flag when loadTriggerSignal is reset. - readOnce = true; - } - return true; -} - -CLASS_REGISTER(JAWFRecordGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.h b/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.h deleted file mode 100644 index ee22c1a..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/JAWFRecordGAM.h +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file JAWFRecordGAM.h - * @brief Header file for class JAWFRecordGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAWFRecordGAM - * 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_JAWFRECORDGAM_H_ -#define GAMS_JAWFRECORDGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that is used for pre-programmed operation. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *       +WFRecordGAM = {
- *           Class = JAWFRecordGAM
- *           Directory = "../Configurations" 
- *           InputSignals = {
- *               CSV_LOAD = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               Filename = {
- *                   Alias = CSV_NAME
- *                   DataSource = EPICSCAInput
- *               }
- *           }
- *           OutputSignals = {
- *               PREP_TIME_WF = {
- *                   DataSource = DDB1
- *               }
- * *             MHVPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               BPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               APS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               MCPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               GCPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               FHPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *           }
- *       }
- * 
- * - */ - -class JAWFRecordGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAWFRecordGAM(); - - virtual ~JAWFRecordGAM(); - - 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: - void LoadFile(); - - MARTe::uint32 filenameSignalIndex; - - MARTe::uint32 *loadTriggerSignal; - - MARTe::StreamString directory; - - MARTe::float32 **valueSignals; - - MARTe::int32 *timeSignal; - - MARTe::uint32 maxElements; - - // Flag determining whether file should be read (so it isn't read multiple time) - bool readOnce; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAWFRECORDGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/Makefile.inc deleted file mode 100644 index 608ea6c..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/JAWFRecordGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JAWFRecordGAM.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 -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L1Portability -INCLUDES += -I$(MARTe2_DIR)/Source/Core/FileSystem/L3Streams - - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAWFRecordGAM$(LIBEXT) \ - $(BUILD_DIR)/JAWFRecordGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/Makefile b/EC-GN-JA-PCF/target/main/c++/GAMs/Makefile deleted file mode 100644 index 61a2101..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/Makefile +++ /dev/null @@ -1,28 +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 $ -# -############################################################# -export TARGET=x86-linux - -include Makefile.gcc diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/Makefile.gcc b/EC-GN-JA-PCF/target/main/c++/GAMs/Makefile.gcc deleted file mode 100644 index e0a2fc4..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/Makefile.gcc +++ /dev/null @@ -1,26 +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. -# -############################################################# - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/target/main/c++/GAMs/Makefile.inc b/EC-GN-JA-PCF/target/main/c++/GAMs/Makefile.inc deleted file mode 100644 index 8dfc149..0000000 --- a/EC-GN-JA-PCF/target/main/c++/GAMs/Makefile.inc +++ /dev/null @@ -1,45 +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 $ -# -############################################################# - -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 - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=../../../obj -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/Gyrotron01DAN.cpp b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/Gyrotron01DAN.cpp deleted file mode 100644 index 46ae827..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/Gyrotron01DAN.cpp +++ /dev/null @@ -1,639 +0,0 @@ -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp-sdn/main/c++/prog/prog.cpp.template $ - * $Id: prog.cpp.template 83098 2018-01-08 13:23:38Z cesnikt $ - * - * Project : CODAC Core System - * - * Description : GyrotronDAN program - * - * Author : codac-dev - * - * Copyright (c) : 2010-2018 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* header files */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#define float32_t float32_t1 -#include -#undef float32_t - -#include -#include -#include -#include -#include -#include - -#include - -// global variables -static bool __terminate = false; -char pxie6368_0_ai_fd[] = "/dev/pxie-6368.0.ai"; // ai segment -char pxie6368_0_device[] = "/dev/pxie-6368.0"; // device descriptor - -typedef struct { - int daq_smpl_rate; - int daq_mode; - double daq_smpl_st_dly; - double daq_len; - double daq_pub_dly; -} daq_parameters; - -void signal_handler(int signal) { - log_info("Received signal '%d' to terminate", signal); - __terminate = true; -}; - -// DAN parameter reload function ------------------------------------------------ -int reload_daq_conf(int *aifd, int *ai_chan_fd, daq_parameters *daq_p) { - std::cout << "reload_daq_conf was called \n"; - - // Common variables - int retval; - unsigned long number_of_samples; - int chan_num = 10; // Channel number to add. - uint32_t sample_period_divisor; - uint32_t base_clock = 100000000; // TB3:100MHz, TB2:100 kHz - uint32_t pre_samples = 1000; - uint32_t post_samples = 1000; - char str[40]; - xseries_ai_conf_t conf; // ai segment configuraton data - - // calculate sampling period divisor - if (daq_p->daq_smpl_rate != 0) { - sample_period_divisor = base_clock / daq_p->daq_smpl_rate; - } else { - return 0; - } - - // Stop ai segment---------------------------------------------------------------------- - retval = xseries_stop_ai(*aifd); - if (retval) { - log_error("ai segment stop failed.\n"); - } else { - log_info("ai segment stopped.\n"); - } - - // reset ai segment--------------------------------------------------------------------- - retval = xseries_reset_ai(*aifd); - if (retval) { - log_error("ai segment reset failed.\n"); - return -1; - } - - // Configure AI segment mode ------------------------------------------------------------ - switch (daq_p->daq_mode) { - case 0: - conf = xseries_software_timed_ai(); - log_info("software_timed mode.\n"); - break; - case 1: - conf = xseries_finite_ai(number_of_samples); - log_info("finite mode.\n"); - break; - case 2: - conf = xseries_retriggerable_finite_ai(number_of_samples); - log_info("retriggerable_finite mode.\n"); - break; - case 3: - conf = xseries_continuous_ai(); - log_info("continuous mode.\n"); - break; - case 4: - conf = xseries_reference_ai(pre_samples, post_samples); - log_info("reference mode.\n"); - break; - } - - // disable external gate - retval = xseries_set_ai_external_gate(&conf, - XSERIES_AI_EXTERNAL_GATE_DISABLED, // No external pause signal - XSERIES_AI_POLARITY_ACTIVE_LOW_OR_FALLING_EDGE); // Don't care - if (retval) { - log_error("Cannot set gate trigger.\n"); - return -1; - } - - // select start trigger (START1 signal) - retval = xseries_set_ai_start_trigger(&conf, - XSERIES_AI_START_TRIGGER_SW_PULSE, // Set the line to software-driven - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, // Make line active on rising... - 1); // ... edge (not high level) - if (retval) { - log_error("Cannot set start trigger.\n"); - return -1; - } - - // set sampling clock source---------------------------------------------------------------------------------------- - retval = xseries_set_ai_sample_clock(&conf, - XSERIES_AI_SAMPLE_CONVERT_CLOCK_INTERNALTIMING, - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, 1); - if (retval) { - log_error("Cannot configure sampling clock.\n"); - return -1; - } - - // set scan interval ------------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_scan_interval_counter(&conf, - XSERIES_SCAN_INTERVAL_COUNTER_TB3, // TB3 : 100MHz base clock, TB2 : 100kHz base clock - XSERIES_SCAN_INTERVAL_COUNTER_POLARITY_RISING_EDGE, - sample_period_divisor, 2); // Wait 2*100MHz sec after sampling trig. - if (retval) { - log_error("Cannot configure scan counter.\n"); - return -1; - } - - // Set DMA buffer size----------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_attribute(&conf, XSERIES_AI_DMA_BUFFER_SIZE, 1000); - if (retval) { - log_error("DMA configuration was failed.\n"); - return -1; - } - - // Add AI channels --------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - retval = xseries_add_ai_channel(&conf, i, XSERIES_INPUT_RANGE_10V, - XSERIES_AI_CHANNEL_TYPE_DIFFERENTIAL, 0); - if (retval) { - log_error("Add AI channel %d was failed.\n", i); - return -1; - } - } - sleep(3); - - // Load configuration.----------------------------------------------------------------------------------------------------------------------- - retval = xseries_load_ai_conf(*aifd, conf); - if (retval) { - log_error("xseries_load_ai_conf was failed. error code: %d \n", retval); - exit (EXIT_FAILURE); - } - sleep(3); - - // Open channels-------------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - sprintf(str, "%s.ai.%u", pxie6368_0_device, i); - //ai_chan_fd[i] = open(str, O_RDWR | O_NONBLOCK); - ai_chan_fd[i] = open(str, O_RDWR); - if (ai_chan_fd[i] < 0) { - log_error("Cannot open ai channel %d .\n",i); - sleep(1); - exit (EXIT_FAILURE); - } - } - - // start ai segment task----------------------------------------------------------------------------------------------------------------------- - retval = xseries_start_ai(*aifd); - if (retval) { - log_error("ERROR, starting AI segment failed: %s\n", strerror(retval)); - exit (EXIT_FAILURE); - } - - log_info("PXIe-6368 configuration was finished.\n"); - return 0; -}; - - - -int main(int argc, char **argv) { - using namespace std; - unsigned long n_sample_quotient = 0; - - log_initialize(NULL); - - while (!__terminate) { - // Install signal handler to support graceful termination - sigset(SIGTERM, signal_handler); - sigset(SIGINT, signal_handler); - sigset(SIGHUP, signal_handler); - - // ---------------------------------------------------------------------------------------------------------------- - // Running parameter declaration - // ---------------------------------------------------------------------------------------------------------------- - // pxie6368 hardware parameters - int pxie6368_0_device_number = 0; // device discriptor number - int aifd = 0; // ai segment file discriptor - xseries_ai_conf_t conf; // ai segment config - xseries_ai_attribute_t aiatrb; // ai segment attributes - char str[40]; // fd tmp var - int ai_chan_fd[16]; // ai channels file discriptor - int pxie6368_sampling_rate = 1000; // sampling rate Hz - uint32_t sample_period_divisor = 100000000 / pxie6368_sampling_rate; // TB3 100MHz, TB2:100kHz, TB1:20MHz - int sampleSize = 2; // Sample size in bytes <---> uInt16 - int n_channels; // Number of opened channels - struct xseries_dma *dma; // Ptr to dma struct - int chan_num = 10; // Channel number to add. - - // DAN parameters - char dan_source_name[] = "GYADanSource"; // DAN data source (ds) name - long offset_ai = 0; // offset size in published data - int dma_mode = 1; // 0:All, 1:AI only, 2:AO only - dan_DataCore dc = NULL; // Datacore reference declaration - dan_Source ds = NULL; // DAN source declaration - long samplesCounter = 0; // Total acquired sample size - size_t n_samples; // prepared sample size to publish - - // TCN parameters - uint64_t tBase_old = 0; - uint64_t tBase = 0; // TCN publishing base time - uint64_t nanos; // time length for sampling - hpn_timestamp_t delay = 1e7; // wait for publishing (10ms) - char buf[ISO_8601_LEN]; - uint64_t tBase0 = 0; - - // Operation tmp parameter - int result; // For result values. - int exValue; - bool toterminate = false; - int retval; - bool daq_start = false; - int testcounter = 10000; - - // Connected EPCIS PV - - // DAQ config PVs - chid daq_smpl_rate_id; - chtype daq_smpl_rate_type; - int daq_smpl_rate; - chid daq_smpl_rate_rb_id; - chtype daq_smpl_rate_rb_type; - int daq_smpl_rate_rb; - chid daq_mode_id; - chtype daq_mode_type; - int daq_mode; - chid daq_mode_rb_id; - chtype daq_mode_rb_type; - int daq_mode_rb; - chid daq_sw_trig_id; - chtype daq_sw_trig_type; - int daq_sw_trig; - chid daq_smpl_st_dly_id; - chtype daq_smpl_st_dly_type; - double daq_smpl_st_dly; - chid daq_smpl_st_dly_rb_id; - chtype daq_smpl_st_dly_rb_type; - double daq_smpl_st_dly_rb; - chid daq_len_id; - chtype daq_len_type; - double daq_len; - chid daq_len_rb_id; - chtype daq_len_rb_type; - double daq_len_rb; - chid daq_reconf_id; - chtype daq_reconf_type; - int daq_reconf; - chid daq_pub_dly_id; - chtype daq_pub_dly_type; - double daq_pub_dly; - chid daq_pub_dly_rb_id; - chtype daq_pub_dly_rb_type; - double daq_pub_dly_rb; - - chid daq_stat_id; - chtype daq_stat_type; - int daq_stat; - chid daq_conf_stat_id; - chtype daq_conf_stat_type; - int daq_conf_stat; - - daq_parameters daq_p = { 0 }; // = {daq_smpl_rate, daq_smpl_rate_rb, daq_mode, daq_mode_rb}; - - // ---------------------------------------------------------------------------------------------------------------------------------------------- - // EPICS PV connection - // ---------------------------------------------------------------------------------------------------------------------------------------------- - //Initialize ChannelAccess interface - CAInterface_Initialize(); - - // Connect to EPICS PVs - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE", daq_smpl_rate_id); - daq_smpl_rate_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB", daq_smpl_rate_rb_id); - daq_smpl_rate_rb_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE", daq_mode_id); - daq_mode_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE-RB", daq_mode_rb_id); - daq_mode_rb_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SW-TRIG", daq_sw_trig_id); - daq_sw_trig_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY", daq_smpl_st_dly_id); - daq_smpl_st_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY-RB", daq_smpl_st_dly_rb_id); - daq_smpl_st_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN", daq_len_id); - daq_len_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN-RB", daq_len_rb_id); - daq_len_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-RECONF", daq_reconf_id); - daq_reconf_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY", daq_pub_dly_id); - daq_pub_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB", daq_pub_dly_rb_id); - daq_pub_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-STAT", daq_stat_id); - daq_stat_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-CONF-STAT", daq_conf_stat_id); - daq_conf_stat_type = DBR_ENUM; - - tcn_sleep(3e9);// Wait for a while. - - // ---------------------------------------------------------------------------------------------------------------- - // Initialize tcn library - // ---------------------------------------------------------------------------------------------------------------- - int tcn_err; - tcn_err = tcn_init(); - if (tcn_err != TCN_SUCCESS) { - log_error("TCN Initialization failed.\n"); - exValue = 1; - goto END; - } - - // ---------------------------------------------------------------------------------------------------------------- - // pxie-6368 settings - // ---------------------------------------------------------------------------------------------------------------- - // Open ai segment---------------------------------------------------------------------- - aifd = open(pxie6368_0_ai_fd, O_RDWR); - if (aifd <= 0) { - log_error("Open PXIe6368 AI fd failed.\n"); - exValue = -1; - goto END; - } - - // wait ai segment setup start - do { - CAInterface_ReadVariable(daq_reconf_id, daq_reconf_type, (void*) &daq_reconf); - } while (!daq_reconf and !__terminate); - - // read parameter - result = CAInterface_ReadVariable(daq_smpl_rate_id, daq_smpl_rate_type, (void *) &daq_p.daq_smpl_rate); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_mode_id, daq_mode_type, (void *) &daq_p.daq_mode); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_smpl_st_dly_id, daq_smpl_st_dly_type, (void *) &daq_p.daq_smpl_st_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_len_id, daq_len_type, (void *) &daq_p.daq_len); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_pub_dly_id, daq_pub_dly_type, (void *) &daq_p.daq_pub_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - - std::cout << "SAMPLE RATE:" << daq_p.daq_smpl_rate << endl; - std::cout << "MODE :" << daq_p.daq_mode << endl; - std::cout << "START DELAY:" <ai.count * sampleSize, 4096); - - //dan_DataCore, ds_name, devName, enum_daq_type refType, long refSize, long refOffset - if (ds == NULL) { - log_error("Error while publishing DAN source %s ", dan_source_name); - exValue = 1; - goto END; - } - - n_channels = dan_publisher_getNumberOfChannels(ds); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- DAN Streamer. - // ------------------------------------------------------------------------------------------------------------------ - // ----- Open a new stream --------------------------------------------------------------------- - dan_publisher_openStream(ds, daq_p.daq_smpl_rate, 0); - sleep(1); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Main DAN Loop. - // ------------------------------------------------------------------------------------------------------------------ - while (!__terminate) { - // Wait for the master trigger.---------------------------------------------------------------------------- - daq_stat = 1; //0:Not Ready, 1: Waiting trigger, 2:Acquiring 3:Error - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - daq_conf_stat = 1; //0:Not ready, 1: Ready - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - - // Wait DAQ Start Software Trigger. - do { - // check daq_sw_trigger to start DAQ sequence. - CAInterface_ReadVariable(daq_sw_trig_id, daq_sw_trig_type, (void*) &daq_sw_trig); - tcn_sleep(1e7); // wait 0.01 s - if (daq_sw_trig) { - daq_start = true; - } - } while (daq_start != true and !__terminate); - - daq_start = false; //reset daq_start flag. - delay = (long) (1e6 * daq_p.daq_pub_dly); //check publish period. - - // Wait a time to start DAQ. ---------------------------------------------------------------------------------------------------------------------- - tcn_sleep(daq_p.daq_smpl_st_dly * 1e6); // in ms - - // After the wating, trigger DAQ ------------------------------------------------------------------------------------------------------------------ - retval = xseries_pulse_ai(aifd, XSERIES_START_TRIGGER); - daq_stat = 2; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - if (retval) { - std::cout << "Cannot generate start trigger!\n"; - goto END; - } else { - tcn_get_time(&tBase); // get DAQ start time. - tBase0 = tBase; // save DAQ start time to tBase0; - tBase_old = tBase; - } - - // DAQ Publish Loop. ---------------------------------------------------------------------------------------------------------------------------- - // DAN data publish is executed every delay time interval. - while (!__terminate && (tcn_wait_until_hr((tBase + delay), &tBase, 0) == TCN_SUCCESS)) { - // Get the number of available samples in PXIe6368 buffer. - n_samples = xsereis_ai_dma_samples_in_buffer(dma); // samples - - if (n_samples > dma->ai.count) { - //log_error("DMA Buffer overflow: Number of new samples in buffer = %ld, AI buffer size = %ld,\n", n_samples, dma->ai.count); - } else if (n_samples > 0) { - //log_info("Current Time:\n%s\n", tcn_strftime(tBase, buf, ISO_8601_LEN)); - if (tBase == 0) { - // "tBase was reset.------------------------------------------------------\n"; - tcn_get_time(&tBase); - tBase -= n_samples * 100000000 / pxie6368_sampling_rate; - nanos = 0; - } else { - // update time offset value. - nanos = n_samples * 100000000 / daq_p.daq_smpl_rate; - } - n_sample_quotient = floor(n_samples / chan_num); - n_samples = n_sample_quotient * chan_num; - - // Publish a new data block -------------------------------------------------------------------------------------------------------------------------- - result = dan_publisher_putBlockReference(ds, - tBase_old + nanos, // timestamp in epoch nanoseconds - n_samples * sampleSize, // datablock size in bytes - offset_ai * sampleSize, // Offset in DAQ buffer - NULL); // No datablock header.... - // Detected overflow in pass datablock reference queue - if (result == -1) { - log_info("%s, Queue overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } else if (result == -2) { - log_info("%s, DAQ buffer overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } - } - - samplesCounter += n_samples; // Increment total of published sampes - offset_ai = (offset_ai + n_samples) % dma->ai.count; // Update offset of memory - dma->ai.last_transfer_count = samplesCounter; // Update dma last_transfer_count - - // Check exit condition. - if ((daq_p.daq_len * 1e6 <= (tBase - tBase0))) { - retval = xseries_stop_ai(aifd); - if (retval) { - std::cout << "Stop AI segment failed.\n"; - exit (EXIT_FAILURE); - } - - //restart ai segment. - tcn_sleep(1e9); // wait - retval = xseries_start_ai(aifd); - if (retval) { - std::cout << "Start AI segment failed.\n"; - exit (EXIT_FAILURE); - } - //debug - tcn_sleep(1e8); - n_samples = xsereis_ai_dma_samples_in_buffer(dma); - cout << "n_samples check : " << n_samples << endl; - break; - } - tBase_old = tBase; - } // End of DAQ publish loop. - break; - } // End of DAN main loop. - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Closing program. - // ------------------------------------------------------------------------------------------------------------------ - log_info("DAN end of acquisition, closing all resources"); - - //Closing stream - dan_publisher_closeStream(ds); - exValue = 0; - - // Close all channels - for (int channel = 0; channel < chan_num; channel++) { - close(ai_chan_fd[channel]); - } - goto END; - - END: daq_conf_stat = 0; - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - daq_stat = 0; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - // Destroy CA context - CAInterface_Finalize(); - // Close pxie6368 - if (dma != NULL) { - xseries_dma_close(dma); - cout << "pxie-6368 dma was clesed.\n"; - } - - close(aifd); - - // Unpublishing source from DAN API - if (ds != NULL) { - dan_publisher_unpublishSource(dc, ds); - } - - // Closing DAN API library - if (dc != NULL) { - dan_closeLibrary(dc); - } - - // Closing TCN library - result = tcn_finalize(); - if (result != TCN_SUCCESS) { - //log_error("Error finalizing TCN lib.\n"); - } - - } // loop end from initialization - return (0); - -} diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/Makefile b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/Makefile deleted file mode 100644 index ab6bca0..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/prog/Makefile.template $ -# $Id: Makefile.template 83098 2018-01-08 13:23:38Z cesnikt $ -# -# Project : CODAC Core System -# -# Description : gyrotronDAN Makefile -# -# Author : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2018 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -PROGNAME=Gyrotron01DAN - -LIBRARIES=ca dan_api dan_client_api dan_stream dan_base xml2 log sdn sdn-core ccs-core rt pthread tcn nixseries -LIBRARY_DIRS= -INCLUDE_DIRS=. ../include $(CODAC_ROOT)/include $(EPICS_BASE)/include/os/Linux $(EPICS_BASE)/include/compiler/gcc $(EPICS_BASE)/include /usr/include/libxml2 $(SDN_TOPIC_DIRECTORY) - -TARGET=../../../../target -BINARY_DIR=$(TARGET)/bin -OBJECT_DIR=$(TARGET)/obj/$(PROGNAME) -SOURCE_DIR=. - -EXECUTABLE=$(BINARY_DIR)/$(PROGNAME) -INCLUDES=$(foreach inc,$(INCLUDE_DIRS),-I$(inc)) -LDLIBS=-L$(CODAC_ROOT)/lib -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) $(foreach libs,$(LIBRARY_DIRS),-L$(libs) -Wl,-rpath,$(libs)) $(foreach libs,$(LIBRARIES),-l$(libs)) -SOURCES=$(SOURCE_DIR)/$(PROGNAME).cpp $(SOURCE_DIR)/configure_sdn.cpp -# to build executable from all sources in the program directory: -#SOURCES=$(wildcard $(SOURCE_DIR)/*.cpp $(SOURCE_DIR)/*.c) -OBJECTS=$(addprefix $(OBJECT_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(SOURCES)))) - -C=gcc -CC=g++ -CFLAGS=-c -Wall -CCFLAGS=-c -Wall -std=c++11 -LDFLAGS= - -.PHONY: all clean run - -all: $(SOURCES) $(EXECUTABLE) - -clean: - rm -rf "$(EXECUTABLE)" "$(OBJECT_DIR)" - -run: $(SOURCES) $(EXECUTABLE) - $(EXECUTABLE) - -$(EXECUTABLE): $(OBJECTS) - mkdir -p $(BINARY_DIR) - $(CC) $(LDFLAGS) $(LDLIBS) $(OBJECTS) -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.cpp - mkdir -p $(OBJECT_DIR) - $(CC) $(CCFLAGS) $(INCLUDES) $< -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.c - mkdir -p $(OBJECT_DIR) - $(C) $(CFLAGS) $(INCLUDES) $< -o $@ \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/ca-if.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/ca-if.h deleted file mode 100644 index 3bcbb4d..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/ca-if.h +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef CA_IF_H -#define CA_IF_H - -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-log-lib/trunk/src/main/c++/include/tools/any-type.h $ - * $Id: any-type.h 50547 2014-10-09 12:09:51Z bauvirb $ - * - * Project : CODAC Core System - * - * Description : Channel Access Interface - * - * Author : Bertrand Bauvir - * - * Copyright (c) : 2010-2014 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* Global header files */ -#include -#include /* Channel Access API definition, etc. */ -//#include /* CCS logging library */ - -/* Local header files */ - -/* Constants */ - -#ifndef log_trace -#define log_trace(arg_msg...) {} -#endif - -#ifndef log_error -#define log_error(arg_msg...){} -#endif - -/* Type definition */ - -/* Global variables */ - -/* Public function declaration */ - -static inline bool CAInterface_Initialize(void) { - bool status = false; - ca_context_create (ca_disable_preemptive_callback); //Default - //ca_context_create(ca_enable_preemptive_callback); - status = true; - - return status; -}; - -static inline bool CAInterface_Finalize(void) { - bool status = false; - ca_context_destroy(); - status = true; - - return status; -}; - -static inline bool CAInterface_ConnectVariable(char* name, chid& id) { - bool status = false; - /* Connect to channels */ - if (ca_create_channel(name, NULL, NULL, 10, &id) != ECA_NORMAL) { - return status; - } - - /* Wait for connections */ - if (ca_pend_io(1) != ECA_NORMAL) { - log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - /* Verify channel */ - if (ca_state(id) != cs_conn) { - //log_warning("Connection to channel '%s' has not been successful", name); - } else { - //log_info("Connection to channel '%s' has been successfully verified", name); - } - - status = true; - - return status; -}; - -static inline bool CAInterface_ReadVariable(chid channel, chtype type, - void* p_value) { - bool status = false; - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost"); - return status; - } - - if (ca_get(type, channel, p_value) != ECA_NORMAL) { - //log_error("%s - ca_get failed", __FUNCTION__); - return status; - } - - /* Flush the requests */ - if (ca_pend_io(1) != ECA_NORMAL) { - //log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - status = true; - - return status; -}; - -static inline bool CAInterface_WriteVariable(chid channel, chtype type, - void* p_value) { - bool status = false; - - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost", __FUNCTION__); - return status; - } - - if (ca_put(type, channel, p_value) != ECA_NORMAL) { - //log_warning("%s - ca_put failed", __FUNCTION__); - } - - /* Flush the requests */ - if (ca_pend_io(1) != ECA_NORMAL) { - //log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - status = true; - - return status; -}; - -typedef void (*pCallBack)(struct event_handler_args); - -static inline bool CAInterface_SubscribeVariable(chid channel, chtype type, - pCallBack cb_func, void* p_value) { - bool status = false; - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost", __FUNCTION__); - return status; - } - - if (ca_create_subscription(type, 0, channel, DBE_VALUE, cb_func, NULL, NULL) - != ECA_NORMAL) { - //log_error("%s - ca_create_subscription failed", __FUNCTION__); - return status; - - } - /* - if(ca_pend_event(0.0) != ECA_NORMAL){ - //log_error("%s - ca_pend_event failed", __FUNCTION__); - return status; - } - */ - status = true; - - return status; -}; - -#endif /* CA_IF_H */ diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/configure_sdn.cpp b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/configure_sdn.cpp deleted file mode 100644 index fc607b1..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/configure_sdn.cpp +++ /dev/null @@ -1,68 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/configure_sdn.cpp.vm $ -// $Id: configure_sdn.cpp.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron01DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#include - -#include -#include "includetopics.h" - -using namespace std; - -/* Create variables for the topics on which application is publishing */ -//+P===================================================================== -//-P===================================================================== - -/* Create variables for topics on which application is subscribing */ -//+S===================================================================== -//-S===================================================================== - -int configureSDN() -{ - - SR_RET sr_ret = SR_OK; - - //+P===================================================================== - //-P===================================================================== - - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} - -int cleanupSDN() -{ - - SR_RET sr_ret = SR_OK; - - /* Unregister publisher */ - //+P===================================================================== - //-P===================================================================== - - /* Unregister subscriber */ - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/environmentVarDev b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/environmentVarDev deleted file mode 100644 index fa62c0e..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/environmentVarDev +++ /dev/null @@ -1,17 +0,0 @@ -######################################## -# Program-specific environment variables -######################################## - -# INFO - This file is part of the I&C project. It can be modified without risk of being overwritten. -# INFO - This file is sourced when invoking 'mvn run -Dprog=' to allow for setting development-specific environment variables. - -# Override SDN interface name for test purposes -# Default: lo -# Project: Target host in SDD database -#SDN_INTERFACE_NAME=lo - -# INFO - This file can be further extended with anything specific required by the program. - -#LOG_FILE_ENABLE=false -#LOG_FILTER_LEVEL=info -#LOG_FWD_MODE=asyn diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/includetopics.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/includetopics.h deleted file mode 100644 index b7aece5..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/includetopics.h +++ /dev/null @@ -1,29 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/includetopics.h.vm $ -// $Id: includetopics.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron01DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef INCLUDETOPICS_H -#define INCLUDETOPICS_H - -#include - - -#endif \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-dan.cpp b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-dan.cpp deleted file mode 100644 index 00886e0..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-dan.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "sdd-dan.h" -#include -#include "stdlib.h" - -int declareDANStruct(dan_Source ds ){ - - int result=0; - int Cnt=0; - if(ds==NULL){ - log_error("Invalid call to declareDANStruct, dan source not initialized \n "); - return -1; - } - - return 0; - } \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-dan.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-dan.h deleted file mode 100644 index 9d1b3a8..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-dan.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SDD_DAN_H -#define SDD_DAN_H -#include "dan.h" - -static const char ICProgName[] = "Gyrotron01DAN"; -static const char GYADanSource[] = "GYADanSource"; - -#endif /* SDD_DAN_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-data.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-data.h deleted file mode 100644 index 73f755b..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-data.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef SDD_DATA_H -#define SDD_DATA_H - -#include "sdd-pon-if.h" -#include "sdd-iomodule.h" - -static SDD_PONVar pvlist []={ - - }; - -static SDD_IOModule iomlist []={ - }; - -#endif /* SDD_DATA_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-iomodule.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-iomodule.h deleted file mode 100644 index a8af1fe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-iomodule.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef SDD_IOMODULE_H -#define SDD_IOMODULE_H - -//include all linux libraries for IO module listed in the programs - - -//max is 15 for component name -#define SDD_CPMAXLENGTH 50 -#define SDD_SERIALNBMAXLENGTH 60 -#define SDD_FDPREFIXMAXLENGTH 100 - -struct SDD_IOModule { - - //name of the module - char name[SDD_CPMAXLENGTH]; - - //type of the module - char modtype[SDD_CPMAXLENGTH]; - - //module index - int fd; - - //file descriptor name - char filedescrip_prefix[SDD_FDPREFIXMAXLENGTH]; - - //serial number - char serial_number [SDD_SERIALNBMAXLENGTH]; - -}; - -//list of symbol for IOModule : IO module type and fd -typedef enum SDD_IOModuleEnum { - - } SDD_IOModuleEnum; - - -#endif /* SDD_IOMODULE_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-pon-if.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-pon-if.h deleted file mode 100644 index ea459e6..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/sdd-pon-if.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef SDD_PON_IF_H -#define SDD_PON_IF_H - -#include /* Channel Access API definition, etc. */ - - -#define SDD_PVMAXLENGTH 40 -#define SDD_STRING_MAX_LENGTH 100 -#define SDD_NB_OF_PONVAR 0 //generated by SDD - -struct SDD_PONVar { - - char name[SDD_PVMAXLENGTH]; - - //if read-> monitor=yes otherwise false - bool isMonitored; - - chtype type; - - //the code can cast - char initialvalue[SDD_STRING_MAX_LENGTH]; - -}; - -//list of symbols -typedef enum SDD_PONVarEnum { - - -} SDD_PONVarEnum; - -//for each enum (bi/bo/mbbi/mbbo) name is symbolname suffix with _enum - - - - -#endif /* SDD_PON_IF_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/topicvars.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/topicvars.h deleted file mode 100644 index dc0b827..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron01DAN/topicvars.h +++ /dev/null @@ -1,36 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/topicvars.h.vm $ -// $Id: topicvars.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron01DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef TOPICVARS_H -#define TOPICVARS_H - -#include "includetopics.h" - -/* Declare variables for the topics on which application is publishing. */ -//+P===================================================================== -//-P===================================================================== - -/* Declare variables for the topics to which application is subscribing. */ -//+S===================================================================== -//-S===================================================================== - -#endif diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/Gyrotron02DAN.cpp b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/Gyrotron02DAN.cpp deleted file mode 100644 index 06f975b..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/Gyrotron02DAN.cpp +++ /dev/null @@ -1,639 +0,0 @@ -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp-sdn/main/c++/prog/prog.cpp.template $ - * $Id: prog.cpp.template 83098 2018-01-08 13:23:38Z cesnikt $ - * - * Project : CODAC Core System - * - * Description : GyrotronDAN program - * - * Author : codac-dev - * - * Copyright (c) : 2010-2018 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* header files */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#define float32_t float32_t1 -#include -#undef float32_t - -#include -#include -#include -#include -#include -#include - -#include - -// global variables -static bool __terminate = false; -char pxie6368_0_ai_fd[] = "/dev/pxie-6368.1.ai"; // ai segment -char pxie6368_0_device[] = "/dev/pxie-6368.1"; // device descriptor - -typedef struct { - int daq_smpl_rate; - int daq_mode; - double daq_smpl_st_dly; - double daq_len; - double daq_pub_dly; -} daq_parameters; - -void signal_handler(int signal) { - log_info("Received signal '%d' to terminate", signal); - __terminate = true; -}; - -// DAN parameter reload function ------------------------------------------------ -int reload_daq_conf(int *aifd, int *ai_chan_fd, daq_parameters *daq_p) { - std::cout << "reload_daq_conf was called \n"; - - // Common variables - int retval; - unsigned long number_of_samples; - int chan_num = 10; // Channel number to add. - uint32_t sample_period_divisor; - uint32_t base_clock = 100000000; // TB3:100MHz, TB2:100 kHz - uint32_t pre_samples = 1000; - uint32_t post_samples = 1000; - char str[40]; - xseries_ai_conf_t conf; // ai segment configuraton data - - // calculate sampling period divisor - if (daq_p->daq_smpl_rate != 0) { - sample_period_divisor = base_clock / daq_p->daq_smpl_rate; - } else { - return 0; - } - - // Stop ai segment---------------------------------------------------------------------- - retval = xseries_stop_ai(*aifd); - if (retval) { - log_error("ai segment stop failed.\n"); - } else { - log_info("ai segment stopped.\n"); - } - - // reset ai segment--------------------------------------------------------------------- - retval = xseries_reset_ai(*aifd); - if (retval) { - log_error("ai segment reset failed.\n"); - return -1; - } - - // Configure AI segment mode ------------------------------------------------------------ - switch (daq_p->daq_mode) { - case 0: - conf = xseries_software_timed_ai(); - log_info("software_timed mode.\n"); - break; - case 1: - conf = xseries_finite_ai(number_of_samples); - log_info("finite mode.\n"); - break; - case 2: - conf = xseries_retriggerable_finite_ai(number_of_samples); - log_info("retriggerable_finite mode.\n"); - break; - case 3: - conf = xseries_continuous_ai(); - log_info("continuous mode.\n"); - break; - case 4: - conf = xseries_reference_ai(pre_samples, post_samples); - log_info("reference mode.\n"); - break; - } - - // disable external gate - retval = xseries_set_ai_external_gate(&conf, - XSERIES_AI_EXTERNAL_GATE_DISABLED, // No external pause signal - XSERIES_AI_POLARITY_ACTIVE_LOW_OR_FALLING_EDGE); // Don't care - if (retval) { - log_error("Cannot set gate trigger.\n"); - return -1; - } - - // select start trigger (START1 signal) - retval = xseries_set_ai_start_trigger(&conf, - XSERIES_AI_START_TRIGGER_SW_PULSE, // Set the line to software-driven - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, // Make line active on rising... - 1); // ... edge (not high level) - if (retval) { - log_error("Cannot set start trigger.\n"); - return -1; - } - - // set sampling clock source---------------------------------------------------------------------------------------- - retval = xseries_set_ai_sample_clock(&conf, - XSERIES_AI_SAMPLE_CONVERT_CLOCK_INTERNALTIMING, - XSERIES_AI_POLARITY_ACTIVE_HIGH_OR_RISING_EDGE, 1); - if (retval) { - log_error("Cannot configure sampling clock.\n"); - return -1; - } - - // set scan interval ------------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_scan_interval_counter(&conf, - XSERIES_SCAN_INTERVAL_COUNTER_TB3, // TB3 : 100MHz base clock, TB2 : 100kHz base clock - XSERIES_SCAN_INTERVAL_COUNTER_POLARITY_RISING_EDGE, - sample_period_divisor, 2); // Wait 2*100MHz sec after sampling trig. - if (retval) { - log_error("Cannot configure scan counter.\n"); - return -1; - } - - // Set DMA buffer size----------------------------------------------------------------------------------------------------------------------- - retval = xseries_set_ai_attribute(&conf, XSERIES_AI_DMA_BUFFER_SIZE, 1000); - if (retval) { - log_error("DMA configuration was failed.\n"); - return -1; - } - - // Add AI channels --------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - retval = xseries_add_ai_channel(&conf, i, XSERIES_INPUT_RANGE_10V, - XSERIES_AI_CHANNEL_TYPE_DIFFERENTIAL, 0); - if (retval) { - log_error("Add AI channel %d was failed.\n", i); - return -1; - } - } - sleep(3); - - // Load configuration.----------------------------------------------------------------------------------------------------------------------- - retval = xseries_load_ai_conf(*aifd, conf); - if (retval) { - log_error("xseries_load_ai_conf was failed. error code: %d \n", retval); - exit (EXIT_FAILURE); - } - sleep(3); - - // Open channels-------------------------------------------------------------------------------------------------------------------------------- - for (int i = 0; i < chan_num; i++) { - sprintf(str, "%s.ai.%u", pxie6368_0_device, i); - //ai_chan_fd[i] = open(str, O_RDWR | O_NONBLOCK); - ai_chan_fd[i] = open(str, O_RDWR); - if (ai_chan_fd[i] < 0) { - log_error("Cannot open ai channel %d .\n",i); - sleep(1); - exit (EXIT_FAILURE); - } - } - - // start ai segment task----------------------------------------------------------------------------------------------------------------------- - retval = xseries_start_ai(*aifd); - if (retval) { - log_error("ERROR, starting AI segment failed: %s\n", strerror(retval)); - exit (EXIT_FAILURE); - } - - log_info("PXIe-6368 configuration was finished.\n"); - return 0; -}; - - - -int main(int argc, char **argv) { - using namespace std; - unsigned long n_sample_quotient = 0; - - log_initialize(NULL); - - while (!__terminate) { - // Install signal handler to support graceful termination - sigset(SIGTERM, signal_handler); - sigset(SIGINT, signal_handler); - sigset(SIGHUP, signal_handler); - - // ---------------------------------------------------------------------------------------------------------------- - // Running parameter declaration - // ---------------------------------------------------------------------------------------------------------------- - // pxie6368 hardware parameters - int pxie6368_0_device_number = 1; // device discriptor number - int aifd = 0; // ai segment file discriptor - xseries_ai_conf_t conf; // ai segment config - xseries_ai_attribute_t aiatrb; // ai segment attributes - char str[40]; // fd tmp var - int ai_chan_fd[16]; // ai channels file discriptor - int pxie6368_sampling_rate = 1000; // sampling rate Hz - uint32_t sample_period_divisor = 100000000 / pxie6368_sampling_rate; // TB3 100MHz, TB2:100kHz, TB1:20MHz - int sampleSize = 2; // Sample size in bytes <---> uInt16 - int n_channels; // Number of opened channels - struct xseries_dma *dma; // Ptr to dma struct - int chan_num = 10; // Channel number to add. - - // DAN parameters - char dan_source_name[] = "GYBDanSource"; // DAN data source (ds) name - long offset_ai = 0; // offset size in published data - int dma_mode = 1; // 0:All, 1:AI only, 2:AO only - dan_DataCore dc = NULL; // Datacore reference declaration - dan_Source ds = NULL; // DAN source declaration - long samplesCounter = 0; // Total acquired sample size - size_t n_samples; // prepared sample size to publish - - // TCN parameters - uint64_t tBase_old = 0; - uint64_t tBase = 0; // TCN publishing base time - uint64_t nanos; // time length for sampling - hpn_timestamp_t delay = 1e7; // wait for publishing (10ms) - char buf[ISO_8601_LEN]; - uint64_t tBase0 = 0; - - // Operation tmp parameter - int result; // For result values. - int exValue; - bool toterminate = false; - int retval; - bool daq_start = false; - int testcounter = 10000; - - // Connected EPCIS PV - - // DAQ config PVs - chid daq_smpl_rate_id; - chtype daq_smpl_rate_type; - int daq_smpl_rate; - chid daq_smpl_rate_rb_id; - chtype daq_smpl_rate_rb_type; - int daq_smpl_rate_rb; - chid daq_mode_id; - chtype daq_mode_type; - int daq_mode; - chid daq_mode_rb_id; - chtype daq_mode_rb_type; - int daq_mode_rb; - chid daq_sw_trig_id; - chtype daq_sw_trig_type; - int daq_sw_trig; - chid daq_smpl_st_dly_id; - chtype daq_smpl_st_dly_type; - double daq_smpl_st_dly; - chid daq_smpl_st_dly_rb_id; - chtype daq_smpl_st_dly_rb_type; - double daq_smpl_st_dly_rb; - chid daq_len_id; - chtype daq_len_type; - double daq_len; - chid daq_len_rb_id; - chtype daq_len_rb_type; - double daq_len_rb; - chid daq_reconf_id; - chtype daq_reconf_type; - int daq_reconf; - chid daq_pub_dly_id; - chtype daq_pub_dly_type; - double daq_pub_dly; - chid daq_pub_dly_rb_id; - chtype daq_pub_dly_rb_type; - double daq_pub_dly_rb; - - chid daq_stat_id; - chtype daq_stat_type; - int daq_stat; - chid daq_conf_stat_id; - chtype daq_conf_stat_type; - int daq_conf_stat; - - daq_parameters daq_p = { 0 }; // = {daq_smpl_rate, daq_smpl_rate_rb, daq_mode, daq_mode_rb}; - - // ---------------------------------------------------------------------------------------------------------------------------------------------- - // EPICS PV connection - // ---------------------------------------------------------------------------------------------------------------------------------------------- - //Initialize ChannelAccess interface - CAInterface_Initialize(); - - // Connect to EPICS PVs - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE", daq_smpl_rate_id); - daq_smpl_rate_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB", daq_smpl_rate_rb_id); - daq_smpl_rate_rb_type = DBR_LONG; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE", daq_mode_id); - daq_mode_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-MODE-RB", daq_mode_rb_id); - daq_mode_rb_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-SW-TRIG", daq_sw_trig_id); - daq_sw_trig_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY", daq_smpl_st_dly_id); - daq_smpl_st_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-SMPL-ST-DLY-RB", daq_smpl_st_dly_rb_id); - daq_smpl_st_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN", daq_len_id); - daq_len_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-LEN-RB", daq_len_rb_id); - daq_len_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-RECONF", daq_reconf_id); - daq_reconf_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY", daq_pub_dly_id); - daq_pub_dly_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB", daq_pub_dly_rb_id); - daq_pub_dly_rb_type = DBR_DOUBLE; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-STAT", daq_stat_id); - daq_stat_type = DBR_ENUM; - - CAInterface_ConnectVariable("EC-GN-P01-GPF:STAT-DAQ-CONF-STAT", daq_conf_stat_id); - daq_conf_stat_type = DBR_ENUM; - - tcn_sleep(3e9);// Wait for a while. - - // ---------------------------------------------------------------------------------------------------------------- - // Initialize tcn library - // ---------------------------------------------------------------------------------------------------------------- - int tcn_err; - tcn_err = tcn_init(); - if (tcn_err != TCN_SUCCESS) { - log_error("TCN Initialization failed.\n"); - exValue = 1; - goto END; - } - - // ---------------------------------------------------------------------------------------------------------------- - // pxie-6368 settings - // ---------------------------------------------------------------------------------------------------------------- - // Open ai segment---------------------------------------------------------------------- - aifd = open(pxie6368_0_ai_fd, O_RDWR); - if (aifd <= 0) { - log_error("Open PXIe6368 AI fd failed.\n"); - exValue = -1; - goto END; - } - - // wait ai segment setup start - do { - CAInterface_ReadVariable(daq_reconf_id, daq_reconf_type, (void*) &daq_reconf); - } while (!daq_reconf and !__terminate); - - // read parameter - result = CAInterface_ReadVariable(daq_smpl_rate_id, daq_smpl_rate_type, (void *) &daq_p.daq_smpl_rate); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_mode_id, daq_mode_type, (void *) &daq_p.daq_mode); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_smpl_st_dly_id, daq_smpl_st_dly_type, (void *) &daq_p.daq_smpl_st_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_len_id, daq_len_type, (void *) &daq_p.daq_len); - if (!result) { - log_error("CA_READ failed.\n"); - } - // read parameter - result = CAInterface_ReadVariable(daq_pub_dly_id, daq_pub_dly_type, (void *) &daq_p.daq_pub_dly); - if (!result) { - log_error("CA_READ failed.\n"); - } - - std::cout << "SAMPLE RATE:" << daq_p.daq_smpl_rate << endl; - std::cout << "MODE :" << daq_p.daq_mode << endl; - std::cout << "START DELAY:" <ai.count * sampleSize, 4096); - - //dan_DataCore, ds_name, devName, enum_daq_type refType, long refSize, long refOffset - if (ds == NULL) { - log_error("Error while publishing DAN source %s ", dan_source_name); - exValue = 1; - goto END; - } - - n_channels = dan_publisher_getNumberOfChannels(ds); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- DAN Streamer. - // ------------------------------------------------------------------------------------------------------------------ - // ----- Open a new stream --------------------------------------------------------------------- - dan_publisher_openStream(ds, daq_p.daq_smpl_rate, 0); - sleep(1); - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Main DAN Loop. - // ------------------------------------------------------------------------------------------------------------------ - while (!__terminate) { - // Wait for the master trigger.---------------------------------------------------------------------------- - daq_stat = 1; //0:Not Ready, 1: Waiting trigger, 2:Acquiring 3:Error - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - daq_conf_stat = 1; //0:Not ready, 1: Ready - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - - // Wait DAQ Start Software Trigger. - do { - // check daq_sw_trigger to start DAQ sequence. - CAInterface_ReadVariable(daq_sw_trig_id, daq_sw_trig_type, (void*) &daq_sw_trig); - tcn_sleep(1e7); // wait 0.01 s - if (daq_sw_trig) { - daq_start = true; - } - } while (daq_start != true and !__terminate); - - daq_start = false; //reset daq_start flag. - delay = (long) (1e6 * daq_p.daq_pub_dly); //check publish period. - - // Wait a time to start DAQ. ---------------------------------------------------------------------------------------------------------------------- - tcn_sleep(daq_p.daq_smpl_st_dly * 1e6); // in ms - - // After the wating, trigger DAQ ------------------------------------------------------------------------------------------------------------------ - retval = xseries_pulse_ai(aifd, XSERIES_START_TRIGGER); - daq_stat = 2; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - if (retval) { - std::cout << "Cannot generate start trigger!\n"; - goto END; - } else { - tcn_get_time(&tBase); // get DAQ start time. - tBase0 = tBase; // save DAQ start time to tBase0; - tBase_old = tBase; - } - - // DAQ Publish Loop. ---------------------------------------------------------------------------------------------------------------------------- - // DAN data publish is executed every delay time interval. - while (!__terminate && (tcn_wait_until_hr((tBase + delay), &tBase, 0) == TCN_SUCCESS)) { - // Get the number of available samples in PXIe6368 buffer. - n_samples = xsereis_ai_dma_samples_in_buffer(dma); // samples - - if (n_samples > dma->ai.count) { - //log_error("DMA Buffer overflow: Number of new samples in buffer = %ld, AI buffer size = %ld,\n", n_samples, dma->ai.count); - } else if (n_samples > 0) { - //log_info("Current Time:\n%s\n", tcn_strftime(tBase, buf, ISO_8601_LEN)); - if (tBase == 0) { - // "tBase was reset.------------------------------------------------------\n"; - tcn_get_time(&tBase); - tBase -= n_samples * 100000000 / pxie6368_sampling_rate; - nanos = 0; - } else { - // update time offset value. - nanos = n_samples * 100000000 / daq_p.daq_smpl_rate; - } - n_sample_quotient = floor(n_samples / chan_num); - n_samples = n_sample_quotient * chan_num; - - // Publish a new data block -------------------------------------------------------------------------------------------------------------------------- - result = dan_publisher_putBlockReference(ds, - tBase_old + nanos, // timestamp in epoch nanoseconds - n_samples * sampleSize, // datablock size in bytes - offset_ai * sampleSize, // Offset in DAQ buffer - NULL); // No datablock header.... - // Detected overflow in pass datablock reference queue - if (result == -1) { - log_info("%s, Queue overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } else if (result == -2) { - log_info("%s, DAQ buffer overflow with policy %d\n", dan_source_name, dan_publisher_getCheckPolicy(ds)); - } - } - - samplesCounter += n_samples; // Increment total of published sampes - offset_ai = (offset_ai + n_samples) % dma->ai.count; // Update offset of memory - dma->ai.last_transfer_count = samplesCounter; // Update dma last_transfer_count - - // Check exit condition. - if ((daq_p.daq_len * 1e6 <= (tBase - tBase0))) { - retval = xseries_stop_ai(aifd); - if (retval) { - std::cout << "Stop AI segment failed.\n"; - exit (EXIT_FAILURE); - } - - //restart ai segment. - tcn_sleep(1e9); // wait - retval = xseries_start_ai(aifd); - if (retval) { - std::cout << "Start AI segment failed.\n"; - exit (EXIT_FAILURE); - } - //debug - tcn_sleep(1e8); - n_samples = xsereis_ai_dma_samples_in_buffer(dma); - cout << "n_samples check : " << n_samples << endl; - break; - } - tBase_old = tBase; - } // End of DAQ publish loop. - break; - } // End of DAN main loop. - - // ------------------------------------------------------------------------------------------------------------------ - // ----- Closing program. - // ------------------------------------------------------------------------------------------------------------------ - log_info("DAN end of acquisition, closing all resources"); - - //Closing stream - dan_publisher_closeStream(ds); - exValue = 0; - - // Close all channels - for (int channel = 0; channel < chan_num; channel++) { - close(ai_chan_fd[channel]); - } - goto END; - - END: daq_conf_stat = 0; - CAInterface_WriteVariable(daq_conf_stat_id, daq_conf_stat_type, &daq_conf_stat); - daq_stat = 0; - CAInterface_WriteVariable(daq_stat_id, daq_stat_type, &daq_stat); - // Destroy CA context - CAInterface_Finalize(); - // Close pxie6368 - if (dma != NULL) { - xseries_dma_close(dma); - cout << "pxie-6368 dma was clesed.\n"; - } - - close(aifd); - - // Unpublishing source from DAN API - if (ds != NULL) { - dan_publisher_unpublishSource(dc, ds); - } - - // Closing DAN API library - if (dc != NULL) { - dan_closeLibrary(dc); - } - - // Closing TCN library - result = tcn_finalize(); - if (result != TCN_SUCCESS) { - //log_error("Error finalizing TCN lib.\n"); - } - - } // loop end from initialization - return (0); - -} diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/Makefile b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/Makefile deleted file mode 100644 index e0d79f8..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/prog/Makefile.template $ -# $Id: Makefile.template 83098 2018-01-08 13:23:38Z cesnikt $ -# -# Project : CODAC Core System -# -# Description : gyrotronDAN Makefile -# -# Author : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2018 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -PROGNAME=Gyrotron02DAN - -LIBRARIES=ca dan_api dan_client_api dan_stream dan_base xml2 log sdn sdn-core ccs-core rt pthread tcn nixseries -LIBRARY_DIRS= -INCLUDE_DIRS=. ../include $(CODAC_ROOT)/include $(EPICS_BASE)/include/os/Linux $(EPICS_BASE)/include/compiler/gcc $(EPICS_BASE)/include /usr/include/libxml2 $(SDN_TOPIC_DIRECTORY) - -TARGET=../../../../target -BINARY_DIR=$(TARGET)/bin -OBJECT_DIR=$(TARGET)/obj/$(PROGNAME) -SOURCE_DIR=. - -EXECUTABLE=$(BINARY_DIR)/$(PROGNAME) -INCLUDES=$(foreach inc,$(INCLUDE_DIRS),-I$(inc)) -LDLIBS=-L$(CODAC_ROOT)/lib -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH) $(foreach libs,$(LIBRARY_DIRS),-L$(libs) -Wl,-rpath,$(libs)) $(foreach libs,$(LIBRARIES),-l$(libs)) -SOURCES=$(SOURCE_DIR)/$(PROGNAME).cpp $(SOURCE_DIR)/configure_sdn.cpp -# to build executable from all sources in the program directory: -#SOURCES=$(wildcard $(SOURCE_DIR)/*.cpp $(SOURCE_DIR)/*.c) -OBJECTS=$(addprefix $(OBJECT_DIR)/,$(patsubst %.cpp,%.o,$(notdir $(SOURCES)))) - -C=gcc -CC=g++ -CFLAGS=-c -Wall -CCFLAGS=-c -Wall -std=c++11 -LDFLAGS= - -.PHONY: all clean run - -all: $(SOURCES) $(EXECUTABLE) - -clean: - rm -rf "$(EXECUTABLE)" "$(OBJECT_DIR)" - -run: $(SOURCES) $(EXECUTABLE) - $(EXECUTABLE) - -$(EXECUTABLE): $(OBJECTS) - mkdir -p $(BINARY_DIR) - $(CC) $(LDFLAGS) $(LDLIBS) $(OBJECTS) -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.cpp - mkdir -p $(OBJECT_DIR) - $(CC) $(CCFLAGS) $(INCLUDES) $< -o $@ - -$(OBJECT_DIR)/%.o: $(SOURCE_DIR)/%.c - mkdir -p $(OBJECT_DIR) - $(C) $(CFLAGS) $(INCLUDES) $< -o $@ \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/ca-if.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/ca-if.h deleted file mode 100644 index 3bcbb4d..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/ca-if.h +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef CA_IF_H -#define CA_IF_H - -/****************************************************************************** - * $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-log-lib/trunk/src/main/c++/include/tools/any-type.h $ - * $Id: any-type.h 50547 2014-10-09 12:09:51Z bauvirb $ - * - * Project : CODAC Core System - * - * Description : Channel Access Interface - * - * Author : Bertrand Bauvir - * - * Copyright (c) : 2010-2014 ITER Organization, - * CS 90 046 - * 13067 St. Paul-lez-Durance Cedex - * France - * - * This file is part of ITER CODAC software. - * For the terms and conditions of redistribution or use of this software - * refer to the file ITER-LICENSE.TXT located in the top level directory - * of the distribution package. - ******************************************************************************/ - -/* Global header files */ -#include -#include /* Channel Access API definition, etc. */ -//#include /* CCS logging library */ - -/* Local header files */ - -/* Constants */ - -#ifndef log_trace -#define log_trace(arg_msg...) {} -#endif - -#ifndef log_error -#define log_error(arg_msg...){} -#endif - -/* Type definition */ - -/* Global variables */ - -/* Public function declaration */ - -static inline bool CAInterface_Initialize(void) { - bool status = false; - ca_context_create (ca_disable_preemptive_callback); //Default - //ca_context_create(ca_enable_preemptive_callback); - status = true; - - return status; -}; - -static inline bool CAInterface_Finalize(void) { - bool status = false; - ca_context_destroy(); - status = true; - - return status; -}; - -static inline bool CAInterface_ConnectVariable(char* name, chid& id) { - bool status = false; - /* Connect to channels */ - if (ca_create_channel(name, NULL, NULL, 10, &id) != ECA_NORMAL) { - return status; - } - - /* Wait for connections */ - if (ca_pend_io(1) != ECA_NORMAL) { - log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - /* Verify channel */ - if (ca_state(id) != cs_conn) { - //log_warning("Connection to channel '%s' has not been successful", name); - } else { - //log_info("Connection to channel '%s' has been successfully verified", name); - } - - status = true; - - return status; -}; - -static inline bool CAInterface_ReadVariable(chid channel, chtype type, - void* p_value) { - bool status = false; - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost"); - return status; - } - - if (ca_get(type, channel, p_value) != ECA_NORMAL) { - //log_error("%s - ca_get failed", __FUNCTION__); - return status; - } - - /* Flush the requests */ - if (ca_pend_io(1) != ECA_NORMAL) { - //log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - status = true; - - return status; -}; - -static inline bool CAInterface_WriteVariable(chid channel, chtype type, - void* p_value) { - bool status = false; - - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost", __FUNCTION__); - return status; - } - - if (ca_put(type, channel, p_value) != ECA_NORMAL) { - //log_warning("%s - ca_put failed", __FUNCTION__); - } - - /* Flush the requests */ - if (ca_pend_io(1) != ECA_NORMAL) { - //log_error("%s - ca_pend_io failed", __FUNCTION__); - return status; - } - - status = true; - - return status; -}; - -typedef void (*pCallBack)(struct event_handler_args); - -static inline bool CAInterface_SubscribeVariable(chid channel, chtype type, - pCallBack cb_func, void* p_value) { - bool status = false; - if (ca_state(channel) != cs_conn) { - //log_error("%s - Connection to channel has been lost", __FUNCTION__); - return status; - } - - if (ca_create_subscription(type, 0, channel, DBE_VALUE, cb_func, NULL, NULL) - != ECA_NORMAL) { - //log_error("%s - ca_create_subscription failed", __FUNCTION__); - return status; - - } - /* - if(ca_pend_event(0.0) != ECA_NORMAL){ - //log_error("%s - ca_pend_event failed", __FUNCTION__); - return status; - } - */ - status = true; - - return status; -}; - -#endif /* CA_IF_H */ diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/configure_sdn.cpp b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/configure_sdn.cpp deleted file mode 100644 index 9088cc2..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/configure_sdn.cpp +++ /dev/null @@ -1,68 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/configure_sdn.cpp.vm $ -// $Id: configure_sdn.cpp.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron02DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#include - -#include -#include "includetopics.h" - -using namespace std; - -/* Create variables for the topics on which application is publishing */ -//+P===================================================================== -//-P===================================================================== - -/* Create variables for topics on which application is subscribing */ -//+S===================================================================== -//-S===================================================================== - -int configureSDN() -{ - - SR_RET sr_ret = SR_OK; - - //+P===================================================================== - //-P===================================================================== - - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} - -int cleanupSDN() -{ - - SR_RET sr_ret = SR_OK; - - /* Unregister publisher */ - //+P===================================================================== - //-P===================================================================== - - /* Unregister subscriber */ - //+S===================================================================== - //-S===================================================================== - - return sr_ret; - -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/environmentVarDev b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/environmentVarDev deleted file mode 100644 index fa62c0e..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/environmentVarDev +++ /dev/null @@ -1,17 +0,0 @@ -######################################## -# Program-specific environment variables -######################################## - -# INFO - This file is part of the I&C project. It can be modified without risk of being overwritten. -# INFO - This file is sourced when invoking 'mvn run -Dprog=' to allow for setting development-specific environment variables. - -# Override SDN interface name for test purposes -# Default: lo -# Project: Target host in SDD database -#SDN_INTERFACE_NAME=lo - -# INFO - This file can be further extended with anything specific required by the program. - -#LOG_FILE_ENABLE=false -#LOG_FILTER_LEVEL=info -#LOG_FWD_MODE=asyn diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/includetopics.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/includetopics.h deleted file mode 100644 index 0c4212c..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/includetopics.h +++ /dev/null @@ -1,29 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/includetopics.h.vm $ -// $Id: includetopics.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron02DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef INCLUDETOPICS_H -#define INCLUDETOPICS_H - -#include - - -#endif \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-dan.cpp b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-dan.cpp deleted file mode 100644 index 00886e0..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-dan.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "sdd-dan.h" -#include -#include "stdlib.h" - -int declareDANStruct(dan_Source ds ){ - - int result=0; - int Cnt=0; - if(ds==NULL){ - log_error("Invalid call to declareDANStruct, dan source not initialized \n "); - return -1; - } - - return 0; - } \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-dan.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-dan.h deleted file mode 100644 index 230aa06..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-dan.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SDD_DAN_H -#define SDD_DAN_H -#include "dan.h" - -static const char ICProgName[] = "Gyrotron02DAN"; -static const char GYBDanSource[] = "GYBDanSource"; - -#endif /* SDD_DAN_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-data.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-data.h deleted file mode 100644 index 73f755b..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-data.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef SDD_DATA_H -#define SDD_DATA_H - -#include "sdd-pon-if.h" -#include "sdd-iomodule.h" - -static SDD_PONVar pvlist []={ - - }; - -static SDD_IOModule iomlist []={ - }; - -#endif /* SDD_DATA_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-iomodule.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-iomodule.h deleted file mode 100644 index a8af1fe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-iomodule.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef SDD_IOMODULE_H -#define SDD_IOMODULE_H - -//include all linux libraries for IO module listed in the programs - - -//max is 15 for component name -#define SDD_CPMAXLENGTH 50 -#define SDD_SERIALNBMAXLENGTH 60 -#define SDD_FDPREFIXMAXLENGTH 100 - -struct SDD_IOModule { - - //name of the module - char name[SDD_CPMAXLENGTH]; - - //type of the module - char modtype[SDD_CPMAXLENGTH]; - - //module index - int fd; - - //file descriptor name - char filedescrip_prefix[SDD_FDPREFIXMAXLENGTH]; - - //serial number - char serial_number [SDD_SERIALNBMAXLENGTH]; - -}; - -//list of symbol for IOModule : IO module type and fd -typedef enum SDD_IOModuleEnum { - - } SDD_IOModuleEnum; - - -#endif /* SDD_IOMODULE_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-pon-if.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-pon-if.h deleted file mode 100644 index ea459e6..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/sdd-pon-if.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef SDD_PON_IF_H -#define SDD_PON_IF_H - -#include /* Channel Access API definition, etc. */ - - -#define SDD_PVMAXLENGTH 40 -#define SDD_STRING_MAX_LENGTH 100 -#define SDD_NB_OF_PONVAR 0 //generated by SDD - -struct SDD_PONVar { - - char name[SDD_PVMAXLENGTH]; - - //if read-> monitor=yes otherwise false - bool isMonitored; - - chtype type; - - //the code can cast - char initialvalue[SDD_STRING_MAX_LENGTH]; - -}; - -//list of symbols -typedef enum SDD_PONVarEnum { - - -} SDD_PONVarEnum; - -//for each enum (bi/bo/mbbi/mbbo) name is symbolname suffix with _enum - - - - -#endif /* SDD_PON_IF_H */ \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/topicvars.h b/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/topicvars.h deleted file mode 100644 index 1a4216b..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Gyrotron02DAN/topicvars.h +++ /dev/null @@ -1,36 +0,0 @@ -//+====================================================================== -// $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-sdd-translator-parts/tags/CODAC-CORE-6.0.0/org.iter.codac.sdd.translators/src/main/resources/templates/sdn/topicvars.h.vm $ -// $Id: topicvars.h.vm 83098 2018-01-08 13:23:38Z cesnikt $ -// -// Project : CODAC Core System -// -// Description : SDN Program - Gyrotron02DAN -// -// Author : Kirti Mahajan, Lana Abadie and TCS (link with velocity and SDD model) -// -// Copyright (c) : 2010-2018 ITER Organization, -// CS 90 046 -// 13067 St. Paul-lez-Durance Cedex -// France -// -// This file is part of ITER CODAC software. -// For the terms and conditions of redistribution or use of this software -// refer to the file ITER-LICENSE.TXT located in the top level directory -// of the distribution package. -// -//-====================================================================== - -#ifndef TOPICVARS_H -#define TOPICVARS_H - -#include "includetopics.h" - -/* Declare variables for the topics on which application is publishing. */ -//+P===================================================================== -//-P===================================================================== - -/* Declare variables for the topics to which application is subscribing. */ -//+S===================================================================== -//-S===================================================================== - -#endif diff --git a/EC-GN-JA-PCF/target/main/c++/Makefile b/EC-GN-JA-PCF/target/main/c++/Makefile deleted file mode 100644 index 0a725f5..0000000 --- a/EC-GN-JA-PCF/target/main/c++/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/Makefile $ -# $Id: Makefile 83098 2018-01-08 13:23:38Z cesnikt $ -# -# Project : CODAC Core System -# -# Description : C++ Makefile -# -# Author : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2018 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -SUBDIRS=$(dir $(wildcard */Makefile)) - -BOLD=\e[1m -NC=\e[0m - -all: - -%: - @$(foreach dir, $(SUBDIRS), echo -e "$(BOLD)Building $(dir:/=)...$(NC)" && $(MAKE) -C $(dir) $@ &&) : diff --git a/EC-GN-JA-PCF/target/main/c++/conf/Gyrotron01DAN_danconf.xml b/EC-GN-JA-PCF/target/main/c++/conf/Gyrotron01DAN_danconf.xml deleted file mode 100644 index 01faa30..0000000 --- a/EC-GN-JA-PCF/target/main/c++/conf/Gyrotron01DAN_danconf.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - 1.0.0 - - - - danInt16 - - 100000 - - - DATA_D0 - - DM_BLOCK2D_VAR - - CHECK_AND_OVERWRITE - - 1000 - - 1 - - UTC - - - - GYADanSource - - v1.3 - - 0 - - N1134342 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ALL - - - - - - IF_FAIL_NEXT - - ${DAN_ARCHIVE_MASTER} - - ${DAN_ARCHIVE_SLAVE} - - - - - diff --git a/EC-GN-JA-PCF/target/main/c++/conf/Gyrotron02DAN_danconf.xml b/EC-GN-JA-PCF/target/main/c++/conf/Gyrotron02DAN_danconf.xml deleted file mode 100644 index 5607efe..0000000 --- a/EC-GN-JA-PCF/target/main/c++/conf/Gyrotron02DAN_danconf.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - 1.0.0 - - - - danInt16 - - 100000 - - - DATA_D0 - - DM_BLOCK2D_VAR - - CHECK_AND_OVERWRITE - - 1000 - - 1 - - UTC - - - - GYBDanSource - - v1.3 - - 0 - - N1134342 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ALL - - - - - - IF_FAIL_NEXT - - ${DAN_ARCHIVE_MASTER} - - ${DAN_ARCHIVE_SLAVE} - - - - - diff --git a/EC-GN-JA-PCF/target/main/c++/conf/environmentVarDev b/EC-GN-JA-PCF/target/main/c++/conf/environmentVarDev deleted file mode 100644 index ab5d5da..0000000 --- a/EC-GN-JA-PCF/target/main/c++/conf/environmentVarDev +++ /dev/null @@ -1,14 +0,0 @@ -############################################ -# I&C project-specific environment variables -############################################ - -# INFO - This file is part of the I&C project. It can be modified without risk of being overwritten. -# INFO - This file is sourced when invoking 'mvn run' to allow for setting development-specific environment variables. - -# INFO - This file can be further extended with anything specific required by the I&C project. - -#LOG_FILE_ENABLE=false -#LOG_FILTER_LEVEL=info -#LOG_FWD_MODE=asyn - -export DAN_ARCHIVE_MASTER=192.168.102.3:9999 \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/c++/include/ccs-headers.h b/EC-GN-JA-PCF/target/main/c++/include/ccs-headers.h deleted file mode 100644 index 2f10a54..0000000 --- a/EC-GN-JA-PCF/target/main/c++/include/ccs-headers.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef CCS_HEADERS_H -#define CCS_HEADERS_H - -/****************************************************************************** -* $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/include/ccs-headers.h $ -* $Id: ccs-headers.h 83715 2018-01-30 16:31:40Z abadiel $ -* -* Project : CODAC Core System -* -* Description : CODAC Core System - Commonly used program headers -* -* Author : Bertrand Bauvir -* -* Copyright (c) : 2010-2018 ITER Organization, -* CS 90 046 -* 13067 St. Paul-lez-Durance Cedex -* France -* -* This file is part of ITER CODAC software. -* For the terms and conditions of redistribution or use of this software -* refer to the file ITER-LICENSE.TXT located in the top level directory -* of the distribution package. -******************************************************************************/ - -/* log.h -- Part of CCS. It includes the declaration of the logging library API. */ -#include /* This file is mandatory to compile this program against the logging library and API. */ - -/* sdn.h -- Part of CCS. It includes the declaration of the SDN library API. */ -#include /* This file is mandatory to compile this program against the SDN core library and API. */ - -/* tcn.h -- Part of CCS. It includes the declaration of the TCN library API. */ -#include /* This file is optional and can be removed if the program does not need to handle ITER time or operate on it. */ - -/* dan.h -- part of CCS. It includes the declaration of the DAN library API. */ -#include /* This file is optional and can be removed if the program does not need to handle ITER time or operate on it. */ -#endif /* CCS_HEADERS_H */ diff --git a/EC-GN-JA-PCF/target/main/c++/include/sys-headers.h b/EC-GN-JA-PCF/target/main/c++/include/sys-headers.h deleted file mode 100644 index 00318e3..0000000 --- a/EC-GN-JA-PCF/target/main/c++/include/sys-headers.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef SYS_HEADERS_H -#define SYS_HEADERS_H - -/****************************************************************************** -* $HeadURL: https://svnpub.iter.org/codac/iter/codac/dev/units/m-codac-unit-templates/tags/CODAC-CORE-6.0.0/templates/cpp/main/c++/include/sys-headers.h $ -* $Id: sys-headers.h 83098 2018-01-08 13:23:38Z cesnikt $ -* -* Project : CODAC Core System -* -* Description : CODAC Core System - Commonly used program headers -* -* Author : Bertrand Bauvir -* -* Copyright (c) : 2010-2018 ITER Organization, -* CS 90 046 -* 13067 St. Paul-lez-Durance Cedex -* France -* -* This file is part of ITER CODAC software. -* For the terms and conditions of redistribution or use of this software -* refer to the file ITER-LICENSE.TXT located in the top level directory -* of the distribution package. -******************************************************************************/ - -#include -#include /* sscanf, printf, etc. */ -//#include -#include /* strncpy, etc. */ -#include /* va_start, etc. */ -#include /* sigset, etc. */ - -#endif /* SYS_HEADERS_H */ diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/.appdesc b/EC-GN-JA-PCF/target/main/epics/CUBApp/.appdesc deleted file mode 100644 index df999dd..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/.appdesc +++ /dev/null @@ -1 +0,0 @@ -generic \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/Db/Makefile b/EC-GN-JA-PCF/target/main/epics/CUBApp/Db/Makefile deleted file mode 100644 index 3ef937f..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/Db/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) -# databases, templates, substitutions like this - - -# Automagically install .proto files -DB += $(notdir $(wildcard ../*.proto)) - -#---------------------------------------------------- -# If .db template is not named *.template add -# _TEMPLATE = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/Db/O.linux-x86_64/Makefile b/EC-GN-JA-PCF/target/main/epics/CUBApp/Db/O.linux-x86_64/Makefile deleted file mode 100644 index 757ce21..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/Db/O.linux-x86_64/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -#This Makefile created by makeMakefile.pl - - -all : - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -.DEFAULT: force - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -force: ; diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/Makefile b/EC-GN-JA-PCF/target/main/epics/CUBApp/Makefile deleted file mode 100644 index 6504a77..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericApp/Makefile $ -# $Id: Makefile 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : Makefile -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== -TOP = .. -include $(TOP)/configure/CONFIG -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) -include $(TOP)/configure/RULES_DIRS - diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/CUBMain.cpp b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/CUBMain.cpp deleted file mode 100644 index 4e9e67d..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/CUBMain.cpp +++ /dev/null @@ -1,25 +0,0 @@ -/* CUBMain.cpp */ -/* Author: Marty Kraimer Date: 17MAR2000 */ - -#include -#include -#include -#include -#include -#include - -#include "epicsExit.h" -#include "epicsThread.h" -#include "iocsh.h" - -int main(int argc,char *argv[]) -{ - sigset(SIGTERM, epicsExit); - if(argc>=2) { - iocsh(argv[1]); - epicsThreadSleep(.2); - } - iocsh(NULL); - epicsExit(0); - return(0); -} diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/Makefile b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/Makefile deleted file mode 100644 index 9dc4a82..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -TOP=../.. - -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE -#======================================== - -#======================================== -# Build the IOC application - -PROD_IOC = CUB -# CUB.dbd will be created and installed -DBD += CUB.dbd - -# CUB.dbd will be made up from these files: --include $(EPICS_ROOT)/mk/codac-common.mk - - -# Add all the support libraries needed by this IOC --include $(EPICS_ROOT)/mk/asyn.mk --include $(EPICS_ROOT)/mk/s7PLCAsyn.mk - -CUB_DBD += $(CODAC_DBD) -CUB_LIBS += $(CODAC_LIBS) - -# # SNCSEQ -# _SNCFLAGS += +r -c +d -# CUB_DBD += .dbd -# CUB_SRCS += .stt -# CUB_LIBS += seq pv - - -# CUB_registerRecordDeviceDriver.cpp derives from CUB.dbd -CUB_SRCS += CUB_registerRecordDeviceDriver.cpp - -# Build the main IOC entry point on workstation OSs. -CUB_SRCS_DEFAULT += CUBMain.cpp -CUB_SRCS_vxWorks += -nil- - -# Add support from base/src/vxWorks if needed -#CUB_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary - -#============================= -# Include SNL program makefile snippets - --include ../*.snlprog - -#============================= - - -# Finally link to the EPICS Base libraries -CUB_LIBS += $(EPICS_BASE_IOC_LIBS) - -#=========================== - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE -#---------------------------------------- diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.Common/CUB.dbd b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.Common/CUB.dbd deleted file mode 100644 index fcba839..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.Common/CUB.dbd +++ /dev/null @@ -1,19604 +0,0 @@ -menu(serialPRTY) { - choice(serialPRTY_unknown, "Unknown") - choice(serialPRTY_None, "None") - choice(serialPRTY_Even, "Even") - choice(serialPRTY_Odd, "Odd") -} -menu(waveformPOST) { - choice(waveformPOST_Always, "Always") - choice(waveformPOST_OnChange, "On Change") -} -menu(aaoPOST) { - choice(aaoPOST_Always, "Always") - choice(aaoPOST_OnChange, "On Change") -} -menu(menuPriority) { - choice(menuPriorityLOW, "LOW") - choice(menuPriorityMEDIUM, "MEDIUM") - choice(menuPriorityHIGH, "HIGH") -} -menu(serialSBIT) { - choice(serialSBIT_unknown, "Unknown") - choice(serialSBIT_1, "1") - choice(serialSBIT_2, "2") -} -menu(calcoutDOPT) { - choice(calcoutDOPT_Use_VAL, "Use CALC") - choice(calcoutDOPT_Use_OVAL, "Use OCAL") -} -menu(menuOmsl) { - choice(menuOmslsupervisory, "supervisory") - choice(menuOmslclosed_loop, "closed_loop") -} -menu(menuFtype) { - choice(menuFtypeSTRING, "STRING") - choice(menuFtypeCHAR, "CHAR") - choice(menuFtypeUCHAR, "UCHAR") - choice(menuFtypeSHORT, "SHORT") - choice(menuFtypeUSHORT, "USHORT") - choice(menuFtypeLONG, "LONG") - choice(menuFtypeULONG, "ULONG") - choice(menuFtypeINT64, "INT64") - choice(menuFtypeUINT64, "UINT64") - choice(menuFtypeFLOAT, "FLOAT") - choice(menuFtypeDOUBLE, "DOUBLE") - choice(menuFtypeENUM, "ENUM") -} -menu(stringinPOST) { - choice(stringinPOST_OnChange, "On Change") - choice(stringinPOST_Always, "Always") -} -menu(menuPini) { - choice(menuPiniNO, "NO") - choice(menuPiniYES, "YES") - choice(menuPiniRUN, "RUN") - choice(menuPiniRUNNING, "RUNNING") - choice(menuPiniPAUSE, "PAUSE") - choice(menuPiniPAUSED, "PAUSED") -} -menu(dfanoutSELM) { - choice(dfanoutSELM_All, "All") - choice(dfanoutSELM_Specified, "Specified") - choice(dfanoutSELM_Mask, "Mask") -} -menu(menuScan) { - choice(menuScanPassive, "Passive") - choice(menuScanEvent, "Event") - choice(menuScanI_O_Intr, "I/O Intr") - choice(menuScan10_second, "10 second") - choice(menuScan5_second, "5 second") - choice(menuScan2_second, "2 second") - choice(menuScan1_second, "1 second") - choice(menuScan_5_second, ".5 second") - choice(menuScan_2_second, ".2 second") - choice(menuScan_1_second, ".1 second") -} -menu(gpibACMD) { - choice(gpibACMD_None, "None") - choice(gpibACMD_Group_Execute_Trig___GET_, "Group Execute Trig. (GET)") - choice(gpibACMD_Go_To_Local__GTL_, "Go To Local (GTL)") - choice(gpibACMD_Selected_Dev__Clear__SDC_, "Selected Dev. Clear (SDC)") - choice(gpibACMD_Take_Control__TCT_, "Take Control (TCT)") - choice(gpibACMD_Serial_Poll, "Serial Poll") -} -menu(aSubLFLG) { - choice(aSubLFLG_IGNORE, "IGNORE") - choice(aSubLFLG_READ, "READ") -} -menu(asynTMOD) { - choice(asynTMOD_Write_Read, "Write/Read") - choice(asynTMOD_Write, "Write") - choice(asynTMOD_Read, "Read") - choice(asynTMOD_Flush, "Flush") - choice(asynTMOD_NoIO, "NoI/O") -} -menu(ipDRTO) { - choice(ipDRTO_unknown, "Unknown") - choice(ipDRTO_No, "No") - choice(ipDRTO_Yes, "Yes") -} -menu(menuPost) { - choice(menuPost_OnChange, "On Change") - choice(menuPost_Always, "Always") -} -menu(asynINTERFACE) { - choice(asynINTERFACE_OCTET, "asynOctet") - choice(asynINTERFACE_INT32, "asynInt32") - choice(asynINTERFACE_UINT32, "asynUInt32Digital") - choice(asynINTERFACE_FLOAT64, "asynFloat64") -} -menu(menuAlarmStat) { - choice(menuAlarmStatNO_ALARM, "NO_ALARM") - choice(menuAlarmStatREAD, "READ") - choice(menuAlarmStatWRITE, "WRITE") - choice(menuAlarmStatHIHI, "HIHI") - choice(menuAlarmStatHIGH, "HIGH") - choice(menuAlarmStatLOLO, "LOLO") - choice(menuAlarmStatLOW, "LOW") - choice(menuAlarmStatSTATE, "STATE") - choice(menuAlarmStatCOS, "COS") - choice(menuAlarmStatCOMM, "COMM") - choice(menuAlarmStatTIMEOUT, "TIMEOUT") - choice(menuAlarmStatHWLIMIT, "HWLIMIT") - choice(menuAlarmStatCALC, "CALC") - choice(menuAlarmStatSCAN, "SCAN") - choice(menuAlarmStatLINK, "LINK") - choice(menuAlarmStatSOFT, "SOFT") - choice(menuAlarmStatBAD_SUB, "BAD_SUB") - choice(menuAlarmStatUDF, "UDF") - choice(menuAlarmStatDISABLE, "DISABLE") - choice(menuAlarmStatSIMM, "SIMM") - choice(menuAlarmStatREAD_ACCESS, "READ_ACCESS") - choice(menuAlarmStatWRITE_ACCESS, "WRITE_ACCESS") -} -menu(aoOIF) { - choice(aoOIF_Full, "Full") - choice(aoOIF_Incremental, "Incremental") -} -menu(bufferingALG) { - choice(bufferingALG_FIFO, "FIFO Buffer") - choice(bufferingALG_LIFO, "LIFO Buffer") -} -menu(aaiPOST) { - choice(aaiPOST_Always, "Always") - choice(aaiPOST_OnChange, "On Change") -} -menu(calcoutINAV) { - choice(calcoutINAV_EXT_NC, "Ext PV NC") - choice(calcoutINAV_EXT, "Ext PV OK") - choice(calcoutINAV_LOC, "Local PV") - choice(calcoutINAV_CON, "Constant") -} -menu(epidFeedbackState) { - choice(epidFeedbackState_Off, "Off") - choice(epidFeedbackState_On, "On") -} -menu(asynAUTOCONNECT) { - choice(asynAUTOCONNECT_noAutoConnect, "noAutoConnect") - choice(asynAUTOCONNECT_autoConnect, "autoConnect") -} -menu(asynFMT) { - choice(asynFMT_ASCII, "ASCII") - choice(asynFMT_Hybrid, "Hybrid") - choice(asynFMT_Binary, "Binary") -} -menu(seqSELM) { - choice(seqSELM_All, "All") - choice(seqSELM_Specified, "Specified") - choice(seqSELM_Mask, "Mask") -} -menu(asynCONNECT) { - choice(asynCONNECT_Disconnect, "Disconnect") - choice(asynCONNECT_Connect, "Connect") -} -menu(gpibUCMD) { - choice(gpibUCMD_None, "None") - choice(gpibUCMD_Device_Clear__DCL_, "Device Clear (DCL)") - choice(gpibUCMD_Local_Lockout__LL0_, "Local Lockout (LL0)") - choice(gpibUCMD_Serial_Poll_Disable__SPD_, "Serial Poll Disable (SPD)") - choice(gpibUCMD_Serial_Poll_Enable__SPE_, "Serial Poll Enable (SPE)") - choice(gpibUCMD_Unlisten__UNL_, "Unlisten (UNL)") - choice(gpibUCMD_Untalk__UNT_, "Untalk (UNT)") -} -menu(serialBAUD) { - choice(serialBAUD_unknown, "Unknown") - choice(serialBAUD_300, "300") - choice(serialBAUD_600, "600") - choice(serialBAUD_1200, "1200") - choice(serialBAUD_2400, "2400") - choice(serialBAUD_4800, "4800") - choice(serialBAUD_9600, "9600") - choice(serialBAUD_19200, "19200") - choice(serialBAUD_38400, "38400") - choice(serialBAUD_57600, "57600") - choice(serialBAUD_115200, "115200") - choice(serialBAUD_230400, "230400") - choice(serialBAUD_460800, "460800") - choice(serialBAUD_576000, "576000") - choice(serialBAUD_921600, "921600") - choice(serialBAUD_1152000, "1152000") -} -menu(histogramCMD) { - choice(histogramCMD_Read, "Read") - choice(histogramCMD_Clear, "Clear") - choice(histogramCMD_Start, "Start") - choice(histogramCMD_Stop, "Stop") -} -menu(asynTRACE) { - choice(asynTRACE_Off, "Off") - choice(asynTRACE_On, "On") -} -menu(asynEOMREASON) { - choice(asynEOMREASONNone, "None") - choice(asynEOMREASONCNT, "Count") - choice(asynEOMREASONEOS, "Eos") - choice(asynEOMREASONCNTEOS, "Count Eos") - choice(asynEOMREASONEND, "End") - choice(asynEOMREASONCNTEND, "Count End") - choice(asynEOMREASONEOSEND, "Eos End") - choice(asynEOMREASONCNTEOSEND, "Count Eos End") -} -menu(menuIvoa) { - choice(menuIvoaContinue_normally, "Continue normally") - choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") - choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") -} -menu(stringoutPOST) { - choice(stringoutPOST_OnChange, "On Change") - choice(stringoutPOST_Always, "Always") -} -menu(menuAlarmSevr) { - choice(menuAlarmSevrNO_ALARM, "NO_ALARM") - choice(menuAlarmSevrMINOR, "MINOR") - choice(menuAlarmSevrMAJOR, "MAJOR") - choice(menuAlarmSevrINVALID, "INVALID") -} -menu(serialMCTL) { - choice(serialMCTL_unknown, "Unknown") - choice(serialMCTL_CLOCAL, "CLOCAL") - choice(serialMCTL_Yes, "YES") -} -menu(serialFCTL) { - choice(serialFCTL_unknown, "Unknown") - choice(serialFCTL_None, "None") - choice(serialFCTL_Hardware, "Hardware") -} -menu(menuSimm) { - choice(menuSimmNO, "NO") - choice(menuSimmYES, "YES") - choice(menuSimmRAW, "RAW") -} -menu(compressALG) { - choice(compressALG_N_to_1_Low_Value, "N to 1 Low Value") - choice(compressALG_N_to_1_High_Value, "N to 1 High Value") - choice(compressALG_N_to_1_Average, "N to 1 Average") - choice(compressALG_Average, "Average") - choice(compressALG_Circular_Buffer, "Circular Buffer") - choice(compressALG_N_to_1_Median, "N to 1 Median") -} -menu(aSubEFLG) { - choice(aSubEFLG_NEVER, "NEVER") - choice(aSubEFLG_ON_CHANGE, "ON CHANGE") - choice(aSubEFLG_ALWAYS, "ALWAYS") -} -menu(fanoutSELM) { - choice(fanoutSELM_All, "All") - choice(fanoutSELM_Specified, "Specified") - choice(fanoutSELM_Mask, "Mask") -} -menu(calcoutOOPT) { - choice(calcoutOOPT_Every_Time, "Every Time") - choice(calcoutOOPT_On_Change, "On Change") - choice(calcoutOOPT_When_Zero, "When Zero") - choice(calcoutOOPT_When_Non_zero, "When Non-zero") - choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") - choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") -} -menu(asynENABLE) { - choice(asynENABLE_Disable, "Disable") - choice(asynENABLE_Enable, "Enable") -} -menu(epidFeedbackMode) { - choice(epidFeedbackMode_PID, "PID") - choice(epidFeedbackMode_MaxMin, "Max/Min") -} -menu(menuConvert) { - choice(menuConvertNO_CONVERSION, "NO CONVERSION") - choice(menuConvertSLOPE, "SLOPE") - choice(menuConvertLINEAR, "LINEAR") - choice(menuConverttypeKdegF, "typeKdegF") - choice(menuConverttypeKdegC, "typeKdegC") - choice(menuConverttypeJdegF, "typeJdegF") - choice(menuConverttypeJdegC, "typeJdegC") - choice(menuConverttypeEdegF, "typeEdegF(ixe only)") - choice(menuConverttypeEdegC, "typeEdegC(ixe only)") - choice(menuConverttypeTdegF, "typeTdegF") - choice(menuConverttypeTdegC, "typeTdegC") - choice(menuConverttypeRdegF, "typeRdegF") - choice(menuConverttypeRdegC, "typeRdegC") - choice(menuConverttypeSdegF, "typeSdegF") - choice(menuConverttypeSdegC, "typeSdegC") -} -menu(serialIX) { - choice(serialIX_unknown, "Unknown") - choice(serialIX_No, "No") - choice(serialIX_Yes, "Yes") -} -menu(menuYesNo) { - choice(menuYesNoNO, "NO") - choice(menuYesNoYES, "YES") -} -menu(timestampTST) { - choice(timestampTST_YY_MM_DD_HH_MM_SS, "YY/MM/DD HH:MM:SS") - choice(timestampTST_MM_DD_YY_HH_MM_SS, "MM/DD/YY HH:MM:SS") - choice(timestampTST_MM_DD_HH_MM_SS_YY, "Mon DD HH:MM:SS YY") - choice(timestampTST_MM_DD_HH_MM_SS, "Mon DD HH:MM:SS") - choice(timestampTST_HH_MM_SS, "HH:MM:SS") - choice(timestampTST_HH_MM, "HH:MM") - choice(timestampTST_DD_MM_YY_HH_MM_SS, "DD/MM/YY HH:MM:SS") - choice(timestampTST_DD_MM_HH_MM_SS_YY, "DD Mon HH:MM:SS YY") - choice(timestampTST_VMS, "DD-Mon-YYYY HH:MM:SS") - choice(timestampTST_MM_DD_YYYY, "Mon DD, YYYY HH:MM:SS.ns") - choice(timestampTST_MM_DD_YY, "MM/DD/YY HH:MM:SS.ns") -} -menu(serialDBIT) { - choice(serialDBIT_unknown, "Unknown") - choice(serialDBIT_5, "5") - choice(serialDBIT_6, "6") - choice(serialDBIT_7, "7") - choice(serialDBIT_8, "8") -} -menu(selSELM) { - choice(selSELM_Specified, "Specified") - choice(selSELM_High_Signal, "High Signal") - choice(selSELM_Low_Signal, "Low Signal") - choice(selSELM_Median_Signal, "Median Signal") -} -recordtype(calcout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct calcoutRecord; - %typedef struct calcoutdset { - % dset common; - % long (*write)(struct calcoutRecord *prec); - %} calcoutdset; - %#define HAS_calcoutdset - % - %#include "dbScan.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rpvtStruct *rpvt") - interest(4) - prompt("Record Private") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(PVAL, DBF_DOUBLE) { - prompt("Previous Value") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(CLCV, DBF_LONG) { - interest(1) - prompt("CALC Valid") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input L") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(1) - prompt("Output Specification") - } - field(INAV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPA PV Status") - } - field(INBV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPB PV Status") - } - field(INCV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPC PV Status") - } - field(INDV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPD PV Status") - } - field(INEV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPE PV Status") - } - field(INFV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPF PV Status") - } - field(INGV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPG PV Status") - } - field(INHV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPH PV Status") - } - field(INIV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPI PV Status") - } - field(INJV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPJ PV Status") - } - field(INKV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPK PV Status") - } - field(INLV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPL PV Status") - } - field(OUTV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - interest(1) - prompt("OUT PV Status") - } - field(OOPT, DBF_MENU) { - promptgroup("50 - Output") - menu(calcoutOOPT) - interest(1) - prompt("Output Execute Opt") - } - field(ODLY, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - interest(1) - prompt("Output Execute Delay") - } - field(DLYA, DBF_USHORT) { - special(SPC_NOMOD) - asl(ASL0) - prompt("Output Delay Active") - } - field(DOPT, DBF_MENU) { - promptgroup("30 - Action") - menu(calcoutDOPT) - interest(1) - prompt("Output Data Opt") - } - field(OCAL, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Output Calculation") - } - field(OCLV, DBF_LONG) { - interest(1) - prompt("OCAL Valid") - } - field(OEVT, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event To Issue") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(OVAL, DBF_DOUBLE) { - asl(ASL0) - prompt("Output Value") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(POVL, DBF_DOUBLE) { - asl(ASL0) - prompt("Prev Value of OVAL") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } - field(ORPC, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char orpc[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish OCalc") - } -} -device(calcout, CONSTANT, devCalcoutSoft, "Soft Channel") -device(calcout, CONSTANT, devCalcoutSoftCallback, "Async Soft Channel") -recordtype(state) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(20) - prompt("Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(20) - prompt("Prev Value") - } -} -recordtype(histogram) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct histogramRecord; - %typedef struct histogramdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_histogram)(struct histogramRecord *prec); /*(0,2)=> success and add_count, don't add_count); if add_count then sgnl added to array*/ - % long (*special_linconv)(struct histogramRecord *prec, int after); - %} histogramdset; - %#define HAS_histogramdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - prompt("Value") - } - field(NELM, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Num of Array Elements") - } - field(CSTA, DBF_SHORT) { - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Collection Status") - } - field(CMD, DBF_MENU) { - special(SPC_CALC) - asl(ASL0) - menu(histogramCMD) - interest(1) - prompt("Collection Control") - } - field(ULIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Upper Signal Limit") - } - field(LLIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Lower Signal Limit ") - } - field(WDTH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Element Width") - } - field(SGNL, DBF_DOUBLE) { - special(SPC_MOD) - prompt("Signal Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(SVL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Signal Value Location") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt32 *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(WDOG, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdog") - interest(4) - prompt("Watchdog callback") - } - field(MDEL, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Count Deadband") - } - field(MCNT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Counts Since Monitor") - } - field(SDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - special(SPC_RESET) - interest(1) - prompt("Monitor Seconds Dband") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(HOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } -} -device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") -recordtype(lsi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsiRecord; - %typedef struct lsidset { - % dset common; - % long (*read_string)(struct lsiRecord *prec); - %} lsidset; - %#define HAS_lsidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Old Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of OVAL") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lsi, CONSTANT, devLsiSoft, "Soft Channel") -device(lsi, INST_IO, devLsiEnviron, "getenv") -device(lsi, INST_IO, devLsiStats, "IOC long string") -device(lsi, INST_IO, asynLsiOctetCmdResponse, "asynOctetCmdResponse") -device(lsi, INST_IO, asynLsiOctetWriteRead, "asynOctetWriteRead") -device(lsi, INST_IO, asynLsiOctetRead, "asynOctetRead") -recordtype(int64out) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64outRecord; - %typedef struct int64outdset { - % dset common; - % long (*write_int64out)(struct int64outRecord *prec); - %} int64outdset; - %#define HAS_int64outdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(DRVH, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_INT64) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(int64out, CONSTANT, devI64outSoft, "Soft Channel") -device(int64out, CONSTANT, devI64outSoftCallback, "Async Soft Channel") -device(int64out, INST_IO, asynInt64Out, "asynInt64") -recordtype(seq) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(seqSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(OLDN, DBF_USHORT) { - interest(4) - prompt("Old Selection") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(DLY0, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 0") - } - field(DOL0, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 0") - } - field(DO0, DBF_DOUBLE) { - interest(1) - prompt("Value 0") - } - field(LNK0, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 0") - } - field(DLY1, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 1") - } - field(DOL1, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link1") - } - field(DO1, DBF_DOUBLE) { - interest(1) - prompt("Value 1") - } - field(LNK1, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 1") - } - field(DLY2, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 2") - } - field(DOL2, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 2") - } - field(DO2, DBF_DOUBLE) { - interest(1) - prompt("Value 2") - } - field(LNK2, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 2") - } - field(DLY3, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 3") - } - field(DOL3, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 3") - } - field(DO3, DBF_DOUBLE) { - interest(1) - prompt("Value 3") - } - field(LNK3, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 3") - } - field(DLY4, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 4") - } - field(DOL4, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 4") - } - field(DO4, DBF_DOUBLE) { - interest(1) - prompt("Value 4") - } - field(LNK4, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 4") - } - field(DLY5, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 5") - } - field(DOL5, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 5") - } - field(DO5, DBF_DOUBLE) { - interest(1) - prompt("Value 5") - } - field(LNK5, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 5") - } - field(DLY6, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 6") - } - field(DOL6, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 6") - } - field(DO6, DBF_DOUBLE) { - interest(1) - prompt("Value 6") - } - field(LNK6, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 6") - } - field(DLY7, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 7") - } - field(DOL7, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 7") - } - field(DO7, DBF_DOUBLE) { - interest(1) - prompt("Value 7") - } - field(LNK7, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 7") - } - field(DLY8, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 8") - } - field(DOL8, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 8") - } - field(DO8, DBF_DOUBLE) { - interest(1) - prompt("Value 8") - } - field(LNK8, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 8") - } - field(DLY9, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 9") - } - field(DOL9, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 9") - } - field(DO9, DBF_DOUBLE) { - interest(1) - prompt("Value 9") - } - field(LNK9, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 9") - } - field(DLYA, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 10") - } - field(DOLA, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 10") - } - field(DOA, DBF_DOUBLE) { - interest(1) - prompt("Value 10") - } - field(LNKA, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 10") - } - field(DLYB, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 11") - } - field(DOLB, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 11") - } - field(DOB, DBF_DOUBLE) { - interest(1) - prompt("Value 11") - } - field(LNKB, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 11") - } - field(DLYC, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 12") - } - field(DOLC, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 12") - } - field(DOC, DBF_DOUBLE) { - interest(1) - prompt("Value 12") - } - field(LNKC, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 12") - } - field(DLYD, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 13") - } - field(DOLD, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 13") - } - field(DOD, DBF_DOUBLE) { - interest(1) - prompt("Value 13") - } - field(LNKD, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 13") - } - field(DLYE, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 14") - } - field(DOLE, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 14") - } - field(DOE, DBF_DOUBLE) { - interest(1) - prompt("Value 14") - } - field(LNKE, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 14") - } - field(DLYF, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 15") - } - field(DOLF, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 15") - } - field(DOF, DBF_DOUBLE) { - interest(1) - prompt("Value 15") - } - field(LNKF, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 15") - } -} -recordtype(stringout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringoutRecord; - %typedef struct stringoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_stringout)(struct stringoutRecord *prec); /*(-1,0)=>(failure,success)*/ - %} stringoutdset; - %#define HAS_stringoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID output value") - } -} -device(stringout, CONSTANT, devSoSoft, "Soft Channel") -device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") -device(stringout, INST_IO, devSoStdio, "stdio") -device(stringout, INST_IO, asynSoOctetWrite, "asynOctetWrite") -recordtype(aai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaiRecord; - %typedef struct aaidset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_aai)(struct aaiRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaidset; - %#define HAS_aaidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aai, CONSTANT, devAaiSoft, "Soft Channel") -recordtype(permissive) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_USHORT) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Status") - } - field(WFLG, DBF_USHORT) { - pp(TRUE) - prompt("Wait Flag") - } - field(LABL, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(20) - prompt("Button Label") - } - field(OVAL, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Status") - } - field(OFLG, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Flag") - } -} -recordtype(bo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct boRecord; - %typedef struct bodset { - % dset common; /*init_record returns:(0,2)=>(success,success no convert*/ - % long (*write_bo)(struct boRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} bodset; - %#define HAS_bodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Seconds to Hold High") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * rpvt") - interest(4) - prompt("Record Private") - } - field(WDPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdpt") - interest(4) - prompt("Watch Dog Timer ID") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(bo, CONSTANT, devBoSoft, "Soft Channel") -device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") -device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") -device(bo, INST_IO, devBoGeneralTime, "General Time") -device(bo, INST_IO, devBoDbState, "Db State") -device(bo, INST_IO, devBoSimulation, "IOC SIM") -device(bo, INST_IO, asynBoInt32, "asynInt32") -device(bo, INST_IO, asynBoUInt32Digital, "asynUInt32Digital") -recordtype(dfanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(dfanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec H") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } -} -recordtype(mbbi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiRecord; - %typedef struct mbbidset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidset; - %#define HAS_mbbidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") -device(mbbi, INST_IO, devSysMonMbbiStats, "sysmon") -device(mbbi, INST_IO, asynMbbiInt32, "asynInt32") -device(mbbi, INST_IO, asynMbbiUInt32Digital, "asynUInt32Digital") -recordtype(event) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct eventRecord; - %typedef struct eventdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_event)(struct eventRecord *prec); /*(0)=> success */ - %} eventdset; - %#define HAS_eventdset - % - %#include "dbScan.h" - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event Name To Post") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_STRING) { - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(event, CONSTANT, devEventSoft, "Soft Channel") -recordtype(compress) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RES, DBF_SHORT) { - special(SPC_RESET) - asl(ASL0) - interest(3) - prompt("Reset") - } - field(ALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(compressALG) - interest(1) - prompt("Compression Algorithm") - } - field(BALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(bufferingALG) - interest(1) - prompt("Buffering Algorithm") - } - field(NSAM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Values") - } - field(N, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_RESET) - initial("1") - interest(1) - prompt("N to 1 Compression") - } - field(IHIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init High Interest Lim") - } - field(ILIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init Low Interest Lim") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(OFF, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Offset") - } - field(NUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number Used") - } - field(OUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Old Number Used") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *sptr") - interest(4) - prompt("Summing Buffer Ptr") - } - field(WPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *wptr") - interest(4) - prompt("Working Buffer Ptr") - } - field(INPN, DBF_LONG) { - special(SPC_NOMOD) - interest(4) - prompt("Number of elements in Working Buffer") - } - field(CVB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Compress Value Buffer") - } - field(INX, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Compressed Array Inx") - } -} -recordtype(mbbo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboRecord; - %typedef struct mbbodset { - % dset common; /*init_record returns: (0, 2) => (success, success no convert)*/ - % long (*write_mbbo)(struct mbboRecord *prec); /*returns: (0, 2) => (success, success no convert)*/ - %} mbbodset; - %#define HAS_mbbodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - special(SPC_DBADDR) - asl(ASL0) - pp(TRUE) - prompt("Desired Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(NOBT, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Sevr") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Sevr") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") -device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") -device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") -device(mbbo, INST_IO, asynMbboInt32, "asynInt32") -device(mbbo, INST_IO, asynMbboUInt32Digital, "asynUInt32Digital") -recordtype(epid) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Setpoint") - } - field(SMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Setpoint Mode Select") - } - field(STPL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Setpoint Location") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Controlled Value Loc") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Location") - } - field(TRIG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Readback Trigger") - } - field(TVAL, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Trigger Value") - } - field(CVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Controlled Value") - } - field(CVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Prev. Controlled Value") - } - field(OVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Output value") - } - field(OVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev output") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(MDT, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Min Delta T") - } - field(FMOD, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackMode) - interest(1) - prompt("Feedback Mode") - } - field(FBON, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Feedback On/Off") - } - field(FBOP, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Prev. feedback On/Off") - } - field(KP, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Proportional Gain") - } - field(KI, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Integral Gain") - } - field(KD, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Derivative Gain") - } - field(EGU, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - prompt("Engineering Units") - size(16) - } - field(HOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(DRVH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("High Drive Limit") - } - field(DRVL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Low Drive Limit") - } - field(HIHI, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Hihi Deviation Limit") - } - field(LOLO, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Lolo Deviation Limit") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("High Deviation Limit") - } - field(LOW, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Low Deviation Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(ODEL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Output Deadband") - } - field(P, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("P component") - } - field(PP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. P component") - } - field(I, DBF_DOUBLE) { - interest(2) - prompt("I component") - } - field(IP, DBF_DOUBLE) { - interest(2) - prompt("Prev. I component") - } - field(D, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("D component") - } - field(DP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. D component") - } - field(CT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ct") - prompt("Time") - } - field(CTP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ctp") - prompt("Previous time") - } - field(DT, DBF_DOUBLE) { - interest(2) - prompt("Delta T") - } - field(DTP, DBF_DOUBLE) { - interest(2) - prompt("Prev. Delta T") - } - field(ERR, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Error") - } - field(ERRP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. Error") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -device(epid, CONSTANT, devEpidSoft, "Soft Channel") -device(epid, CONSTANT, devEpidSoftCB, "Async Soft Channel") -recordtype(ao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aoRecord; - %typedef struct aodset { - % dset common; /*init_record returns: (0,2)=>(success,success no convert)*/ - % long (*write_ao)(struct aoRecord *prec); /*(0)=>(success ) */ - % long (*special_linconv)(struct aoRecord *prec, int after); - %} aodset; - %#define HAS_aodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OVAL, DBF_DOUBLE) { - prompt("Output Value") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(OROC, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Output Rate of Change") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OIF, DBF_MENU) { - promptgroup("50 - Output") - menu(aoOIF) - interest(1) - prompt("Out Full/Incremental") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("EGU to Raw Offset") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("EGU to Raw Slope") - } - field(DRVH, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(RBV, DBF_LONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(PVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Previous value") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(OMOD, DBF_UCHAR) { - special(SPC_NOMOD) - prompt("Was OVAL modified?") - } -} -device(ao, CONSTANT, devAoSoft, "Soft Channel") -device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") -device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") -device(ao, INST_IO, devAoStats, "IOC stats") -device(ao, INST_IO, asynAoInt32, "asynInt32") -device(ao, INST_IO, asynAoFloat64, "asynFloat64") -device(ao, INST_IO, asynAoInt64, "asynInt64") -recordtype(aao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaoRecord; - %typedef struct aaodset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_aao)(struct aaoRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaodset; - %#define HAS_aaodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aao, CONSTANT, devAaoSoft, "Soft Channel") -recordtype(mbbiDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiDirectRecord; - %typedef struct mbbidirectdset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiDirectRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidirectdset; - %#define HAS_mbbidirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_SHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(B0, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") -device(mbbiDirect, INST_IO, devSysMonMbbiDirectStats, "sysmon") -device(mbbiDirect, INST_IO, asynMbbiDirectUInt32Digital, "asynUInt32Digital") -recordtype(asyn) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - interest(4) - prompt("Value field (unused)") - } - field(PORT, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("") - interest(1) - size(40) - prompt("asyn port") - } - field(ADDR, DBF_LONG) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("0") - interest(1) - prompt("asyn address") - } - field(PCNCT, DBF_MENU) { - special(SPC_MOD) - menu(asynCONNECT) - interest(2) - prompt("Port Connect/Disconnect") - } - field(DRVINFO, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("") - interest(2) - size(40) - prompt("Driver info string") - } - field(REASON, DBF_LONG) { - special(SPC_MOD) - interest(2) - prompt("asynUser->reason") - } - field(TMOD, DBF_MENU) { - promptgroup("30 - Action") - menu(asynTMOD) - interest(1) - prompt("Transaction mode") - } - field(TMOT, DBF_DOUBLE) { - promptgroup("30 - Action") - initial("1.0") - interest(1) - prompt("Timeout (sec)") - } - field(IFACE, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynINTERFACE) - interest(2) - prompt("Interface") - } - field(OCTETIV, DBF_LONG) { - interest(2) - prompt("asynOctet is valid") - } - field(OPTIONIV, DBF_LONG) { - interest(2) - prompt("asynOption is valid") - } - field(GPIBIV, DBF_LONG) { - interest(2) - prompt("asynGPIB is valid") - } - field(I32IV, DBF_LONG) { - interest(2) - prompt("asynInt32 is valid") - } - field(UI32IV, DBF_LONG) { - interest(2) - prompt("asynUInt32Digital is valid") - } - field(F64IV, DBF_LONG) { - interest(2) - prompt("asynFloat64 is valid") - } - field(AOUT, DBF_STRING) { - promptgroup("50 - Output") - interest(1) - pp(TRUE) - size(40) - prompt("Output (command) string") - } - field(OEOS, DBF_STRING) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(1) - size(40) - prompt("Output delimiter") - } - field(BOUT, DBF_CHAR) { - special(SPC_DBADDR) - interest(1) - pp(TRUE) - prompt("Output binary data") - } - field(OPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *optr") - interest(4) - prompt("Output buffer pointer") - } - field(OMAX, DBF_LONG) { - promptgroup("50 - Output") - special(SPC_NOMOD) - initial("80") - interest(1) - prompt("Max. size of output array") - } - field(NOWT, DBF_LONG) { - promptgroup("50 - Output") - initial("80") - interest(1) - prompt("Number of bytes to write") - } - field(NAWT, DBF_LONG) { - interest(1) - prompt("Number of bytes actually written") - } - field(OFMT, DBF_MENU) { - promptgroup("50 - Output") - menu(asynFMT) - interest(1) - prompt("Output format") - } - field(AINP, DBF_STRING) { - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Input (response) string") - } - field(TINP, DBF_STRING) { - special(SPC_NOMOD) - asl(ASL0) - interest(1) - size(40) - prompt("Translated input string") - } - field(IEOS, DBF_STRING) { - promptgroup("40 - Input") - special(SPC_MOD) - interest(1) - size(40) - prompt("Input Delimiter") - } - field(BINP, DBF_CHAR) { - special(SPC_DBADDR) - asl(ASL0) - prompt("Input binary data") - } - field(IPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *iptr") - interest(4) - size(4) - prompt("Input buffer pointer") - } - field(IMAX, DBF_LONG) { - promptgroup("40 - Input") - special(SPC_NOMOD) - initial("80") - interest(1) - prompt("Max. size of input array") - } - field(NRRD, DBF_LONG) { - promptgroup("40 - Input") - interest(1) - prompt("Number of bytes to read") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - interest(1) - prompt("Number of bytes read") - } - field(IFMT, DBF_MENU) { - promptgroup("40 - Input") - menu(asynFMT) - interest(1) - prompt("Input format") - } - field(EOMR, DBF_MENU) { - special(SPC_NOMOD) - menu(asynEOMREASON) - interest(1) - prompt("EOM reason") - } - field(I32INP, DBF_LONG) { - special(SPC_NOMOD) - interest(2) - prompt("asynInt32 input") - } - field(I32OUT, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynInt32 output") - } - field(UI32INP, DBF_ULONG) { - special(SPC_NOMOD) - interest(2) - prompt("asynUInt32Digital input") - } - field(UI32OUT, DBF_ULONG) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynUInt32Digital output") - } - field(UI32MASK, DBF_ULONG) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(2) - initial("0xffffffff") - prompt("asynUInt32Digital mask") - } - field(F64INP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("asynFloat64 input") - } - field(F64OUT, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynFloat64 output") - } - field(BAUD, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialBAUD) - interest(2) - prompt("Baud rate") - } - field(LBAUD, DBF_LONG) { - promptgroup("31 - Serial") - special(SPC_MOD) - interest(2) - prompt("Baud rate") - } - field(PRTY, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialPRTY) - interest(2) - prompt("Parity") - } - field(DBIT, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialDBIT) - interest(2) - prompt("Data bits") - } - field(SBIT, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialSBIT) - interest(2) - prompt("Stop bits") - } - field(MCTL, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialMCTL) - interest(2) - prompt("Modem control") - } - field(FCTL, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialFCTL) - interest(2) - prompt("Flow control") - } - field(IXON, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("Output XON/XOFF") - } - field(IXOFF, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("Input XON/XOFF") - } - field(IXANY, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("XON=any character") - } - field(HOSTINFO, DBF_STRING) { - promptgroup("32 - IP") - special(SPC_MOD) - initial("") - interest(1) - size(40) - prompt("host info") - } - field(DRTO, DBF_MENU) { - promptgroup("32 - IP") - special(SPC_MOD) - menu(ipDRTO) - interest(2) - prompt("Disconnect on timeout") - } - field(UCMD, DBF_MENU) { - promptgroup("33 - GPIB") - menu(gpibUCMD) - interest(2) - pp(TRUE) - prompt("Universal command") - } - field(ACMD, DBF_MENU) { - promptgroup("33 - GPIB") - menu(gpibACMD) - interest(2) - pp(TRUE) - prompt("Addressed command") - } - field(SPR, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Serial poll response") - } - field(TMSK, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace mask") - } - field(TB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace error") - } - field(TB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO device") - } - field(TB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO filter") - } - field(TB3, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO driver") - } - field(TB4, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace flow") - } - field(TB5, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace warning") - } - field(TIOM, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace I/O mask") - } - field(TIB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO ASCII") - } - field(TIB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO escape") - } - field(TIB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO hex") - } - field(TINM, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace Info mask") - } - field(TINB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Time") - } - field(TINB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Port") - } - field(TINB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Source") - } - field(TINB3, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Thread") - } - field(TSIZ, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace IO truncate size") - } - field(TFIL, DBF_STRING) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - size(40) - prompt("Trace IO file") - } - field(AUCT, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynAUTOCONNECT) - interest(1) - prompt("Autoconnect") - } - field(CNCT, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynCONNECT) - interest(1) - prompt("Connect/Disconnect") - } - field(ENBL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynENABLE) - interest(1) - prompt("Enable/Disable") - } - field(ERRS, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *errs") - interest(4) - prompt("Error string") - } - field(AQR, DBF_UCHAR) { - special(SPC_MOD) - interest(4) - prompt("Abort queueRequest") - } -} -device(asyn, INST_IO, asynRecordDevice, "asynRecordDevice") -recordtype(waveform) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct waveformRecord; - %typedef struct wfdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_wf)(struct waveformRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} wfdset; - %#define HAS_wfdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(RARM, DBF_SHORT) { - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Rearm the waveform") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(waveform, CONSTANT, devWfSoft, "Soft Channel") -device(waveform, INST_IO, devWaveformStats, "IOC stats") -device(waveform, INST_IO, devSysMonWaveStats, "sysmon") -device(waveform, INST_IO, asynWfOctetCmdResponse, "asynOctetCmdResponse") -device(waveform, INST_IO, asynWfOctetWriteRead, "asynOctetWriteRead") -device(waveform, INST_IO, asynWfOctetRead, "asynOctetRead") -device(waveform, INST_IO, asynWfOctetWrite, "asynOctetWrite") -device(waveform, INST_IO, asynWfOctetWriteBinary, "asynOctetWriteBinary") -device(waveform, INST_IO, asynInt8ArrayWfIn, "asynInt8ArrayIn") -device(waveform, INST_IO, asynInt8ArrayWfOut, "asynInt8ArrayOut") -device(waveform, INST_IO, asynInt16ArrayWfIn, "asynInt16ArrayIn") -device(waveform, INST_IO, asynInt16ArrayWfOut, "asynInt16ArrayOut") -device(waveform, INST_IO, asynInt32ArrayWfIn, "asynInt32ArrayIn") -device(waveform, INST_IO, asynInt32ArrayWfOut, "asynInt32ArrayOut") -device(waveform, INST_IO, asynInt32TimeSeries, "asynInt32TimeSeries") -device(waveform, INST_IO, asynFloat32ArrayWfIn, "asynFloat32ArrayIn") -device(waveform, INST_IO, asynFloat32ArrayWfOut, "asynFloat32ArrayOut") -device(waveform, INST_IO, asynFloat64ArrayWfIn, "asynFloat64ArrayIn") -device(waveform, INST_IO, asynFloat64ArrayWfOut, "asynFloat64ArrayOut") -device(waveform, INST_IO, asynFloat64TimeSeries, "asynFloat64TimeSeries") -device(waveform, INST_IO, asynInt64ArrayWfIn, "asynInt64ArrayIn") -device(waveform, INST_IO, asynInt64ArrayWfOut, "asynInt64ArrayOut") -device(waveform, INST_IO, asynInt64TimeSeries, "asynInt64TimeSeries") -recordtype(timestamp) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - size(40) - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Value") - size(40) - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(TST, DBF_MENU) { - promptgroup("40 - Input") - menu(timestampTST) - interest(2) - prompt("Time Stamp Type") - } -} -recordtype(fanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(fanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(LNK0, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 0") - } - field(LNK1, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 1") - } - field(LNK2, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 2") - } - field(LNK3, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 3") - } - field(LNK4, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 4") - } - field(LNK5, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 5") - } - field(LNK6, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 6") - } - field(LNK7, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 7") - } - field(LNK8, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 8") - } - field(LNK9, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 9") - } - field(LNKA, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 10") - } - field(LNKB, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 11") - } - field(LNKC, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 12") - } - field(LNKD, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 13") - } - field(LNKE, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 14") - } - field(LNKF, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 15") - } -} -recordtype(longin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longinRecord; - %typedef struct longindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_longin)(struct longinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} longindset; - %#define HAS_longindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(longin, CONSTANT, devLiSoft, "Soft Channel") -device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") -device(longin, INST_IO, devLiGeneralTime, "General Time") -device(longin, INST_IO, asynLiInt32, "asynInt32") -device(longin, INST_IO, asynLiUInt32Digital, "asynUInt32Digital") -device(longin, INST_IO, asynLiInt64, "asynInt64") -recordtype(printf) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct printfRecord; - %typedef struct printfdset { - % dset common; - % long (*write_string)(struct printfRecord *prec); - %} printfdset; - %#define HAS_printfdset - % - %/* Number of INPx fields defined */ - %#define PRINTF_NLINKS 10 - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Result") - } - field(SIZV, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of VAL buffer") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(FMT, DBF_STRING) { - promptgroup("30 - Action") - pp(TRUE) - size(81) - prompt("Format String") - } - field(IVLS, DBF_STRING) { - promptgroup("30 - Action") - initial("LNK") - size(16) - prompt("Invalid Link String") - } - field(INP0, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 0") - } - field(INP1, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 1") - } - field(INP2, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 2") - } - field(INP3, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 3") - } - field(INP4, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 4") - } - field(INP5, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 5") - } - field(INP6, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 6") - } - field(INP7, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 7") - } - field(INP8, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 8") - } - field(INP9, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 9") - } -} -device(printf, CONSTANT, devPrintfSoft, "Soft Channel") -device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") -device(printf, INST_IO, devPrintfStdio, "stdio") -device(printf, INST_IO, asynPfOctetWrite, "asynOctetWrite") -recordtype(sel) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - special(SPC_NOMOD) - asl(ASL0) - prompt("Result") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(selSELM) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - prompt("Index value") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(NVL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Index Value Location") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(NLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Index Monitored") - } -} -recordtype(bi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct biRecord; - %typedef struct bidset { - % dset common; - % long (*read_bi)(struct biRecord *prec); - %} bidset; - %#define HAS_bidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(bi, CONSTANT, devBiSoft, "Soft Channel") -device(bi, CONSTANT, devBiSoftRaw, "Raw Soft Channel") -device(bi, CONSTANT, devBiSoftCallback, "Async Soft Channel") -device(bi, INST_IO, devBiDbState, "Db State") -device(bi, INST_IO, asynBiInt32, "asynInt32") -device(bi, INST_IO, asynBiUInt32Digital, "asynUInt32Digital") -recordtype(lso) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsoRecord; - %typedef struct lsodset { - % dset common; - % long (*write_string)(struct lsoRecord *prec); - %} lsodset; - %#define HAS_lsodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Previous Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Length of OVAL") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Link") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID Output Action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID Output Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lso, CONSTANT, devLsoSoft, "Soft Channel") -device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") -device(lso, INST_IO, devLsoStdio, "stdio") -device(lso, INST_IO, asynLsoOctetWrite, "asynOctetWrite") -recordtype(subArray) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct subArrayRecord; - %typedef struct sadset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_sa)(struct subArrayRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} sadset; - %#define HAS_sadset - % - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(MALM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Maximum Elements") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - initial("1") - pp(TRUE) - prompt("Number of Elements") - } - field(INDX, DBF_ULONG) { - promptgroup("30 - Action") - pp(TRUE) - prompt("Substring Index") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } -} -device(subArray, CONSTANT, devSASoft, "Soft Channel") -recordtype(calc) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } -} -recordtype(mbboDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboDirectRecord; - %typedef struct mbbodirectdset { - % dset common; /*init_record returns: (0, 2)=>(success, success no convert)*/ - % long (*write_mbbo)(struct mbboDirectRecord *prec); /*returns: (0, 2)=>(success, success no convert)*/ - %} mbbodirectdset; - %#define HAS_mbbodirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Word") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - special(SPC_RESET) - menu(menuOmsl) - interest(1) - pp(TRUE) - prompt("Output Mode Select") - } - field(NOBT, DBF_SHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(RVAL, DBF_ULONG) { - special(SPC_NOMOD) - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(B0, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") -device(mbboDirect, INST_IO, asynMbboDirectUInt32Digital, "asynUInt32Digital") -recordtype(longout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longoutRecord; - %typedef struct longoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_longout)(struct longoutRecord *prec); /*(-1,0)=>(failure,success*/ - %} longoutdset; - %#define HAS_longoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(DRVH, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(longout, CONSTANT, devLoSoft, "Soft Channel") -device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") -device(longout, INST_IO, asynLoInt32, "asynInt32") -device(longout, INST_IO, asynLoUInt32Digital, "asynUInt32Digital") -device(longout, INST_IO, asynLoInt64, "asynInt64") -recordtype(aSub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct aSubRecord; - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - prompt("Subr. return value") - } - field(OVAL, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Old return value") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(41) - prompt("Initialize Subr. Name") - } - field(LFLG, DBF_MENU) { - promptgroup("30 - Action") - menu(aSubLFLG) - interest(1) - prompt("Subr. Input Enable") - } - field(SUBL, DBF_INLINK) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - prompt("Subroutine Name Link") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(41) - prompt("Process Subr. Name") - } - field(ONAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(3) - size(41) - prompt("Old Subr. Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("long (*sadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Address") - } - field(CADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void (*cadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Cleanup Address") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EFLG, DBF_MENU) { - promptgroup("50 - Output") - menu(aSubEFLG) - initial("1") - interest(1) - prompt("Output Event Flag") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link F") - } - field(INPG, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link L") - } - field(INPM, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link M") - } - field(INPN, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link N") - } - field(INPO, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link O") - } - field(INPP, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link P") - } - field(INPQ, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link Q") - } - field(INPR, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link R") - } - field(INPS, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link S") - } - field(INPT, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link T") - } - field(INPU, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link U") - } - field(A, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *a") - interest(2) - prompt("Input value A") - } - field(B, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *b") - interest(2) - prompt("Input value B") - } - field(C, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *c") - interest(2) - prompt("Input value C") - } - field(D, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *d") - interest(2) - prompt("Input value D") - } - field(E, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *e") - interest(2) - prompt("Input value E") - } - field(F, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *f") - interest(2) - prompt("Input value F") - } - field(G, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *g") - interest(2) - prompt("Input value G") - } - field(H, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *h") - interest(2) - prompt("Input value H") - } - field(I, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *i") - interest(2) - prompt("Input value I") - } - field(J, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *j") - interest(2) - prompt("Input value J") - } - field(K, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *k") - interest(2) - prompt("Input value K") - } - field(L, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *l") - interest(2) - prompt("Input value L") - } - field(M, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *m") - interest(2) - prompt("Input value M") - } - field(N, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *n") - interest(2) - prompt("Input value N") - } - field(O, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *o") - interest(2) - prompt("Input value O") - } - field(P, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *p") - interest(2) - prompt("Input value P") - } - field(Q, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *q") - interest(2) - prompt("Input value Q") - } - field(R, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *r") - interest(2) - prompt("Input value R") - } - field(S, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *s") - interest(2) - prompt("Input value S") - } - field(T, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *t") - interest(2) - prompt("Input value T") - } - field(U, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *u") - interest(2) - prompt("Input value U") - } - field(FTA, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of A") - } - field(FTB, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of B") - } - field(FTC, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of C") - } - field(FTD, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of D") - } - field(FTE, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of E") - } - field(FTF, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of F") - } - field(FTG, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of G") - } - field(FTH, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of H") - } - field(FTI, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of I") - } - field(FTJ, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of J") - } - field(FTK, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of K") - } - field(FTL, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of L") - } - field(FTM, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of M") - } - field(FTN, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of N") - } - field(FTO, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of O") - } - field(FTP, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of P") - } - field(FTQ, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of Q") - } - field(FTR, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of R") - } - field(FTS, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of S") - } - field(FTT, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of T") - } - field(FTU, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of U") - } - field(NOA, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in A") - } - field(NOB, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in B") - } - field(NOC, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in C") - } - field(NOD, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in D") - } - field(NOE, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in E") - } - field(NOF, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in F") - } - field(NOG, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in G") - } - field(NOH, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in H") - } - field(NOI, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in I") - } - field(NOJ, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in J") - } - field(NOK, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in K") - } - field(NOL, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in L") - } - field(NOM, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in M") - } - field(NON, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in N") - } - field(NOO, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in O") - } - field(NOP, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in P") - } - field(NOQ, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in Q") - } - field(NOR, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in R") - } - field(NOS, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in S") - } - field(NOT, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in T") - } - field(NOU, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in U") - } - field(NEA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in A") - } - field(NEB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in B") - } - field(NEC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in C") - } - field(NED, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in D") - } - field(NEE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in E") - } - field(NEF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in F") - } - field(NEG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in G") - } - field(NEH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in H") - } - field(NEI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in I") - } - field(NEJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in J") - } - field(NEK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in K") - } - field(NEL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in L") - } - field(NEM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in M") - } - field(NEN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in N") - } - field(NEO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in O") - } - field(NEP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in P") - } - field(NEQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in Q") - } - field(NER, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in R") - } - field(NES, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in S") - } - field(NET, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in T") - } - field(NEU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in U") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link H") - } - field(OUTI, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link I") - } - field(OUTJ, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link J") - } - field(OUTK, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link K") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link L") - } - field(OUTM, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link M") - } - field(OUTN, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link N") - } - field(OUTO, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link O") - } - field(OUTP, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link P") - } - field(OUTQ, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link Q") - } - field(OUTR, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link R") - } - field(OUTS, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link S") - } - field(OUTT, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link T") - } - field(OUTU, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link U") - } - field(VALA, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vala") - interest(2) - prompt("Output value A") - } - field(VALB, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valb") - interest(2) - prompt("Output value B") - } - field(VALC, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valc") - interest(2) - prompt("Output value C") - } - field(VALD, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vald") - interest(2) - prompt("Output value D") - } - field(VALE, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vale") - interest(2) - prompt("Output value E") - } - field(VALF, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valf") - interest(2) - prompt("Output value F") - } - field(VALG, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valg") - interest(2) - prompt("Output value G") - } - field(VALH, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valh") - interest(2) - prompt("Output value H") - } - field(VALI, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vali") - interest(2) - prompt("Output value I") - } - field(VALJ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valj") - interest(2) - prompt("Output value J") - } - field(VALK, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valk") - interest(2) - prompt("Output value K") - } - field(VALL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vall") - interest(2) - prompt("Output value L") - } - field(VALM, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valm") - interest(2) - prompt("Output value M") - } - field(VALN, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valn") - interest(2) - prompt("Output value N") - } - field(VALO, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valo") - interest(2) - prompt("Output value O") - } - field(VALP, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valp") - interest(2) - prompt("Output value P") - } - field(VALQ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valq") - interest(2) - prompt("Output value Q") - } - field(VALR, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valr") - interest(2) - prompt("Output value R") - } - field(VALS, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vals") - interest(2) - prompt("Output value S") - } - field(VALT, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valt") - interest(2) - prompt("Output value T") - } - field(VALU, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valu") - interest(2) - prompt("Output value U") - } - field(OVLA, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovla") - interest(4) - prompt("Old Output A") - } - field(OVLB, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlb") - interest(4) - prompt("Old Output B") - } - field(OVLC, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlc") - interest(4) - prompt("Old Output C") - } - field(OVLD, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovld") - interest(4) - prompt("Old Output D") - } - field(OVLE, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovle") - interest(4) - prompt("Old Output E") - } - field(OVLF, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlf") - interest(4) - prompt("Old Output F") - } - field(OVLG, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlg") - interest(4) - prompt("Old Output G") - } - field(OVLH, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlh") - interest(4) - prompt("Old Output H") - } - field(OVLI, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovli") - interest(4) - prompt("Old Output I") - } - field(OVLJ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlj") - interest(4) - prompt("Old Output J") - } - field(OVLK, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlk") - interest(4) - prompt("Old Output K") - } - field(OVLL, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovll") - interest(4) - prompt("Old Output L") - } - field(OVLM, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlm") - interest(4) - prompt("Old Output M") - } - field(OVLN, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovln") - interest(4) - prompt("Old Output N") - } - field(OVLO, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlo") - interest(4) - prompt("Old Output O") - } - field(OVLP, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlp") - interest(4) - prompt("Old Output P") - } - field(OVLQ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlq") - interest(4) - prompt("Old Output Q") - } - field(OVLR, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlr") - interest(4) - prompt("Old Output R") - } - field(OVLS, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovls") - interest(4) - prompt("Old Output S") - } - field(OVLT, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlt") - interest(4) - prompt("Old Output T") - } - field(OVLU, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlu") - interest(4) - prompt("Old Output U") - } - field(FTVA, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALA") - } - field(FTVB, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALB") - } - field(FTVC, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALC") - } - field(FTVD, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALD") - } - field(FTVE, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALE") - } - field(FTVF, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALF") - } - field(FTVG, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALG") - } - field(FTVH, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALH") - } - field(FTVI, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALI") - } - field(FTVJ, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALJ") - } - field(FTVK, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALK") - } - field(FTVL, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALL") - } - field(FTVM, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALM") - } - field(FTVN, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALN") - } - field(FTVO, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALO") - } - field(FTVP, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALP") - } - field(FTVQ, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALQ") - } - field(FTVR, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALR") - } - field(FTVS, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALS") - } - field(FTVT, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALT") - } - field(FTVU, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALU") - } - field(NOVA, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALA") - } - field(NOVB, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALB") - } - field(NOVC, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALC") - } - field(NOVD, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALD") - } - field(NOVE, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALE") - } - field(NOVF, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALF") - } - field(NOVG, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALG") - } - field(NOVH, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VAlH") - } - field(NOVI, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALI") - } - field(NOVJ, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALJ") - } - field(NOVK, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALK") - } - field(NOVL, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALL") - } - field(NOVM, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALM") - } - field(NOVN, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALN") - } - field(NOVO, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALO") - } - field(NOVP, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALP") - } - field(NOVQ, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALQ") - } - field(NOVR, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALR") - } - field(NOVS, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALS") - } - field(NOVT, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALT") - } - field(NOVU, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALU") - } - field(NEVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALA") - } - field(NEVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALB") - } - field(NEVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALC") - } - field(NEVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALD") - } - field(NEVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALE") - } - field(NEVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALF") - } - field(NEVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALG") - } - field(NEVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VAlH") - } - field(NEVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALI") - } - field(NEVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALJ") - } - field(NEVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALK") - } - field(NEVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALL") - } - field(NEVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALM") - } - field(NEVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALN") - } - field(NEVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALO") - } - field(NEVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALP") - } - field(NEVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALQ") - } - field(NEVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALR") - } - field(NEVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALS") - } - field(NEVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALT") - } - field(NEVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALU") - } - field(ONVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLA") - } - field(ONVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLB") - } - field(ONVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLC") - } - field(ONVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLD") - } - field(ONVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLE") - } - field(ONVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLF") - } - field(ONVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLG") - } - field(ONVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in VAlH") - } - field(ONVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLI") - } - field(ONVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLJ") - } - field(ONVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLK") - } - field(ONVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLL") - } - field(ONVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLM") - } - field(ONVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLN") - } - field(ONVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLO") - } - field(ONVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLP") - } - field(ONVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLQ") - } - field(ONVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLR") - } - field(ONVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLS") - } - field(ONVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLT") - } - field(ONVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLU") - } -} -recordtype(sub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct subRecord; - %typedef long (*SUBFUNCPTR)(struct subRecord *); - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - asl(ASL0) - pp(TRUE) - prompt("Result") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Init Routine Name") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(40) - prompt("Subroutine Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("SUBFUNCPTR sadr") - interest(4) - prompt("Subroutine Address") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -recordtype(int64in) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64inRecord; - %typedef struct int64indset { - % dset common; - % long (*read_int64in)(struct int64inRecord *prec); - %} int64indset; - %#define HAS_int64indset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_INT64) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(int64in, CONSTANT, devI64inSoft, "Soft Channel") -device(int64in, CONSTANT, devI64inSoftCallback, "Async Soft Channel") -device(int64in, INST_IO, asynInt64In, "asynInt64") -recordtype(ai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aiRecord; - %typedef struct aidset { - % dset common; - % long (*read_ai)(struct aiRecord *prec); - % long (*special_linconv)(struct aiRecord *prec, int after); - %} aidset; - %#define HAS_aidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current EGU Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(SMOO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - prompt("Smoothing") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("Raw to EGU Slope") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("Raw to EGU Offset") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(ai, CONSTANT, devAiSoft, "Soft Channel") -device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") -device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") -device(ai, INST_IO, devTimestampAI, "Soft Timestamp") -device(ai, INST_IO, devAiGeneralTime, "General Time") -device(ai, INST_IO, devAiStats, "IOC stats") -device(ai, INST_IO, devAiClusts, "IOC stats clusts") -device(ai, CONSTANT, devAiDBCLC, "DBCLC") -device(ai, CONSTANT, devAiDBDLC, "DBDLC") -device(ai, INST_IO, devSysMonAiStats, "sysmon") -device(ai, INST_IO, asynAiInt32, "asynInt32") -device(ai, INST_IO, asynAiInt32Average, "asynInt32Average") -device(ai, INST_IO, asynAiFloat64, "asynFloat64") -device(ai, INST_IO, asynAiFloat64Average, "asynFloat64Average") -device(ai, INST_IO, asynAiInt64, "asynInt64") -recordtype(stringin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringinRecord; - %typedef struct stringindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_stringin)(struct stringinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} stringindset; - %#define HAS_stringindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_STRING) { - pp(TRUE) - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(stringin, CONSTANT, devSiSoft, "Soft Channel") -device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") -device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") -device(stringin, INST_IO, devSiGeneralTime, "General Time") -device(stringin, INST_IO, devSiEnviron, "getenv") -device(stringin, INST_IO, devStringinStats, "IOC stats") -device(stringin, INST_IO, devStringinEnvVar, "IOC env var") -device(stringin, INST_IO, devStringinEpics, "IOC epics var") -device(stringin, INST_IO, devSysMonSiStats, "sysmon") -device(stringin, INST_IO, asynSiOctetCmdResponse, "asynOctetCmdResponse") -device(stringin, INST_IO, asynSiOctetWriteRead, "asynOctetWriteRead") -device(stringin, INST_IO, asynSiOctetRead, "asynOctetRead") -driver(drvAsyn) -link(state, lnkStateIf) -link(calc, lnkCalcIf) -link(trace, lnkTraceIf) -link(debug, lnkDebugIf) -link(const, lnkConstIf) -registrar(drvAsynSerialPortRegisterCommands) -registrar(drvCodacHeaderRegister) -registrar(tsInitialize) -registrar(syncInitialize) -registrar(dbrestoreRegister) -registrar(iocSetLogLevelRegister) -registrar(save_restoreRegister) -registrar(asynRegister) -registrar(decInitialize) -registrar(iocSetSimEnableRegister) -registrar(drvCodacRedundantPlcRegister) -registrar(asynInterposeFlushRegister) -registrar(drvAsynIPPortRegisterCommands) -registrar(drvBlockTCPRegister) -registrar(asynInterposeEchoRegister) -registrar(arrInitialize) -registrar(asInitHooksRegister) -registrar(drvBlockTCPEventRegister) -registrar(asynInterposeDelayRegister) -registrar(dbndInitialize) -registrar(drvBlockTCPRedundantPlcRegister) -registrar(iocSetLogSyslogRegister) -registrar(drvAsynIPServerPortRegisterCommands) -registrar(configMenuRegistrar) -registrar(asSub) -registrar(iocSetLogStdoutRegister) -registrar(asynInterposeEosRegister) -registrar(rsrvRegistrar) -registrar(iocSetLogInitRegister) -function(scanMon) -function(rebootProc) -function(scanMonInit) -variable(dbTemplateMaxVars, int) -variable(lnkDebug_debug, int) -variable(asCaDebug, int) -variable(callbackParallelThreadsDefault, int) -variable(save_restoreRemountThreshold, int) -variable(dbAccessDebugPUTF, int) -variable(dbRecordsOnceOnly, int) -variable(save_restoreDebug, int) -variable(save_restoreDatedBackupFiles, int) -variable(calcoutODLYlimit, double) -variable(configMenuDebug, int) -variable(save_restoreIncompleteSetsOk, int) -variable(dbBptNotMonotonic, int) -variable(atExitDebug, int) -variable(boHIGHlimit, double) -variable(dbJLinkDebug, int) -variable(dbConvertStrict, int) -variable(seqDLYprecision, int) -variable(logClientDebug, int) -variable(dbQuietMacroWarnings, int) -variable(save_restoreNumSeqFiles, int) -variable(boHIGHprecision, int) -variable(dbRecordsAbcSorted, int) -variable(seqDLYlimit, double) -variable(calcoutODLYprecision, int) -variable(histogramSDELprecision, int) -variable(dbThreadRealtimeLock, int) -variable(CASDEBUG, int) -variable(save_restoreSeqPeriodInSeconds, int) diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB deleted file mode 100755 index 72c1b69..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB.dbd.d b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB.dbd.d deleted file mode 100644 index 9214de7..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB.dbd.d +++ /dev/null @@ -1,168 +0,0 @@ -../O.Common/CUB.dbd: /opt/codac-6.3/epics/dbd/base.dbd \ - /opt/codac-6.3/epics/dbd/menuGlobal.dbd \ - /opt/codac-6.3/epics/dbd/menuAlarmSevr.dbd \ - /opt/codac-6.3/epics/dbd/menuAlarmStat.dbd \ - /opt/codac-6.3/epics/dbd/menuFtype.dbd \ - /opt/codac-6.3/epics/dbd/menuIvoa.dbd \ - /opt/codac-6.3/epics/dbd/menuOmsl.dbd \ - /opt/codac-6.3/epics/dbd/menuPini.dbd \ - /opt/codac-6.3/epics/dbd/menuPost.dbd \ - /opt/codac-6.3/epics/dbd/menuPriority.dbd \ - /opt/codac-6.3/epics/dbd/menuYesNo.dbd \ - /opt/codac-6.3/epics/dbd/menuSimm.dbd \ - /opt/codac-6.3/epics/dbd/menuConvert.dbd \ - /opt/codac-6.3/epics/dbd/menuScan.dbd \ - /opt/codac-6.3/epics/dbd/stdRecords.dbd \ - /opt/codac-6.3/epics/dbd/aaiRecord.dbd \ - /opt/codac-6.3/epics/dbd/dbCommon.dbd \ - /opt/codac-6.3/epics/dbd/aaoRecord.dbd \ - /opt/codac-6.3/epics/dbd/aiRecord.dbd \ - /opt/codac-6.3/epics/dbd/aoRecord.dbd \ - /opt/codac-6.3/epics/dbd/aSubRecord.dbd \ - /opt/codac-6.3/epics/dbd/biRecord.dbd \ - /opt/codac-6.3/epics/dbd/boRecord.dbd \ - /opt/codac-6.3/epics/dbd/calcRecord.dbd \ - /opt/codac-6.3/epics/dbd/calcoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/compressRecord.dbd \ - /opt/codac-6.3/epics/dbd/dfanoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/eventRecord.dbd \ - /opt/codac-6.3/epics/dbd/fanoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/histogramRecord.dbd \ - /opt/codac-6.3/epics/dbd/int64inRecord.dbd \ - /opt/codac-6.3/epics/dbd/int64outRecord.dbd \ - /opt/codac-6.3/epics/dbd/longinRecord.dbd \ - /opt/codac-6.3/epics/dbd/longoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/lsiRecord.dbd \ - /opt/codac-6.3/epics/dbd/lsoRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbbiRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbbiDirectRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbboRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbboDirectRecord.dbd \ - /opt/codac-6.3/epics/dbd/permissiveRecord.dbd \ - /opt/codac-6.3/epics/dbd/printfRecord.dbd \ - /opt/codac-6.3/epics/dbd/selRecord.dbd \ - /opt/codac-6.3/epics/dbd/seqRecord.dbd \ - /opt/codac-6.3/epics/dbd/stateRecord.dbd \ - /opt/codac-6.3/epics/dbd/stringinRecord.dbd \ - /opt/codac-6.3/epics/dbd/stringoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/subRecord.dbd \ - /opt/codac-6.3/epics/dbd/subArrayRecord.dbd \ - /opt/codac-6.3/epics/dbd/waveformRecord.dbd \ - /opt/codac-6.3/epics/dbd/filters.dbd \ - /opt/codac-6.3/epics/dbd/links.dbd \ - /opt/codac-6.3/epics/dbd/devSoft.dbd \ - /opt/codac-6.3/epics/dbd/asSub.dbd \ - /opt/codac-6.3/epics/dbd/dbCore.dbd \ - /opt/codac-6.3/epics/dbd/rsrv.dbd \ - /opt/codac-6.3/epics/dbd/std.dbd \ - /opt/codac-6.3/epics/dbd/autosave.dbd \ - /opt/codac-6.3/epics/dbd/iocmon.dbd \ - /opt/codac-6.3/epics/dbd/sysmon.dbd \ - /opt/codac-6.3/epics/dbd/asyn.dbd \ - /opt/codac-6.3/epics/dbd/asynRecord.dbd \ - /opt/codac-6.3/epics/dbd/devEpics.dbd \ - /opt/codac-6.3/epics/dbd/devAsynOctet.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt32.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt8Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt16Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt32Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt32TimeSeries.dbd \ - /opt/codac-6.3/epics/dbd/devAsynUInt32Digital.dbd \ - /opt/codac-6.3/epics/dbd/devAsynFloat64.dbd \ - /opt/codac-6.3/epics/dbd/devAsynFloat32Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynFloat64Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynFloat64TimeSeries.dbd \ - /opt/codac-6.3/epics/dbd/devAsynRecord.dbd \ - /opt/codac-6.3/epics/dbd/devAsynOctetLs.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt64.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt64Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt64TimeSeries.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt64Misc.dbd \ - /opt/codac-6.3/epics/dbd/drvAsynSerialPort.dbd \ - /opt/codac-6.3/epics/dbd/drvAsynIPPort.dbd \ - /opt/codac-6.3/epics/dbd/s7PLCAsyn.dbd - -/opt/codac-6.3/epics/dbd/base.dbd: -/opt/codac-6.3/epics/dbd/menuGlobal.dbd: -/opt/codac-6.3/epics/dbd/menuAlarmSevr.dbd: -/opt/codac-6.3/epics/dbd/menuAlarmStat.dbd: -/opt/codac-6.3/epics/dbd/menuFtype.dbd: -/opt/codac-6.3/epics/dbd/menuIvoa.dbd: -/opt/codac-6.3/epics/dbd/menuOmsl.dbd: -/opt/codac-6.3/epics/dbd/menuPini.dbd: -/opt/codac-6.3/epics/dbd/menuPost.dbd: -/opt/codac-6.3/epics/dbd/menuPriority.dbd: -/opt/codac-6.3/epics/dbd/menuYesNo.dbd: -/opt/codac-6.3/epics/dbd/menuSimm.dbd: -/opt/codac-6.3/epics/dbd/menuConvert.dbd: -/opt/codac-6.3/epics/dbd/menuScan.dbd: -/opt/codac-6.3/epics/dbd/stdRecords.dbd: -/opt/codac-6.3/epics/dbd/aaiRecord.dbd: -/opt/codac-6.3/epics/dbd/dbCommon.dbd: -/opt/codac-6.3/epics/dbd/aaoRecord.dbd: -/opt/codac-6.3/epics/dbd/aiRecord.dbd: -/opt/codac-6.3/epics/dbd/aoRecord.dbd: -/opt/codac-6.3/epics/dbd/aSubRecord.dbd: -/opt/codac-6.3/epics/dbd/biRecord.dbd: -/opt/codac-6.3/epics/dbd/boRecord.dbd: -/opt/codac-6.3/epics/dbd/calcRecord.dbd: -/opt/codac-6.3/epics/dbd/calcoutRecord.dbd: -/opt/codac-6.3/epics/dbd/compressRecord.dbd: -/opt/codac-6.3/epics/dbd/dfanoutRecord.dbd: -/opt/codac-6.3/epics/dbd/eventRecord.dbd: -/opt/codac-6.3/epics/dbd/fanoutRecord.dbd: -/opt/codac-6.3/epics/dbd/histogramRecord.dbd: -/opt/codac-6.3/epics/dbd/int64inRecord.dbd: -/opt/codac-6.3/epics/dbd/int64outRecord.dbd: -/opt/codac-6.3/epics/dbd/longinRecord.dbd: -/opt/codac-6.3/epics/dbd/longoutRecord.dbd: -/opt/codac-6.3/epics/dbd/lsiRecord.dbd: -/opt/codac-6.3/epics/dbd/lsoRecord.dbd: -/opt/codac-6.3/epics/dbd/mbbiRecord.dbd: -/opt/codac-6.3/epics/dbd/mbbiDirectRecord.dbd: -/opt/codac-6.3/epics/dbd/mbboRecord.dbd: -/opt/codac-6.3/epics/dbd/mbboDirectRecord.dbd: -/opt/codac-6.3/epics/dbd/permissiveRecord.dbd: -/opt/codac-6.3/epics/dbd/printfRecord.dbd: -/opt/codac-6.3/epics/dbd/selRecord.dbd: -/opt/codac-6.3/epics/dbd/seqRecord.dbd: -/opt/codac-6.3/epics/dbd/stateRecord.dbd: -/opt/codac-6.3/epics/dbd/stringinRecord.dbd: -/opt/codac-6.3/epics/dbd/stringoutRecord.dbd: -/opt/codac-6.3/epics/dbd/subRecord.dbd: -/opt/codac-6.3/epics/dbd/subArrayRecord.dbd: -/opt/codac-6.3/epics/dbd/waveformRecord.dbd: -/opt/codac-6.3/epics/dbd/filters.dbd: -/opt/codac-6.3/epics/dbd/links.dbd: -/opt/codac-6.3/epics/dbd/devSoft.dbd: -/opt/codac-6.3/epics/dbd/asSub.dbd: -/opt/codac-6.3/epics/dbd/dbCore.dbd: -/opt/codac-6.3/epics/dbd/rsrv.dbd: -/opt/codac-6.3/epics/dbd/std.dbd: -/opt/codac-6.3/epics/dbd/autosave.dbd: -/opt/codac-6.3/epics/dbd/iocmon.dbd: -/opt/codac-6.3/epics/dbd/sysmon.dbd: -/opt/codac-6.3/epics/dbd/asyn.dbd: -/opt/codac-6.3/epics/dbd/asynRecord.dbd: -/opt/codac-6.3/epics/dbd/devEpics.dbd: -/opt/codac-6.3/epics/dbd/devAsynOctet.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt32.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt8Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt16Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt32Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt32TimeSeries.dbd: -/opt/codac-6.3/epics/dbd/devAsynUInt32Digital.dbd: -/opt/codac-6.3/epics/dbd/devAsynFloat64.dbd: -/opt/codac-6.3/epics/dbd/devAsynFloat32Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynFloat64Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynFloat64TimeSeries.dbd: -/opt/codac-6.3/epics/dbd/devAsynRecord.dbd: -/opt/codac-6.3/epics/dbd/devAsynOctetLs.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt64.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt64Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt64TimeSeries.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt64Misc.dbd: -/opt/codac-6.3/epics/dbd/drvAsynSerialPort.dbd: -/opt/codac-6.3/epics/dbd/drvAsynIPPort.dbd: -/opt/codac-6.3/epics/dbd/s7PLCAsyn.dbd: -../O.Common/CUB.dbd: ../Makefile diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUBMain.d b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUBMain.d deleted file mode 100644 index e3f0847..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUBMain.d +++ /dev/null @@ -1,16 +0,0 @@ -CUBMain.o: ../CUBMain.cpp /opt/codac-6.3/epics/include/epicsExit.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/epicsThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/os/Linux/osdEvent.h \ - /opt/codac-6.3/epics/include/epicsMutex.h \ - /opt/codac-6.3/epics/include/epicsAssert.h \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/compiler/gcc/compilerSpecific.h \ - /opt/codac-6.3/epics/include/epicsGuard.h \ - /opt/codac-6.3/epics/include/os/Linux/osdMutex.h \ - /opt/codac-6.3/epics/include/os/Linux/osdThread.h \ - /opt/codac-6.3/epics/include/ellLib.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/iocsh.h diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUBMain.o b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUBMain.o deleted file mode 100644 index 3a59d39..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUBMain.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB_registerRecordDeviceDriver.cpp b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB_registerRecordDeviceDriver.cpp deleted file mode 100644 index d2f4b04..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB_registerRecordDeviceDriver.cpp +++ /dev/null @@ -1,469 +0,0 @@ -/* THIS IS A GENERATED FILE. DO NOT EDIT! */ -/* Generated from ../O.Common/CUB.dbd */ - -#include -#ifndef USE_TYPED_RSET -# define USE_TYPED_RSET -#endif -#include "compilerDependencies.h" -#include "epicsStdlib.h" -#include "iocsh.h" -#include "iocshRegisterCommon.h" -#include "registryCommon.h" -#include "recSup.h" - -extern "C" { - -epicsShareExtern typed_rset *pvar_rset_aSubRSET, *pvar_rset_aaiRSET, - *pvar_rset_aaoRSET, *pvar_rset_aiRSET, *pvar_rset_aoRSET, - *pvar_rset_asynRSET, *pvar_rset_biRSET, *pvar_rset_boRSET, - *pvar_rset_calcRSET, *pvar_rset_calcoutRSET, *pvar_rset_compressRSET, - *pvar_rset_dfanoutRSET, *pvar_rset_epidRSET, *pvar_rset_eventRSET, - *pvar_rset_fanoutRSET, *pvar_rset_histogramRSET, - *pvar_rset_int64inRSET, *pvar_rset_int64outRSET, - *pvar_rset_longinRSET, *pvar_rset_longoutRSET, *pvar_rset_lsiRSET, - *pvar_rset_lsoRSET, *pvar_rset_mbbiRSET, *pvar_rset_mbbiDirectRSET, - *pvar_rset_mbboRSET, *pvar_rset_mbboDirectRSET, - *pvar_rset_permissiveRSET, *pvar_rset_printfRSET, *pvar_rset_selRSET, - *pvar_rset_seqRSET, *pvar_rset_stateRSET, *pvar_rset_stringinRSET, - *pvar_rset_stringoutRSET, *pvar_rset_subRSET, *pvar_rset_subArrayRSET, - *pvar_rset_timestampRSET, *pvar_rset_waveformRSET; - -typedef int (*rso_func)(dbRecordType *pdbRecordType); -epicsShareExtern rso_func pvar_func_aSubRecordSizeOffset, - pvar_func_aaiRecordSizeOffset, pvar_func_aaoRecordSizeOffset, - pvar_func_aiRecordSizeOffset, pvar_func_aoRecordSizeOffset, - pvar_func_asynRecordSizeOffset, pvar_func_biRecordSizeOffset, - pvar_func_boRecordSizeOffset, pvar_func_calcRecordSizeOffset, - pvar_func_calcoutRecordSizeOffset, pvar_func_compressRecordSizeOffset, - pvar_func_dfanoutRecordSizeOffset, pvar_func_epidRecordSizeOffset, - pvar_func_eventRecordSizeOffset, pvar_func_fanoutRecordSizeOffset, - pvar_func_histogramRecordSizeOffset, - pvar_func_int64inRecordSizeOffset, pvar_func_int64outRecordSizeOffset, - pvar_func_longinRecordSizeOffset, pvar_func_longoutRecordSizeOffset, - pvar_func_lsiRecordSizeOffset, pvar_func_lsoRecordSizeOffset, - pvar_func_mbbiRecordSizeOffset, pvar_func_mbbiDirectRecordSizeOffset, - pvar_func_mbboRecordSizeOffset, pvar_func_mbboDirectRecordSizeOffset, - pvar_func_permissiveRecordSizeOffset, - pvar_func_printfRecordSizeOffset, pvar_func_selRecordSizeOffset, - pvar_func_seqRecordSizeOffset, pvar_func_stateRecordSizeOffset, - pvar_func_stringinRecordSizeOffset, - pvar_func_stringoutRecordSizeOffset, pvar_func_subRecordSizeOffset, - pvar_func_subArrayRecordSizeOffset, - pvar_func_timestampRecordSizeOffset, - pvar_func_waveformRecordSizeOffset; - -static const char * const recordTypeNames[] = { - "aSub", "aai", "aao", "ai", "ao", "asyn", "bi", "bo", "calc", - "calcout", "compress", "dfanout", "epid", "event", "fanout", - "histogram", "int64in", "int64out", "longin", "longout", "lsi", "lso", - "mbbi", "mbbiDirect", "mbbo", "mbboDirect", "permissive", "printf", - "sel", "seq", "state", "stringin", "stringout", "sub", "subArray", - "timestamp", "waveform" -}; - -static const recordTypeLocation rtl[] = { - {(struct typed_rset *)pvar_rset_aSubRSET, pvar_func_aSubRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aaiRSET, pvar_func_aaiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aaoRSET, pvar_func_aaoRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aiRSET, pvar_func_aiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aoRSET, pvar_func_aoRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_asynRSET, pvar_func_asynRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_biRSET, pvar_func_biRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_boRSET, pvar_func_boRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_calcRSET, pvar_func_calcRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_calcoutRSET, pvar_func_calcoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_compressRSET, pvar_func_compressRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_dfanoutRSET, pvar_func_dfanoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_epidRSET, pvar_func_epidRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_eventRSET, pvar_func_eventRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_fanoutRSET, pvar_func_fanoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_histogramRSET, pvar_func_histogramRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_int64inRSET, pvar_func_int64inRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_int64outRSET, pvar_func_int64outRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_longinRSET, pvar_func_longinRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_longoutRSET, pvar_func_longoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_lsiRSET, pvar_func_lsiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_lsoRSET, pvar_func_lsoRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbbiRSET, pvar_func_mbbiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbbiDirectRSET, pvar_func_mbbiDirectRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbboRSET, pvar_func_mbboRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbboDirectRSET, pvar_func_mbboDirectRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_permissiveRSET, pvar_func_permissiveRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_printfRSET, pvar_func_printfRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_selRSET, pvar_func_selRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_seqRSET, pvar_func_seqRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_stateRSET, pvar_func_stateRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_stringinRSET, pvar_func_stringinRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_stringoutRSET, pvar_func_stringoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_subRSET, pvar_func_subRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_subArrayRSET, pvar_func_subArrayRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_timestampRSET, pvar_func_timestampRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_waveformRSET, pvar_func_waveformRecordSizeOffset} -}; - -epicsShareExtern dset *pvar_dset_devAaiSoft, *pvar_dset_devAaoSoft, - *pvar_dset_devAiSoft, *pvar_dset_devAiSoftRaw, - *pvar_dset_devAiSoftCallback, *pvar_dset_devTimestampAI, - *pvar_dset_devAiGeneralTime, *pvar_dset_devAiStats, - *pvar_dset_devAiClusts, *pvar_dset_devAiDBCLC, *pvar_dset_devAiDBDLC, - *pvar_dset_devSysMonAiStats, *pvar_dset_asynAiInt32, - *pvar_dset_asynAiInt32Average, *pvar_dset_asynAiFloat64, - *pvar_dset_asynAiFloat64Average, *pvar_dset_asynAiInt64, - *pvar_dset_devAoSoft, *pvar_dset_devAoSoftRaw, - *pvar_dset_devAoSoftCallback, *pvar_dset_devAoStats, - *pvar_dset_asynAoInt32, *pvar_dset_asynAoFloat64, - *pvar_dset_asynAoInt64, *pvar_dset_asynRecordDevice, - *pvar_dset_devBiSoft, *pvar_dset_devBiSoftRaw, - *pvar_dset_devBiSoftCallback, *pvar_dset_devBiDbState, - *pvar_dset_asynBiInt32, *pvar_dset_asynBiUInt32Digital, - *pvar_dset_devBoSoft, *pvar_dset_devBoSoftRaw, - *pvar_dset_devBoSoftCallback, *pvar_dset_devBoGeneralTime, - *pvar_dset_devBoDbState, *pvar_dset_devBoSimulation, - *pvar_dset_asynBoInt32, *pvar_dset_asynBoUInt32Digital, - *pvar_dset_devCalcoutSoft, *pvar_dset_devCalcoutSoftCallback, - *pvar_dset_devEpidSoft, *pvar_dset_devEpidSoftCB, - *pvar_dset_devEventSoft, *pvar_dset_devHistogramSoft, - *pvar_dset_devI64inSoft, *pvar_dset_devI64inSoftCallback, - *pvar_dset_asynInt64In, *pvar_dset_devI64outSoft, - *pvar_dset_devI64outSoftCallback, *pvar_dset_asynInt64Out, - *pvar_dset_devLiSoft, *pvar_dset_devLiSoftCallback, - *pvar_dset_devLiGeneralTime, *pvar_dset_asynLiInt32, - *pvar_dset_asynLiUInt32Digital, *pvar_dset_asynLiInt64, - *pvar_dset_devLoSoft, *pvar_dset_devLoSoftCallback, - *pvar_dset_asynLoInt32, *pvar_dset_asynLoUInt32Digital, - *pvar_dset_asynLoInt64, *pvar_dset_devLsiSoft, - *pvar_dset_devLsiEnviron, *pvar_dset_devLsiStats, - *pvar_dset_asynLsiOctetCmdResponse, *pvar_dset_asynLsiOctetWriteRead, - *pvar_dset_asynLsiOctetRead, *pvar_dset_devLsoSoft, - *pvar_dset_devLsoSoftCallback, *pvar_dset_devLsoStdio, - *pvar_dset_asynLsoOctetWrite, *pvar_dset_devMbbiSoft, - *pvar_dset_devMbbiSoftRaw, *pvar_dset_devMbbiSoftCallback, - *pvar_dset_devSysMonMbbiStats, *pvar_dset_asynMbbiInt32, - *pvar_dset_asynMbbiUInt32Digital, *pvar_dset_devMbbiDirectSoft, - *pvar_dset_devMbbiDirectSoftRaw, *pvar_dset_devMbbiDirectSoftCallback, - *pvar_dset_devSysMonMbbiDirectStats, - *pvar_dset_asynMbbiDirectUInt32Digital, *pvar_dset_devMbboSoft, - *pvar_dset_devMbboSoftRaw, *pvar_dset_devMbboSoftCallback, - *pvar_dset_asynMbboInt32, *pvar_dset_asynMbboUInt32Digital, - *pvar_dset_devMbboDirectSoft, *pvar_dset_devMbboDirectSoftRaw, - *pvar_dset_devMbboDirectSoftCallback, - *pvar_dset_asynMbboDirectUInt32Digital, *pvar_dset_devPrintfSoft, - *pvar_dset_devPrintfSoftCallback, *pvar_dset_devPrintfStdio, - *pvar_dset_asynPfOctetWrite, *pvar_dset_devSiSoft, - *pvar_dset_devSiSoftCallback, *pvar_dset_devTimestampSI, - *pvar_dset_devSiGeneralTime, *pvar_dset_devSiEnviron, - *pvar_dset_devStringinStats, *pvar_dset_devStringinEnvVar, - *pvar_dset_devStringinEpics, *pvar_dset_devSysMonSiStats, - *pvar_dset_asynSiOctetCmdResponse, *pvar_dset_asynSiOctetWriteRead, - *pvar_dset_asynSiOctetRead, *pvar_dset_devSoSoft, - *pvar_dset_devSoSoftCallback, *pvar_dset_devSoStdio, - *pvar_dset_asynSoOctetWrite, *pvar_dset_devSASoft, - *pvar_dset_devWfSoft, *pvar_dset_devWaveformStats, - *pvar_dset_devSysMonWaveStats, *pvar_dset_asynWfOctetCmdResponse, - *pvar_dset_asynWfOctetWriteRead, *pvar_dset_asynWfOctetRead, - *pvar_dset_asynWfOctetWrite, *pvar_dset_asynWfOctetWriteBinary, - *pvar_dset_asynInt8ArrayWfIn, *pvar_dset_asynInt8ArrayWfOut, - *pvar_dset_asynInt16ArrayWfIn, *pvar_dset_asynInt16ArrayWfOut, - *pvar_dset_asynInt32ArrayWfIn, *pvar_dset_asynInt32ArrayWfOut, - *pvar_dset_asynInt32TimeSeries, *pvar_dset_asynFloat32ArrayWfIn, - *pvar_dset_asynFloat32ArrayWfOut, *pvar_dset_asynFloat64ArrayWfIn, - *pvar_dset_asynFloat64ArrayWfOut, *pvar_dset_asynFloat64TimeSeries, - *pvar_dset_asynInt64ArrayWfIn, *pvar_dset_asynInt64ArrayWfOut, - *pvar_dset_asynInt64TimeSeries; - -static const char * const deviceSupportNames[] = { - "devAaiSoft", "devAaoSoft", "devAiSoft", "devAiSoftRaw", - "devAiSoftCallback", "devTimestampAI", "devAiGeneralTime", - "devAiStats", "devAiClusts", "devAiDBCLC", "devAiDBDLC", - "devSysMonAiStats", "asynAiInt32", "asynAiInt32Average", - "asynAiFloat64", "asynAiFloat64Average", "asynAiInt64", "devAoSoft", - "devAoSoftRaw", "devAoSoftCallback", "devAoStats", "asynAoInt32", - "asynAoFloat64", "asynAoInt64", "asynRecordDevice", "devBiSoft", - "devBiSoftRaw", "devBiSoftCallback", "devBiDbState", "asynBiInt32", - "asynBiUInt32Digital", "devBoSoft", "devBoSoftRaw", - "devBoSoftCallback", "devBoGeneralTime", "devBoDbState", - "devBoSimulation", "asynBoInt32", "asynBoUInt32Digital", - "devCalcoutSoft", "devCalcoutSoftCallback", "devEpidSoft", - "devEpidSoftCB", "devEventSoft", "devHistogramSoft", "devI64inSoft", - "devI64inSoftCallback", "asynInt64In", "devI64outSoft", - "devI64outSoftCallback", "asynInt64Out", "devLiSoft", - "devLiSoftCallback", "devLiGeneralTime", "asynLiInt32", - "asynLiUInt32Digital", "asynLiInt64", "devLoSoft", - "devLoSoftCallback", "asynLoInt32", "asynLoUInt32Digital", - "asynLoInt64", "devLsiSoft", "devLsiEnviron", "devLsiStats", - "asynLsiOctetCmdResponse", "asynLsiOctetWriteRead", - "asynLsiOctetRead", "devLsoSoft", "devLsoSoftCallback", "devLsoStdio", - "asynLsoOctetWrite", "devMbbiSoft", "devMbbiSoftRaw", - "devMbbiSoftCallback", "devSysMonMbbiStats", "asynMbbiInt32", - "asynMbbiUInt32Digital", "devMbbiDirectSoft", "devMbbiDirectSoftRaw", - "devMbbiDirectSoftCallback", "devSysMonMbbiDirectStats", - "asynMbbiDirectUInt32Digital", "devMbboSoft", "devMbboSoftRaw", - "devMbboSoftCallback", "asynMbboInt32", "asynMbboUInt32Digital", - "devMbboDirectSoft", "devMbboDirectSoftRaw", - "devMbboDirectSoftCallback", "asynMbboDirectUInt32Digital", - "devPrintfSoft", "devPrintfSoftCallback", "devPrintfStdio", - "asynPfOctetWrite", "devSiSoft", "devSiSoftCallback", - "devTimestampSI", "devSiGeneralTime", "devSiEnviron", - "devStringinStats", "devStringinEnvVar", "devStringinEpics", - "devSysMonSiStats", "asynSiOctetCmdResponse", "asynSiOctetWriteRead", - "asynSiOctetRead", "devSoSoft", "devSoSoftCallback", "devSoStdio", - "asynSoOctetWrite", "devSASoft", "devWfSoft", "devWaveformStats", - "devSysMonWaveStats", "asynWfOctetCmdResponse", - "asynWfOctetWriteRead", "asynWfOctetRead", "asynWfOctetWrite", - "asynWfOctetWriteBinary", "asynInt8ArrayWfIn", "asynInt8ArrayWfOut", - "asynInt16ArrayWfIn", "asynInt16ArrayWfOut", "asynInt32ArrayWfIn", - "asynInt32ArrayWfOut", "asynInt32TimeSeries", "asynFloat32ArrayWfIn", - "asynFloat32ArrayWfOut", "asynFloat64ArrayWfIn", - "asynFloat64ArrayWfOut", "asynFloat64TimeSeries", - "asynInt64ArrayWfIn", "asynInt64ArrayWfOut", "asynInt64TimeSeries" -}; - -static const dset * const devsl[] = { - pvar_dset_devAaiSoft, pvar_dset_devAaoSoft, pvar_dset_devAiSoft, - pvar_dset_devAiSoftRaw, pvar_dset_devAiSoftCallback, - pvar_dset_devTimestampAI, pvar_dset_devAiGeneralTime, - pvar_dset_devAiStats, pvar_dset_devAiClusts, pvar_dset_devAiDBCLC, - pvar_dset_devAiDBDLC, pvar_dset_devSysMonAiStats, - pvar_dset_asynAiInt32, pvar_dset_asynAiInt32Average, - pvar_dset_asynAiFloat64, pvar_dset_asynAiFloat64Average, - pvar_dset_asynAiInt64, pvar_dset_devAoSoft, pvar_dset_devAoSoftRaw, - pvar_dset_devAoSoftCallback, pvar_dset_devAoStats, - pvar_dset_asynAoInt32, pvar_dset_asynAoFloat64, pvar_dset_asynAoInt64, - pvar_dset_asynRecordDevice, pvar_dset_devBiSoft, - pvar_dset_devBiSoftRaw, pvar_dset_devBiSoftCallback, - pvar_dset_devBiDbState, pvar_dset_asynBiInt32, - pvar_dset_asynBiUInt32Digital, pvar_dset_devBoSoft, - pvar_dset_devBoSoftRaw, pvar_dset_devBoSoftCallback, - pvar_dset_devBoGeneralTime, pvar_dset_devBoDbState, - pvar_dset_devBoSimulation, pvar_dset_asynBoInt32, - pvar_dset_asynBoUInt32Digital, pvar_dset_devCalcoutSoft, - pvar_dset_devCalcoutSoftCallback, pvar_dset_devEpidSoft, - pvar_dset_devEpidSoftCB, pvar_dset_devEventSoft, - pvar_dset_devHistogramSoft, pvar_dset_devI64inSoft, - pvar_dset_devI64inSoftCallback, pvar_dset_asynInt64In, - pvar_dset_devI64outSoft, pvar_dset_devI64outSoftCallback, - pvar_dset_asynInt64Out, pvar_dset_devLiSoft, - pvar_dset_devLiSoftCallback, pvar_dset_devLiGeneralTime, - pvar_dset_asynLiInt32, pvar_dset_asynLiUInt32Digital, - pvar_dset_asynLiInt64, pvar_dset_devLoSoft, - pvar_dset_devLoSoftCallback, pvar_dset_asynLoInt32, - pvar_dset_asynLoUInt32Digital, pvar_dset_asynLoInt64, - pvar_dset_devLsiSoft, pvar_dset_devLsiEnviron, pvar_dset_devLsiStats, - pvar_dset_asynLsiOctetCmdResponse, pvar_dset_asynLsiOctetWriteRead, - pvar_dset_asynLsiOctetRead, pvar_dset_devLsoSoft, - pvar_dset_devLsoSoftCallback, pvar_dset_devLsoStdio, - pvar_dset_asynLsoOctetWrite, pvar_dset_devMbbiSoft, - pvar_dset_devMbbiSoftRaw, pvar_dset_devMbbiSoftCallback, - pvar_dset_devSysMonMbbiStats, pvar_dset_asynMbbiInt32, - pvar_dset_asynMbbiUInt32Digital, pvar_dset_devMbbiDirectSoft, - pvar_dset_devMbbiDirectSoftRaw, pvar_dset_devMbbiDirectSoftCallback, - pvar_dset_devSysMonMbbiDirectStats, - pvar_dset_asynMbbiDirectUInt32Digital, pvar_dset_devMbboSoft, - pvar_dset_devMbboSoftRaw, pvar_dset_devMbboSoftCallback, - pvar_dset_asynMbboInt32, pvar_dset_asynMbboUInt32Digital, - pvar_dset_devMbboDirectSoft, pvar_dset_devMbboDirectSoftRaw, - pvar_dset_devMbboDirectSoftCallback, - pvar_dset_asynMbboDirectUInt32Digital, pvar_dset_devPrintfSoft, - pvar_dset_devPrintfSoftCallback, pvar_dset_devPrintfStdio, - pvar_dset_asynPfOctetWrite, pvar_dset_devSiSoft, - pvar_dset_devSiSoftCallback, pvar_dset_devTimestampSI, - pvar_dset_devSiGeneralTime, pvar_dset_devSiEnviron, - pvar_dset_devStringinStats, pvar_dset_devStringinEnvVar, - pvar_dset_devStringinEpics, pvar_dset_devSysMonSiStats, - pvar_dset_asynSiOctetCmdResponse, pvar_dset_asynSiOctetWriteRead, - pvar_dset_asynSiOctetRead, pvar_dset_devSoSoft, - pvar_dset_devSoSoftCallback, pvar_dset_devSoStdio, - pvar_dset_asynSoOctetWrite, pvar_dset_devSASoft, pvar_dset_devWfSoft, - pvar_dset_devWaveformStats, pvar_dset_devSysMonWaveStats, - pvar_dset_asynWfOctetCmdResponse, pvar_dset_asynWfOctetWriteRead, - pvar_dset_asynWfOctetRead, pvar_dset_asynWfOctetWrite, - pvar_dset_asynWfOctetWriteBinary, pvar_dset_asynInt8ArrayWfIn, - pvar_dset_asynInt8ArrayWfOut, pvar_dset_asynInt16ArrayWfIn, - pvar_dset_asynInt16ArrayWfOut, pvar_dset_asynInt32ArrayWfIn, - pvar_dset_asynInt32ArrayWfOut, pvar_dset_asynInt32TimeSeries, - pvar_dset_asynFloat32ArrayWfIn, pvar_dset_asynFloat32ArrayWfOut, - pvar_dset_asynFloat64ArrayWfIn, pvar_dset_asynFloat64ArrayWfOut, - pvar_dset_asynFloat64TimeSeries, pvar_dset_asynInt64ArrayWfIn, - pvar_dset_asynInt64ArrayWfOut, pvar_dset_asynInt64TimeSeries -}; - -epicsShareExtern drvet *pvar_drvet_drvAsyn; - -static const char *driverSupportNames[] = { - "drvAsyn"}; - -static struct drvet *drvsl[] = { - pvar_drvet_drvAsyn}; - -epicsShareExtern jlif *pvar_jlif_lnkCalcIf, *pvar_jlif_lnkConstIf, - *pvar_jlif_lnkDebugIf, *pvar_jlif_lnkStateIf, *pvar_jlif_lnkTraceIf; - -static struct jlif *jlifsl[] = { - pvar_jlif_lnkCalcIf, - pvar_jlif_lnkConstIf, - pvar_jlif_lnkDebugIf, - pvar_jlif_lnkStateIf, - pvar_jlif_lnkTraceIf}; - -typedef void (*reg_func)(void); -epicsShareExtern reg_func pvar_func_arrInitialize, - pvar_func_asInitHooksRegister, pvar_func_asSub, - pvar_func_asynInterposeDelayRegister, - pvar_func_asynInterposeEchoRegister, - pvar_func_asynInterposeEosRegister, - pvar_func_asynInterposeFlushRegister, pvar_func_asynRegister, - pvar_func_configMenuRegistrar, pvar_func_dbndInitialize, - pvar_func_dbrestoreRegister, pvar_func_decInitialize, - pvar_func_drvAsynIPPortRegisterCommands, - pvar_func_drvAsynIPServerPortRegisterCommands, - pvar_func_drvAsynSerialPortRegisterCommands, - pvar_func_drvBlockTCPEventRegister, - pvar_func_drvBlockTCPRedundantPlcRegister, - pvar_func_drvBlockTCPRegister, pvar_func_drvCodacHeaderRegister, - pvar_func_drvCodacRedundantPlcRegister, - pvar_func_iocSetLogInitRegister, pvar_func_iocSetLogLevelRegister, - pvar_func_iocSetLogStdoutRegister, pvar_func_iocSetLogSyslogRegister, - pvar_func_iocSetSimEnableRegister, pvar_func_rsrvRegistrar, - pvar_func_save_restoreRegister, pvar_func_syncInitialize, - pvar_func_tsInitialize, pvar_func_register_func_rebootProc, - pvar_func_register_func_scanMon, pvar_func_register_func_scanMonInit; - -epicsShareExtern int * const pvar_int_CASDEBUG; -epicsShareExtern int * const pvar_int_asCaDebug; -epicsShareExtern int * const pvar_int_atExitDebug; -epicsShareExtern double * const pvar_double_boHIGHlimit; -epicsShareExtern int * const pvar_int_boHIGHprecision; -epicsShareExtern double * const pvar_double_calcoutODLYlimit; -epicsShareExtern int * const pvar_int_calcoutODLYprecision; -epicsShareExtern int * const pvar_int_callbackParallelThreadsDefault; -epicsShareExtern int * const pvar_int_configMenuDebug; -epicsShareExtern int * const pvar_int_dbAccessDebugPUTF; -epicsShareExtern int * const pvar_int_dbBptNotMonotonic; -epicsShareExtern int * const pvar_int_dbConvertStrict; -epicsShareExtern int * const pvar_int_dbJLinkDebug; -epicsShareExtern int * const pvar_int_dbQuietMacroWarnings; -epicsShareExtern int * const pvar_int_dbRecordsAbcSorted; -epicsShareExtern int * const pvar_int_dbRecordsOnceOnly; -epicsShareExtern int * const pvar_int_dbTemplateMaxVars; -epicsShareExtern int * const pvar_int_dbThreadRealtimeLock; -epicsShareExtern int * const pvar_int_histogramSDELprecision; -epicsShareExtern int * const pvar_int_lnkDebug_debug; -epicsShareExtern int * const pvar_int_logClientDebug; -epicsShareExtern int * const pvar_int_save_restoreDatedBackupFiles; -epicsShareExtern int * const pvar_int_save_restoreDebug; -epicsShareExtern int * const pvar_int_save_restoreIncompleteSetsOk; -epicsShareExtern int * const pvar_int_save_restoreNumSeqFiles; -epicsShareExtern int * const pvar_int_save_restoreRemountThreshold; -epicsShareExtern int * const pvar_int_save_restoreSeqPeriodInSeconds; -epicsShareExtern double * const pvar_double_seqDLYlimit; -epicsShareExtern int * const pvar_int_seqDLYprecision; - -static struct iocshVarDef vardefs[] = { - {"CASDEBUG", iocshArgInt, pvar_int_CASDEBUG}, - {"asCaDebug", iocshArgInt, pvar_int_asCaDebug}, - {"atExitDebug", iocshArgInt, pvar_int_atExitDebug}, - {"boHIGHlimit", iocshArgDouble, pvar_double_boHIGHlimit}, - {"boHIGHprecision", iocshArgInt, pvar_int_boHIGHprecision}, - {"calcoutODLYlimit", iocshArgDouble, pvar_double_calcoutODLYlimit}, - {"calcoutODLYprecision", iocshArgInt, pvar_int_calcoutODLYprecision}, - {"callbackParallelThreadsDefault", iocshArgInt, pvar_int_callbackParallelThreadsDefault}, - {"configMenuDebug", iocshArgInt, pvar_int_configMenuDebug}, - {"dbAccessDebugPUTF", iocshArgInt, pvar_int_dbAccessDebugPUTF}, - {"dbBptNotMonotonic", iocshArgInt, pvar_int_dbBptNotMonotonic}, - {"dbConvertStrict", iocshArgInt, pvar_int_dbConvertStrict}, - {"dbJLinkDebug", iocshArgInt, pvar_int_dbJLinkDebug}, - {"dbQuietMacroWarnings", iocshArgInt, pvar_int_dbQuietMacroWarnings}, - {"dbRecordsAbcSorted", iocshArgInt, pvar_int_dbRecordsAbcSorted}, - {"dbRecordsOnceOnly", iocshArgInt, pvar_int_dbRecordsOnceOnly}, - {"dbTemplateMaxVars", iocshArgInt, pvar_int_dbTemplateMaxVars}, - {"dbThreadRealtimeLock", iocshArgInt, pvar_int_dbThreadRealtimeLock}, - {"histogramSDELprecision", iocshArgInt, pvar_int_histogramSDELprecision}, - {"lnkDebug_debug", iocshArgInt, pvar_int_lnkDebug_debug}, - {"logClientDebug", iocshArgInt, pvar_int_logClientDebug}, - {"save_restoreDatedBackupFiles", iocshArgInt, pvar_int_save_restoreDatedBackupFiles}, - {"save_restoreDebug", iocshArgInt, pvar_int_save_restoreDebug}, - {"save_restoreIncompleteSetsOk", iocshArgInt, pvar_int_save_restoreIncompleteSetsOk}, - {"save_restoreNumSeqFiles", iocshArgInt, pvar_int_save_restoreNumSeqFiles}, - {"save_restoreRemountThreshold", iocshArgInt, pvar_int_save_restoreRemountThreshold}, - {"save_restoreSeqPeriodInSeconds", iocshArgInt, pvar_int_save_restoreSeqPeriodInSeconds}, - {"seqDLYlimit", iocshArgDouble, pvar_double_seqDLYlimit}, - {"seqDLYprecision", iocshArgInt, pvar_int_seqDLYprecision}, - {NULL, iocshArgInt, NULL} -}; - -int CUB_registerRecordDeviceDriver(DBBASE *pbase) -{ - static int executed = 0; - if (!pbase) { - printf("pdbbase is NULL; you must load a DBD file first.\n"); - return -1; - } - - if (executed) { - printf("Warning: Registration already done.\n"); - } - executed = 1; - - registerRecordTypes(pbase, NELEMENTS(rtl), recordTypeNames, rtl); - registerDevices(pbase, NELEMENTS(devsl), deviceSupportNames, devsl); - registerDrivers(pbase, NELEMENTS(drvsl), driverSupportNames, drvsl); - registerJLinks(pbase, NELEMENTS(jlifsl), jlifsl); - pvar_func_arrInitialize(); - pvar_func_asInitHooksRegister(); - pvar_func_asSub(); - pvar_func_asynInterposeDelayRegister(); - pvar_func_asynInterposeEchoRegister(); - pvar_func_asynInterposeEosRegister(); - pvar_func_asynInterposeFlushRegister(); - pvar_func_asynRegister(); - pvar_func_configMenuRegistrar(); - pvar_func_dbndInitialize(); - pvar_func_dbrestoreRegister(); - pvar_func_decInitialize(); - pvar_func_drvAsynIPPortRegisterCommands(); - pvar_func_drvAsynIPServerPortRegisterCommands(); - pvar_func_drvAsynSerialPortRegisterCommands(); - pvar_func_drvBlockTCPEventRegister(); - pvar_func_drvBlockTCPRedundantPlcRegister(); - pvar_func_drvBlockTCPRegister(); - pvar_func_drvCodacHeaderRegister(); - pvar_func_drvCodacRedundantPlcRegister(); - pvar_func_iocSetLogInitRegister(); - pvar_func_iocSetLogLevelRegister(); - pvar_func_iocSetLogStdoutRegister(); - pvar_func_iocSetLogSyslogRegister(); - pvar_func_iocSetSimEnableRegister(); - pvar_func_rsrvRegistrar(); - pvar_func_save_restoreRegister(); - pvar_func_syncInitialize(); - pvar_func_tsInitialize(); - pvar_func_register_func_rebootProc(); - pvar_func_register_func_scanMon(); - pvar_func_register_func_scanMonInit(); - iocshRegisterVariable(vardefs); - return 0; -} - -/* CUB_registerRecordDeviceDriver */ -static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase}; -static const iocshArg *rrddArgs[] = {&rrddArg0}; -static const iocshFuncDef rrddFuncDef = - {"CUB_registerRecordDeviceDriver", 1, rrddArgs}; -static void rrddCallFunc(const iocshArgBuf *) -{ - iocshSetError(CUB_registerRecordDeviceDriver(*iocshPpdbbase)); -} - -} // extern "C" - -/* - * Register commands on application startup - */ -static int Registration() { - iocshRegisterCommon(); - iocshRegister(&rrddFuncDef, rrddCallFunc); - return 0; -} - -static int done EPICS_UNUSED = Registration(); diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB_registerRecordDeviceDriver.d b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB_registerRecordDeviceDriver.d deleted file mode 100644 index 70a149b..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB_registerRecordDeviceDriver.d +++ /dev/null @@ -1,26 +0,0 @@ -CUB_registerRecordDeviceDriver.o: CUB_registerRecordDeviceDriver.cpp \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/compiler/gcc/compilerSpecific.h \ - /opt/codac-6.3/epics/include/epicsStdlib.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/os/Linux/osdStrtod.h \ - /opt/codac-6.3/epics/include/epicsTypes.h \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/errMdef.h \ - /opt/codac-6.3/epics/include/iocsh.h \ - /opt/codac-6.3/epics/include/iocshRegisterCommon.h \ - /opt/codac-6.3/epics/include/shareLib.h \ - /opt/codac-6.3/epics/include/registryCommon.h \ - /opt/codac-6.3/epics/include/dbStaticLib.h \ - /opt/codac-6.3/epics/include/dbFldTypes.h \ - /opt/codac-6.3/epics/include/dbBase.h \ - /opt/codac-6.3/epics/include/ellLib.h \ - /opt/codac-6.3/epics/include/dbDefs.h \ - /opt/codac-6.3/epics/include/recSup.h \ - /opt/codac-6.3/epics/include/devSup.h \ - /opt/codac-6.3/epics/include/link.h \ - /opt/codac-6.3/epics/include/cantProceed.h \ - /opt/codac-6.3/epics/include/dbJLink.h \ - /opt/codac-6.3/epics/include/dbCoreAPI.h \ - /opt/codac-6.3/epics/include/registryRecordType.h \ - /opt/codac-6.3/epics/include/recSup.h diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB_registerRecordDeviceDriver.o b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB_registerRecordDeviceDriver.o deleted file mode 100644 index 99a4454..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/CUB_registerRecordDeviceDriver.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/Makefile b/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/Makefile deleted file mode 100644 index 757ce21..0000000 --- a/EC-GN-JA-PCF/target/main/epics/CUBApp/src/O.linux-x86_64/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -#This Makefile created by makeMakefile.pl - - -all : - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -.DEFAULT: force - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -force: ; diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/Makefile b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/Makefile deleted file mode 100755 index a526c7e..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) into /db -# databases, templates, substitutions like this -DB += PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db -DB += PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db - - -# Automagically install .proto files -DB += $(notdir $(wildcard ../*.proto)) - -#---------------------------------------------------- -# If .db template is not named *.template add -# _template = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/O.linux-x86_64/Makefile b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/O.linux-x86_64/Makefile deleted file mode 100644 index 757ce21..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/O.linux-x86_64/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -#This Makefile created by makeMakefile.pl - - -all : - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -.DEFAULT: force - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -force: ; diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 9d7c2e6..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,1712 +0,0 @@ -record (bo,"EC-GN-HWCF:6259-0-ACQ") -{ - field(DESC, "Start/Stop data acquisition") - field(DTYP, "ni6259") - field(ONAM, "START-ACQUISITION") - field(OUT, "#C1 S0 @switch_acquisition") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "STOP-ACQUISITION") -} - -record (bo,"EC-GN-HWCF:6259-0-CONF") -{ - field(DESC, "Load/reset analog input configuration") - field(DTYP, "ni6259") - field(ONAM, "LOAD-CONF") - field(OUT, "#C1 S0 @ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "RESET-CONF") -} - -record (bo,"EC-GN-HWCF:6259-0-MODE") -{ - field(DESC, "continuous or finite mode") - field(DTYP, "ni6259") - field(ONAM, "CONTINUOUS") - field(OUT, "#C1 S0 @daq_mode") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "FINITE") -} - -record (bo,"EC-GN-HWCF:6259-1-ACQ") -{ - field(DESC, "Start/Stop data acquisition") - field(DTYP, "ni6259") - field(ONAM, "START-ACQUISITION") - field(OUT, "#C0 S0 @switch_acquisition") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "STOP-ACQUISITION") -} - -record (bo,"EC-GN-HWCF:6259-1-CONF") -{ - field(DESC, "Load/reset analog input configuration") - field(DTYP, "ni6259") - field(ONAM, "LOAD-CONF") - field(OUT, "#C0 S0 @ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "RESET-CONF") -} - -record (bo,"EC-GN-HWCF:6259-1-MODE") -{ - field(DESC, "continuous or finite mode") - field(DTYP, "ni6259") - field(ONAM, "CONTINUOUS") - field(OUT, "#C0 S0 @daq_mode") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "FINITE") -} - -record (bo,"EC-GN-HWCF:6368-0-AISTSP") -{ - field(DESC, "Start/Stop AI Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_1, 0) start_stop_ai") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-0-AOSTSP") -{ - field(DESC, "Start/Stop AO Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_1, 0) start_stop_ao") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-0-LDAICF") -{ - field(DESC, "Load/Reset AI Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_1, 0) ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-0-LDAOCF") -{ - field(DESC, "Load/Reset AO Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_1, 0) ao_conf") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-1-AISTSP") -{ - field(DESC, "Start/Stop AI Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_0, 0) start_stop_ai") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-1-AOSTSP") -{ - field(DESC, "Start/Stop AO Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_0, 0) start_stop_ao") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-1-LDAICF") -{ - field(DESC, "Load/Reset AI Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_0, 0) ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-1-LDAOCF") -{ - field(DESC, "Load/Reset AO Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_0, 0) ao_conf") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bi,"EC-GN-HWCF:6683-0-BLKTMO") -{ - field(DESC, "Block until Finished...") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0) waitForTimeOver") - field(SCAN, "I/O Intr") -} - -record (bo,"EC-GN-HWCF:6683-0-FTEAALL") -{ - field(DESC, "Abort all pending FTEs") - field(DTYP, "asynInt32") - field(ONAM, "1") - field(OUT, "@asyn(ni6683h_0,0)abortAllFtes") - field(VAL, "0") - field(ZNAM, "0") -} - -record (bo,"EC-GN-HWCF:6683-0-RESET") -{ - field(DESC, "Reset Board") - field(DTYP, "asynInt32") - field(ONAM, "1") - field(OUT, "@asyn(ni6683h_0,0)resetCard") - field(VAL, "0") - field(ZNAM, "0") -} - -record (bi,"EC-GN-HWCF:6683-0-TAIUTC") -{ - field(DESC, "PXI-6683.0 TAI/UTC Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)taiutcStatus") - field(ONAM, "TAI") - field(OSV, "MINOR") - field(PINI, "YES") - field(SCAN, "10 second") - field(ZNAM, "UTC") - field(ZSV, "NO_ALARM") -} - -record (stringin,"EC-GN-HWCF:6259-0-DMSG") -{ - field(DESC, "Driver Debug Message") - field(DTYP, "ni6259") - field(INP, "#C1 S0 @dsg") - field(SCAN, "1 second") -} - -record (longout,"EC-GN-HWCF:6259-0-NS") -{ - field(DESC, "number of samples to read") - field(DRVH, "32000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HIGH, "32001") - field(HOPR, "32000") - field(HSV, "MAJOR") - field(LOPR, "0") - field(LOW, "0") - field(LSV, "MAJOR") - field(OUT, "#C1 S0 @num_samples") - field(PINI, "YES") - field(VAL, "5000") -} - -record (longout,"EC-GN-HWCF:6259-0-POST") -{ - field(DESC, "Posttrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C1 S0 @posttrig_samples") - field(PINI, "YES") - field(VAL, "4000") -} - -record (longout,"EC-GN-HWCF:6259-0-PRET") -{ - field(DESC, "Pretrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C1 S0 @pretrig_samples") - field(PINI, "YES") - field(VAL, "2000") -} - -record (calcout,"EC-GN-HWCF:6259-0-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6259-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-0-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6259-0-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6259-0-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6259-0-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6259-0-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6259-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-0-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6259-0-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "#C1 S0 @sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6259-0-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6259-0-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6259-0-SR") -{ - field(DESC, "ADC Sampling Rate") - field(DTYP, "ni6259") - field(EGU, "Hz") - field(HIGH, "1000001") - field(HSV, "MAJOR") - field(OUT, "#C1 S0 @sample_rate") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (mbbi,"EC-GN-HWCF:6259-0-STATUS") -{ - field(DESC, "PXI-6259.0 Board Status") - field(DTYP, "ni6259") - field(EIST, "ADC Overrun") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "Reserved1") - field(ELSV, "INVALID") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved4") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "#C1 S0 @BoardStatus") - field(NIST, "DAC Overrun") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AI_FIFO Overflow") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Reserved0") - field(TESV, "INVALID") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved3") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved2") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (stringin,"EC-GN-HWCF:6259-1-DMSG") -{ - field(DESC, "Driver Debug Message") - field(DTYP, "ni6259") - field(INP, "#C0 S0 @dsg") - field(SCAN, "1 second") -} - -record (longout,"EC-GN-HWCF:6259-1-NS") -{ - field(DESC, "number of samples to read") - field(DRVH, "32000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HIGH, "32001") - field(HOPR, "32000") - field(HSV, "MAJOR") - field(LOPR, "0") - field(LOW, "0") - field(LSV, "MAJOR") - field(OUT, "#C0 S0 @num_samples") - field(PINI, "YES") - field(VAL, "5000") -} - -record (longout,"EC-GN-HWCF:6259-1-POST") -{ - field(DESC, "Posttrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C0 S0 @posttrig_samples") - field(PINI, "YES") - field(VAL, "4000") -} - -record (longout,"EC-GN-HWCF:6259-1-PRET") -{ - field(DESC, "Pretrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C0 S0 @pretrig_samples") - field(PINI, "YES") - field(VAL, "2000") -} - -record (calcout,"EC-GN-HWCF:6259-1-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6259-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-1-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6259-1-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6259-1-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6259-1-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6259-1-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6259-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-1-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6259-1-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "#C0 S0 @sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6259-1-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6259-1-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6259-1-SR") -{ - field(DESC, "ADC Sampling Rate") - field(DTYP, "ni6259") - field(EGU, "Hz") - field(HIGH, "1000001") - field(HSV, "MAJOR") - field(OUT, "#C0 S0 @sample_rate") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (mbbi,"EC-GN-HWCF:6259-1-STATUS") -{ - field(DESC, "PXI-6259.1 Board Status") - field(DTYP, "ni6259") - field(EIST, "ADC Overrun") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "Reserved1") - field(ELSV, "INVALID") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved4") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "#C0 S0 @BoardStatus") - field(NIST, "DAC Overrun") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AI_FIFO Overflow") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Reserved0") - field(TESV, "INVALID") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved3") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved2") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-AIPU") -{ - field(DESC, "Software Pulse") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_1, 0) pulse_ai") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-0-AISMPL") -{ - field(DESC, "No of AI sample to be acquire in Block") - field(DRVH, "32000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "32000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_1, 0) no_of_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-0-AISR") -{ - field(DESC, "AI Sampling Rate") - field(DRVH, "2000000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "2000000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_1, 0) sampling_rate_ai") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (longout,"EC-GN-HWCF:6368-0-AITB") -{ - field(DESC, "AI Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) timebase_ai") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-AOPU") -{ - field(DESC, "AO Pulse Source") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_1, 0) pulse_ao") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-0-AOTB") -{ - field(DESC, "AO Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) timebase_ao") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-CHAIMO") -{ - field(DESC, "Change AI Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_1, 0) ai_mode") - field(PINI, "YES") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (mbbo,"EC-GN-HWCF:6368-0-CHAOMO") -{ - field(DESC, "Change AO Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_1, 0) ao_mode") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (longout,"EC-GN-HWCF:6368-0-POST") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) posttrig_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-0-PRET") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) pretrig_samples") - field(PINI, "YES") - field(VAL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-0-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6368-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-0-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6368-0-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6368-0-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-0-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6368-0-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6368-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-0-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6368-0-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0)sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6368-0-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6368-0-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6368-0-STATUS") -{ - field(DESC, "PXIe-6368.0 Board Status") - field(DTYP, "asynInt32") - field(EIST, "DIHW_Error") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "GPCHW_Error") - field(ELSV, "MAJOR") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved2") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6368_1, 0) board_status") - field(NIST, "AOHW_Error") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AIHW_Error") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "DOHW_Error") - field(TESV, "MAJOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved1") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved0") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-AIPU") -{ - field(DESC, "Software Pulse") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_0, 0) pulse_ai") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-1-AISMPL") -{ - field(DESC, "No of AI sample to be acquire in Block") - field(DRVH, "32000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "32000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_0, 0) no_of_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-1-AISR") -{ - field(DESC, "AI Sampling Rate") - field(DRVH, "2000000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "2000000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_0, 0) sampling_rate_ai") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (longout,"EC-GN-HWCF:6368-1-AITB") -{ - field(DESC, "AI Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) timebase_ai") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-AOPU") -{ - field(DESC, "AO Pulse Source") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_0, 0) pulse_ao") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-1-AOTB") -{ - field(DESC, "AO Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) timebase_ao") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-CHAIMO") -{ - field(DESC, "Change AI Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_0, 0) ai_mode") - field(PINI, "YES") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (mbbo,"EC-GN-HWCF:6368-1-CHAOMO") -{ - field(DESC, "Change AO Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_0, 0) ao_mode") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (longout,"EC-GN-HWCF:6368-1-POST") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) posttrig_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-1-PRET") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) pretrig_samples") - field(PINI, "YES") - field(VAL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-1-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6368-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-1-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6368-1-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6368-1-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-1-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6368-1-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6368-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-1-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6368-1-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0)sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6368-1-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6368-1-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6368-1-STATUS") -{ - field(DESC, "PXIe-6368.1 Board Status") - field(DTYP, "asynInt32") - field(EIST, "DIHW_Error") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "GPCHW_Error") - field(ELSV, "MAJOR") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved2") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6368_0, 0) board_status") - field(NIST, "AOHW_Error") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AIHW_Error") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "DOHW_Error") - field(TESV, "MAJOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved1") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved0") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-FILTINT") -{ - field(DESC, "Set Filter Interval Value") - field(DRVH, "209715200") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "209715200") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setfilterinterval") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP3") -{ - field(DESC, "Power-UP state of Port3") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,3, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP4") -{ - field(DESC, "Power-UP state of Port4") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,4, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP5") -{ - field(DESC, "Power-UP state of Port5") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,5, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIINPROUT") -{ - field(DESC, "Set RTSI Input Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsiinputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIOUTROUT") -{ - field(DESC, "Set RTSI Output Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsioutputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIPCHANGE") -{ - field(DESC, "Set RTSI Pulse on Change") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsipulseonchange") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIPWDG") -{ - field(DESC, "Set RTSI pulse on watchdog") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsipulseonwatchdog") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIWDGTRIG") -{ - field(DESC, "Set RTSI on Watchdog Trigger") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsiwatchdogtrigger") - field(VAL, "0") -} - -record (mbbi,"EC-GN-HWCF:6528-0-STATUS") -{ - field(DESC, "PXI-6528.0 Board Status") - field(DTYP, "asynInt32") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6528_1,1) board_status") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ao,"EC-GN-HWCF:6528-0-WDGTOUT") -{ - field(DESC, "Set Watchdog TimeOut") - field(DRVH, "429496729580") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(HOPR, "429496729580") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setwatchdogtimeout") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-FILTINT") -{ - field(DESC, "Set Filter Interval Value") - field(DRVH, "209715200") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "209715200") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setfilterinterval") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP3") -{ - field(DESC, "Power-UP state of Port3") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,3, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP4") -{ - field(DESC, "Power-UP state of Port4") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,4, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP5") -{ - field(DESC, "Power-UP state of Port5") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,5, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIINPROUT") -{ - field(DESC, "Set RTSI Input Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsiinputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIOUTROUT") -{ - field(DESC, "Set RTSI Output Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsioutputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIPCHANGE") -{ - field(DESC, "Set RTSI Pulse on Change") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsipulseonchange") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIPWDG") -{ - field(DESC, "Set RTSI pulse on watchdog") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsipulseonwatchdog") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIWDGTRIG") -{ - field(DESC, "Set RTSI on Watchdog Trigger") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsiwatchdogtrigger") - field(VAL, "0") -} - -record (mbbi,"EC-GN-HWCF:6528-1-STATUS") -{ - field(DESC, "PXI-6528.1 Board Status") - field(DTYP, "asynInt32") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6528_0,0) board_status") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ao,"EC-GN-HWCF:6528-1-WDGTOUT") -{ - field(DESC, "Set Watchdog TimeOut") - field(DRVH, "429496729580") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(HOPR, "429496729580") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setwatchdogtimeout") - field(VAL, "0") -} - -record (waveform,"EC-GN-HWCF:6683-0-BDTM") -{ - field(DESC, "Board time") - field(DTYP, "asynInt32ArrayIn") - field(FTVL, "ULONG") - field(INP, "@asyn(ni6683h_0,0) getTime") - field(NELM, "2") - field(SCAN, ".1 second") -} - -record (subArray,"EC-GN-HWCF:6683-0-BDTMN") -{ - field(DESC, "Board time [ns]") - field(EGU, "ns") - field(FTVL, "ULONG") - field(INP, "EC-GN-HWCF:6683-0-BDTM CP MS") -} - -record (subArray,"EC-GN-HWCF:6683-0-BDTMS") -{ - field(DESC, "Board time [s]") - field(EGU, "s") - field(FTVL, "ULONG") - field(INP, "EC-GN-HWCF:6683-0-BDTM CP MS") -} - -record (waveform,"EC-GN-HWCF:6683-0-BLKTM") -{ - field(DESC, "Block until...") - field(DTYP, "asynInt32ArrayOut") - field(FTVL, "LONG") - field(HOPR, "4503599627370496") - field(INP, "@asyn(ni6683h_0,0) waitForTime") - field(LOPR, "0") - field(NELM, "2") -} - -record (stringin,"EC-GN-HWCF:6683-0-DEVNAME") -{ - field(DESC, "Device name") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) deviceName") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (stringin,"EC-GN-HWCF:6683-0-DRIVER") -{ - field(DESC, "Driver version") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) driverVersion") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-FTEMAX") -{ - field(DESC, "Max number of scheduled FTEs") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)maxScheduledFtes") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-FTENUM") -{ - field(DESC, "Number of pending FTEs") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)numPendingFtes") - field(SCAN, "5 second") -} - -record (stringin,"EC-GN-HWCF:6683-0-HBDTM") -{ - field(DESC, "Board Time") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) getTime") - field(PINI, "YES") - field(SCAN, ".1 second") -} - -record (longin,"EC-GN-HWCF:6683-0-LVL_ERRS") -{ - field(DESC, "Check number of FTE level errors") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)checkFteLevels") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-SERIAL") -{ - field(DESC, "Device serial number") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)deviceSerialNumber") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (mbbi,"EC-GN-HWCF:6683-0-STATUS") -{ - field(DESC, "PXI-6683.0 Device status") - field(DTYP, "asynInt32") - field(EIST, "FIFO overflow") - field(EISV, "MINOR") - field(EIVL, "8") - field(ELST, "Buffer overflow") - field(ELSV, "MINOR") - field(ELVL, "11") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6683h_0,0)deviceStatus") - field(NIST, "FPGA not ready") - field(NISV, "MINOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "5 second") - field(SVST, "Reserved") - field(SVSV, "INVALID") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Ref clk no lock") - field(TESV, "MINOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6683-0-SYNC") -{ - field(DESC, "PXI-6683.0 Synchronization status") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)syncStatus") - field(ONST, "SYNCING") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(THST, "LOST_SYNC") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "SYNCED") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "NOT_SYNCED") - field(ZRSV, "MAJOR") - field(ZRVL, "0") -} - -record (longin,"EC-GN-HWCF:6683-0-SYNCLOST") -{ - field(DESC, "Seconds since lost synchronization") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)secsSinceSync") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index c812fc7..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,310 +0,0 @@ -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB") -{ - field(DESC, "GY1 CCPS Output ON status") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getOut CCPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP") -{ - field(DESC, "GY1 CCPS Output ON") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setOut CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB") -{ - field(DESC, "GY1 CCPS remote readback") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getRem CCPS1") - field(ONAM, "REM") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP") -{ - field(DESC, "GY1 CCPS remote control on") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PWX1500ML.proto setRem CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-RST") -{ - field(DESC, "GY1 CCPS reset device") - field(DTYP, "stream") - field(OUT, "@PWX1500ML.proto resetDevice CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB") -{ - field(DESC, "GY1 CCPS signal source on") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getSourceON CCPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP") -{ - field(DESC, "GY1 CCPS signal source on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setSourceON CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-STAT") -{ - field(DESC, "CCPS1 is running") - field(ONAM, "ON") - field(SCAN, "Passive") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-TR") -{ - field(DESC, "GY1 CCPS in Operation") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 CCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:STAT-SIMM") -{ - field(DESC, "GY1 CCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB") -{ - field(DESC, "GY1 CCPS Output current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "60.0") - field(INP, "@PWX1500ML.proto getCurr CCPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP") -{ - field(DESC, "GY1 CCPS Output current setpoint") - field(DRVH, "58.8") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setCurr CCPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB") -{ - field(DESC, "GY1 CCPS DCV range readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PWX1500ML.proto getVolt CCPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP") -{ - field(DESC, "GY1 CCPS Output DCV setpoint") - field(DRVH, "84") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "84") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setVolt CCPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-EREF") -{ - field(DESC, "GY1 CCPS voltage setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP") -{ - field(DESC, "GY1 CCPS voltage manual setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GAF-CCPS:PSU2320-ERROR") -{ - field(DESC, "GY1 CCPS Error message") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getError CCPS1") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (stringin,"EC-GN-P01-GAF-CCPS:PSU2320-IDN") -{ - field(DESC, "GY1 CCPS IDN") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto readDeviceID CCPS1") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI") -{ - field(DESC, "GY1 CCPS Measued DC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(INP, "@PWX1500ML.proto getMeasDCI CCPS1") - field(LOPR, "-58.8") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV") -{ - field(DESC, "GY1 CCPS Measued DC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "200") - field(INP, "@PWX1500ML.proto getMeasDCV CCPS1") - field(LOPR, "-200") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-AMP") -{ - field(DESC, "Amplitude") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "3.5") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-FREQ") -{ - field(DESC, "Frequency") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-OFFS") -{ - field(DESC, "Offset") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GAF-CCPS:STAT-OP-CALC") -{ - field(CALC, "(A==1 || B==1 || C==1)?1:0; C:=B; B:=A") - field(DESC, "GYA CCPS operation check") - field(FLNK, "EC-GN-P01-GAF-CCPS:PSU2320-TR") - field(INPA, "EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF") - field(INPB, "0") - field(INPC, "0") - field(OUT, "EC-GN-P01-GAF-CCPS:PSU2320-TR") - field(SCAN, "Passive") -} - -record (calc,"EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF") -{ - field(CALC, "(A==1 andand ABS(B-C)>0.1)?1:0; C:=B") - field(DESC, "GYA CCPS operation check") - field(FLNK, "EC-GN-P01-GAF-CCPS:STAT-OP-CALC") - field(INPA, "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB") - field(INPB, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV PP") - field(SCAN, ".1 second") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 6aee723..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,424 +0,0 @@ -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START") -{ - field(DESC, "Auto rampup start command") - field(HIGH, "0.1") - field(ONAM, "Start") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-LOC") -{ - field(DESC, "Local control ON") - field(DTYP, "stream") - field(ONAM, "LOC") - field(OUT, "@PCR500LE.proto setLoc FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB") -{ - field(DESC, "Output ON readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getOut FHPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP") -{ - field(DESC, "Output ON command") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PCR500LE.proto setOut FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-REM") -{ - field(DESC, "Remote control on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setRem FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-RST") -{ - field(DESC, "Reset command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto resetDevice FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB") -{ - field(DESC, "External control readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getSourceON FHPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP") -{ - field(DESC, "External control ON command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setSourceON FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP") -{ - field(DESC, "GY1 FHPS rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 FHPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:STAT-SIMM") -{ - field(DESC, "GY1 FHPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB") -{ - field(DESC, "Output Voltage readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getVolt FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP") -{ - field(DESC, "Output voltage setpoint") - field(DRVH, "300") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setVolt FHPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME") -{ - field(DESC, "Auto rampup time") - field(DRVH, "100000") - field(DRVL, "10") - field(EGU, "sec") - field(HOPR, "100000") - field(LOPR, "10") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "30") -} - -record (mbbo,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT") -{ - field(DESC, "Auto rampup status") - field(ONST, "IN OPERATION") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(THST, "ERROR") - field(THVL, "3") - field(TWST, "FINISH") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "NOT IN OPERATION") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV") -{ - field(DESC, "Auto rampup target voltage") - field(DRVH, "60") - field(DRVL, "0.0") - field(EGU, "V") - field(HOPR, "60.0") - field(LOPR, "0.0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "5") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB") -{ - field(DESC, "Output Current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5") - field(INP, "@PCR500LE.proto getCurr FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP") -{ - field(DESC, "Output current setpoint") - field(DRVH, "5.0") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setCurr FHPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-EREF") -{ - field(DESC, "GY1 FHPS voltage setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP") -{ - field(DESC, "GY1 FHPS voltage manual setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GAF-FHPS:PSU2610-ERROR") -{ - field(DESC, "Error code") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getError FHPS1") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB") -{ - field(DESC, "Output frequency readback") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getFreq FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP") -{ - field(DESC, "Output frequency setpoint") - field(DRVH, "999.9") - field(DRVL, "1") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setFreq FHPS1") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (stringin,"EC-GN-P01-GAF-FHPS:PSU2610-IDN") -{ - field(DESC, "IDN") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto readDeviceID FHPS1") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI") -{ - field(DESC, "Measued AC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(INP, "@PCR500LE.proto getMeasACI FHPS1") - field(LOPR, "-5.0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP") -{ - field(DESC, "Measued AC Power") - field(DTYP, "stream") - field(EGU, "W") - field(HOPR, "500") - field(INP, "@PCR500LE.proto getMeasACP FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV") -{ - field(DESC, "Measued AC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getMeasACV FHPS1") - field(LOPR, "-300") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ") -{ - field(DESC, "Measued Frequency") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getMeasACF FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET") -{ - field(CALC, "A==1?0:1") - field(DESC, "GYA FHPS rampup comp off") - field(INPA, "EC-GN-P01-GAF:STAT-SM") - field(OOPT, "Transition To Zero") - field(OUT, "EC-GN-P01-GAF-FHPS:STAT-MANM PP") - field(SCAN, "1 second") -} - -record (waveform,"EC-GN-P01-GAF-FHPS:STAT-PREP-WF") -{ - field(DESC, "GY1 FHPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC") -{ - field(CALC, "A==2?1:0") - field(DESC, "GYA FHPS rampup comp check") - field(INPA, "EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(ABS(A-B)<0.1*B)?2:((C > D)?1:0);D:=C") - field(DESC, "GYA FHPS rampup stat check") - field(FLNK, "EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC") - field(INPA, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV") - field(INPB, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV") - field(INPC, "EC-GN-P01-GAF-FHPS:PSU2610-EREF") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYA FHPS rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 34f5d19..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,273 +0,0 @@ -record (bo,"EC-GN-P01-GAF-GCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 GCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-GCPS:STAT-SIMM") -{ - field(DESC, "GY1 GCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") -{ - field(DESC, "GY1 GCPS read ACT") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity GC1") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP") -{ - field(DESC, "GY1 GCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity GC1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI") -{ - field(DESC, "GY1 GCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO") -{ - field(DESC, "GY1 GCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON") -{ - field(DESC, "GY1 GCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent GC1") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GAF-GCPS:PSU2130-ERR") -{ - field(DESC, "GY1 GCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat GC1") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM") -{ - field(DESC, "GY1 GCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim GC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB") -{ - field(DESC, "GY1 GCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep GC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB") -{ - field(DESC, "GY1 GCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent GC1") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET") -{ - field(DESC, "GY1 GCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent GC1") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI") -{ - field(DESC, "GY1 GCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO") -{ - field(DESC, "GY1 GCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET") -{ - field(DESC, "GY1 GCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep GC1") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON") -{ - field(DESC, "GY1 GCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage GC1") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#1 state set by Marte") - field(INPA, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GAF-GCPS:STAT-PREP-WF") -{ - field(DESC, "GY1 GCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#1 current set by Marte") - field(INPA, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index ed398a9..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,331 +0,0 @@ -record (bo,"EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") -{ - field(DESC, "SCM rampdown comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") -{ - field(DESC, "GY1 SCM rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 MCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:STAT-SIMM") -{ - field(DESC, "GY1 MCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") -{ - field(DESC, "GY1 MCPS read ACT") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity MC1") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP") -{ - field(DESC, "GY1 MCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity MC1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI") -{ - field(DESC, "GY1 MCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO") -{ - field(DESC, "GY1 MCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON") -{ - field(DESC, "GY1 MCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent MC1") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GAF-MCPS:PSU2120-ERR") -{ - field(DESC, "GY1 MCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat MC1") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM") -{ - field(DESC, "GY1 MCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim MC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB") -{ - field(DESC, "GY1 MCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep MC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB") -{ - field(DESC, "GY1 MCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent MC1") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET") -{ - field(DESC, "GY1 MCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent MC1") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI") -{ - field(DESC, "GY1 MCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO") -{ - field(DESC, "GY1 MCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET") -{ - field(DESC, "GY1 MCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep MC1") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(VAL, "1.69") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON") -{ - field(DESC, "GY1 MCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage MC1") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#1 state set by Marte") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GAF-MCPS:STAT-PREP-WF") -{ - field(DESC, "GY1 MCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP") -{ - field(CALC, "(A==4 andand B==4 and C==4 andand D==4)?1:0") - field(DESC, "SMCPS ramp down check") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") - field(INPC, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") - field(INPD, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(A==3 andand B==3)?1:0") - field(DESC, "GYA SCMPS rampup check") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYA MC GC rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#1 current set by Marte") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db deleted file mode 100755 index fb91d7c..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,389 +0,0 @@ -record (bi,"EC-GN-P01-GAF:DIO4900-YON") -{ - field(DESC, "GY1 External trigger") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 22) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-AI-SIMM") -{ - field(DESC, "GY1 AI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-AO-SIMM") -{ - field(DESC, "GY1 AO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-CSV-LOAD") -{ - field(DESC, "File load trigger") - field(HIGH, "0.1") - field(ONAM, "Loading") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Load") -} - -record (bo,"EC-GN-P01-GAF:STAT-CSV-LOADED") -{ - field(DESC, "File load status") - field(ONAM, "Loaded") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Loading") -} - -record (bo,"EC-GN-P01-GAF:STAT-DI-SIMM") -{ - field(DESC, "GY1 DI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-DO-SIMM") -{ - field(DESC, "GY1 DO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU") -{ - field(DESC, "GY1 egu of shot length") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") - field(ONAM, "s") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "ms") -} - -record (bo,"EC-GN-P01-GAF:STAT-MST-TRIG") -{ - field(DESC, "GY1 Master trigger") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-PREP-MODE") -{ - field(DESC, "GY1 Pre-Pro mode ON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-SHORT-PULSE") -{ - field(DESC, "GY1 Short Pulse Mode") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-TRIG-SOUR") -{ - field(DESC, "GY1 External Trigger Mode SW") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ai,"EC-GN-P01-GAF:MOE2810-ET") -{ - field(DESC, "GY1 Arc detect signal 1") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2810-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 1") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MOE2820-ET") -{ - field(DESC, "GY1 Arc detect signal 2") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2820-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 2") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MOE2830-ET") -{ - field(DESC, "GY1 Arc detect signal 3") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2830-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 3") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MRF2910-ET") -{ - field(DESC, "GY1 RF Signal") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MRF2910-ET-WF") -{ - field(DESC, "GY1 RF Signal") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:STAT-BEAMON-TIME") -{ - field(DESC, "GY1 Beam ON time") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (mbbo,"EC-GN-P01-GAF:STAT-CSV-ERR") -{ - field(DESC, "File load error status") - field(FRST, "Format error") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "Out of range") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(ONST, "Successfully loaded") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Empty data") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Failed to open") - field(TWSV, "MAJOR") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Not loaded yet") - field(ZRSV, "MINOR") - field(ZRVL, "0") -} - -record (stringout,"EC-GN-P01-GAF:STAT-CSV-NAME") -{ - field(DESC, "CSV file name") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "shot000000") -} - -record (ai,"EC-GN-P01-GAF:STAT-DT-SHOTLEN") -{ - field(DESC, "GY1 Shot length") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "100") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "1000000") -} - -record (calcout,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") -{ - field(CALC, "(!A)?1000*B:1000000*B") - field(DESC, "GY1 shot length convert") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN") - field(INPA, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU") - field(INPB, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM") - field(OUT, "EC-GN-P01-GAF:STAT-DT-SHOTLEN") - field(SCAN, "Passive") -} - -record (ao,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM") -{ - field(DESC, "GY1 shot length without unit") - field(DRVH, "3600") - field(DRVL, "0") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") - field(HOPR, "3600") - field(LOPR, "0") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF:STAT-ELAPSED") -{ - field(DESC, "GY1 Elapsed time") - field(EGU, "us") - field(HOPR, "4000000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (longin,"EC-GN-P01-GAF:STAT-PREHEAT-TIME") -{ - field(DESC, "Pre-heating time") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (waveform,"EC-GN-P01-GAF:STAT-PREP-TIME-WF") -{ - field(DESC, "GY1 prepro time schedule") - field(EGU, "ms") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") -} - -record (fanout,"EC-GN-P01-GAF:STAT-SHOT-FLNK1") -{ - field(DESC, "GY1 fanout1 to AI waveform signal") -} - -record (fanout,"EC-GN-P01-GAF:STAT-SHOT-FLNK2") -{ - field(DESC, "GY1 fanout2 to AI waveform signal") -} - -record (longin,"EC-GN-P01-GAF:STAT-SHOT-ID") -{ - field(DESC, "GY1 shot ID") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (calcout,"EC-GN-P01-GAF:STAT-SHOT-PLOT") -{ - field(CALC, "A andand (B >= C)") - field(DESC, "GY1 judge to plot measured values") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST3R") - field(INPB, "EC-GN-P01-GAF:STAT-BEAMON-TIME") - field(INPC, "6000000") - field(OOPT, "Transition To Non-zero") - field(OUT, "EC-GN-P01-GAF:STAT-SHOT-FLNK1 PP") - field(SCAN, ".1 second") -} - -record (mbbi,"EC-GN-P01-GAF:STAT-SM") -{ - field(DESC, "GY#1 state machine") - field(EIST, "WaitHVON_SDN") - field(EIVL, "8") - field(FLNK, "EC-GN-P01-GAF:STAT-SHOT-PLOT") - field(FRST, "WaitReady") - field(FRVL, "4") - field(FVST, "WaitPermit") - field(FVVL, "5") - field(NIST, "WaitHVON_SDN_PREP") - field(NIVL, "9") - field(ONST, "Error") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SVST, "WaitHVON_PREP") - field(SVVL, "7") - field(SXST, "WaitHVON") - field(SXVL, "6") - field(THST, "WaitStandby") - field(THVL, "3") - field(TWST, "Disabled") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Init") - field(ZRVL, "0") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db deleted file mode 100755 index c7cdc88..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,146 +0,0 @@ -record (bi,"EC-GN-P01-GAFP:FMC4310-RV1") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 11) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-RV2") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 12) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-RV3") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 13) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV5") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV6") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV7") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV8") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YFLT-OC") -{ - field(DESC, "MHVPS OC Detected") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 5) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YFLT-OV") -{ - field(DESC, "MHVPS OV Detected") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 4) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-YSTA-GAOP") -{ - field(DESC, "GY1 Beam ON Status") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YTRP") -{ - field(DESC, "Interlock from fast protection 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 9) bitread") - field(ONAM, "INTERLOCK") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YTRP2") -{ - field(DESC, "Pause signal from Fast Protection 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 10) bitread") - field(ONAM, "PAUSE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 354029a..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,310 +0,0 @@ -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB") -{ - field(DESC, "GY2 CCPS Output ON status") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getOut CCPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP") -{ - field(DESC, "GY2 CCPS Output ON") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setOut CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB") -{ - field(DESC, "GY2 CCPS remote readback") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getRem CCPS2") - field(ONAM, "REM") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP") -{ - field(DESC, "GY2 CCPS remote control on") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PWX1500ML.proto setRem CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-RST") -{ - field(DESC, "GY2 CCPS reset device") - field(DTYP, "stream") - field(OUT, "@PWX1500ML.proto resetDevice CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB") -{ - field(DESC, "GY2 CCPS signal source on") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getSourceON CCPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP") -{ - field(DESC, "GY2 CCPS signal source on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setSourceON CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-STAT") -{ - field(DESC, "CCPS2 is running") - field(ONAM, "ON") - field(SCAN, "Passive") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-TR") -{ - field(DESC, "GY2 CCPS in Operation") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 CCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:STAT-SIMM") -{ - field(DESC, "GY2 CCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB") -{ - field(DESC, "GY2 CCPS Output current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "60.0") - field(INP, "@PWX1500ML.proto getCurr CCPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP") -{ - field(DESC, "GY2 CCPS Output current setpoint") - field(DRVH, "58.8") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setCurr CCPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB") -{ - field(DESC, "GY2 CCPS V range readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PWX1500ML.proto getVolt CCPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP") -{ - field(DESC, "GY2 CCPS V range readback") - field(DRVH, "84") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "84") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setVolt CCPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-EREF") -{ - field(DESC, "GY2 CCPS voltage setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP") -{ - field(DESC, "GY2 CCPS voltage manual setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GBF-CCPS:PSU2320-ERROR") -{ - field(DESC, "GY2 CCPS Error message") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getError CCPS2") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (stringin,"EC-GN-P01-GBF-CCPS:PSU2320-IDN") -{ - field(DESC, "GY2 CCPS IDN") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto readDeviceID CCPS2") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI") -{ - field(DESC, "GY2 CCPS Measued DC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(INP, "@PWX1500ML.proto getMeasDCI CCPS2") - field(LOPR, "-58.8") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV") -{ - field(DESC, "GY2 CCPS Measued DC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "200") - field(INP, "@PWX1500ML.proto getMeasDCV CCPS2") - field(LOPR, "-200") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-AMP") -{ - field(DESC, "Amplitude") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "3.5") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-FREQ") -{ - field(DESC, "Frequency") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-OFFS") -{ - field(DESC, "Offset") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GBF-CCPS:STAT-OP-CALC") -{ - field(CALC, "(A==1 || B==1 || C==1)?1:0; C:=B; B:=A") - field(DESC, "GYB CCPS operation check") - field(FLNK, "EC-GN-P01-GBF-CCPS:PSU2320-TR") - field(INPA, "EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF") - field(INPB, "0") - field(INPC, "0") - field(OUT, "EC-GN-P01-GBF-CCPS:PSU2320-TR") - field(SCAN, "Passive") -} - -record (calc,"EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF") -{ - field(CALC, "(A==1 andand ABS(B-C)>0.1)?1:0; C:=B") - field(DESC, "GYB CCPS operation check") - field(FLNK, "EC-GN-P01-GBF-CCPS:STAT-OP-CALC") - field(INPA, "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB") - field(INPB, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV PP") - field(SCAN, ".1 second") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 0b30380..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,424 +0,0 @@ -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START") -{ - field(DESC, "Auto rampup start command") - field(HIGH, "0.1") - field(ONAM, "Start") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-LOC") -{ - field(DESC, "Local control on") - field(DTYP, "stream") - field(ONAM, "LOC") - field(OUT, "@PCR500LE.proto setLoc FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB") -{ - field(DESC, "Output ON readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getOut FHPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP") -{ - field(DESC, "Output ON command") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PCR500LE.proto setOut FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-REM") -{ - field(DESC, "Remote control on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setRem FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-RST") -{ - field(DESC, "Reset command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto resetDevice FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB") -{ - field(DESC, "External control readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getSourceON FHPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP") -{ - field(DESC, "External control ON command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setSourceON FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP") -{ - field(DESC, "GY2 FHPS rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 FHPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:STAT-SIMM") -{ - field(DESC, "GY2 FHPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB") -{ - field(DESC, "Output Voltage readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getVolt FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP") -{ - field(DESC, "Output voltage setpoint") - field(DRVH, "300") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setVolt FHPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME") -{ - field(DESC, "Auto rampup time") - field(DRVH, "100000") - field(DRVL, "10") - field(EGU, "sec") - field(HOPR, "100000") - field(LOPR, "10") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "30") -} - -record (mbbo,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT") -{ - field(DESC, "Auto rampup status") - field(ONST, "IN OPERATION") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(THST, "ERROR") - field(THVL, "3") - field(TWST, "FINISH") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "NOT IN OPERATION") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV") -{ - field(DESC, "Auto rampup target voltage") - field(DRVH, "300") - field(DRVL, "0.0") - field(EGU, "V") - field(HOPR, "60.0") - field(LOPR, "0.0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB") -{ - field(DESC, "Output Current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5") - field(INP, "@PCR500LE.proto getCurr FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP") -{ - field(DESC, "Output current setpoint") - field(DRVH, "5.0") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setCurr FHPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-EREF") -{ - field(DESC, "GY2 FHPS voltage setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP") -{ - field(DESC, "GY2 FHPS voltage manual setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GBF-FHPS:PSU2610-ERROR") -{ - field(DESC, "Error code") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getError FHPS2") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB") -{ - field(DESC, "Output frequency readback") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getFreq FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP") -{ - field(DESC, "Output frequency setpoint") - field(DRVH, "999.9") - field(DRVL, "1") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setFreq FHPS2") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (stringin,"EC-GN-P01-GBF-FHPS:PSU2610-IDN") -{ - field(DESC, "IDN") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto readDeviceID FHPS2") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI") -{ - field(DESC, "Measued AC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(INP, "@PCR500LE.proto getMeasACI FHPS2") - field(LOPR, "-5.0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP") -{ - field(DESC, "Measued AC Power") - field(DTYP, "stream") - field(EGU, "W") - field(HOPR, "500") - field(INP, "@PCR500LE.proto getMeasACP FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV") -{ - field(DESC, "Measued AC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getMeasACV FHPS2") - field(LOPR, "-300") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ") -{ - field(DESC, "Measued Frequency") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getMeasACF FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET") -{ - field(CALC, "A==1?0:1") - field(DESC, "GYB FHPS rampup comp off") - field(INPA, "EC-GN-P01-GBF:STAT-SM") - field(OOPT, "Transition To Zero") - field(OUT, "EC-GN-P01-GBF-FHPS:STAT-MANM PP") - field(SCAN, "1 second") -} - -record (waveform,"EC-GN-P01-GBF-FHPS:STAT-PREP-WF") -{ - field(DESC, "GY2 FHPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC") -{ - field(CALC, "A==2?1:0") - field(DESC, "GYB FHPS rampup comp check") - field(INPA, "EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(ABS(A-B)<0.1*B)?2:((C > D)?1:0);D:=C") - field(DESC, "GYB FHPS rampup stat check") - field(FLNK, "EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC") - field(INPA, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV") - field(INPB, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV") - field(INPC, "EC-GN-P01-GBF-FHPS:PSU2610-EREF") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYB FHPS rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index ec4fc1c..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,273 +0,0 @@ -record (bo,"EC-GN-P01-GBF-GCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 GCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-GCPS:STAT-SIMM") -{ - field(DESC, "GY2 GCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") -{ - field(DESC, "GY2 GCPS read act") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity GC2") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP") -{ - field(DESC, "GY2 GCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity GC2") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI") -{ - field(DESC, "GY2 GCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO") -{ - field(DESC, "GY2 GCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON") -{ - field(DESC, "GY2 GCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent GC2") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GBF-GCPS:PSU2130-ERR") -{ - field(DESC, "GY2 GCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat GC2") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM") -{ - field(DESC, "GY2 GCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim GC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB") -{ - field(DESC, "GY2 GCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep GC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB") -{ - field(DESC, "GY2 GCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent GC2") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET") -{ - field(DESC, "GY2 GCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent GC2") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI") -{ - field(DESC, "GY2 GCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO") -{ - field(DESC, "GY2 GCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET") -{ - field(DESC, "GY2 GCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep GC2") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON") -{ - field(DESC, "GY2 GCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage GC2") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#2 state set by Marte") - field(INPA, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GBF-GCPS:STAT-PREP-WF") -{ - field(DESC, "GY2 GCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#2 current set by Mate") - field(INPA, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index d766295..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,306 +0,0 @@ -record (bo,"EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") -{ - field(DESC, "GY2 SCM rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-MCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 MCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-MCPS:STAT-SIMM") -{ - field(DESC, "GY2 MCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") -{ - field(DESC, "GY2 MCPS read act") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity MC2") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP") -{ - field(DESC, "GY2 MCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity MC2") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI") -{ - field(DESC, "GY2 MCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO") -{ - field(DESC, "GY2 MCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON") -{ - field(DESC, "GY2 MCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent MC2") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GBF-MCPS:PSU2120-ERR") -{ - field(DESC, "GY2 MCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat MC2") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM") -{ - field(DESC, "GY2 MCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim MC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB") -{ - field(DESC, "GY2 MCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep MC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB") -{ - field(DESC, "GY2 MCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent MC2") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET") -{ - field(DESC, "GY2 MCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent MC2") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI") -{ - field(DESC, "GY2 MCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO") -{ - field(DESC, "GY2 MCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET") -{ - field(DESC, "GY2 MCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep MC2") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(VAL, "1.69") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON") -{ - field(DESC, "GY2 MCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage MC2") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#2 state set by Marte") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GBF-MCPS:STAT-PREP-WF") -{ - field(DESC, "GY2 MCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(A==3 andand B==3)?1:0") - field(DESC, "GYB SMCPS rampup check") - field(FLNK, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYB MC GC rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#2 current set by Marte") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 4ff855f..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,389 +0,0 @@ -record (bi,"EC-GN-P01-GBF:DIO4900-YON") -{ - field(DESC, "GY3 External trigger") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 22) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-AI-SIMM") -{ - field(DESC, "GY2 AI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-AO-SIMM") -{ - field(DESC, "GY2 AO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-CSV-LOAD") -{ - field(DESC, "File load trigger") - field(HIGH, "0.1") - field(ONAM, "Loading") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Load") -} - -record (bo,"EC-GN-P01-GBF:STAT-CSV-LOADED") -{ - field(DESC, "File load status") - field(ONAM, "Loaded") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Loading") -} - -record (bo,"EC-GN-P01-GBF:STAT-DI-SIMM") -{ - field(DESC, "GY2 DI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-DO-SIMM") -{ - field(DESC, "GY2 DO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU") -{ - field(DESC, "GY2 egu of shot length") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") - field(ONAM, "s") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "ms") -} - -record (bo,"EC-GN-P01-GBF:STAT-MST-TRIG") -{ - field(DESC, "GY2 Master trigger") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-PREP-MODE") -{ - field(DESC, "GY2 Pre-Pro mode ON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-SHORT-PULSE") -{ - field(DESC, "GY2 Short Pulse Mode") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-TRIG-SOUR") -{ - field(DESC, "GY2 External Trigger Mode SW") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ai,"EC-GN-P01-GBF:MOE2810-ET") -{ - field(DESC, "GY2 Arc detect signal 1") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2810-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 1") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MOE2820-ET") -{ - field(DESC, "GY2 Arc detect signal 2") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2820-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 2") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MOE2830-ET") -{ - field(DESC, "GY2 Arc detect signal 3") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2830-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 3") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MRF2910-ET") -{ - field(DESC, "GY2 RF Signal") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MRF2910-ET-WF") -{ - field(DESC, "GY2 RF Signal") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:STAT-BEAMON-TIME") -{ - field(DESC, "GY2 Beam ON time") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (mbbo,"EC-GN-P01-GBF:STAT-CSV-ERR") -{ - field(DESC, "File load error status") - field(FRST, "Format error") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "Out of range") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(ONST, "Successfully loaded") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Empty data") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Failed to open") - field(TWSV, "MAJOR") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Not loaded yet") - field(ZRSV, "MINOR") - field(ZRVL, "0") -} - -record (stringout,"EC-GN-P01-GBF:STAT-CSV-NAME") -{ - field(DESC, "CSV file name") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "shot000000") -} - -record (ai,"EC-GN-P01-GBF:STAT-DT-SHOTLEN") -{ - field(DESC, "GY2 Shot length") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "100") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "1000000") -} - -record (calcout,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") -{ - field(CALC, "(!A)?1000*B:1000000*B") - field(DESC, "GY2 shot length convert") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN") - field(INPA, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU") - field(INPB, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM") - field(OUT, "EC-GN-P01-GBF:STAT-DT-SHOTLEN") - field(SCAN, "Passive") -} - -record (ao,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM") -{ - field(DESC, "GY2 shot length without unit") - field(DRVH, "3600") - field(DRVL, "0") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") - field(HOPR, "3600") - field(LOPR, "0") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF:STAT-ELAPSED") -{ - field(DESC, "GY2 Elapsed time") - field(EGU, "us") - field(HOPR, "4000000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (longin,"EC-GN-P01-GBF:STAT-PREHEAT-TIME") -{ - field(DESC, "Pre-heating time") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (waveform,"EC-GN-P01-GBF:STAT-PREP-TIME-WF") -{ - field(DESC, "GY2 prepro time schedule") - field(EGU, "ms") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") -} - -record (fanout,"EC-GN-P01-GBF:STAT-SHOT-FLNK1") -{ - field(DESC, "GY2 fanout1 to AI waveform signal") -} - -record (fanout,"EC-GN-P01-GBF:STAT-SHOT-FLNK2") -{ - field(DESC, "GY2 fanout2 to AI waveform signal") -} - -record (longin,"EC-GN-P01-GBF:STAT-SHOT-ID") -{ - field(DESC, "GY2 shot ID") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (calcout,"EC-GN-P01-GBF:STAT-SHOT-PLOT") -{ - field(CALC, "A andand (B >= C)") - field(DESC, "GY2 judge to plot measured values") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST3R") - field(INPB, "EC-GN-P01-GBF:STAT-BEAMON-TIME") - field(INPC, "6000000") - field(OOPT, "Transition To Non-zero") - field(OUT, "EC-GN-P01-GBF:STAT-SHOT-FLNK1 PP") - field(SCAN, ".1 second") -} - -record (mbbi,"EC-GN-P01-GBF:STAT-SM") -{ - field(DESC, "GY#2 state machine") - field(EIST, "WaitHVON_SDN") - field(EIVL, "8") - field(FLNK, "EC-GN-P01-GBF:STAT-SHOT-PLOT") - field(FRST, "WaitReady") - field(FRVL, "4") - field(FVST, "WaitPermit") - field(FVVL, "5") - field(NIST, "WaitHVON_SDN_PREP") - field(NIVL, "9") - field(ONST, "Error") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SVST, "WaitHVON_PREP") - field(SVVL, "7") - field(SXST, "WaitHVON") - field(SXVL, "6") - field(THST, "WaitStandby") - field(THVL, "3") - field(TWST, "Disabled") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Init") - field(ZRVL, "0") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 0776c60..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,120 +0,0 @@ -record (bi,"EC-GN-P01-GBFP:FMC4310-RV1") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 11) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-RV2") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 12) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-RV3") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 13) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV5") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV6") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV7") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV8") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-YSTA-GBOP") -{ - field(DESC, "GY2 Beam ON Status") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-YTRP") -{ - field(DESC, "Interlock from fast protection 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 9) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-YTRP2") -{ - field(DESC, "Pause signal from fast protection 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 10) bitread") - field(ONAM, "PAUSE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 9fe5dd3..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,349 +0,0 @@ -record (bo,"EC-GN-P01-GPF:PCF4210-CTRP") -{ - field(DESC, "Fast Controller Fault") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA1") -{ - field(DESC, "GY1 HV Armed") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA2") -{ - field(DESC, "GY1 HV Injection") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA3") -{ - field(DESC, "GY1 in RFON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB1") -{ - field(DESC, "GY2 HV Armed") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB2") -{ - field(DESC, "GY2 HV Injection") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB3") -{ - field(DESC, "GY2 RFON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPF:PSU0000-YSTA-MOD") -{ - field(DESC, "MHVPS modulation en/disable from ECPC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 8) bitread") - field(ONAM, "ENABLE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "DISABLE") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-CONF-STAT") -{ - field(DESC, "DAQ config state") - field(ONAM, "Ready") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Not ready") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-RECONF") -{ - field(DESC, "Reset and configure DAQ") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-SW-TRIG") -{ - field(DESC, "software trigger for DAQ start") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:STAT-RST-FLT") -{ - field(DESC, "Reset Fault command") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-LEN") -{ - field(DESC, "DAQ sampling time length") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1000.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-LEN-RB") -{ - field(DESC, "DAQ sampling time length readback") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1000.0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-MODE") -{ - field(DESC, "DAQ mode") - field(FRST, "Reference") - field(FRVL, "4") - field(ONST, "Finite") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Continuous") - field(THVL, "3") - field(TWST, "Retriggerable") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Software_triggered") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-MODE-RB") -{ - field(DESC, "DAQ mode readback") - field(FRST, "Reference") - field(FRVL, "4") - field(ONST, "Finite") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Continuous") - field(THVL, "3") - field(TWST, "Retriggerable") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Software_triggered") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-PUB-DLY") -{ - field(DESC, "DAN publish delay") - field(DRVH, "1000") - field(DRVL, "0.1") - field(EGU, "ms") - field(HOPR, "1000") - field(LOPR, "0.1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "10.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB") -{ - field(DESC, "DAN publish delay") - field(DRVH, "1000") - field(DRVL, "0.1") - field(EGU, "ms") - field(HOPR, "1000") - field(LOPR, "0.1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "10.0") -} - -record (longout,"EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE") -{ - field(DESC, "sampling rate") - field(DRVH, "1000000000") - field(DRVL, "1") - field(HOPR, "100000000") - field(LOPR, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1000") -} - -record (longout,"EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB") -{ - field(DESC, "sampling rate readback") - field(DRVH, "1000000000") - field(DRVL, "1") - field(HOPR, "100000000") - field(LOPR, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1000") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY") -{ - field(DESC, "DAQ start delay") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB") -{ - field(DESC, "DAQ start delay readback") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1.0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-STAT") -{ - field(DESC, "DAQ operation state") - field(FRSV, "NO_ALARM") - field(ONST, "Waiting trigger") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Aquiring") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Not ready") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD1-LIM") -{ - field(DESC, "MD1 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "10000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD2-LIM") -{ - field(DESC, "MD2 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "100000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD3-LIM") -{ - field(DESC, "MD3 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "30000000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD4-LIM") -{ - field(DESC, "MD4 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "300000000") -} - -record (ai,"EC-GN-P01-GPF:STAT-RDY-TOUT") -{ - field(DESC, "Gyrotron operation ready timeout") - field(EGU, "s") - field(HOPR, "600") - field(LOPR, "1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "30.0") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 5763fa5..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,230 +0,0 @@ -record (bi,"EC-GN-P01-GPS:PLC4110-CON-GY1PRM") -{ - field(DESC, "GY1 Operation Permission") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 18) bitread") - field(ONAM, "PERMITED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-GY2PRM") -{ - field(DESC, "GY2 Operation Permission") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 18) bitread") - field(ONAM, "PERMITED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-OPGY1") -{ - field(DESC, "GY1 Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 19) bitread") - field(ONAM, "SELECTED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-OPGY2") -{ - field(DESC, "GY2 Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 19) bitread") - field(ONAM, "SELECTED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-RV1") -{ - field(DESC, "Reserved for PLC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 21) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPS:PLC4110-RV2") -{ - field(DESC, "Reserved for PLC") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPS:PLC4110-RV3") -{ - field(DESC, "Reserved for PLC") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YON-CCPS1") -{ - field(DESC, "GY1 CCPS Start Operation") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 20) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YON-CCPS2") -{ - field(DESC, "GY2 CCPS Start Operation") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 20) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YSTA-MPSS") -{ - field(DESC, "Sync/Asynchronous Flag") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 21) bitread") - field(ONAM, "SYNC") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "ASYNC") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTRP") -{ - field(DESC, "Interlock signal from PLC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 14) bitread") - field(ONAM, "INTERLOCK") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD1") -{ - field(DESC, "Operation Mode 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 14) bitread") - field(ONAM, "VSHORT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD2") -{ - field(DESC, "Operation Mode 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 15) bitread") - field(ONAM, "SHORT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD3") -{ - field(DESC, "Operation Mode 3") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 16) bitread") - field(ONAM, "MIDDLE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD4") -{ - field(DESC, "Operation Mode 4") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 17) bitread") - field(ONAM, "LONG") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST1R") -{ - field(DESC, "PLC STANDBY state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 15) bitread") - field(ONAM, "STANDBY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST2R") -{ - field(DESC, "PLC READY state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 16) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST3R") -{ - field(DESC, "PLC ON state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 17) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 3d11cb5..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,206 +0,0 @@ -record (bo,"EC-GN-P01-PA1F:PSU3000-CON-HV") -{ - field(DESC, "GY1 APS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA1F:PSU3000-CON-SW") -{ - field(DESC, "GY1 APS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA1F:PSU3000-CTRP") -{ - field(DESC, "GY1 APS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PA1F:PSU3000-YFLT") -{ - field(DESC, "GY1 APS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 1) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PA1F:PSU3000-YSTA") -{ - field(DESC, "GY1 APS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 0) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PA1F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF") -{ - field(DESC, "GY1 APS voltage setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_1, 1) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF-MSP") -{ - field(DESC, "GY1 APS voltage manual setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF-P") -{ - field(ASLO, "2") - field(DESC, "GY1 APS P-voltage setpoint") - field(DRVH, "0") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_1, 2) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PA1F:PSU3000-ET") -{ - field(DESC, "GY1 APS Measured Volatege") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA1F:PSU3000-ET-WF") -{ - field(DESC, "GY1 APS Measured Volatege") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA1F:PSU3000-IT") -{ - field(DESC, "GY1 APS Measued Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA1F:PSU3000-IT-WF") -{ - field(DESC, "GY1 APS Measued Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA1F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY1 APS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PA1F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY1 APS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "600000") -} - -record (calcout,"EC-GN-P01-PA1F:STAT-EREF-CONV") -{ - field(CALC, "A>0?A:((A>-20)?A/2:-10)") - field(DESC, "GYA APS engineer value conversion") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PA1F:PSU3000-EREF PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PA1F:STAT-PREP-WF") -{ - field(DESC, "GY1 APS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 6a74042..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,206 +0,0 @@ -record (bo,"EC-GN-P01-PA2F:PSU4000-CON-HV") -{ - field(DESC, "GY2 APS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA2F:PSU4000-CON-SW") -{ - field(DESC, "GY2 APS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA2F:PSU4000-CTRP") -{ - field(DESC, "GY2 APS Shutdown request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PA2F:PSU4000-YFLT") -{ - field(DESC, "GY2 APS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 1) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PA2F:PSU4000-YSTA") -{ - field(DESC, "GY2 APS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 0) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PA2F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF") -{ - field(DESC, "GY2 APS voltage setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_0, 1) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF-MSP") -{ - field(DESC, "GY2 APS voltage manual setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF-P") -{ - field(ASLO, "2") - field(DESC, "GY2 APS P-voltage setpoint") - field(DRVH, "0") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_0, 2) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PA2F:PSU4000-ET") -{ - field(DESC, "GY2 APS Measured Volatege") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA2F:PSU4000-ET-WF") -{ - field(DESC, "GY2 APS Measured Volatege") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA2F:PSU4000-IT") -{ - field(DESC, "GY2 APS Measued Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA2F:PSU4000-IT-WF") -{ - field(DESC, "GY2 APS Measued Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA2F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY2 APS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PA2F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY2 APS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "600000") -} - -record (calcout,"EC-GN-P01-PA2F:STAT-EREF-CONV") -{ - field(CALC, "A>0?A:((A>-20)?A/2:-10)") - field(DESC, "GYB APS engineer value conversion") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PA2F:PSU4000-EREF PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PA2F:STAT-PREP-WF") -{ - field(DESC, "GY2 APS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 66c756d..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,180 +0,0 @@ -record (bo,"EC-GN-P01-PB1F:PSU1000-CON-HV") -{ - field(DESC, "GY1 BPS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB1F:PSU1000-CON-SW") -{ - field(DESC, "GY1 BPS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB1F:PSU1000-CTRP") -{ - field(DESC, "GY1 BPS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PB1F:PSU1000-YFLT") -{ - field(DESC, "GY1 BPS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 3) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PB1F:PSU1000-YSTA") -{ - field(DESC, "GY1 BPS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 2) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PB1F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 BPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PB1F:PSU1000-EREF") -{ - field(ASLO, "4") - field(DESC, "GY1 BPS voltage setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PB1F:PSU1000-EREF-MSP") -{ - field(DESC, "GY1 BPS voltage manual setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PB1F:PSU1000-ET") -{ - field(DESC, "GY1 BPS Measured Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB1F:PSU1000-ET-WF") -{ - field(DESC, "GY1 BPS Measured Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB1F:PSU1000-IT") -{ - field(DESC, "GY1 BPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB1F:PSU1000-IT-WF") -{ - field(DESC, "GY1 BPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB1F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY1 BPS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PB1F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY1 BPS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "550000") -} - -record (waveform,"EC-GN-P01-PB1F:STAT-PREP-WF") -{ - field(DESC, "GY1 BPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 72c14a3..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,180 +0,0 @@ -record (bo,"EC-GN-P01-PB2F:PSU2000-CON-HV") -{ - field(DESC, "GY2 BPS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB2F:PSU2000-CON-SW") -{ - field(DESC, "GY2 BPS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB2F:PSU2000-CTRP") -{ - field(DESC, "GY2 BPS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PB2F:PSU2000-YFLT") -{ - field(DESC, "GY2 BPS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 3) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PB2F:PSU2000-YSTA") -{ - field(DESC, "GY2 BPS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 2) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PB2F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 BPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PB2F:PSU2000-EREF") -{ - field(ASLO, "4") - field(DESC, "GY2 BPS voltage setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PB2F:PSU2000-EREF-MSP") -{ - field(DESC, "GY2 BPS voltage manual setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PB2F:PSU2000-ET") -{ - field(DESC, "GY2 BPS Measured Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB2F:PSU2000-ET-WF") -{ - field(DESC, "GY2 BPS Measured Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB2F:PSU2000-IT") -{ - field(DESC, "GY2 BPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB2F:PSU2000-IT-WF") -{ - field(DESC, "GY2 BPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB2F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY2 BPS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PB2F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY2 BPS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "550000") -} - -record (waveform,"EC-GN-P01-PB2F:STAT-PREP-WF") -{ - field(DESC, "GY2 BPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db deleted file mode 100755 index 9778039..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Db/PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,231 +0,0 @@ -record (bo,"EC-GN-P01-PMF:PSU0000-COFF") -{ - field(DESC, "MHVPS Shutdown request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PMF:PSU0000-CON-MOD") -{ - field(DESC, "MHVPS MOD Enable/Disable") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PMF:PSU0000-CON-SW") -{ - field(DESC, "MHVPS Enable/Disable") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PMF:PSU0000-TYSTA") -{ - field(DESC, "MHVPS Ready status") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 7) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bi,"EC-GN-P01-PMF:PSU0000-YFLT") -{ - field(DESC, "MHVPS Fast Protection Act") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 6) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bo,"EC-GN-P01-PMF:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PMF:PSU0000-EREF") -{ - field(ASLO, "11") - field(DESC, "MHVPS voltage setpoint") - field(DRVH, "55") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "55") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 3) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PMF:PSU0000-EREF-MSP") -{ - field(DESC, "MHVPS voltage manual setpoint") - field(DRVH, "55") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "55") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-ET-GA") -{ - field(DESC, "GY1 MHVPS Measued Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-ET-GA-WF") -{ - field(DESC, "GY1 MHVPS Measued Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-ET-GB") -{ - field(DESC, "GY2 MHVPS Measued Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-ET-GB-WF") -{ - field(DESC, "GY2 MHVPS Measued Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-IT-GA") -{ - field(DESC, "GY1 MHVPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-IT-GA-WF") -{ - field(DESC, "GY1 MHVPS Measured Current") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-IT-GB") -{ - field(DESC, "GY2 MHVPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-IT-GB-WF") -{ - field(DESC, "GY2 MHVPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:STAT-DT-HVON") -{ - field(DESC, "Time diff to MHVPS ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (calcout,"EC-GN-P01-PMF:STAT-EREF-CALC") -{ - field(CALC, "(A!=C)?A:((B!=D)?B:E);C:=A; D:=B") - field(DESC, "determine MHVPS EREF change") - field(INPE, "EC-GN-P01-PMF:PSU0000-EREF") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PMF:PSU0000-EREF PP") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-PMF:STAT-HVON-CALC") -{ - field(CALC, "(A||B)?1:0") - field(DESC, "determine MHVPS HVON change") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PMF:PSU0000-CON-SW PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PMF:STAT-PREP-WF") -{ - field(DESC, "MHVPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Makefile b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Makefile deleted file mode 100644 index b38d99d..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/sddconfApp/Makefile $ -# $Id: Makefile 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : Makefile -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== -TOP = .. -include $(TOP)/configure/CONFIG -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) -include $(TOP)/configure/RULES_DIRS - diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/EC-GNMain.cpp b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/EC-GNMain.cpp deleted file mode 100644 index 178d63c..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/EC-GNMain.cpp +++ /dev/null @@ -1,25 +0,0 @@ -/* Main.cpp */ -/* Author: Marty Kraimer Date: 17MAR2000 */ - -#include -#include -#include -#include -#include -#include - -#include "epicsExit.h" -#include "epicsThread.h" -#include "iocsh.h" - -int main(int argc,char *argv[]) -{ - sigset(SIGTERM, epicsExit); - if(argc>=2) { - iocsh(argv[1]); - epicsThreadSleep(.2); - } - iocsh(NULL); - epicsExit(0); - return(0); -} diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/Makefile b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/Makefile deleted file mode 100755 index 6b73f87..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -TOP=../.. - -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE -#======================================== - -#======================================== -# Build the IOC application - -PROD_IOC = EC-GN -# EC-GN.dbd will be created and installed -DBD += EC-GN.dbd - -# EC-GN.dbd will be made up from these files: --include $(EPICS_ROOT)/mk/codac-common.mk - - -# Add all the support libraries needed by this IOC - -EC-GN_DBD += $(CODAC_DBD) -EC-GN_LIBS += $(CODAC_LIBS) - -# # SNCSEQ -# _SNCFLAGS += +r -c +d -# EC-GN_DBD += .dbd -# EC-GN_SRCS += .stt -# EC-GN_LIBS += seq pv - - -# EC-GN_registerRecordDeviceDriver.cpp derives from EC-GN.dbd -EC-GN_SRCS += EC-GN_registerRecordDeviceDriver.cpp - -# Build the main IOC entry point on workstation OSs. -EC-GN_SRCS_DEFAULT += EC-GNMain.cpp -EC-GN_SRCS_vxWorks += -nil- - -# Add support from base/src/vxWorks if needed -#EC-GN_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary - -#============================= -# Include SNL program makefile snippets - --include ../*.snlprog - -#============================= - - -# Finally link to the EPICS Base libraries -EC-GN_LIBS += $(EPICS_BASE_IOC_LIBS) - -#=========================== - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE -#---------------------------------------- \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.Common/EC-GN.dbd b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.Common/EC-GN.dbd deleted file mode 100644 index c98cde5..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.Common/EC-GN.dbd +++ /dev/null @@ -1,18666 +0,0 @@ -menu(waveformPOST) { - choice(waveformPOST_Always, "Always") - choice(waveformPOST_OnChange, "On Change") -} -menu(aaoPOST) { - choice(aaoPOST_Always, "Always") - choice(aaoPOST_OnChange, "On Change") -} -menu(menuPriority) { - choice(menuPriorityLOW, "LOW") - choice(menuPriorityMEDIUM, "MEDIUM") - choice(menuPriorityHIGH, "HIGH") -} -menu(calcoutDOPT) { - choice(calcoutDOPT_Use_VAL, "Use CALC") - choice(calcoutDOPT_Use_OVAL, "Use OCAL") -} -menu(menuOmsl) { - choice(menuOmslsupervisory, "supervisory") - choice(menuOmslclosed_loop, "closed_loop") -} -menu(menuFtype) { - choice(menuFtypeSTRING, "STRING") - choice(menuFtypeCHAR, "CHAR") - choice(menuFtypeUCHAR, "UCHAR") - choice(menuFtypeSHORT, "SHORT") - choice(menuFtypeUSHORT, "USHORT") - choice(menuFtypeLONG, "LONG") - choice(menuFtypeULONG, "ULONG") - choice(menuFtypeINT64, "INT64") - choice(menuFtypeUINT64, "UINT64") - choice(menuFtypeFLOAT, "FLOAT") - choice(menuFtypeDOUBLE, "DOUBLE") - choice(menuFtypeENUM, "ENUM") -} -menu(stringinPOST) { - choice(stringinPOST_OnChange, "On Change") - choice(stringinPOST_Always, "Always") -} -menu(menuPini) { - choice(menuPiniNO, "NO") - choice(menuPiniYES, "YES") - choice(menuPiniRUN, "RUN") - choice(menuPiniRUNNING, "RUNNING") - choice(menuPiniPAUSE, "PAUSE") - choice(menuPiniPAUSED, "PAUSED") -} -menu(dfanoutSELM) { - choice(dfanoutSELM_All, "All") - choice(dfanoutSELM_Specified, "Specified") - choice(dfanoutSELM_Mask, "Mask") -} -menu(menuScan) { - choice(menuScanPassive, "Passive") - choice(menuScanEvent, "Event") - choice(menuScanI_O_Intr, "I/O Intr") - choice(menuScan10_second, "10 second") - choice(menuScan5_second, "5 second") - choice(menuScan2_second, "2 second") - choice(menuScan1_second, "1 second") - choice(menuScan_5_second, ".5 second") - choice(menuScan_2_second, ".2 second") - choice(menuScan_1_second, ".1 second") -} -menu(aSubLFLG) { - choice(aSubLFLG_IGNORE, "IGNORE") - choice(aSubLFLG_READ, "READ") -} -menu(menuPost) { - choice(menuPost_OnChange, "On Change") - choice(menuPost_Always, "Always") -} -menu(menuAlarmStat) { - choice(menuAlarmStatNO_ALARM, "NO_ALARM") - choice(menuAlarmStatREAD, "READ") - choice(menuAlarmStatWRITE, "WRITE") - choice(menuAlarmStatHIHI, "HIHI") - choice(menuAlarmStatHIGH, "HIGH") - choice(menuAlarmStatLOLO, "LOLO") - choice(menuAlarmStatLOW, "LOW") - choice(menuAlarmStatSTATE, "STATE") - choice(menuAlarmStatCOS, "COS") - choice(menuAlarmStatCOMM, "COMM") - choice(menuAlarmStatTIMEOUT, "TIMEOUT") - choice(menuAlarmStatHWLIMIT, "HWLIMIT") - choice(menuAlarmStatCALC, "CALC") - choice(menuAlarmStatSCAN, "SCAN") - choice(menuAlarmStatLINK, "LINK") - choice(menuAlarmStatSOFT, "SOFT") - choice(menuAlarmStatBAD_SUB, "BAD_SUB") - choice(menuAlarmStatUDF, "UDF") - choice(menuAlarmStatDISABLE, "DISABLE") - choice(menuAlarmStatSIMM, "SIMM") - choice(menuAlarmStatREAD_ACCESS, "READ_ACCESS") - choice(menuAlarmStatWRITE_ACCESS, "WRITE_ACCESS") -} -menu(aoOIF) { - choice(aoOIF_Full, "Full") - choice(aoOIF_Incremental, "Incremental") -} -menu(bufferingALG) { - choice(bufferingALG_FIFO, "FIFO Buffer") - choice(bufferingALG_LIFO, "LIFO Buffer") -} -menu(aaiPOST) { - choice(aaiPOST_Always, "Always") - choice(aaiPOST_OnChange, "On Change") -} -menu(calcoutINAV) { - choice(calcoutINAV_EXT_NC, "Ext PV NC") - choice(calcoutINAV_EXT, "Ext PV OK") - choice(calcoutINAV_LOC, "Local PV") - choice(calcoutINAV_CON, "Constant") -} -menu(epidFeedbackState) { - choice(epidFeedbackState_Off, "Off") - choice(epidFeedbackState_On, "On") -} -menu(seqSELM) { - choice(seqSELM_All, "All") - choice(seqSELM_Specified, "Specified") - choice(seqSELM_Mask, "Mask") -} -menu(histogramCMD) { - choice(histogramCMD_Read, "Read") - choice(histogramCMD_Clear, "Clear") - choice(histogramCMD_Start, "Start") - choice(histogramCMD_Stop, "Stop") -} -menu(menuIvoa) { - choice(menuIvoaContinue_normally, "Continue normally") - choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") - choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") -} -menu(stringoutPOST) { - choice(stringoutPOST_OnChange, "On Change") - choice(stringoutPOST_Always, "Always") -} -menu(menuAlarmSevr) { - choice(menuAlarmSevrNO_ALARM, "NO_ALARM") - choice(menuAlarmSevrMINOR, "MINOR") - choice(menuAlarmSevrMAJOR, "MAJOR") - choice(menuAlarmSevrINVALID, "INVALID") -} -menu(menuSimm) { - choice(menuSimmNO, "NO") - choice(menuSimmYES, "YES") - choice(menuSimmRAW, "RAW") -} -menu(compressALG) { - choice(compressALG_N_to_1_Low_Value, "N to 1 Low Value") - choice(compressALG_N_to_1_High_Value, "N to 1 High Value") - choice(compressALG_N_to_1_Average, "N to 1 Average") - choice(compressALG_Average, "Average") - choice(compressALG_Circular_Buffer, "Circular Buffer") - choice(compressALG_N_to_1_Median, "N to 1 Median") -} -menu(aSubEFLG) { - choice(aSubEFLG_NEVER, "NEVER") - choice(aSubEFLG_ON_CHANGE, "ON CHANGE") - choice(aSubEFLG_ALWAYS, "ALWAYS") -} -menu(fanoutSELM) { - choice(fanoutSELM_All, "All") - choice(fanoutSELM_Specified, "Specified") - choice(fanoutSELM_Mask, "Mask") -} -menu(calcoutOOPT) { - choice(calcoutOOPT_Every_Time, "Every Time") - choice(calcoutOOPT_On_Change, "On Change") - choice(calcoutOOPT_When_Zero, "When Zero") - choice(calcoutOOPT_When_Non_zero, "When Non-zero") - choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") - choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") -} -menu(epidFeedbackMode) { - choice(epidFeedbackMode_PID, "PID") - choice(epidFeedbackMode_MaxMin, "Max/Min") -} -menu(menuConvert) { - choice(menuConvertNO_CONVERSION, "NO CONVERSION") - choice(menuConvertSLOPE, "SLOPE") - choice(menuConvertLINEAR, "LINEAR") - choice(menuConverttypeKdegF, "typeKdegF") - choice(menuConverttypeKdegC, "typeKdegC") - choice(menuConverttypeJdegF, "typeJdegF") - choice(menuConverttypeJdegC, "typeJdegC") - choice(menuConverttypeEdegF, "typeEdegF(ixe only)") - choice(menuConverttypeEdegC, "typeEdegC(ixe only)") - choice(menuConverttypeTdegF, "typeTdegF") - choice(menuConverttypeTdegC, "typeTdegC") - choice(menuConverttypeRdegF, "typeRdegF") - choice(menuConverttypeRdegC, "typeRdegC") - choice(menuConverttypeSdegF, "typeSdegF") - choice(menuConverttypeSdegC, "typeSdegC") -} -menu(menuYesNo) { - choice(menuYesNoNO, "NO") - choice(menuYesNoYES, "YES") -} -menu(timestampTST) { - choice(timestampTST_YY_MM_DD_HH_MM_SS, "YY/MM/DD HH:MM:SS") - choice(timestampTST_MM_DD_YY_HH_MM_SS, "MM/DD/YY HH:MM:SS") - choice(timestampTST_MM_DD_HH_MM_SS_YY, "Mon DD HH:MM:SS YY") - choice(timestampTST_MM_DD_HH_MM_SS, "Mon DD HH:MM:SS") - choice(timestampTST_HH_MM_SS, "HH:MM:SS") - choice(timestampTST_HH_MM, "HH:MM") - choice(timestampTST_DD_MM_YY_HH_MM_SS, "DD/MM/YY HH:MM:SS") - choice(timestampTST_DD_MM_HH_MM_SS_YY, "DD Mon HH:MM:SS YY") - choice(timestampTST_VMS, "DD-Mon-YYYY HH:MM:SS") - choice(timestampTST_MM_DD_YYYY, "Mon DD, YYYY HH:MM:SS.ns") - choice(timestampTST_MM_DD_YY, "MM/DD/YY HH:MM:SS.ns") -} -menu(selSELM) { - choice(selSELM_Specified, "Specified") - choice(selSELM_High_Signal, "High Signal") - choice(selSELM_Low_Signal, "Low Signal") - choice(selSELM_Median_Signal, "Median Signal") -} -recordtype(calcout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct calcoutRecord; - %typedef struct calcoutdset { - % dset common; - % long (*write)(struct calcoutRecord *prec); - %} calcoutdset; - %#define HAS_calcoutdset - % - %#include "dbScan.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rpvtStruct *rpvt") - interest(4) - prompt("Record Private") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(PVAL, DBF_DOUBLE) { - prompt("Previous Value") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(CLCV, DBF_LONG) { - interest(1) - prompt("CALC Valid") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input L") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(1) - prompt("Output Specification") - } - field(INAV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPA PV Status") - } - field(INBV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPB PV Status") - } - field(INCV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPC PV Status") - } - field(INDV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPD PV Status") - } - field(INEV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPE PV Status") - } - field(INFV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPF PV Status") - } - field(INGV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPG PV Status") - } - field(INHV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPH PV Status") - } - field(INIV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPI PV Status") - } - field(INJV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPJ PV Status") - } - field(INKV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPK PV Status") - } - field(INLV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPL PV Status") - } - field(OUTV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - interest(1) - prompt("OUT PV Status") - } - field(OOPT, DBF_MENU) { - promptgroup("50 - Output") - menu(calcoutOOPT) - interest(1) - prompt("Output Execute Opt") - } - field(ODLY, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - interest(1) - prompt("Output Execute Delay") - } - field(DLYA, DBF_USHORT) { - special(SPC_NOMOD) - asl(ASL0) - prompt("Output Delay Active") - } - field(DOPT, DBF_MENU) { - promptgroup("30 - Action") - menu(calcoutDOPT) - interest(1) - prompt("Output Data Opt") - } - field(OCAL, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Output Calculation") - } - field(OCLV, DBF_LONG) { - interest(1) - prompt("OCAL Valid") - } - field(OEVT, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event To Issue") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(OVAL, DBF_DOUBLE) { - asl(ASL0) - prompt("Output Value") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(POVL, DBF_DOUBLE) { - asl(ASL0) - prompt("Prev Value of OVAL") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } - field(ORPC, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char orpc[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish OCalc") - } -} -device(calcout, CONSTANT, devCalcoutSoft, "Soft Channel") -device(calcout, CONSTANT, devCalcoutSoftCallback, "Async Soft Channel") -recordtype(state) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(20) - prompt("Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(20) - prompt("Prev Value") - } -} -recordtype(histogram) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct histogramRecord; - %typedef struct histogramdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_histogram)(struct histogramRecord *prec); /*(0,2)=> success and add_count, don't add_count); if add_count then sgnl added to array*/ - % long (*special_linconv)(struct histogramRecord *prec, int after); - %} histogramdset; - %#define HAS_histogramdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - prompt("Value") - } - field(NELM, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Num of Array Elements") - } - field(CSTA, DBF_SHORT) { - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Collection Status") - } - field(CMD, DBF_MENU) { - special(SPC_CALC) - asl(ASL0) - menu(histogramCMD) - interest(1) - prompt("Collection Control") - } - field(ULIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Upper Signal Limit") - } - field(LLIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Lower Signal Limit ") - } - field(WDTH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Element Width") - } - field(SGNL, DBF_DOUBLE) { - special(SPC_MOD) - prompt("Signal Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(SVL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Signal Value Location") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt32 *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(WDOG, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdog") - interest(4) - prompt("Watchdog callback") - } - field(MDEL, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Count Deadband") - } - field(MCNT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Counts Since Monitor") - } - field(SDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - special(SPC_RESET) - interest(1) - prompt("Monitor Seconds Dband") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(HOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } -} -device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") -recordtype(lsi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsiRecord; - %typedef struct lsidset { - % dset common; - % long (*read_string)(struct lsiRecord *prec); - %} lsidset; - %#define HAS_lsidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Old Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of OVAL") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lsi, CONSTANT, devLsiSoft, "Soft Channel") -device(lsi, INST_IO, devLsiEnviron, "getenv") -device(lsi, INST_IO, devLsiStats, "IOC long string") -recordtype(int64out) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64outRecord; - %typedef struct int64outdset { - % dset common; - % long (*write_int64out)(struct int64outRecord *prec); - %} int64outdset; - %#define HAS_int64outdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(DRVH, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_INT64) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(int64out, CONSTANT, devI64outSoft, "Soft Channel") -device(int64out, CONSTANT, devI64outSoftCallback, "Async Soft Channel") -recordtype(seq) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(seqSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(OLDN, DBF_USHORT) { - interest(4) - prompt("Old Selection") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(DLY0, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 0") - } - field(DOL0, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 0") - } - field(DO0, DBF_DOUBLE) { - interest(1) - prompt("Value 0") - } - field(LNK0, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 0") - } - field(DLY1, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 1") - } - field(DOL1, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link1") - } - field(DO1, DBF_DOUBLE) { - interest(1) - prompt("Value 1") - } - field(LNK1, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 1") - } - field(DLY2, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 2") - } - field(DOL2, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 2") - } - field(DO2, DBF_DOUBLE) { - interest(1) - prompt("Value 2") - } - field(LNK2, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 2") - } - field(DLY3, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 3") - } - field(DOL3, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 3") - } - field(DO3, DBF_DOUBLE) { - interest(1) - prompt("Value 3") - } - field(LNK3, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 3") - } - field(DLY4, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 4") - } - field(DOL4, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 4") - } - field(DO4, DBF_DOUBLE) { - interest(1) - prompt("Value 4") - } - field(LNK4, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 4") - } - field(DLY5, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 5") - } - field(DOL5, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 5") - } - field(DO5, DBF_DOUBLE) { - interest(1) - prompt("Value 5") - } - field(LNK5, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 5") - } - field(DLY6, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 6") - } - field(DOL6, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 6") - } - field(DO6, DBF_DOUBLE) { - interest(1) - prompt("Value 6") - } - field(LNK6, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 6") - } - field(DLY7, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 7") - } - field(DOL7, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 7") - } - field(DO7, DBF_DOUBLE) { - interest(1) - prompt("Value 7") - } - field(LNK7, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 7") - } - field(DLY8, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 8") - } - field(DOL8, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 8") - } - field(DO8, DBF_DOUBLE) { - interest(1) - prompt("Value 8") - } - field(LNK8, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 8") - } - field(DLY9, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 9") - } - field(DOL9, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 9") - } - field(DO9, DBF_DOUBLE) { - interest(1) - prompt("Value 9") - } - field(LNK9, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 9") - } - field(DLYA, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 10") - } - field(DOLA, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 10") - } - field(DOA, DBF_DOUBLE) { - interest(1) - prompt("Value 10") - } - field(LNKA, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 10") - } - field(DLYB, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 11") - } - field(DOLB, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 11") - } - field(DOB, DBF_DOUBLE) { - interest(1) - prompt("Value 11") - } - field(LNKB, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 11") - } - field(DLYC, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 12") - } - field(DOLC, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 12") - } - field(DOC, DBF_DOUBLE) { - interest(1) - prompt("Value 12") - } - field(LNKC, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 12") - } - field(DLYD, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 13") - } - field(DOLD, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 13") - } - field(DOD, DBF_DOUBLE) { - interest(1) - prompt("Value 13") - } - field(LNKD, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 13") - } - field(DLYE, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 14") - } - field(DOLE, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 14") - } - field(DOE, DBF_DOUBLE) { - interest(1) - prompt("Value 14") - } - field(LNKE, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 14") - } - field(DLYF, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 15") - } - field(DOLF, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 15") - } - field(DOF, DBF_DOUBLE) { - interest(1) - prompt("Value 15") - } - field(LNKF, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 15") - } -} -recordtype(stringout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringoutRecord; - %typedef struct stringoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_stringout)(struct stringoutRecord *prec); /*(-1,0)=>(failure,success)*/ - %} stringoutdset; - %#define HAS_stringoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID output value") - } -} -device(stringout, CONSTANT, devSoSoft, "Soft Channel") -device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") -device(stringout, INST_IO, devSoStdio, "stdio") -recordtype(aai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaiRecord; - %typedef struct aaidset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_aai)(struct aaiRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaidset; - %#define HAS_aaidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aai, CONSTANT, devAaiSoft, "Soft Channel") -recordtype(permissive) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_USHORT) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Status") - } - field(WFLG, DBF_USHORT) { - pp(TRUE) - prompt("Wait Flag") - } - field(LABL, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(20) - prompt("Button Label") - } - field(OVAL, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Status") - } - field(OFLG, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Flag") - } -} -recordtype(bo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct boRecord; - %typedef struct bodset { - % dset common; /*init_record returns:(0,2)=>(success,success no convert*/ - % long (*write_bo)(struct boRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} bodset; - %#define HAS_bodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Seconds to Hold High") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * rpvt") - interest(4) - prompt("Record Private") - } - field(WDPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdpt") - interest(4) - prompt("Watch Dog Timer ID") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(bo, CONSTANT, devBoSoft, "Soft Channel") -device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") -device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") -device(bo, INST_IO, devBoGeneralTime, "General Time") -device(bo, INST_IO, devBoDbState, "Db State") -device(bo, INST_IO, devBoSimulation, "IOC SIM") -recordtype(dfanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(dfanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec H") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } -} -recordtype(mbbi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiRecord; - %typedef struct mbbidset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidset; - %#define HAS_mbbidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") -device(mbbi, INST_IO, devSysMonMbbiStats, "sysmon") -recordtype(event) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct eventRecord; - %typedef struct eventdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_event)(struct eventRecord *prec); /*(0)=> success */ - %} eventdset; - %#define HAS_eventdset - % - %#include "dbScan.h" - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event Name To Post") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_STRING) { - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(event, CONSTANT, devEventSoft, "Soft Channel") -recordtype(compress) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RES, DBF_SHORT) { - special(SPC_RESET) - asl(ASL0) - interest(3) - prompt("Reset") - } - field(ALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(compressALG) - interest(1) - prompt("Compression Algorithm") - } - field(BALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(bufferingALG) - interest(1) - prompt("Buffering Algorithm") - } - field(NSAM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Values") - } - field(N, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_RESET) - initial("1") - interest(1) - prompt("N to 1 Compression") - } - field(IHIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init High Interest Lim") - } - field(ILIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init Low Interest Lim") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(OFF, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Offset") - } - field(NUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number Used") - } - field(OUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Old Number Used") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *sptr") - interest(4) - prompt("Summing Buffer Ptr") - } - field(WPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *wptr") - interest(4) - prompt("Working Buffer Ptr") - } - field(INPN, DBF_LONG) { - special(SPC_NOMOD) - interest(4) - prompt("Number of elements in Working Buffer") - } - field(CVB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Compress Value Buffer") - } - field(INX, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Compressed Array Inx") - } -} -recordtype(mbbo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboRecord; - %typedef struct mbbodset { - % dset common; /*init_record returns: (0, 2) => (success, success no convert)*/ - % long (*write_mbbo)(struct mbboRecord *prec); /*returns: (0, 2) => (success, success no convert)*/ - %} mbbodset; - %#define HAS_mbbodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - special(SPC_DBADDR) - asl(ASL0) - pp(TRUE) - prompt("Desired Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(NOBT, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Sevr") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Sevr") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") -device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") -device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") -recordtype(epid) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Setpoint") - } - field(SMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Setpoint Mode Select") - } - field(STPL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Setpoint Location") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Controlled Value Loc") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Location") - } - field(TRIG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Readback Trigger") - } - field(TVAL, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Trigger Value") - } - field(CVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Controlled Value") - } - field(CVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Prev. Controlled Value") - } - field(OVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Output value") - } - field(OVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev output") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(MDT, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Min Delta T") - } - field(FMOD, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackMode) - interest(1) - prompt("Feedback Mode") - } - field(FBON, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Feedback On/Off") - } - field(FBOP, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Prev. feedback On/Off") - } - field(KP, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Proportional Gain") - } - field(KI, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Integral Gain") - } - field(KD, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Derivative Gain") - } - field(EGU, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - prompt("Engineering Units") - size(16) - } - field(HOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(DRVH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("High Drive Limit") - } - field(DRVL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Low Drive Limit") - } - field(HIHI, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Hihi Deviation Limit") - } - field(LOLO, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Lolo Deviation Limit") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("High Deviation Limit") - } - field(LOW, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Low Deviation Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(ODEL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Output Deadband") - } - field(P, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("P component") - } - field(PP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. P component") - } - field(I, DBF_DOUBLE) { - interest(2) - prompt("I component") - } - field(IP, DBF_DOUBLE) { - interest(2) - prompt("Prev. I component") - } - field(D, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("D component") - } - field(DP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. D component") - } - field(CT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ct") - prompt("Time") - } - field(CTP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ctp") - prompt("Previous time") - } - field(DT, DBF_DOUBLE) { - interest(2) - prompt("Delta T") - } - field(DTP, DBF_DOUBLE) { - interest(2) - prompt("Prev. Delta T") - } - field(ERR, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Error") - } - field(ERRP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. Error") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -device(epid, CONSTANT, devEpidSoft, "Soft Channel") -device(epid, CONSTANT, devEpidSoftCB, "Async Soft Channel") -recordtype(ao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aoRecord; - %typedef struct aodset { - % dset common; /*init_record returns: (0,2)=>(success,success no convert)*/ - % long (*write_ao)(struct aoRecord *prec); /*(0)=>(success ) */ - % long (*special_linconv)(struct aoRecord *prec, int after); - %} aodset; - %#define HAS_aodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OVAL, DBF_DOUBLE) { - prompt("Output Value") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(OROC, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Output Rate of Change") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OIF, DBF_MENU) { - promptgroup("50 - Output") - menu(aoOIF) - interest(1) - prompt("Out Full/Incremental") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("EGU to Raw Offset") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("EGU to Raw Slope") - } - field(DRVH, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(RBV, DBF_LONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(PVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Previous value") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(OMOD, DBF_UCHAR) { - special(SPC_NOMOD) - prompt("Was OVAL modified?") - } -} -device(ao, CONSTANT, devAoSoft, "Soft Channel") -device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") -device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") -device(ao, INST_IO, devAoStats, "IOC stats") -recordtype(aao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaoRecord; - %typedef struct aaodset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_aao)(struct aaoRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaodset; - %#define HAS_aaodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aao, CONSTANT, devAaoSoft, "Soft Channel") -recordtype(mbbiDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiDirectRecord; - %typedef struct mbbidirectdset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiDirectRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidirectdset; - %#define HAS_mbbidirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_SHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(B0, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") -device(mbbiDirect, INST_IO, devSysMonMbbiDirectStats, "sysmon") -recordtype(waveform) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct waveformRecord; - %typedef struct wfdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_wf)(struct waveformRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} wfdset; - %#define HAS_wfdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(RARM, DBF_SHORT) { - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Rearm the waveform") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(waveform, CONSTANT, devWfSoft, "Soft Channel") -device(waveform, INST_IO, devWaveformStats, "IOC stats") -device(waveform, INST_IO, devSysMonWaveStats, "sysmon") -recordtype(timestamp) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - size(40) - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Value") - size(40) - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(TST, DBF_MENU) { - promptgroup("40 - Input") - menu(timestampTST) - interest(2) - prompt("Time Stamp Type") - } -} -recordtype(fanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(fanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(LNK0, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 0") - } - field(LNK1, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 1") - } - field(LNK2, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 2") - } - field(LNK3, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 3") - } - field(LNK4, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 4") - } - field(LNK5, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 5") - } - field(LNK6, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 6") - } - field(LNK7, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 7") - } - field(LNK8, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 8") - } - field(LNK9, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 9") - } - field(LNKA, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 10") - } - field(LNKB, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 11") - } - field(LNKC, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 12") - } - field(LNKD, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 13") - } - field(LNKE, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 14") - } - field(LNKF, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 15") - } -} -recordtype(longin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longinRecord; - %typedef struct longindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_longin)(struct longinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} longindset; - %#define HAS_longindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(longin, CONSTANT, devLiSoft, "Soft Channel") -device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") -device(longin, INST_IO, devLiGeneralTime, "General Time") -recordtype(printf) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct printfRecord; - %typedef struct printfdset { - % dset common; - % long (*write_string)(struct printfRecord *prec); - %} printfdset; - %#define HAS_printfdset - % - %/* Number of INPx fields defined */ - %#define PRINTF_NLINKS 10 - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Result") - } - field(SIZV, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of VAL buffer") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(FMT, DBF_STRING) { - promptgroup("30 - Action") - pp(TRUE) - size(81) - prompt("Format String") - } - field(IVLS, DBF_STRING) { - promptgroup("30 - Action") - initial("LNK") - size(16) - prompt("Invalid Link String") - } - field(INP0, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 0") - } - field(INP1, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 1") - } - field(INP2, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 2") - } - field(INP3, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 3") - } - field(INP4, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 4") - } - field(INP5, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 5") - } - field(INP6, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 6") - } - field(INP7, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 7") - } - field(INP8, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 8") - } - field(INP9, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 9") - } -} -device(printf, CONSTANT, devPrintfSoft, "Soft Channel") -device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") -device(printf, INST_IO, devPrintfStdio, "stdio") -recordtype(sel) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - special(SPC_NOMOD) - asl(ASL0) - prompt("Result") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(selSELM) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - prompt("Index value") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(NVL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Index Value Location") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(NLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Index Monitored") - } -} -recordtype(bi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct biRecord; - %typedef struct bidset { - % dset common; - % long (*read_bi)(struct biRecord *prec); - %} bidset; - %#define HAS_bidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(bi, CONSTANT, devBiSoft, "Soft Channel") -device(bi, CONSTANT, devBiSoftRaw, "Raw Soft Channel") -device(bi, CONSTANT, devBiSoftCallback, "Async Soft Channel") -device(bi, INST_IO, devBiDbState, "Db State") -recordtype(lso) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsoRecord; - %typedef struct lsodset { - % dset common; - % long (*write_string)(struct lsoRecord *prec); - %} lsodset; - %#define HAS_lsodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Previous Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Length of OVAL") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Link") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID Output Action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID Output Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lso, CONSTANT, devLsoSoft, "Soft Channel") -device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") -device(lso, INST_IO, devLsoStdio, "stdio") -recordtype(subArray) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct subArrayRecord; - %typedef struct sadset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_sa)(struct subArrayRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} sadset; - %#define HAS_sadset - % - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(MALM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Maximum Elements") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - initial("1") - pp(TRUE) - prompt("Number of Elements") - } - field(INDX, DBF_ULONG) { - promptgroup("30 - Action") - pp(TRUE) - prompt("Substring Index") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } -} -device(subArray, CONSTANT, devSASoft, "Soft Channel") -recordtype(calc) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } -} -recordtype(mbboDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboDirectRecord; - %typedef struct mbbodirectdset { - % dset common; /*init_record returns: (0, 2)=>(success, success no convert)*/ - % long (*write_mbbo)(struct mbboDirectRecord *prec); /*returns: (0, 2)=>(success, success no convert)*/ - %} mbbodirectdset; - %#define HAS_mbbodirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Word") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - special(SPC_RESET) - menu(menuOmsl) - interest(1) - pp(TRUE) - prompt("Output Mode Select") - } - field(NOBT, DBF_SHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(RVAL, DBF_ULONG) { - special(SPC_NOMOD) - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(B0, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") -recordtype(longout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longoutRecord; - %typedef struct longoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_longout)(struct longoutRecord *prec); /*(-1,0)=>(failure,success*/ - %} longoutdset; - %#define HAS_longoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(DRVH, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(longout, CONSTANT, devLoSoft, "Soft Channel") -device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") -recordtype(aSub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct aSubRecord; - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - prompt("Subr. return value") - } - field(OVAL, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Old return value") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(41) - prompt("Initialize Subr. Name") - } - field(LFLG, DBF_MENU) { - promptgroup("30 - Action") - menu(aSubLFLG) - interest(1) - prompt("Subr. Input Enable") - } - field(SUBL, DBF_INLINK) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - prompt("Subroutine Name Link") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(41) - prompt("Process Subr. Name") - } - field(ONAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(3) - size(41) - prompt("Old Subr. Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("long (*sadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Address") - } - field(CADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void (*cadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Cleanup Address") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EFLG, DBF_MENU) { - promptgroup("50 - Output") - menu(aSubEFLG) - initial("1") - interest(1) - prompt("Output Event Flag") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link F") - } - field(INPG, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link L") - } - field(INPM, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link M") - } - field(INPN, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link N") - } - field(INPO, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link O") - } - field(INPP, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link P") - } - field(INPQ, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link Q") - } - field(INPR, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link R") - } - field(INPS, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link S") - } - field(INPT, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link T") - } - field(INPU, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link U") - } - field(A, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *a") - interest(2) - prompt("Input value A") - } - field(B, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *b") - interest(2) - prompt("Input value B") - } - field(C, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *c") - interest(2) - prompt("Input value C") - } - field(D, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *d") - interest(2) - prompt("Input value D") - } - field(E, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *e") - interest(2) - prompt("Input value E") - } - field(F, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *f") - interest(2) - prompt("Input value F") - } - field(G, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *g") - interest(2) - prompt("Input value G") - } - field(H, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *h") - interest(2) - prompt("Input value H") - } - field(I, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *i") - interest(2) - prompt("Input value I") - } - field(J, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *j") - interest(2) - prompt("Input value J") - } - field(K, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *k") - interest(2) - prompt("Input value K") - } - field(L, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *l") - interest(2) - prompt("Input value L") - } - field(M, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *m") - interest(2) - prompt("Input value M") - } - field(N, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *n") - interest(2) - prompt("Input value N") - } - field(O, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *o") - interest(2) - prompt("Input value O") - } - field(P, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *p") - interest(2) - prompt("Input value P") - } - field(Q, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *q") - interest(2) - prompt("Input value Q") - } - field(R, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *r") - interest(2) - prompt("Input value R") - } - field(S, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *s") - interest(2) - prompt("Input value S") - } - field(T, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *t") - interest(2) - prompt("Input value T") - } - field(U, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *u") - interest(2) - prompt("Input value U") - } - field(FTA, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of A") - } - field(FTB, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of B") - } - field(FTC, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of C") - } - field(FTD, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of D") - } - field(FTE, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of E") - } - field(FTF, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of F") - } - field(FTG, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of G") - } - field(FTH, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of H") - } - field(FTI, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of I") - } - field(FTJ, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of J") - } - field(FTK, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of K") - } - field(FTL, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of L") - } - field(FTM, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of M") - } - field(FTN, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of N") - } - field(FTO, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of O") - } - field(FTP, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of P") - } - field(FTQ, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of Q") - } - field(FTR, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of R") - } - field(FTS, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of S") - } - field(FTT, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of T") - } - field(FTU, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of U") - } - field(NOA, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in A") - } - field(NOB, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in B") - } - field(NOC, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in C") - } - field(NOD, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in D") - } - field(NOE, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in E") - } - field(NOF, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in F") - } - field(NOG, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in G") - } - field(NOH, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in H") - } - field(NOI, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in I") - } - field(NOJ, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in J") - } - field(NOK, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in K") - } - field(NOL, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in L") - } - field(NOM, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in M") - } - field(NON, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in N") - } - field(NOO, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in O") - } - field(NOP, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in P") - } - field(NOQ, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in Q") - } - field(NOR, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in R") - } - field(NOS, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in S") - } - field(NOT, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in T") - } - field(NOU, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in U") - } - field(NEA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in A") - } - field(NEB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in B") - } - field(NEC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in C") - } - field(NED, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in D") - } - field(NEE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in E") - } - field(NEF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in F") - } - field(NEG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in G") - } - field(NEH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in H") - } - field(NEI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in I") - } - field(NEJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in J") - } - field(NEK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in K") - } - field(NEL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in L") - } - field(NEM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in M") - } - field(NEN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in N") - } - field(NEO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in O") - } - field(NEP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in P") - } - field(NEQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in Q") - } - field(NER, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in R") - } - field(NES, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in S") - } - field(NET, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in T") - } - field(NEU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in U") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link H") - } - field(OUTI, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link I") - } - field(OUTJ, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link J") - } - field(OUTK, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link K") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link L") - } - field(OUTM, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link M") - } - field(OUTN, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link N") - } - field(OUTO, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link O") - } - field(OUTP, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link P") - } - field(OUTQ, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link Q") - } - field(OUTR, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link R") - } - field(OUTS, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link S") - } - field(OUTT, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link T") - } - field(OUTU, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link U") - } - field(VALA, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vala") - interest(2) - prompt("Output value A") - } - field(VALB, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valb") - interest(2) - prompt("Output value B") - } - field(VALC, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valc") - interest(2) - prompt("Output value C") - } - field(VALD, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vald") - interest(2) - prompt("Output value D") - } - field(VALE, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vale") - interest(2) - prompt("Output value E") - } - field(VALF, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valf") - interest(2) - prompt("Output value F") - } - field(VALG, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valg") - interest(2) - prompt("Output value G") - } - field(VALH, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valh") - interest(2) - prompt("Output value H") - } - field(VALI, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vali") - interest(2) - prompt("Output value I") - } - field(VALJ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valj") - interest(2) - prompt("Output value J") - } - field(VALK, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valk") - interest(2) - prompt("Output value K") - } - field(VALL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vall") - interest(2) - prompt("Output value L") - } - field(VALM, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valm") - interest(2) - prompt("Output value M") - } - field(VALN, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valn") - interest(2) - prompt("Output value N") - } - field(VALO, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valo") - interest(2) - prompt("Output value O") - } - field(VALP, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valp") - interest(2) - prompt("Output value P") - } - field(VALQ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valq") - interest(2) - prompt("Output value Q") - } - field(VALR, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valr") - interest(2) - prompt("Output value R") - } - field(VALS, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vals") - interest(2) - prompt("Output value S") - } - field(VALT, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valt") - interest(2) - prompt("Output value T") - } - field(VALU, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valu") - interest(2) - prompt("Output value U") - } - field(OVLA, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovla") - interest(4) - prompt("Old Output A") - } - field(OVLB, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlb") - interest(4) - prompt("Old Output B") - } - field(OVLC, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlc") - interest(4) - prompt("Old Output C") - } - field(OVLD, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovld") - interest(4) - prompt("Old Output D") - } - field(OVLE, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovle") - interest(4) - prompt("Old Output E") - } - field(OVLF, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlf") - interest(4) - prompt("Old Output F") - } - field(OVLG, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlg") - interest(4) - prompt("Old Output G") - } - field(OVLH, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlh") - interest(4) - prompt("Old Output H") - } - field(OVLI, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovli") - interest(4) - prompt("Old Output I") - } - field(OVLJ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlj") - interest(4) - prompt("Old Output J") - } - field(OVLK, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlk") - interest(4) - prompt("Old Output K") - } - field(OVLL, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovll") - interest(4) - prompt("Old Output L") - } - field(OVLM, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlm") - interest(4) - prompt("Old Output M") - } - field(OVLN, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovln") - interest(4) - prompt("Old Output N") - } - field(OVLO, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlo") - interest(4) - prompt("Old Output O") - } - field(OVLP, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlp") - interest(4) - prompt("Old Output P") - } - field(OVLQ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlq") - interest(4) - prompt("Old Output Q") - } - field(OVLR, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlr") - interest(4) - prompt("Old Output R") - } - field(OVLS, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovls") - interest(4) - prompt("Old Output S") - } - field(OVLT, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlt") - interest(4) - prompt("Old Output T") - } - field(OVLU, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlu") - interest(4) - prompt("Old Output U") - } - field(FTVA, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALA") - } - field(FTVB, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALB") - } - field(FTVC, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALC") - } - field(FTVD, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALD") - } - field(FTVE, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALE") - } - field(FTVF, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALF") - } - field(FTVG, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALG") - } - field(FTVH, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALH") - } - field(FTVI, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALI") - } - field(FTVJ, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALJ") - } - field(FTVK, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALK") - } - field(FTVL, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALL") - } - field(FTVM, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALM") - } - field(FTVN, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALN") - } - field(FTVO, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALO") - } - field(FTVP, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALP") - } - field(FTVQ, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALQ") - } - field(FTVR, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALR") - } - field(FTVS, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALS") - } - field(FTVT, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALT") - } - field(FTVU, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALU") - } - field(NOVA, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALA") - } - field(NOVB, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALB") - } - field(NOVC, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALC") - } - field(NOVD, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALD") - } - field(NOVE, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALE") - } - field(NOVF, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALF") - } - field(NOVG, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALG") - } - field(NOVH, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VAlH") - } - field(NOVI, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALI") - } - field(NOVJ, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALJ") - } - field(NOVK, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALK") - } - field(NOVL, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALL") - } - field(NOVM, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALM") - } - field(NOVN, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALN") - } - field(NOVO, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALO") - } - field(NOVP, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALP") - } - field(NOVQ, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALQ") - } - field(NOVR, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALR") - } - field(NOVS, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALS") - } - field(NOVT, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALT") - } - field(NOVU, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALU") - } - field(NEVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALA") - } - field(NEVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALB") - } - field(NEVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALC") - } - field(NEVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALD") - } - field(NEVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALE") - } - field(NEVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALF") - } - field(NEVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALG") - } - field(NEVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VAlH") - } - field(NEVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALI") - } - field(NEVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALJ") - } - field(NEVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALK") - } - field(NEVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALL") - } - field(NEVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALM") - } - field(NEVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALN") - } - field(NEVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALO") - } - field(NEVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALP") - } - field(NEVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALQ") - } - field(NEVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALR") - } - field(NEVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALS") - } - field(NEVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALT") - } - field(NEVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALU") - } - field(ONVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLA") - } - field(ONVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLB") - } - field(ONVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLC") - } - field(ONVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLD") - } - field(ONVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLE") - } - field(ONVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLF") - } - field(ONVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLG") - } - field(ONVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in VAlH") - } - field(ONVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLI") - } - field(ONVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLJ") - } - field(ONVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLK") - } - field(ONVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLL") - } - field(ONVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLM") - } - field(ONVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLN") - } - field(ONVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLO") - } - field(ONVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLP") - } - field(ONVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLQ") - } - field(ONVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLR") - } - field(ONVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLS") - } - field(ONVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLT") - } - field(ONVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLU") - } -} -recordtype(sub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct subRecord; - %typedef long (*SUBFUNCPTR)(struct subRecord *); - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - asl(ASL0) - pp(TRUE) - prompt("Result") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Init Routine Name") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(40) - prompt("Subroutine Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("SUBFUNCPTR sadr") - interest(4) - prompt("Subroutine Address") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -recordtype(int64in) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64inRecord; - %typedef struct int64indset { - % dset common; - % long (*read_int64in)(struct int64inRecord *prec); - %} int64indset; - %#define HAS_int64indset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_INT64) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(int64in, CONSTANT, devI64inSoft, "Soft Channel") -device(int64in, CONSTANT, devI64inSoftCallback, "Async Soft Channel") -recordtype(ai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aiRecord; - %typedef struct aidset { - % dset common; - % long (*read_ai)(struct aiRecord *prec); - % long (*special_linconv)(struct aiRecord *prec, int after); - %} aidset; - %#define HAS_aidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current EGU Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(SMOO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - prompt("Smoothing") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("Raw to EGU Slope") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("Raw to EGU Offset") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(ai, CONSTANT, devAiSoft, "Soft Channel") -device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") -device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") -device(ai, INST_IO, devTimestampAI, "Soft Timestamp") -device(ai, INST_IO, devAiGeneralTime, "General Time") -device(ai, INST_IO, devAiStats, "IOC stats") -device(ai, INST_IO, devAiClusts, "IOC stats clusts") -device(ai, CONSTANT, devAiDBCLC, "DBCLC") -device(ai, CONSTANT, devAiDBDLC, "DBDLC") -device(ai, INST_IO, devSysMonAiStats, "sysmon") -recordtype(stringin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringinRecord; - %typedef struct stringindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_stringin)(struct stringinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} stringindset; - %#define HAS_stringindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_STRING) { - pp(TRUE) - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(stringin, CONSTANT, devSiSoft, "Soft Channel") -device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") -device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") -device(stringin, INST_IO, devSiGeneralTime, "General Time") -device(stringin, INST_IO, devSiEnviron, "getenv") -device(stringin, INST_IO, devStringinStats, "IOC stats") -device(stringin, INST_IO, devStringinEnvVar, "IOC env var") -device(stringin, INST_IO, devStringinEpics, "IOC epics var") -device(stringin, INST_IO, devSysMonSiStats, "sysmon") -link(state, lnkStateIf) -link(calc, lnkCalcIf) -link(trace, lnkTraceIf) -link(debug, lnkDebugIf) -link(const, lnkConstIf) -registrar(tsInitialize) -registrar(syncInitialize) -registrar(dbrestoreRegister) -registrar(iocSetLogLevelRegister) -registrar(save_restoreRegister) -registrar(decInitialize) -registrar(iocSetSimEnableRegister) -registrar(arrInitialize) -registrar(asInitHooksRegister) -registrar(dbndInitialize) -registrar(iocSetLogSyslogRegister) -registrar(configMenuRegistrar) -registrar(asSub) -registrar(iocSetLogStdoutRegister) -registrar(rsrvRegistrar) -registrar(iocSetLogInitRegister) -function(scanMon) -function(rebootProc) -function(scanMonInit) -variable(dbTemplateMaxVars, int) -variable(lnkDebug_debug, int) -variable(asCaDebug, int) -variable(callbackParallelThreadsDefault, int) -variable(save_restoreRemountThreshold, int) -variable(dbAccessDebugPUTF, int) -variable(dbRecordsOnceOnly, int) -variable(save_restoreDebug, int) -variable(save_restoreDatedBackupFiles, int) -variable(calcoutODLYlimit, double) -variable(configMenuDebug, int) -variable(save_restoreIncompleteSetsOk, int) -variable(dbBptNotMonotonic, int) -variable(atExitDebug, int) -variable(boHIGHlimit, double) -variable(dbJLinkDebug, int) -variable(dbConvertStrict, int) -variable(seqDLYprecision, int) -variable(logClientDebug, int) -variable(dbQuietMacroWarnings, int) -variable(save_restoreNumSeqFiles, int) -variable(boHIGHprecision, int) -variable(dbRecordsAbcSorted, int) -variable(seqDLYlimit, double) -variable(calcoutODLYprecision, int) -variable(histogramSDELprecision, int) -variable(dbThreadRealtimeLock, int) -variable(CASDEBUG, int) -variable(save_restoreSeqPeriodInSeconds, int) diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN deleted file mode 100755 index 888f6e1..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN.dbd.d b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN.dbd.d deleted file mode 100644 index 8887f28..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN.dbd.d +++ /dev/null @@ -1,122 +0,0 @@ -../O.Common/EC-GN.dbd: /opt/codac-6.3/epics/dbd/base.dbd \ - /opt/codac-6.3/epics/dbd/menuGlobal.dbd \ - /opt/codac-6.3/epics/dbd/menuAlarmSevr.dbd \ - /opt/codac-6.3/epics/dbd/menuAlarmStat.dbd \ - /opt/codac-6.3/epics/dbd/menuFtype.dbd \ - /opt/codac-6.3/epics/dbd/menuIvoa.dbd \ - /opt/codac-6.3/epics/dbd/menuOmsl.dbd \ - /opt/codac-6.3/epics/dbd/menuPini.dbd \ - /opt/codac-6.3/epics/dbd/menuPost.dbd \ - /opt/codac-6.3/epics/dbd/menuPriority.dbd \ - /opt/codac-6.3/epics/dbd/menuYesNo.dbd \ - /opt/codac-6.3/epics/dbd/menuSimm.dbd \ - /opt/codac-6.3/epics/dbd/menuConvert.dbd \ - /opt/codac-6.3/epics/dbd/menuScan.dbd \ - /opt/codac-6.3/epics/dbd/stdRecords.dbd \ - /opt/codac-6.3/epics/dbd/aaiRecord.dbd \ - /opt/codac-6.3/epics/dbd/dbCommon.dbd \ - /opt/codac-6.3/epics/dbd/aaoRecord.dbd \ - /opt/codac-6.3/epics/dbd/aiRecord.dbd \ - /opt/codac-6.3/epics/dbd/aoRecord.dbd \ - /opt/codac-6.3/epics/dbd/aSubRecord.dbd \ - /opt/codac-6.3/epics/dbd/biRecord.dbd \ - /opt/codac-6.3/epics/dbd/boRecord.dbd \ - /opt/codac-6.3/epics/dbd/calcRecord.dbd \ - /opt/codac-6.3/epics/dbd/calcoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/compressRecord.dbd \ - /opt/codac-6.3/epics/dbd/dfanoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/eventRecord.dbd \ - /opt/codac-6.3/epics/dbd/fanoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/histogramRecord.dbd \ - /opt/codac-6.3/epics/dbd/int64inRecord.dbd \ - /opt/codac-6.3/epics/dbd/int64outRecord.dbd \ - /opt/codac-6.3/epics/dbd/longinRecord.dbd \ - /opt/codac-6.3/epics/dbd/longoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/lsiRecord.dbd \ - /opt/codac-6.3/epics/dbd/lsoRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbbiRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbbiDirectRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbboRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbboDirectRecord.dbd \ - /opt/codac-6.3/epics/dbd/permissiveRecord.dbd \ - /opt/codac-6.3/epics/dbd/printfRecord.dbd \ - /opt/codac-6.3/epics/dbd/selRecord.dbd \ - /opt/codac-6.3/epics/dbd/seqRecord.dbd \ - /opt/codac-6.3/epics/dbd/stateRecord.dbd \ - /opt/codac-6.3/epics/dbd/stringinRecord.dbd \ - /opt/codac-6.3/epics/dbd/stringoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/subRecord.dbd \ - /opt/codac-6.3/epics/dbd/subArrayRecord.dbd \ - /opt/codac-6.3/epics/dbd/waveformRecord.dbd \ - /opt/codac-6.3/epics/dbd/filters.dbd \ - /opt/codac-6.3/epics/dbd/links.dbd \ - /opt/codac-6.3/epics/dbd/devSoft.dbd \ - /opt/codac-6.3/epics/dbd/asSub.dbd \ - /opt/codac-6.3/epics/dbd/dbCore.dbd \ - /opt/codac-6.3/epics/dbd/rsrv.dbd \ - /opt/codac-6.3/epics/dbd/std.dbd \ - /opt/codac-6.3/epics/dbd/autosave.dbd \ - /opt/codac-6.3/epics/dbd/iocmon.dbd \ - /opt/codac-6.3/epics/dbd/sysmon.dbd - -/opt/codac-6.3/epics/dbd/base.dbd: -/opt/codac-6.3/epics/dbd/menuGlobal.dbd: -/opt/codac-6.3/epics/dbd/menuAlarmSevr.dbd: -/opt/codac-6.3/epics/dbd/menuAlarmStat.dbd: -/opt/codac-6.3/epics/dbd/menuFtype.dbd: -/opt/codac-6.3/epics/dbd/menuIvoa.dbd: -/opt/codac-6.3/epics/dbd/menuOmsl.dbd: -/opt/codac-6.3/epics/dbd/menuPini.dbd: -/opt/codac-6.3/epics/dbd/menuPost.dbd: -/opt/codac-6.3/epics/dbd/menuPriority.dbd: -/opt/codac-6.3/epics/dbd/menuYesNo.dbd: -/opt/codac-6.3/epics/dbd/menuSimm.dbd: -/opt/codac-6.3/epics/dbd/menuConvert.dbd: -/opt/codac-6.3/epics/dbd/menuScan.dbd: -/opt/codac-6.3/epics/dbd/stdRecords.dbd: -/opt/codac-6.3/epics/dbd/aaiRecord.dbd: -/opt/codac-6.3/epics/dbd/dbCommon.dbd: -/opt/codac-6.3/epics/dbd/aaoRecord.dbd: -/opt/codac-6.3/epics/dbd/aiRecord.dbd: -/opt/codac-6.3/epics/dbd/aoRecord.dbd: -/opt/codac-6.3/epics/dbd/aSubRecord.dbd: -/opt/codac-6.3/epics/dbd/biRecord.dbd: -/opt/codac-6.3/epics/dbd/boRecord.dbd: -/opt/codac-6.3/epics/dbd/calcRecord.dbd: -/opt/codac-6.3/epics/dbd/calcoutRecord.dbd: -/opt/codac-6.3/epics/dbd/compressRecord.dbd: -/opt/codac-6.3/epics/dbd/dfanoutRecord.dbd: -/opt/codac-6.3/epics/dbd/eventRecord.dbd: -/opt/codac-6.3/epics/dbd/fanoutRecord.dbd: -/opt/codac-6.3/epics/dbd/histogramRecord.dbd: -/opt/codac-6.3/epics/dbd/int64inRecord.dbd: -/opt/codac-6.3/epics/dbd/int64outRecord.dbd: -/opt/codac-6.3/epics/dbd/longinRecord.dbd: -/opt/codac-6.3/epics/dbd/longoutRecord.dbd: -/opt/codac-6.3/epics/dbd/lsiRecord.dbd: -/opt/codac-6.3/epics/dbd/lsoRecord.dbd: -/opt/codac-6.3/epics/dbd/mbbiRecord.dbd: -/opt/codac-6.3/epics/dbd/mbbiDirectRecord.dbd: -/opt/codac-6.3/epics/dbd/mbboRecord.dbd: -/opt/codac-6.3/epics/dbd/mbboDirectRecord.dbd: -/opt/codac-6.3/epics/dbd/permissiveRecord.dbd: -/opt/codac-6.3/epics/dbd/printfRecord.dbd: -/opt/codac-6.3/epics/dbd/selRecord.dbd: -/opt/codac-6.3/epics/dbd/seqRecord.dbd: -/opt/codac-6.3/epics/dbd/stateRecord.dbd: -/opt/codac-6.3/epics/dbd/stringinRecord.dbd: -/opt/codac-6.3/epics/dbd/stringoutRecord.dbd: -/opt/codac-6.3/epics/dbd/subRecord.dbd: -/opt/codac-6.3/epics/dbd/subArrayRecord.dbd: -/opt/codac-6.3/epics/dbd/waveformRecord.dbd: -/opt/codac-6.3/epics/dbd/filters.dbd: -/opt/codac-6.3/epics/dbd/links.dbd: -/opt/codac-6.3/epics/dbd/devSoft.dbd: -/opt/codac-6.3/epics/dbd/asSub.dbd: -/opt/codac-6.3/epics/dbd/dbCore.dbd: -/opt/codac-6.3/epics/dbd/rsrv.dbd: -/opt/codac-6.3/epics/dbd/std.dbd: -/opt/codac-6.3/epics/dbd/autosave.dbd: -/opt/codac-6.3/epics/dbd/iocmon.dbd: -/opt/codac-6.3/epics/dbd/sysmon.dbd: -../O.Common/EC-GN.dbd: ../Makefile diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GNMain.d b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GNMain.d deleted file mode 100644 index 6f193c6..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GNMain.d +++ /dev/null @@ -1,16 +0,0 @@ -EC-GNMain.o: ../EC-GNMain.cpp /opt/codac-6.3/epics/include/epicsExit.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/epicsThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/os/Linux/osdEvent.h \ - /opt/codac-6.3/epics/include/epicsMutex.h \ - /opt/codac-6.3/epics/include/epicsAssert.h \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/compiler/gcc/compilerSpecific.h \ - /opt/codac-6.3/epics/include/epicsGuard.h \ - /opt/codac-6.3/epics/include/os/Linux/osdMutex.h \ - /opt/codac-6.3/epics/include/os/Linux/osdThread.h \ - /opt/codac-6.3/epics/include/ellLib.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/iocsh.h diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GNMain.o b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GNMain.o deleted file mode 100644 index 005701b..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GNMain.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN_registerRecordDeviceDriver.cpp b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN_registerRecordDeviceDriver.cpp deleted file mode 100644 index c3fe39f..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN_registerRecordDeviceDriver.cpp +++ /dev/null @@ -1,356 +0,0 @@ -/* THIS IS A GENERATED FILE. DO NOT EDIT! */ -/* Generated from ../O.Common/EC-GN.dbd */ - -#include -#ifndef USE_TYPED_RSET -# define USE_TYPED_RSET -#endif -#include "compilerDependencies.h" -#include "epicsStdlib.h" -#include "iocsh.h" -#include "iocshRegisterCommon.h" -#include "registryCommon.h" -#include "recSup.h" - -extern "C" { - -epicsShareExtern typed_rset *pvar_rset_aSubRSET, *pvar_rset_aaiRSET, - *pvar_rset_aaoRSET, *pvar_rset_aiRSET, *pvar_rset_aoRSET, - *pvar_rset_biRSET, *pvar_rset_boRSET, *pvar_rset_calcRSET, - *pvar_rset_calcoutRSET, *pvar_rset_compressRSET, - *pvar_rset_dfanoutRSET, *pvar_rset_epidRSET, *pvar_rset_eventRSET, - *pvar_rset_fanoutRSET, *pvar_rset_histogramRSET, - *pvar_rset_int64inRSET, *pvar_rset_int64outRSET, - *pvar_rset_longinRSET, *pvar_rset_longoutRSET, *pvar_rset_lsiRSET, - *pvar_rset_lsoRSET, *pvar_rset_mbbiRSET, *pvar_rset_mbbiDirectRSET, - *pvar_rset_mbboRSET, *pvar_rset_mbboDirectRSET, - *pvar_rset_permissiveRSET, *pvar_rset_printfRSET, *pvar_rset_selRSET, - *pvar_rset_seqRSET, *pvar_rset_stateRSET, *pvar_rset_stringinRSET, - *pvar_rset_stringoutRSET, *pvar_rset_subRSET, *pvar_rset_subArrayRSET, - *pvar_rset_timestampRSET, *pvar_rset_waveformRSET; - -typedef int (*rso_func)(dbRecordType *pdbRecordType); -epicsShareExtern rso_func pvar_func_aSubRecordSizeOffset, - pvar_func_aaiRecordSizeOffset, pvar_func_aaoRecordSizeOffset, - pvar_func_aiRecordSizeOffset, pvar_func_aoRecordSizeOffset, - pvar_func_biRecordSizeOffset, pvar_func_boRecordSizeOffset, - pvar_func_calcRecordSizeOffset, pvar_func_calcoutRecordSizeOffset, - pvar_func_compressRecordSizeOffset, pvar_func_dfanoutRecordSizeOffset, - pvar_func_epidRecordSizeOffset, pvar_func_eventRecordSizeOffset, - pvar_func_fanoutRecordSizeOffset, pvar_func_histogramRecordSizeOffset, - pvar_func_int64inRecordSizeOffset, pvar_func_int64outRecordSizeOffset, - pvar_func_longinRecordSizeOffset, pvar_func_longoutRecordSizeOffset, - pvar_func_lsiRecordSizeOffset, pvar_func_lsoRecordSizeOffset, - pvar_func_mbbiRecordSizeOffset, pvar_func_mbbiDirectRecordSizeOffset, - pvar_func_mbboRecordSizeOffset, pvar_func_mbboDirectRecordSizeOffset, - pvar_func_permissiveRecordSizeOffset, - pvar_func_printfRecordSizeOffset, pvar_func_selRecordSizeOffset, - pvar_func_seqRecordSizeOffset, pvar_func_stateRecordSizeOffset, - pvar_func_stringinRecordSizeOffset, - pvar_func_stringoutRecordSizeOffset, pvar_func_subRecordSizeOffset, - pvar_func_subArrayRecordSizeOffset, - pvar_func_timestampRecordSizeOffset, - pvar_func_waveformRecordSizeOffset; - -static const char * const recordTypeNames[] = { - "aSub", "aai", "aao", "ai", "ao", "bi", "bo", "calc", "calcout", - "compress", "dfanout", "epid", "event", "fanout", "histogram", - "int64in", "int64out", "longin", "longout", "lsi", "lso", "mbbi", - "mbbiDirect", "mbbo", "mbboDirect", "permissive", "printf", "sel", - "seq", "state", "stringin", "stringout", "sub", "subArray", - "timestamp", "waveform" -}; - -static const recordTypeLocation rtl[] = { - {(struct typed_rset *)pvar_rset_aSubRSET, pvar_func_aSubRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aaiRSET, pvar_func_aaiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aaoRSET, pvar_func_aaoRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aiRSET, pvar_func_aiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aoRSET, pvar_func_aoRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_biRSET, pvar_func_biRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_boRSET, pvar_func_boRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_calcRSET, pvar_func_calcRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_calcoutRSET, pvar_func_calcoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_compressRSET, pvar_func_compressRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_dfanoutRSET, pvar_func_dfanoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_epidRSET, pvar_func_epidRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_eventRSET, pvar_func_eventRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_fanoutRSET, pvar_func_fanoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_histogramRSET, pvar_func_histogramRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_int64inRSET, pvar_func_int64inRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_int64outRSET, pvar_func_int64outRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_longinRSET, pvar_func_longinRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_longoutRSET, pvar_func_longoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_lsiRSET, pvar_func_lsiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_lsoRSET, pvar_func_lsoRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbbiRSET, pvar_func_mbbiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbbiDirectRSET, pvar_func_mbbiDirectRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbboRSET, pvar_func_mbboRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbboDirectRSET, pvar_func_mbboDirectRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_permissiveRSET, pvar_func_permissiveRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_printfRSET, pvar_func_printfRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_selRSET, pvar_func_selRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_seqRSET, pvar_func_seqRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_stateRSET, pvar_func_stateRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_stringinRSET, pvar_func_stringinRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_stringoutRSET, pvar_func_stringoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_subRSET, pvar_func_subRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_subArrayRSET, pvar_func_subArrayRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_timestampRSET, pvar_func_timestampRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_waveformRSET, pvar_func_waveformRecordSizeOffset} -}; - -epicsShareExtern dset *pvar_dset_devAaiSoft, *pvar_dset_devAaoSoft, - *pvar_dset_devAiSoft, *pvar_dset_devAiSoftRaw, - *pvar_dset_devAiSoftCallback, *pvar_dset_devTimestampAI, - *pvar_dset_devAiGeneralTime, *pvar_dset_devAiStats, - *pvar_dset_devAiClusts, *pvar_dset_devAiDBCLC, *pvar_dset_devAiDBDLC, - *pvar_dset_devSysMonAiStats, *pvar_dset_devAoSoft, - *pvar_dset_devAoSoftRaw, *pvar_dset_devAoSoftCallback, - *pvar_dset_devAoStats, *pvar_dset_devBiSoft, *pvar_dset_devBiSoftRaw, - *pvar_dset_devBiSoftCallback, *pvar_dset_devBiDbState, - *pvar_dset_devBoSoft, *pvar_dset_devBoSoftRaw, - *pvar_dset_devBoSoftCallback, *pvar_dset_devBoGeneralTime, - *pvar_dset_devBoDbState, *pvar_dset_devBoSimulation, - *pvar_dset_devCalcoutSoft, *pvar_dset_devCalcoutSoftCallback, - *pvar_dset_devEpidSoft, *pvar_dset_devEpidSoftCB, - *pvar_dset_devEventSoft, *pvar_dset_devHistogramSoft, - *pvar_dset_devI64inSoft, *pvar_dset_devI64inSoftCallback, - *pvar_dset_devI64outSoft, *pvar_dset_devI64outSoftCallback, - *pvar_dset_devLiSoft, *pvar_dset_devLiSoftCallback, - *pvar_dset_devLiGeneralTime, *pvar_dset_devLoSoft, - *pvar_dset_devLoSoftCallback, *pvar_dset_devLsiSoft, - *pvar_dset_devLsiEnviron, *pvar_dset_devLsiStats, - *pvar_dset_devLsoSoft, *pvar_dset_devLsoSoftCallback, - *pvar_dset_devLsoStdio, *pvar_dset_devMbbiSoft, - *pvar_dset_devMbbiSoftRaw, *pvar_dset_devMbbiSoftCallback, - *pvar_dset_devSysMonMbbiStats, *pvar_dset_devMbbiDirectSoft, - *pvar_dset_devMbbiDirectSoftRaw, *pvar_dset_devMbbiDirectSoftCallback, - *pvar_dset_devSysMonMbbiDirectStats, *pvar_dset_devMbboSoft, - *pvar_dset_devMbboSoftRaw, *pvar_dset_devMbboSoftCallback, - *pvar_dset_devMbboDirectSoft, *pvar_dset_devMbboDirectSoftRaw, - *pvar_dset_devMbboDirectSoftCallback, *pvar_dset_devPrintfSoft, - *pvar_dset_devPrintfSoftCallback, *pvar_dset_devPrintfStdio, - *pvar_dset_devSiSoft, *pvar_dset_devSiSoftCallback, - *pvar_dset_devTimestampSI, *pvar_dset_devSiGeneralTime, - *pvar_dset_devSiEnviron, *pvar_dset_devStringinStats, - *pvar_dset_devStringinEnvVar, *pvar_dset_devStringinEpics, - *pvar_dset_devSysMonSiStats, *pvar_dset_devSoSoft, - *pvar_dset_devSoSoftCallback, *pvar_dset_devSoStdio, - *pvar_dset_devSASoft, *pvar_dset_devWfSoft, - *pvar_dset_devWaveformStats, *pvar_dset_devSysMonWaveStats; - -static const char * const deviceSupportNames[] = { - "devAaiSoft", "devAaoSoft", "devAiSoft", "devAiSoftRaw", - "devAiSoftCallback", "devTimestampAI", "devAiGeneralTime", - "devAiStats", "devAiClusts", "devAiDBCLC", "devAiDBDLC", - "devSysMonAiStats", "devAoSoft", "devAoSoftRaw", "devAoSoftCallback", - "devAoStats", "devBiSoft", "devBiSoftRaw", "devBiSoftCallback", - "devBiDbState", "devBoSoft", "devBoSoftRaw", "devBoSoftCallback", - "devBoGeneralTime", "devBoDbState", "devBoSimulation", - "devCalcoutSoft", "devCalcoutSoftCallback", "devEpidSoft", - "devEpidSoftCB", "devEventSoft", "devHistogramSoft", "devI64inSoft", - "devI64inSoftCallback", "devI64outSoft", "devI64outSoftCallback", - "devLiSoft", "devLiSoftCallback", "devLiGeneralTime", "devLoSoft", - "devLoSoftCallback", "devLsiSoft", "devLsiEnviron", "devLsiStats", - "devLsoSoft", "devLsoSoftCallback", "devLsoStdio", "devMbbiSoft", - "devMbbiSoftRaw", "devMbbiSoftCallback", "devSysMonMbbiStats", - "devMbbiDirectSoft", "devMbbiDirectSoftRaw", - "devMbbiDirectSoftCallback", "devSysMonMbbiDirectStats", - "devMbboSoft", "devMbboSoftRaw", "devMbboSoftCallback", - "devMbboDirectSoft", "devMbboDirectSoftRaw", - "devMbboDirectSoftCallback", "devPrintfSoft", "devPrintfSoftCallback", - "devPrintfStdio", "devSiSoft", "devSiSoftCallback", "devTimestampSI", - "devSiGeneralTime", "devSiEnviron", "devStringinStats", - "devStringinEnvVar", "devStringinEpics", "devSysMonSiStats", - "devSoSoft", "devSoSoftCallback", "devSoStdio", "devSASoft", - "devWfSoft", "devWaveformStats", "devSysMonWaveStats" -}; - -static const dset * const devsl[] = { - pvar_dset_devAaiSoft, pvar_dset_devAaoSoft, pvar_dset_devAiSoft, - pvar_dset_devAiSoftRaw, pvar_dset_devAiSoftCallback, - pvar_dset_devTimestampAI, pvar_dset_devAiGeneralTime, - pvar_dset_devAiStats, pvar_dset_devAiClusts, pvar_dset_devAiDBCLC, - pvar_dset_devAiDBDLC, pvar_dset_devSysMonAiStats, pvar_dset_devAoSoft, - pvar_dset_devAoSoftRaw, pvar_dset_devAoSoftCallback, - pvar_dset_devAoStats, pvar_dset_devBiSoft, pvar_dset_devBiSoftRaw, - pvar_dset_devBiSoftCallback, pvar_dset_devBiDbState, - pvar_dset_devBoSoft, pvar_dset_devBoSoftRaw, - pvar_dset_devBoSoftCallback, pvar_dset_devBoGeneralTime, - pvar_dset_devBoDbState, pvar_dset_devBoSimulation, - pvar_dset_devCalcoutSoft, pvar_dset_devCalcoutSoftCallback, - pvar_dset_devEpidSoft, pvar_dset_devEpidSoftCB, - pvar_dset_devEventSoft, pvar_dset_devHistogramSoft, - pvar_dset_devI64inSoft, pvar_dset_devI64inSoftCallback, - pvar_dset_devI64outSoft, pvar_dset_devI64outSoftCallback, - pvar_dset_devLiSoft, pvar_dset_devLiSoftCallback, - pvar_dset_devLiGeneralTime, pvar_dset_devLoSoft, - pvar_dset_devLoSoftCallback, pvar_dset_devLsiSoft, - pvar_dset_devLsiEnviron, pvar_dset_devLsiStats, pvar_dset_devLsoSoft, - pvar_dset_devLsoSoftCallback, pvar_dset_devLsoStdio, - pvar_dset_devMbbiSoft, pvar_dset_devMbbiSoftRaw, - pvar_dset_devMbbiSoftCallback, pvar_dset_devSysMonMbbiStats, - pvar_dset_devMbbiDirectSoft, pvar_dset_devMbbiDirectSoftRaw, - pvar_dset_devMbbiDirectSoftCallback, - pvar_dset_devSysMonMbbiDirectStats, pvar_dset_devMbboSoft, - pvar_dset_devMbboSoftRaw, pvar_dset_devMbboSoftCallback, - pvar_dset_devMbboDirectSoft, pvar_dset_devMbboDirectSoftRaw, - pvar_dset_devMbboDirectSoftCallback, pvar_dset_devPrintfSoft, - pvar_dset_devPrintfSoftCallback, pvar_dset_devPrintfStdio, - pvar_dset_devSiSoft, pvar_dset_devSiSoftCallback, - pvar_dset_devTimestampSI, pvar_dset_devSiGeneralTime, - pvar_dset_devSiEnviron, pvar_dset_devStringinStats, - pvar_dset_devStringinEnvVar, pvar_dset_devStringinEpics, - pvar_dset_devSysMonSiStats, pvar_dset_devSoSoft, - pvar_dset_devSoSoftCallback, pvar_dset_devSoStdio, - pvar_dset_devSASoft, pvar_dset_devWfSoft, pvar_dset_devWaveformStats, - pvar_dset_devSysMonWaveStats -}; - -epicsShareExtern jlif *pvar_jlif_lnkCalcIf, *pvar_jlif_lnkConstIf, - *pvar_jlif_lnkDebugIf, *pvar_jlif_lnkStateIf, *pvar_jlif_lnkTraceIf; - -static struct jlif *jlifsl[] = { - pvar_jlif_lnkCalcIf, - pvar_jlif_lnkConstIf, - pvar_jlif_lnkDebugIf, - pvar_jlif_lnkStateIf, - pvar_jlif_lnkTraceIf}; - -typedef void (*reg_func)(void); -epicsShareExtern reg_func pvar_func_arrInitialize, - pvar_func_asInitHooksRegister, pvar_func_asSub, - pvar_func_configMenuRegistrar, pvar_func_dbndInitialize, - pvar_func_dbrestoreRegister, pvar_func_decInitialize, - pvar_func_iocSetLogInitRegister, pvar_func_iocSetLogLevelRegister, - pvar_func_iocSetLogStdoutRegister, pvar_func_iocSetLogSyslogRegister, - pvar_func_iocSetSimEnableRegister, pvar_func_rsrvRegistrar, - pvar_func_save_restoreRegister, pvar_func_syncInitialize, - pvar_func_tsInitialize, pvar_func_register_func_rebootProc, - pvar_func_register_func_scanMon, pvar_func_register_func_scanMonInit; - -epicsShareExtern int * const pvar_int_CASDEBUG; -epicsShareExtern int * const pvar_int_asCaDebug; -epicsShareExtern int * const pvar_int_atExitDebug; -epicsShareExtern double * const pvar_double_boHIGHlimit; -epicsShareExtern int * const pvar_int_boHIGHprecision; -epicsShareExtern double * const pvar_double_calcoutODLYlimit; -epicsShareExtern int * const pvar_int_calcoutODLYprecision; -epicsShareExtern int * const pvar_int_callbackParallelThreadsDefault; -epicsShareExtern int * const pvar_int_configMenuDebug; -epicsShareExtern int * const pvar_int_dbAccessDebugPUTF; -epicsShareExtern int * const pvar_int_dbBptNotMonotonic; -epicsShareExtern int * const pvar_int_dbConvertStrict; -epicsShareExtern int * const pvar_int_dbJLinkDebug; -epicsShareExtern int * const pvar_int_dbQuietMacroWarnings; -epicsShareExtern int * const pvar_int_dbRecordsAbcSorted; -epicsShareExtern int * const pvar_int_dbRecordsOnceOnly; -epicsShareExtern int * const pvar_int_dbTemplateMaxVars; -epicsShareExtern int * const pvar_int_dbThreadRealtimeLock; -epicsShareExtern int * const pvar_int_histogramSDELprecision; -epicsShareExtern int * const pvar_int_lnkDebug_debug; -epicsShareExtern int * const pvar_int_logClientDebug; -epicsShareExtern int * const pvar_int_save_restoreDatedBackupFiles; -epicsShareExtern int * const pvar_int_save_restoreDebug; -epicsShareExtern int * const pvar_int_save_restoreIncompleteSetsOk; -epicsShareExtern int * const pvar_int_save_restoreNumSeqFiles; -epicsShareExtern int * const pvar_int_save_restoreRemountThreshold; -epicsShareExtern int * const pvar_int_save_restoreSeqPeriodInSeconds; -epicsShareExtern double * const pvar_double_seqDLYlimit; -epicsShareExtern int * const pvar_int_seqDLYprecision; - -static struct iocshVarDef vardefs[] = { - {"CASDEBUG", iocshArgInt, pvar_int_CASDEBUG}, - {"asCaDebug", iocshArgInt, pvar_int_asCaDebug}, - {"atExitDebug", iocshArgInt, pvar_int_atExitDebug}, - {"boHIGHlimit", iocshArgDouble, pvar_double_boHIGHlimit}, - {"boHIGHprecision", iocshArgInt, pvar_int_boHIGHprecision}, - {"calcoutODLYlimit", iocshArgDouble, pvar_double_calcoutODLYlimit}, - {"calcoutODLYprecision", iocshArgInt, pvar_int_calcoutODLYprecision}, - {"callbackParallelThreadsDefault", iocshArgInt, pvar_int_callbackParallelThreadsDefault}, - {"configMenuDebug", iocshArgInt, pvar_int_configMenuDebug}, - {"dbAccessDebugPUTF", iocshArgInt, pvar_int_dbAccessDebugPUTF}, - {"dbBptNotMonotonic", iocshArgInt, pvar_int_dbBptNotMonotonic}, - {"dbConvertStrict", iocshArgInt, pvar_int_dbConvertStrict}, - {"dbJLinkDebug", iocshArgInt, pvar_int_dbJLinkDebug}, - {"dbQuietMacroWarnings", iocshArgInt, pvar_int_dbQuietMacroWarnings}, - {"dbRecordsAbcSorted", iocshArgInt, pvar_int_dbRecordsAbcSorted}, - {"dbRecordsOnceOnly", iocshArgInt, pvar_int_dbRecordsOnceOnly}, - {"dbTemplateMaxVars", iocshArgInt, pvar_int_dbTemplateMaxVars}, - {"dbThreadRealtimeLock", iocshArgInt, pvar_int_dbThreadRealtimeLock}, - {"histogramSDELprecision", iocshArgInt, pvar_int_histogramSDELprecision}, - {"lnkDebug_debug", iocshArgInt, pvar_int_lnkDebug_debug}, - {"logClientDebug", iocshArgInt, pvar_int_logClientDebug}, - {"save_restoreDatedBackupFiles", iocshArgInt, pvar_int_save_restoreDatedBackupFiles}, - {"save_restoreDebug", iocshArgInt, pvar_int_save_restoreDebug}, - {"save_restoreIncompleteSetsOk", iocshArgInt, pvar_int_save_restoreIncompleteSetsOk}, - {"save_restoreNumSeqFiles", iocshArgInt, pvar_int_save_restoreNumSeqFiles}, - {"save_restoreRemountThreshold", iocshArgInt, pvar_int_save_restoreRemountThreshold}, - {"save_restoreSeqPeriodInSeconds", iocshArgInt, pvar_int_save_restoreSeqPeriodInSeconds}, - {"seqDLYlimit", iocshArgDouble, pvar_double_seqDLYlimit}, - {"seqDLYprecision", iocshArgInt, pvar_int_seqDLYprecision}, - {NULL, iocshArgInt, NULL} -}; - -int EC_GN_registerRecordDeviceDriver(DBBASE *pbase) -{ - static int executed = 0; - if (!pbase) { - printf("pdbbase is NULL; you must load a DBD file first.\n"); - return -1; - } - - if (executed) { - printf("Warning: Registration already done.\n"); - } - executed = 1; - - registerRecordTypes(pbase, NELEMENTS(rtl), recordTypeNames, rtl); - registerDevices(pbase, NELEMENTS(devsl), deviceSupportNames, devsl); - registerJLinks(pbase, NELEMENTS(jlifsl), jlifsl); - pvar_func_arrInitialize(); - pvar_func_asInitHooksRegister(); - pvar_func_asSub(); - pvar_func_configMenuRegistrar(); - pvar_func_dbndInitialize(); - pvar_func_dbrestoreRegister(); - pvar_func_decInitialize(); - pvar_func_iocSetLogInitRegister(); - pvar_func_iocSetLogLevelRegister(); - pvar_func_iocSetLogStdoutRegister(); - pvar_func_iocSetLogSyslogRegister(); - pvar_func_iocSetSimEnableRegister(); - pvar_func_rsrvRegistrar(); - pvar_func_save_restoreRegister(); - pvar_func_syncInitialize(); - pvar_func_tsInitialize(); - pvar_func_register_func_rebootProc(); - pvar_func_register_func_scanMon(); - pvar_func_register_func_scanMonInit(); - iocshRegisterVariable(vardefs); - return 0; -} - -/* EC_GN_registerRecordDeviceDriver */ -static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase}; -static const iocshArg *rrddArgs[] = {&rrddArg0}; -static const iocshFuncDef rrddFuncDef = - {"EC_GN_registerRecordDeviceDriver", 1, rrddArgs}; -static void rrddCallFunc(const iocshArgBuf *) -{ - iocshSetError(EC_GN_registerRecordDeviceDriver(*iocshPpdbbase)); -} - -} // extern "C" - -/* - * Register commands on application startup - */ -static int Registration() { - iocshRegisterCommon(); - iocshRegister(&rrddFuncDef, rrddCallFunc); - return 0; -} - -static int done EPICS_UNUSED = Registration(); diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN_registerRecordDeviceDriver.d b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN_registerRecordDeviceDriver.d deleted file mode 100644 index d23c55d..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN_registerRecordDeviceDriver.d +++ /dev/null @@ -1,26 +0,0 @@ -EC-GN_registerRecordDeviceDriver.o: EC-GN_registerRecordDeviceDriver.cpp \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/compiler/gcc/compilerSpecific.h \ - /opt/codac-6.3/epics/include/epicsStdlib.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/os/Linux/osdStrtod.h \ - /opt/codac-6.3/epics/include/epicsTypes.h \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/errMdef.h \ - /opt/codac-6.3/epics/include/iocsh.h \ - /opt/codac-6.3/epics/include/iocshRegisterCommon.h \ - /opt/codac-6.3/epics/include/shareLib.h \ - /opt/codac-6.3/epics/include/registryCommon.h \ - /opt/codac-6.3/epics/include/dbStaticLib.h \ - /opt/codac-6.3/epics/include/dbFldTypes.h \ - /opt/codac-6.3/epics/include/dbBase.h \ - /opt/codac-6.3/epics/include/ellLib.h \ - /opt/codac-6.3/epics/include/dbDefs.h \ - /opt/codac-6.3/epics/include/recSup.h \ - /opt/codac-6.3/epics/include/devSup.h \ - /opt/codac-6.3/epics/include/link.h \ - /opt/codac-6.3/epics/include/cantProceed.h \ - /opt/codac-6.3/epics/include/dbJLink.h \ - /opt/codac-6.3/epics/include/dbCoreAPI.h \ - /opt/codac-6.3/epics/include/registryRecordType.h \ - /opt/codac-6.3/epics/include/recSup.h diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN_registerRecordDeviceDriver.o b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN_registerRecordDeviceDriver.o deleted file mode 100644 index 3d115aa..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/EC-GN_registerRecordDeviceDriver.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/Makefile b/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/Makefile deleted file mode 100644 index 757ce21..0000000 --- a/EC-GN-JA-PCF/target/main/epics/EC-GNApp/src/O.linux-x86_64/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -#This Makefile created by makeMakefile.pl - - -all : - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -.DEFAULT: force - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -force: ; diff --git a/EC-GN-JA-PCF/target/main/epics/Makefile b/EC-GN-JA-PCF/target/main/epics/Makefile deleted file mode 100644 index 5c6175c..0000000 --- a/EC-GN-JA-PCF/target/main/epics/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -# Makefile at top of application tree -TOP = . -include $(TOP)/configure/CONFIG - -# Directories to build, any order -DIRS += configure -DIRS += $(wildcard *Sup) -DIRS += $(wildcard *App) -DIRS += $(wildcard *Top) -DIRS += $(wildcard iocBoot) - -# The build order is controlled by these dependency rules: - -# All dirs except configure depend on configure -$(foreach dir, $(filter-out configure, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += configure)) - -# Any *App dirs depend on all *SharedTemplateApp dirs -$(foreach dir, $(filter-out %SharedTemplateApp, $(filter %App, $(DIRS))), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %SharedTemplateApp, $(DIRS)))) - -# Any *App dirs depend on all *Sup dirs -$(foreach dir, $(filter %App, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %Sup, $(DIRS)))) - -# Any *Top dirs depend on all *Sup and *App dirs -$(foreach dir, $(filter %Top, $(DIRS)), \ - $(eval $(dir)_DEPEND_DIRS += $(filter %Sup %App, $(DIRS)))) - -# iocBoot depends on all *App dirs -iocBoot_DEPEND_DIRS += $(filter %App,$(DIRS)) - -# Add any additional dependency rules here: - -include $(TOP)/configure/RULES_TOP diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/.appdesc b/EC-GN-JA-PCF/target/main/epics/PLCApp/.appdesc deleted file mode 100644 index df999dd..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/.appdesc +++ /dev/null @@ -1 +0,0 @@ -generic \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/Db/Makefile b/EC-GN-JA-PCF/target/main/epics/PLCApp/Db/Makefile deleted file mode 100644 index 3ef937f..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/Db/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -TOP=../.. -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE - -#---------------------------------------------------- -# Optimization of db files using dbst (DEFAULT: NO) -#DB_OPT = YES - -#---------------------------------------------------- -# Create and install (or just install) -# databases, templates, substitutions like this - - -# Automagically install .proto files -DB += $(notdir $(wildcard ../*.proto)) - -#---------------------------------------------------- -# If .db template is not named *.template add -# _TEMPLATE = - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/Db/O.linux-x86_64/Makefile b/EC-GN-JA-PCF/target/main/epics/PLCApp/Db/O.linux-x86_64/Makefile deleted file mode 100644 index 757ce21..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/Db/O.linux-x86_64/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -#This Makefile created by makeMakefile.pl - - -all : - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -.DEFAULT: force - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -force: ; diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/Makefile b/EC-GN-JA-PCF/target/main/epics/PLCApp/Makefile deleted file mode 100644 index 6504a77..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericApp/Makefile $ -# $Id: Makefile 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : Makefile -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== -TOP = .. -include $(TOP)/configure/CONFIG -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) -DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) -include $(TOP)/configure/RULES_DIRS - diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/Makefile b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/Makefile deleted file mode 100644 index c78bf18..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -TOP=../.. - -include $(TOP)/configure/CONFIG -#---------------------------------------- -# ADD MACRO DEFINITIONS AFTER THIS LINE -#======================================== - -#======================================== -# Build the IOC application - -PROD_IOC = PLC -# PLC.dbd will be created and installed -DBD += PLC.dbd - -# PLC.dbd will be made up from these files: --include $(EPICS_ROOT)/mk/codac-common.mk - - -# Add all the support libraries needed by this IOC --include $(EPICS_ROOT)/mk/asyn.mk --include $(EPICS_ROOT)/mk/s7PLCAsyn.mk - -PLC_DBD += $(CODAC_DBD) -PLC_LIBS += $(CODAC_LIBS) - -# # SNCSEQ -# _SNCFLAGS += +r -c +d -# PLC_DBD += .dbd -# PLC_SRCS += .stt -# PLC_LIBS += seq pv - - -# PLC_registerRecordDeviceDriver.cpp derives from PLC.dbd -PLC_SRCS += PLC_registerRecordDeviceDriver.cpp - -# Build the main IOC entry point on workstation OSs. -PLC_SRCS_DEFAULT += PLCMain.cpp -PLC_SRCS_vxWorks += -nil- - -# Add support from base/src/vxWorks if needed -#PLC_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary - -#============================= -# Include SNL program makefile snippets - --include ../*.snlprog - -#============================= - - -# Finally link to the EPICS Base libraries -PLC_LIBS += $(EPICS_BASE_IOC_LIBS) - -#=========================== - -include $(TOP)/configure/RULES -#---------------------------------------- -# ADD RULES AFTER THIS LINE -#---------------------------------------- diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.Common/PLC.dbd b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.Common/PLC.dbd deleted file mode 100644 index fcba839..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.Common/PLC.dbd +++ /dev/null @@ -1,19604 +0,0 @@ -menu(serialPRTY) { - choice(serialPRTY_unknown, "Unknown") - choice(serialPRTY_None, "None") - choice(serialPRTY_Even, "Even") - choice(serialPRTY_Odd, "Odd") -} -menu(waveformPOST) { - choice(waveformPOST_Always, "Always") - choice(waveformPOST_OnChange, "On Change") -} -menu(aaoPOST) { - choice(aaoPOST_Always, "Always") - choice(aaoPOST_OnChange, "On Change") -} -menu(menuPriority) { - choice(menuPriorityLOW, "LOW") - choice(menuPriorityMEDIUM, "MEDIUM") - choice(menuPriorityHIGH, "HIGH") -} -menu(serialSBIT) { - choice(serialSBIT_unknown, "Unknown") - choice(serialSBIT_1, "1") - choice(serialSBIT_2, "2") -} -menu(calcoutDOPT) { - choice(calcoutDOPT_Use_VAL, "Use CALC") - choice(calcoutDOPT_Use_OVAL, "Use OCAL") -} -menu(menuOmsl) { - choice(menuOmslsupervisory, "supervisory") - choice(menuOmslclosed_loop, "closed_loop") -} -menu(menuFtype) { - choice(menuFtypeSTRING, "STRING") - choice(menuFtypeCHAR, "CHAR") - choice(menuFtypeUCHAR, "UCHAR") - choice(menuFtypeSHORT, "SHORT") - choice(menuFtypeUSHORT, "USHORT") - choice(menuFtypeLONG, "LONG") - choice(menuFtypeULONG, "ULONG") - choice(menuFtypeINT64, "INT64") - choice(menuFtypeUINT64, "UINT64") - choice(menuFtypeFLOAT, "FLOAT") - choice(menuFtypeDOUBLE, "DOUBLE") - choice(menuFtypeENUM, "ENUM") -} -menu(stringinPOST) { - choice(stringinPOST_OnChange, "On Change") - choice(stringinPOST_Always, "Always") -} -menu(menuPini) { - choice(menuPiniNO, "NO") - choice(menuPiniYES, "YES") - choice(menuPiniRUN, "RUN") - choice(menuPiniRUNNING, "RUNNING") - choice(menuPiniPAUSE, "PAUSE") - choice(menuPiniPAUSED, "PAUSED") -} -menu(dfanoutSELM) { - choice(dfanoutSELM_All, "All") - choice(dfanoutSELM_Specified, "Specified") - choice(dfanoutSELM_Mask, "Mask") -} -menu(menuScan) { - choice(menuScanPassive, "Passive") - choice(menuScanEvent, "Event") - choice(menuScanI_O_Intr, "I/O Intr") - choice(menuScan10_second, "10 second") - choice(menuScan5_second, "5 second") - choice(menuScan2_second, "2 second") - choice(menuScan1_second, "1 second") - choice(menuScan_5_second, ".5 second") - choice(menuScan_2_second, ".2 second") - choice(menuScan_1_second, ".1 second") -} -menu(gpibACMD) { - choice(gpibACMD_None, "None") - choice(gpibACMD_Group_Execute_Trig___GET_, "Group Execute Trig. (GET)") - choice(gpibACMD_Go_To_Local__GTL_, "Go To Local (GTL)") - choice(gpibACMD_Selected_Dev__Clear__SDC_, "Selected Dev. Clear (SDC)") - choice(gpibACMD_Take_Control__TCT_, "Take Control (TCT)") - choice(gpibACMD_Serial_Poll, "Serial Poll") -} -menu(aSubLFLG) { - choice(aSubLFLG_IGNORE, "IGNORE") - choice(aSubLFLG_READ, "READ") -} -menu(asynTMOD) { - choice(asynTMOD_Write_Read, "Write/Read") - choice(asynTMOD_Write, "Write") - choice(asynTMOD_Read, "Read") - choice(asynTMOD_Flush, "Flush") - choice(asynTMOD_NoIO, "NoI/O") -} -menu(ipDRTO) { - choice(ipDRTO_unknown, "Unknown") - choice(ipDRTO_No, "No") - choice(ipDRTO_Yes, "Yes") -} -menu(menuPost) { - choice(menuPost_OnChange, "On Change") - choice(menuPost_Always, "Always") -} -menu(asynINTERFACE) { - choice(asynINTERFACE_OCTET, "asynOctet") - choice(asynINTERFACE_INT32, "asynInt32") - choice(asynINTERFACE_UINT32, "asynUInt32Digital") - choice(asynINTERFACE_FLOAT64, "asynFloat64") -} -menu(menuAlarmStat) { - choice(menuAlarmStatNO_ALARM, "NO_ALARM") - choice(menuAlarmStatREAD, "READ") - choice(menuAlarmStatWRITE, "WRITE") - choice(menuAlarmStatHIHI, "HIHI") - choice(menuAlarmStatHIGH, "HIGH") - choice(menuAlarmStatLOLO, "LOLO") - choice(menuAlarmStatLOW, "LOW") - choice(menuAlarmStatSTATE, "STATE") - choice(menuAlarmStatCOS, "COS") - choice(menuAlarmStatCOMM, "COMM") - choice(menuAlarmStatTIMEOUT, "TIMEOUT") - choice(menuAlarmStatHWLIMIT, "HWLIMIT") - choice(menuAlarmStatCALC, "CALC") - choice(menuAlarmStatSCAN, "SCAN") - choice(menuAlarmStatLINK, "LINK") - choice(menuAlarmStatSOFT, "SOFT") - choice(menuAlarmStatBAD_SUB, "BAD_SUB") - choice(menuAlarmStatUDF, "UDF") - choice(menuAlarmStatDISABLE, "DISABLE") - choice(menuAlarmStatSIMM, "SIMM") - choice(menuAlarmStatREAD_ACCESS, "READ_ACCESS") - choice(menuAlarmStatWRITE_ACCESS, "WRITE_ACCESS") -} -menu(aoOIF) { - choice(aoOIF_Full, "Full") - choice(aoOIF_Incremental, "Incremental") -} -menu(bufferingALG) { - choice(bufferingALG_FIFO, "FIFO Buffer") - choice(bufferingALG_LIFO, "LIFO Buffer") -} -menu(aaiPOST) { - choice(aaiPOST_Always, "Always") - choice(aaiPOST_OnChange, "On Change") -} -menu(calcoutINAV) { - choice(calcoutINAV_EXT_NC, "Ext PV NC") - choice(calcoutINAV_EXT, "Ext PV OK") - choice(calcoutINAV_LOC, "Local PV") - choice(calcoutINAV_CON, "Constant") -} -menu(epidFeedbackState) { - choice(epidFeedbackState_Off, "Off") - choice(epidFeedbackState_On, "On") -} -menu(asynAUTOCONNECT) { - choice(asynAUTOCONNECT_noAutoConnect, "noAutoConnect") - choice(asynAUTOCONNECT_autoConnect, "autoConnect") -} -menu(asynFMT) { - choice(asynFMT_ASCII, "ASCII") - choice(asynFMT_Hybrid, "Hybrid") - choice(asynFMT_Binary, "Binary") -} -menu(seqSELM) { - choice(seqSELM_All, "All") - choice(seqSELM_Specified, "Specified") - choice(seqSELM_Mask, "Mask") -} -menu(asynCONNECT) { - choice(asynCONNECT_Disconnect, "Disconnect") - choice(asynCONNECT_Connect, "Connect") -} -menu(gpibUCMD) { - choice(gpibUCMD_None, "None") - choice(gpibUCMD_Device_Clear__DCL_, "Device Clear (DCL)") - choice(gpibUCMD_Local_Lockout__LL0_, "Local Lockout (LL0)") - choice(gpibUCMD_Serial_Poll_Disable__SPD_, "Serial Poll Disable (SPD)") - choice(gpibUCMD_Serial_Poll_Enable__SPE_, "Serial Poll Enable (SPE)") - choice(gpibUCMD_Unlisten__UNL_, "Unlisten (UNL)") - choice(gpibUCMD_Untalk__UNT_, "Untalk (UNT)") -} -menu(serialBAUD) { - choice(serialBAUD_unknown, "Unknown") - choice(serialBAUD_300, "300") - choice(serialBAUD_600, "600") - choice(serialBAUD_1200, "1200") - choice(serialBAUD_2400, "2400") - choice(serialBAUD_4800, "4800") - choice(serialBAUD_9600, "9600") - choice(serialBAUD_19200, "19200") - choice(serialBAUD_38400, "38400") - choice(serialBAUD_57600, "57600") - choice(serialBAUD_115200, "115200") - choice(serialBAUD_230400, "230400") - choice(serialBAUD_460800, "460800") - choice(serialBAUD_576000, "576000") - choice(serialBAUD_921600, "921600") - choice(serialBAUD_1152000, "1152000") -} -menu(histogramCMD) { - choice(histogramCMD_Read, "Read") - choice(histogramCMD_Clear, "Clear") - choice(histogramCMD_Start, "Start") - choice(histogramCMD_Stop, "Stop") -} -menu(asynTRACE) { - choice(asynTRACE_Off, "Off") - choice(asynTRACE_On, "On") -} -menu(asynEOMREASON) { - choice(asynEOMREASONNone, "None") - choice(asynEOMREASONCNT, "Count") - choice(asynEOMREASONEOS, "Eos") - choice(asynEOMREASONCNTEOS, "Count Eos") - choice(asynEOMREASONEND, "End") - choice(asynEOMREASONCNTEND, "Count End") - choice(asynEOMREASONEOSEND, "Eos End") - choice(asynEOMREASONCNTEOSEND, "Count Eos End") -} -menu(menuIvoa) { - choice(menuIvoaContinue_normally, "Continue normally") - choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") - choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") -} -menu(stringoutPOST) { - choice(stringoutPOST_OnChange, "On Change") - choice(stringoutPOST_Always, "Always") -} -menu(menuAlarmSevr) { - choice(menuAlarmSevrNO_ALARM, "NO_ALARM") - choice(menuAlarmSevrMINOR, "MINOR") - choice(menuAlarmSevrMAJOR, "MAJOR") - choice(menuAlarmSevrINVALID, "INVALID") -} -menu(serialMCTL) { - choice(serialMCTL_unknown, "Unknown") - choice(serialMCTL_CLOCAL, "CLOCAL") - choice(serialMCTL_Yes, "YES") -} -menu(serialFCTL) { - choice(serialFCTL_unknown, "Unknown") - choice(serialFCTL_None, "None") - choice(serialFCTL_Hardware, "Hardware") -} -menu(menuSimm) { - choice(menuSimmNO, "NO") - choice(menuSimmYES, "YES") - choice(menuSimmRAW, "RAW") -} -menu(compressALG) { - choice(compressALG_N_to_1_Low_Value, "N to 1 Low Value") - choice(compressALG_N_to_1_High_Value, "N to 1 High Value") - choice(compressALG_N_to_1_Average, "N to 1 Average") - choice(compressALG_Average, "Average") - choice(compressALG_Circular_Buffer, "Circular Buffer") - choice(compressALG_N_to_1_Median, "N to 1 Median") -} -menu(aSubEFLG) { - choice(aSubEFLG_NEVER, "NEVER") - choice(aSubEFLG_ON_CHANGE, "ON CHANGE") - choice(aSubEFLG_ALWAYS, "ALWAYS") -} -menu(fanoutSELM) { - choice(fanoutSELM_All, "All") - choice(fanoutSELM_Specified, "Specified") - choice(fanoutSELM_Mask, "Mask") -} -menu(calcoutOOPT) { - choice(calcoutOOPT_Every_Time, "Every Time") - choice(calcoutOOPT_On_Change, "On Change") - choice(calcoutOOPT_When_Zero, "When Zero") - choice(calcoutOOPT_When_Non_zero, "When Non-zero") - choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") - choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") -} -menu(asynENABLE) { - choice(asynENABLE_Disable, "Disable") - choice(asynENABLE_Enable, "Enable") -} -menu(epidFeedbackMode) { - choice(epidFeedbackMode_PID, "PID") - choice(epidFeedbackMode_MaxMin, "Max/Min") -} -menu(menuConvert) { - choice(menuConvertNO_CONVERSION, "NO CONVERSION") - choice(menuConvertSLOPE, "SLOPE") - choice(menuConvertLINEAR, "LINEAR") - choice(menuConverttypeKdegF, "typeKdegF") - choice(menuConverttypeKdegC, "typeKdegC") - choice(menuConverttypeJdegF, "typeJdegF") - choice(menuConverttypeJdegC, "typeJdegC") - choice(menuConverttypeEdegF, "typeEdegF(ixe only)") - choice(menuConverttypeEdegC, "typeEdegC(ixe only)") - choice(menuConverttypeTdegF, "typeTdegF") - choice(menuConverttypeTdegC, "typeTdegC") - choice(menuConverttypeRdegF, "typeRdegF") - choice(menuConverttypeRdegC, "typeRdegC") - choice(menuConverttypeSdegF, "typeSdegF") - choice(menuConverttypeSdegC, "typeSdegC") -} -menu(serialIX) { - choice(serialIX_unknown, "Unknown") - choice(serialIX_No, "No") - choice(serialIX_Yes, "Yes") -} -menu(menuYesNo) { - choice(menuYesNoNO, "NO") - choice(menuYesNoYES, "YES") -} -menu(timestampTST) { - choice(timestampTST_YY_MM_DD_HH_MM_SS, "YY/MM/DD HH:MM:SS") - choice(timestampTST_MM_DD_YY_HH_MM_SS, "MM/DD/YY HH:MM:SS") - choice(timestampTST_MM_DD_HH_MM_SS_YY, "Mon DD HH:MM:SS YY") - choice(timestampTST_MM_DD_HH_MM_SS, "Mon DD HH:MM:SS") - choice(timestampTST_HH_MM_SS, "HH:MM:SS") - choice(timestampTST_HH_MM, "HH:MM") - choice(timestampTST_DD_MM_YY_HH_MM_SS, "DD/MM/YY HH:MM:SS") - choice(timestampTST_DD_MM_HH_MM_SS_YY, "DD Mon HH:MM:SS YY") - choice(timestampTST_VMS, "DD-Mon-YYYY HH:MM:SS") - choice(timestampTST_MM_DD_YYYY, "Mon DD, YYYY HH:MM:SS.ns") - choice(timestampTST_MM_DD_YY, "MM/DD/YY HH:MM:SS.ns") -} -menu(serialDBIT) { - choice(serialDBIT_unknown, "Unknown") - choice(serialDBIT_5, "5") - choice(serialDBIT_6, "6") - choice(serialDBIT_7, "7") - choice(serialDBIT_8, "8") -} -menu(selSELM) { - choice(selSELM_Specified, "Specified") - choice(selSELM_High_Signal, "High Signal") - choice(selSELM_Low_Signal, "Low Signal") - choice(selSELM_Median_Signal, "Median Signal") -} -recordtype(calcout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct calcoutRecord; - %typedef struct calcoutdset { - % dset common; - % long (*write)(struct calcoutRecord *prec); - %} calcoutdset; - %#define HAS_calcoutdset - % - %#include "dbScan.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rpvtStruct *rpvt") - interest(4) - prompt("Record Private") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(PVAL, DBF_DOUBLE) { - prompt("Previous Value") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(CLCV, DBF_LONG) { - interest(1) - prompt("CALC Valid") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input L") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(1) - prompt("Output Specification") - } - field(INAV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPA PV Status") - } - field(INBV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPB PV Status") - } - field(INCV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPC PV Status") - } - field(INDV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPD PV Status") - } - field(INEV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPE PV Status") - } - field(INFV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPF PV Status") - } - field(INGV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPG PV Status") - } - field(INHV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPH PV Status") - } - field(INIV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPI PV Status") - } - field(INJV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPJ PV Status") - } - field(INKV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPK PV Status") - } - field(INLV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPL PV Status") - } - field(OUTV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - interest(1) - prompt("OUT PV Status") - } - field(OOPT, DBF_MENU) { - promptgroup("50 - Output") - menu(calcoutOOPT) - interest(1) - prompt("Output Execute Opt") - } - field(ODLY, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - interest(1) - prompt("Output Execute Delay") - } - field(DLYA, DBF_USHORT) { - special(SPC_NOMOD) - asl(ASL0) - prompt("Output Delay Active") - } - field(DOPT, DBF_MENU) { - promptgroup("30 - Action") - menu(calcoutDOPT) - interest(1) - prompt("Output Data Opt") - } - field(OCAL, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Output Calculation") - } - field(OCLV, DBF_LONG) { - interest(1) - prompt("OCAL Valid") - } - field(OEVT, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event To Issue") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(OVAL, DBF_DOUBLE) { - asl(ASL0) - prompt("Output Value") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(POVL, DBF_DOUBLE) { - asl(ASL0) - prompt("Prev Value of OVAL") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } - field(ORPC, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char orpc[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish OCalc") - } -} -device(calcout, CONSTANT, devCalcoutSoft, "Soft Channel") -device(calcout, CONSTANT, devCalcoutSoftCallback, "Async Soft Channel") -recordtype(state) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(20) - prompt("Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(20) - prompt("Prev Value") - } -} -recordtype(histogram) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct histogramRecord; - %typedef struct histogramdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_histogram)(struct histogramRecord *prec); /*(0,2)=> success and add_count, don't add_count); if add_count then sgnl added to array*/ - % long (*special_linconv)(struct histogramRecord *prec, int after); - %} histogramdset; - %#define HAS_histogramdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - prompt("Value") - } - field(NELM, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Num of Array Elements") - } - field(CSTA, DBF_SHORT) { - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Collection Status") - } - field(CMD, DBF_MENU) { - special(SPC_CALC) - asl(ASL0) - menu(histogramCMD) - interest(1) - prompt("Collection Control") - } - field(ULIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Upper Signal Limit") - } - field(LLIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Lower Signal Limit ") - } - field(WDTH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Element Width") - } - field(SGNL, DBF_DOUBLE) { - special(SPC_MOD) - prompt("Signal Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(SVL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Signal Value Location") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt32 *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(WDOG, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdog") - interest(4) - prompt("Watchdog callback") - } - field(MDEL, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Count Deadband") - } - field(MCNT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Counts Since Monitor") - } - field(SDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - special(SPC_RESET) - interest(1) - prompt("Monitor Seconds Dband") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(HOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } -} -device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") -recordtype(lsi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsiRecord; - %typedef struct lsidset { - % dset common; - % long (*read_string)(struct lsiRecord *prec); - %} lsidset; - %#define HAS_lsidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Old Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of OVAL") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lsi, CONSTANT, devLsiSoft, "Soft Channel") -device(lsi, INST_IO, devLsiEnviron, "getenv") -device(lsi, INST_IO, devLsiStats, "IOC long string") -device(lsi, INST_IO, asynLsiOctetCmdResponse, "asynOctetCmdResponse") -device(lsi, INST_IO, asynLsiOctetWriteRead, "asynOctetWriteRead") -device(lsi, INST_IO, asynLsiOctetRead, "asynOctetRead") -recordtype(int64out) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64outRecord; - %typedef struct int64outdset { - % dset common; - % long (*write_int64out)(struct int64outRecord *prec); - %} int64outdset; - %#define HAS_int64outdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(DRVH, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_INT64) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(int64out, CONSTANT, devI64outSoft, "Soft Channel") -device(int64out, CONSTANT, devI64outSoftCallback, "Async Soft Channel") -device(int64out, INST_IO, asynInt64Out, "asynInt64") -recordtype(seq) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(seqSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(OLDN, DBF_USHORT) { - interest(4) - prompt("Old Selection") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(DLY0, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 0") - } - field(DOL0, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 0") - } - field(DO0, DBF_DOUBLE) { - interest(1) - prompt("Value 0") - } - field(LNK0, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 0") - } - field(DLY1, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 1") - } - field(DOL1, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link1") - } - field(DO1, DBF_DOUBLE) { - interest(1) - prompt("Value 1") - } - field(LNK1, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 1") - } - field(DLY2, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 2") - } - field(DOL2, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 2") - } - field(DO2, DBF_DOUBLE) { - interest(1) - prompt("Value 2") - } - field(LNK2, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 2") - } - field(DLY3, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 3") - } - field(DOL3, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 3") - } - field(DO3, DBF_DOUBLE) { - interest(1) - prompt("Value 3") - } - field(LNK3, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 3") - } - field(DLY4, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 4") - } - field(DOL4, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 4") - } - field(DO4, DBF_DOUBLE) { - interest(1) - prompt("Value 4") - } - field(LNK4, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 4") - } - field(DLY5, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 5") - } - field(DOL5, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 5") - } - field(DO5, DBF_DOUBLE) { - interest(1) - prompt("Value 5") - } - field(LNK5, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 5") - } - field(DLY6, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 6") - } - field(DOL6, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 6") - } - field(DO6, DBF_DOUBLE) { - interest(1) - prompt("Value 6") - } - field(LNK6, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 6") - } - field(DLY7, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 7") - } - field(DOL7, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 7") - } - field(DO7, DBF_DOUBLE) { - interest(1) - prompt("Value 7") - } - field(LNK7, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 7") - } - field(DLY8, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 8") - } - field(DOL8, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 8") - } - field(DO8, DBF_DOUBLE) { - interest(1) - prompt("Value 8") - } - field(LNK8, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 8") - } - field(DLY9, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 9") - } - field(DOL9, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 9") - } - field(DO9, DBF_DOUBLE) { - interest(1) - prompt("Value 9") - } - field(LNK9, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 9") - } - field(DLYA, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 10") - } - field(DOLA, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 10") - } - field(DOA, DBF_DOUBLE) { - interest(1) - prompt("Value 10") - } - field(LNKA, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 10") - } - field(DLYB, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 11") - } - field(DOLB, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 11") - } - field(DOB, DBF_DOUBLE) { - interest(1) - prompt("Value 11") - } - field(LNKB, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 11") - } - field(DLYC, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 12") - } - field(DOLC, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 12") - } - field(DOC, DBF_DOUBLE) { - interest(1) - prompt("Value 12") - } - field(LNKC, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 12") - } - field(DLYD, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 13") - } - field(DOLD, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 13") - } - field(DOD, DBF_DOUBLE) { - interest(1) - prompt("Value 13") - } - field(LNKD, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 13") - } - field(DLYE, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 14") - } - field(DOLE, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 14") - } - field(DOE, DBF_DOUBLE) { - interest(1) - prompt("Value 14") - } - field(LNKE, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 14") - } - field(DLYF, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 15") - } - field(DOLF, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 15") - } - field(DOF, DBF_DOUBLE) { - interest(1) - prompt("Value 15") - } - field(LNKF, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 15") - } -} -recordtype(stringout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringoutRecord; - %typedef struct stringoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_stringout)(struct stringoutRecord *prec); /*(-1,0)=>(failure,success)*/ - %} stringoutdset; - %#define HAS_stringoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID output value") - } -} -device(stringout, CONSTANT, devSoSoft, "Soft Channel") -device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") -device(stringout, INST_IO, devSoStdio, "stdio") -device(stringout, INST_IO, asynSoOctetWrite, "asynOctetWrite") -recordtype(aai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaiRecord; - %typedef struct aaidset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_aai)(struct aaiRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaidset; - %#define HAS_aaidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aai, CONSTANT, devAaiSoft, "Soft Channel") -recordtype(permissive) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_USHORT) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Status") - } - field(WFLG, DBF_USHORT) { - pp(TRUE) - prompt("Wait Flag") - } - field(LABL, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(20) - prompt("Button Label") - } - field(OVAL, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Status") - } - field(OFLG, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Flag") - } -} -recordtype(bo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct boRecord; - %typedef struct bodset { - % dset common; /*init_record returns:(0,2)=>(success,success no convert*/ - % long (*write_bo)(struct boRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} bodset; - %#define HAS_bodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Seconds to Hold High") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * rpvt") - interest(4) - prompt("Record Private") - } - field(WDPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdpt") - interest(4) - prompt("Watch Dog Timer ID") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(bo, CONSTANT, devBoSoft, "Soft Channel") -device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") -device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") -device(bo, INST_IO, devBoGeneralTime, "General Time") -device(bo, INST_IO, devBoDbState, "Db State") -device(bo, INST_IO, devBoSimulation, "IOC SIM") -device(bo, INST_IO, asynBoInt32, "asynInt32") -device(bo, INST_IO, asynBoUInt32Digital, "asynUInt32Digital") -recordtype(dfanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(dfanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec H") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } -} -recordtype(mbbi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiRecord; - %typedef struct mbbidset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidset; - %#define HAS_mbbidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") -device(mbbi, INST_IO, devSysMonMbbiStats, "sysmon") -device(mbbi, INST_IO, asynMbbiInt32, "asynInt32") -device(mbbi, INST_IO, asynMbbiUInt32Digital, "asynUInt32Digital") -recordtype(event) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct eventRecord; - %typedef struct eventdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_event)(struct eventRecord *prec); /*(0)=> success */ - %} eventdset; - %#define HAS_eventdset - % - %#include "dbScan.h" - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event Name To Post") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_STRING) { - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(event, CONSTANT, devEventSoft, "Soft Channel") -recordtype(compress) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RES, DBF_SHORT) { - special(SPC_RESET) - asl(ASL0) - interest(3) - prompt("Reset") - } - field(ALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(compressALG) - interest(1) - prompt("Compression Algorithm") - } - field(BALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(bufferingALG) - interest(1) - prompt("Buffering Algorithm") - } - field(NSAM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Values") - } - field(N, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_RESET) - initial("1") - interest(1) - prompt("N to 1 Compression") - } - field(IHIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init High Interest Lim") - } - field(ILIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init Low Interest Lim") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(OFF, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Offset") - } - field(NUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number Used") - } - field(OUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Old Number Used") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *sptr") - interest(4) - prompt("Summing Buffer Ptr") - } - field(WPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *wptr") - interest(4) - prompt("Working Buffer Ptr") - } - field(INPN, DBF_LONG) { - special(SPC_NOMOD) - interest(4) - prompt("Number of elements in Working Buffer") - } - field(CVB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Compress Value Buffer") - } - field(INX, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Compressed Array Inx") - } -} -recordtype(mbbo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboRecord; - %typedef struct mbbodset { - % dset common; /*init_record returns: (0, 2) => (success, success no convert)*/ - % long (*write_mbbo)(struct mbboRecord *prec); /*returns: (0, 2) => (success, success no convert)*/ - %} mbbodset; - %#define HAS_mbbodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - special(SPC_DBADDR) - asl(ASL0) - pp(TRUE) - prompt("Desired Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(NOBT, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Sevr") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Sevr") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") -device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") -device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") -device(mbbo, INST_IO, asynMbboInt32, "asynInt32") -device(mbbo, INST_IO, asynMbboUInt32Digital, "asynUInt32Digital") -recordtype(epid) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Setpoint") - } - field(SMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Setpoint Mode Select") - } - field(STPL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Setpoint Location") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Controlled Value Loc") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Location") - } - field(TRIG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Readback Trigger") - } - field(TVAL, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Trigger Value") - } - field(CVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Controlled Value") - } - field(CVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Prev. Controlled Value") - } - field(OVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Output value") - } - field(OVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev output") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(MDT, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Min Delta T") - } - field(FMOD, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackMode) - interest(1) - prompt("Feedback Mode") - } - field(FBON, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Feedback On/Off") - } - field(FBOP, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Prev. feedback On/Off") - } - field(KP, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Proportional Gain") - } - field(KI, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Integral Gain") - } - field(KD, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Derivative Gain") - } - field(EGU, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - prompt("Engineering Units") - size(16) - } - field(HOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(DRVH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("High Drive Limit") - } - field(DRVL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Low Drive Limit") - } - field(HIHI, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Hihi Deviation Limit") - } - field(LOLO, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Lolo Deviation Limit") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("High Deviation Limit") - } - field(LOW, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Low Deviation Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(ODEL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Output Deadband") - } - field(P, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("P component") - } - field(PP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. P component") - } - field(I, DBF_DOUBLE) { - interest(2) - prompt("I component") - } - field(IP, DBF_DOUBLE) { - interest(2) - prompt("Prev. I component") - } - field(D, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("D component") - } - field(DP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. D component") - } - field(CT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ct") - prompt("Time") - } - field(CTP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ctp") - prompt("Previous time") - } - field(DT, DBF_DOUBLE) { - interest(2) - prompt("Delta T") - } - field(DTP, DBF_DOUBLE) { - interest(2) - prompt("Prev. Delta T") - } - field(ERR, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Error") - } - field(ERRP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. Error") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -device(epid, CONSTANT, devEpidSoft, "Soft Channel") -device(epid, CONSTANT, devEpidSoftCB, "Async Soft Channel") -recordtype(ao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aoRecord; - %typedef struct aodset { - % dset common; /*init_record returns: (0,2)=>(success,success no convert)*/ - % long (*write_ao)(struct aoRecord *prec); /*(0)=>(success ) */ - % long (*special_linconv)(struct aoRecord *prec, int after); - %} aodset; - %#define HAS_aodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OVAL, DBF_DOUBLE) { - prompt("Output Value") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(OROC, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Output Rate of Change") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OIF, DBF_MENU) { - promptgroup("50 - Output") - menu(aoOIF) - interest(1) - prompt("Out Full/Incremental") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("EGU to Raw Offset") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("EGU to Raw Slope") - } - field(DRVH, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(RBV, DBF_LONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(PVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Previous value") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(OMOD, DBF_UCHAR) { - special(SPC_NOMOD) - prompt("Was OVAL modified?") - } -} -device(ao, CONSTANT, devAoSoft, "Soft Channel") -device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") -device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") -device(ao, INST_IO, devAoStats, "IOC stats") -device(ao, INST_IO, asynAoInt32, "asynInt32") -device(ao, INST_IO, asynAoFloat64, "asynFloat64") -device(ao, INST_IO, asynAoInt64, "asynInt64") -recordtype(aao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaoRecord; - %typedef struct aaodset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_aao)(struct aaoRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaodset; - %#define HAS_aaodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aao, CONSTANT, devAaoSoft, "Soft Channel") -recordtype(mbbiDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiDirectRecord; - %typedef struct mbbidirectdset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiDirectRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidirectdset; - %#define HAS_mbbidirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_SHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(B0, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") -device(mbbiDirect, INST_IO, devSysMonMbbiDirectStats, "sysmon") -device(mbbiDirect, INST_IO, asynMbbiDirectUInt32Digital, "asynUInt32Digital") -recordtype(asyn) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - interest(4) - prompt("Value field (unused)") - } - field(PORT, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("") - interest(1) - size(40) - prompt("asyn port") - } - field(ADDR, DBF_LONG) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("0") - interest(1) - prompt("asyn address") - } - field(PCNCT, DBF_MENU) { - special(SPC_MOD) - menu(asynCONNECT) - interest(2) - prompt("Port Connect/Disconnect") - } - field(DRVINFO, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("") - interest(2) - size(40) - prompt("Driver info string") - } - field(REASON, DBF_LONG) { - special(SPC_MOD) - interest(2) - prompt("asynUser->reason") - } - field(TMOD, DBF_MENU) { - promptgroup("30 - Action") - menu(asynTMOD) - interest(1) - prompt("Transaction mode") - } - field(TMOT, DBF_DOUBLE) { - promptgroup("30 - Action") - initial("1.0") - interest(1) - prompt("Timeout (sec)") - } - field(IFACE, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynINTERFACE) - interest(2) - prompt("Interface") - } - field(OCTETIV, DBF_LONG) { - interest(2) - prompt("asynOctet is valid") - } - field(OPTIONIV, DBF_LONG) { - interest(2) - prompt("asynOption is valid") - } - field(GPIBIV, DBF_LONG) { - interest(2) - prompt("asynGPIB is valid") - } - field(I32IV, DBF_LONG) { - interest(2) - prompt("asynInt32 is valid") - } - field(UI32IV, DBF_LONG) { - interest(2) - prompt("asynUInt32Digital is valid") - } - field(F64IV, DBF_LONG) { - interest(2) - prompt("asynFloat64 is valid") - } - field(AOUT, DBF_STRING) { - promptgroup("50 - Output") - interest(1) - pp(TRUE) - size(40) - prompt("Output (command) string") - } - field(OEOS, DBF_STRING) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(1) - size(40) - prompt("Output delimiter") - } - field(BOUT, DBF_CHAR) { - special(SPC_DBADDR) - interest(1) - pp(TRUE) - prompt("Output binary data") - } - field(OPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *optr") - interest(4) - prompt("Output buffer pointer") - } - field(OMAX, DBF_LONG) { - promptgroup("50 - Output") - special(SPC_NOMOD) - initial("80") - interest(1) - prompt("Max. size of output array") - } - field(NOWT, DBF_LONG) { - promptgroup("50 - Output") - initial("80") - interest(1) - prompt("Number of bytes to write") - } - field(NAWT, DBF_LONG) { - interest(1) - prompt("Number of bytes actually written") - } - field(OFMT, DBF_MENU) { - promptgroup("50 - Output") - menu(asynFMT) - interest(1) - prompt("Output format") - } - field(AINP, DBF_STRING) { - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Input (response) string") - } - field(TINP, DBF_STRING) { - special(SPC_NOMOD) - asl(ASL0) - interest(1) - size(40) - prompt("Translated input string") - } - field(IEOS, DBF_STRING) { - promptgroup("40 - Input") - special(SPC_MOD) - interest(1) - size(40) - prompt("Input Delimiter") - } - field(BINP, DBF_CHAR) { - special(SPC_DBADDR) - asl(ASL0) - prompt("Input binary data") - } - field(IPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *iptr") - interest(4) - size(4) - prompt("Input buffer pointer") - } - field(IMAX, DBF_LONG) { - promptgroup("40 - Input") - special(SPC_NOMOD) - initial("80") - interest(1) - prompt("Max. size of input array") - } - field(NRRD, DBF_LONG) { - promptgroup("40 - Input") - interest(1) - prompt("Number of bytes to read") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - interest(1) - prompt("Number of bytes read") - } - field(IFMT, DBF_MENU) { - promptgroup("40 - Input") - menu(asynFMT) - interest(1) - prompt("Input format") - } - field(EOMR, DBF_MENU) { - special(SPC_NOMOD) - menu(asynEOMREASON) - interest(1) - prompt("EOM reason") - } - field(I32INP, DBF_LONG) { - special(SPC_NOMOD) - interest(2) - prompt("asynInt32 input") - } - field(I32OUT, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynInt32 output") - } - field(UI32INP, DBF_ULONG) { - special(SPC_NOMOD) - interest(2) - prompt("asynUInt32Digital input") - } - field(UI32OUT, DBF_ULONG) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynUInt32Digital output") - } - field(UI32MASK, DBF_ULONG) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(2) - initial("0xffffffff") - prompt("asynUInt32Digital mask") - } - field(F64INP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("asynFloat64 input") - } - field(F64OUT, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynFloat64 output") - } - field(BAUD, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialBAUD) - interest(2) - prompt("Baud rate") - } - field(LBAUD, DBF_LONG) { - promptgroup("31 - Serial") - special(SPC_MOD) - interest(2) - prompt("Baud rate") - } - field(PRTY, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialPRTY) - interest(2) - prompt("Parity") - } - field(DBIT, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialDBIT) - interest(2) - prompt("Data bits") - } - field(SBIT, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialSBIT) - interest(2) - prompt("Stop bits") - } - field(MCTL, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialMCTL) - interest(2) - prompt("Modem control") - } - field(FCTL, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialFCTL) - interest(2) - prompt("Flow control") - } - field(IXON, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("Output XON/XOFF") - } - field(IXOFF, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("Input XON/XOFF") - } - field(IXANY, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("XON=any character") - } - field(HOSTINFO, DBF_STRING) { - promptgroup("32 - IP") - special(SPC_MOD) - initial("") - interest(1) - size(40) - prompt("host info") - } - field(DRTO, DBF_MENU) { - promptgroup("32 - IP") - special(SPC_MOD) - menu(ipDRTO) - interest(2) - prompt("Disconnect on timeout") - } - field(UCMD, DBF_MENU) { - promptgroup("33 - GPIB") - menu(gpibUCMD) - interest(2) - pp(TRUE) - prompt("Universal command") - } - field(ACMD, DBF_MENU) { - promptgroup("33 - GPIB") - menu(gpibACMD) - interest(2) - pp(TRUE) - prompt("Addressed command") - } - field(SPR, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Serial poll response") - } - field(TMSK, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace mask") - } - field(TB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace error") - } - field(TB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO device") - } - field(TB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO filter") - } - field(TB3, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO driver") - } - field(TB4, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace flow") - } - field(TB5, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace warning") - } - field(TIOM, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace I/O mask") - } - field(TIB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO ASCII") - } - field(TIB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO escape") - } - field(TIB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO hex") - } - field(TINM, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace Info mask") - } - field(TINB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Time") - } - field(TINB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Port") - } - field(TINB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Source") - } - field(TINB3, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Thread") - } - field(TSIZ, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace IO truncate size") - } - field(TFIL, DBF_STRING) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - size(40) - prompt("Trace IO file") - } - field(AUCT, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynAUTOCONNECT) - interest(1) - prompt("Autoconnect") - } - field(CNCT, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynCONNECT) - interest(1) - prompt("Connect/Disconnect") - } - field(ENBL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynENABLE) - interest(1) - prompt("Enable/Disable") - } - field(ERRS, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *errs") - interest(4) - prompt("Error string") - } - field(AQR, DBF_UCHAR) { - special(SPC_MOD) - interest(4) - prompt("Abort queueRequest") - } -} -device(asyn, INST_IO, asynRecordDevice, "asynRecordDevice") -recordtype(waveform) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct waveformRecord; - %typedef struct wfdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_wf)(struct waveformRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} wfdset; - %#define HAS_wfdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(RARM, DBF_SHORT) { - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Rearm the waveform") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(waveform, CONSTANT, devWfSoft, "Soft Channel") -device(waveform, INST_IO, devWaveformStats, "IOC stats") -device(waveform, INST_IO, devSysMonWaveStats, "sysmon") -device(waveform, INST_IO, asynWfOctetCmdResponse, "asynOctetCmdResponse") -device(waveform, INST_IO, asynWfOctetWriteRead, "asynOctetWriteRead") -device(waveform, INST_IO, asynWfOctetRead, "asynOctetRead") -device(waveform, INST_IO, asynWfOctetWrite, "asynOctetWrite") -device(waveform, INST_IO, asynWfOctetWriteBinary, "asynOctetWriteBinary") -device(waveform, INST_IO, asynInt8ArrayWfIn, "asynInt8ArrayIn") -device(waveform, INST_IO, asynInt8ArrayWfOut, "asynInt8ArrayOut") -device(waveform, INST_IO, asynInt16ArrayWfIn, "asynInt16ArrayIn") -device(waveform, INST_IO, asynInt16ArrayWfOut, "asynInt16ArrayOut") -device(waveform, INST_IO, asynInt32ArrayWfIn, "asynInt32ArrayIn") -device(waveform, INST_IO, asynInt32ArrayWfOut, "asynInt32ArrayOut") -device(waveform, INST_IO, asynInt32TimeSeries, "asynInt32TimeSeries") -device(waveform, INST_IO, asynFloat32ArrayWfIn, "asynFloat32ArrayIn") -device(waveform, INST_IO, asynFloat32ArrayWfOut, "asynFloat32ArrayOut") -device(waveform, INST_IO, asynFloat64ArrayWfIn, "asynFloat64ArrayIn") -device(waveform, INST_IO, asynFloat64ArrayWfOut, "asynFloat64ArrayOut") -device(waveform, INST_IO, asynFloat64TimeSeries, "asynFloat64TimeSeries") -device(waveform, INST_IO, asynInt64ArrayWfIn, "asynInt64ArrayIn") -device(waveform, INST_IO, asynInt64ArrayWfOut, "asynInt64ArrayOut") -device(waveform, INST_IO, asynInt64TimeSeries, "asynInt64TimeSeries") -recordtype(timestamp) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - size(40) - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Value") - size(40) - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(TST, DBF_MENU) { - promptgroup("40 - Input") - menu(timestampTST) - interest(2) - prompt("Time Stamp Type") - } -} -recordtype(fanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(fanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(LNK0, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 0") - } - field(LNK1, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 1") - } - field(LNK2, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 2") - } - field(LNK3, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 3") - } - field(LNK4, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 4") - } - field(LNK5, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 5") - } - field(LNK6, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 6") - } - field(LNK7, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 7") - } - field(LNK8, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 8") - } - field(LNK9, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 9") - } - field(LNKA, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 10") - } - field(LNKB, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 11") - } - field(LNKC, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 12") - } - field(LNKD, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 13") - } - field(LNKE, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 14") - } - field(LNKF, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 15") - } -} -recordtype(longin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longinRecord; - %typedef struct longindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_longin)(struct longinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} longindset; - %#define HAS_longindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(longin, CONSTANT, devLiSoft, "Soft Channel") -device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") -device(longin, INST_IO, devLiGeneralTime, "General Time") -device(longin, INST_IO, asynLiInt32, "asynInt32") -device(longin, INST_IO, asynLiUInt32Digital, "asynUInt32Digital") -device(longin, INST_IO, asynLiInt64, "asynInt64") -recordtype(printf) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct printfRecord; - %typedef struct printfdset { - % dset common; - % long (*write_string)(struct printfRecord *prec); - %} printfdset; - %#define HAS_printfdset - % - %/* Number of INPx fields defined */ - %#define PRINTF_NLINKS 10 - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Result") - } - field(SIZV, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of VAL buffer") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(FMT, DBF_STRING) { - promptgroup("30 - Action") - pp(TRUE) - size(81) - prompt("Format String") - } - field(IVLS, DBF_STRING) { - promptgroup("30 - Action") - initial("LNK") - size(16) - prompt("Invalid Link String") - } - field(INP0, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 0") - } - field(INP1, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 1") - } - field(INP2, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 2") - } - field(INP3, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 3") - } - field(INP4, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 4") - } - field(INP5, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 5") - } - field(INP6, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 6") - } - field(INP7, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 7") - } - field(INP8, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 8") - } - field(INP9, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 9") - } -} -device(printf, CONSTANT, devPrintfSoft, "Soft Channel") -device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") -device(printf, INST_IO, devPrintfStdio, "stdio") -device(printf, INST_IO, asynPfOctetWrite, "asynOctetWrite") -recordtype(sel) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - special(SPC_NOMOD) - asl(ASL0) - prompt("Result") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(selSELM) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - prompt("Index value") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(NVL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Index Value Location") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(NLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Index Monitored") - } -} -recordtype(bi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct biRecord; - %typedef struct bidset { - % dset common; - % long (*read_bi)(struct biRecord *prec); - %} bidset; - %#define HAS_bidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(bi, CONSTANT, devBiSoft, "Soft Channel") -device(bi, CONSTANT, devBiSoftRaw, "Raw Soft Channel") -device(bi, CONSTANT, devBiSoftCallback, "Async Soft Channel") -device(bi, INST_IO, devBiDbState, "Db State") -device(bi, INST_IO, asynBiInt32, "asynInt32") -device(bi, INST_IO, asynBiUInt32Digital, "asynUInt32Digital") -recordtype(lso) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsoRecord; - %typedef struct lsodset { - % dset common; - % long (*write_string)(struct lsoRecord *prec); - %} lsodset; - %#define HAS_lsodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Previous Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Length of OVAL") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Link") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID Output Action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID Output Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lso, CONSTANT, devLsoSoft, "Soft Channel") -device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") -device(lso, INST_IO, devLsoStdio, "stdio") -device(lso, INST_IO, asynLsoOctetWrite, "asynOctetWrite") -recordtype(subArray) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct subArrayRecord; - %typedef struct sadset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_sa)(struct subArrayRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} sadset; - %#define HAS_sadset - % - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(MALM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Maximum Elements") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - initial("1") - pp(TRUE) - prompt("Number of Elements") - } - field(INDX, DBF_ULONG) { - promptgroup("30 - Action") - pp(TRUE) - prompt("Substring Index") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } -} -device(subArray, CONSTANT, devSASoft, "Soft Channel") -recordtype(calc) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } -} -recordtype(mbboDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboDirectRecord; - %typedef struct mbbodirectdset { - % dset common; /*init_record returns: (0, 2)=>(success, success no convert)*/ - % long (*write_mbbo)(struct mbboDirectRecord *prec); /*returns: (0, 2)=>(success, success no convert)*/ - %} mbbodirectdset; - %#define HAS_mbbodirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Word") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - special(SPC_RESET) - menu(menuOmsl) - interest(1) - pp(TRUE) - prompt("Output Mode Select") - } - field(NOBT, DBF_SHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(RVAL, DBF_ULONG) { - special(SPC_NOMOD) - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(B0, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") -device(mbboDirect, INST_IO, asynMbboDirectUInt32Digital, "asynUInt32Digital") -recordtype(longout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longoutRecord; - %typedef struct longoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_longout)(struct longoutRecord *prec); /*(-1,0)=>(failure,success*/ - %} longoutdset; - %#define HAS_longoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(DRVH, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(longout, CONSTANT, devLoSoft, "Soft Channel") -device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") -device(longout, INST_IO, asynLoInt32, "asynInt32") -device(longout, INST_IO, asynLoUInt32Digital, "asynUInt32Digital") -device(longout, INST_IO, asynLoInt64, "asynInt64") -recordtype(aSub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct aSubRecord; - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - prompt("Subr. return value") - } - field(OVAL, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Old return value") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(41) - prompt("Initialize Subr. Name") - } - field(LFLG, DBF_MENU) { - promptgroup("30 - Action") - menu(aSubLFLG) - interest(1) - prompt("Subr. Input Enable") - } - field(SUBL, DBF_INLINK) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - prompt("Subroutine Name Link") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(41) - prompt("Process Subr. Name") - } - field(ONAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(3) - size(41) - prompt("Old Subr. Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("long (*sadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Address") - } - field(CADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void (*cadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Cleanup Address") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EFLG, DBF_MENU) { - promptgroup("50 - Output") - menu(aSubEFLG) - initial("1") - interest(1) - prompt("Output Event Flag") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link F") - } - field(INPG, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link L") - } - field(INPM, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link M") - } - field(INPN, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link N") - } - field(INPO, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link O") - } - field(INPP, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link P") - } - field(INPQ, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link Q") - } - field(INPR, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link R") - } - field(INPS, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link S") - } - field(INPT, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link T") - } - field(INPU, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link U") - } - field(A, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *a") - interest(2) - prompt("Input value A") - } - field(B, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *b") - interest(2) - prompt("Input value B") - } - field(C, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *c") - interest(2) - prompt("Input value C") - } - field(D, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *d") - interest(2) - prompt("Input value D") - } - field(E, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *e") - interest(2) - prompt("Input value E") - } - field(F, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *f") - interest(2) - prompt("Input value F") - } - field(G, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *g") - interest(2) - prompt("Input value G") - } - field(H, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *h") - interest(2) - prompt("Input value H") - } - field(I, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *i") - interest(2) - prompt("Input value I") - } - field(J, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *j") - interest(2) - prompt("Input value J") - } - field(K, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *k") - interest(2) - prompt("Input value K") - } - field(L, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *l") - interest(2) - prompt("Input value L") - } - field(M, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *m") - interest(2) - prompt("Input value M") - } - field(N, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *n") - interest(2) - prompt("Input value N") - } - field(O, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *o") - interest(2) - prompt("Input value O") - } - field(P, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *p") - interest(2) - prompt("Input value P") - } - field(Q, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *q") - interest(2) - prompt("Input value Q") - } - field(R, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *r") - interest(2) - prompt("Input value R") - } - field(S, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *s") - interest(2) - prompt("Input value S") - } - field(T, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *t") - interest(2) - prompt("Input value T") - } - field(U, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *u") - interest(2) - prompt("Input value U") - } - field(FTA, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of A") - } - field(FTB, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of B") - } - field(FTC, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of C") - } - field(FTD, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of D") - } - field(FTE, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of E") - } - field(FTF, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of F") - } - field(FTG, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of G") - } - field(FTH, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of H") - } - field(FTI, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of I") - } - field(FTJ, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of J") - } - field(FTK, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of K") - } - field(FTL, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of L") - } - field(FTM, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of M") - } - field(FTN, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of N") - } - field(FTO, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of O") - } - field(FTP, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of P") - } - field(FTQ, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of Q") - } - field(FTR, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of R") - } - field(FTS, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of S") - } - field(FTT, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of T") - } - field(FTU, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of U") - } - field(NOA, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in A") - } - field(NOB, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in B") - } - field(NOC, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in C") - } - field(NOD, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in D") - } - field(NOE, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in E") - } - field(NOF, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in F") - } - field(NOG, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in G") - } - field(NOH, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in H") - } - field(NOI, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in I") - } - field(NOJ, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in J") - } - field(NOK, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in K") - } - field(NOL, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in L") - } - field(NOM, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in M") - } - field(NON, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in N") - } - field(NOO, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in O") - } - field(NOP, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in P") - } - field(NOQ, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in Q") - } - field(NOR, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in R") - } - field(NOS, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in S") - } - field(NOT, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in T") - } - field(NOU, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in U") - } - field(NEA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in A") - } - field(NEB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in B") - } - field(NEC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in C") - } - field(NED, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in D") - } - field(NEE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in E") - } - field(NEF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in F") - } - field(NEG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in G") - } - field(NEH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in H") - } - field(NEI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in I") - } - field(NEJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in J") - } - field(NEK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in K") - } - field(NEL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in L") - } - field(NEM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in M") - } - field(NEN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in N") - } - field(NEO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in O") - } - field(NEP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in P") - } - field(NEQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in Q") - } - field(NER, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in R") - } - field(NES, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in S") - } - field(NET, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in T") - } - field(NEU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in U") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link H") - } - field(OUTI, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link I") - } - field(OUTJ, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link J") - } - field(OUTK, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link K") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link L") - } - field(OUTM, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link M") - } - field(OUTN, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link N") - } - field(OUTO, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link O") - } - field(OUTP, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link P") - } - field(OUTQ, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link Q") - } - field(OUTR, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link R") - } - field(OUTS, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link S") - } - field(OUTT, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link T") - } - field(OUTU, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link U") - } - field(VALA, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vala") - interest(2) - prompt("Output value A") - } - field(VALB, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valb") - interest(2) - prompt("Output value B") - } - field(VALC, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valc") - interest(2) - prompt("Output value C") - } - field(VALD, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vald") - interest(2) - prompt("Output value D") - } - field(VALE, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vale") - interest(2) - prompt("Output value E") - } - field(VALF, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valf") - interest(2) - prompt("Output value F") - } - field(VALG, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valg") - interest(2) - prompt("Output value G") - } - field(VALH, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valh") - interest(2) - prompt("Output value H") - } - field(VALI, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vali") - interest(2) - prompt("Output value I") - } - field(VALJ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valj") - interest(2) - prompt("Output value J") - } - field(VALK, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valk") - interest(2) - prompt("Output value K") - } - field(VALL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vall") - interest(2) - prompt("Output value L") - } - field(VALM, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valm") - interest(2) - prompt("Output value M") - } - field(VALN, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valn") - interest(2) - prompt("Output value N") - } - field(VALO, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valo") - interest(2) - prompt("Output value O") - } - field(VALP, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valp") - interest(2) - prompt("Output value P") - } - field(VALQ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valq") - interest(2) - prompt("Output value Q") - } - field(VALR, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valr") - interest(2) - prompt("Output value R") - } - field(VALS, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vals") - interest(2) - prompt("Output value S") - } - field(VALT, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valt") - interest(2) - prompt("Output value T") - } - field(VALU, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valu") - interest(2) - prompt("Output value U") - } - field(OVLA, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovla") - interest(4) - prompt("Old Output A") - } - field(OVLB, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlb") - interest(4) - prompt("Old Output B") - } - field(OVLC, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlc") - interest(4) - prompt("Old Output C") - } - field(OVLD, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovld") - interest(4) - prompt("Old Output D") - } - field(OVLE, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovle") - interest(4) - prompt("Old Output E") - } - field(OVLF, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlf") - interest(4) - prompt("Old Output F") - } - field(OVLG, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlg") - interest(4) - prompt("Old Output G") - } - field(OVLH, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlh") - interest(4) - prompt("Old Output H") - } - field(OVLI, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovli") - interest(4) - prompt("Old Output I") - } - field(OVLJ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlj") - interest(4) - prompt("Old Output J") - } - field(OVLK, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlk") - interest(4) - prompt("Old Output K") - } - field(OVLL, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovll") - interest(4) - prompt("Old Output L") - } - field(OVLM, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlm") - interest(4) - prompt("Old Output M") - } - field(OVLN, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovln") - interest(4) - prompt("Old Output N") - } - field(OVLO, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlo") - interest(4) - prompt("Old Output O") - } - field(OVLP, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlp") - interest(4) - prompt("Old Output P") - } - field(OVLQ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlq") - interest(4) - prompt("Old Output Q") - } - field(OVLR, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlr") - interest(4) - prompt("Old Output R") - } - field(OVLS, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovls") - interest(4) - prompt("Old Output S") - } - field(OVLT, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlt") - interest(4) - prompt("Old Output T") - } - field(OVLU, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlu") - interest(4) - prompt("Old Output U") - } - field(FTVA, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALA") - } - field(FTVB, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALB") - } - field(FTVC, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALC") - } - field(FTVD, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALD") - } - field(FTVE, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALE") - } - field(FTVF, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALF") - } - field(FTVG, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALG") - } - field(FTVH, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALH") - } - field(FTVI, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALI") - } - field(FTVJ, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALJ") - } - field(FTVK, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALK") - } - field(FTVL, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALL") - } - field(FTVM, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALM") - } - field(FTVN, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALN") - } - field(FTVO, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALO") - } - field(FTVP, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALP") - } - field(FTVQ, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALQ") - } - field(FTVR, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALR") - } - field(FTVS, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALS") - } - field(FTVT, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALT") - } - field(FTVU, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALU") - } - field(NOVA, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALA") - } - field(NOVB, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALB") - } - field(NOVC, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALC") - } - field(NOVD, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALD") - } - field(NOVE, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALE") - } - field(NOVF, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALF") - } - field(NOVG, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALG") - } - field(NOVH, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VAlH") - } - field(NOVI, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALI") - } - field(NOVJ, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALJ") - } - field(NOVK, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALK") - } - field(NOVL, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALL") - } - field(NOVM, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALM") - } - field(NOVN, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALN") - } - field(NOVO, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALO") - } - field(NOVP, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALP") - } - field(NOVQ, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALQ") - } - field(NOVR, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALR") - } - field(NOVS, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALS") - } - field(NOVT, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALT") - } - field(NOVU, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALU") - } - field(NEVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALA") - } - field(NEVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALB") - } - field(NEVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALC") - } - field(NEVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALD") - } - field(NEVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALE") - } - field(NEVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALF") - } - field(NEVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALG") - } - field(NEVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VAlH") - } - field(NEVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALI") - } - field(NEVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALJ") - } - field(NEVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALK") - } - field(NEVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALL") - } - field(NEVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALM") - } - field(NEVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALN") - } - field(NEVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALO") - } - field(NEVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALP") - } - field(NEVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALQ") - } - field(NEVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALR") - } - field(NEVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALS") - } - field(NEVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALT") - } - field(NEVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALU") - } - field(ONVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLA") - } - field(ONVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLB") - } - field(ONVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLC") - } - field(ONVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLD") - } - field(ONVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLE") - } - field(ONVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLF") - } - field(ONVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLG") - } - field(ONVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in VAlH") - } - field(ONVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLI") - } - field(ONVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLJ") - } - field(ONVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLK") - } - field(ONVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLL") - } - field(ONVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLM") - } - field(ONVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLN") - } - field(ONVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLO") - } - field(ONVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLP") - } - field(ONVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLQ") - } - field(ONVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLR") - } - field(ONVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLS") - } - field(ONVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLT") - } - field(ONVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLU") - } -} -recordtype(sub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct subRecord; - %typedef long (*SUBFUNCPTR)(struct subRecord *); - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - asl(ASL0) - pp(TRUE) - prompt("Result") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Init Routine Name") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(40) - prompt("Subroutine Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("SUBFUNCPTR sadr") - interest(4) - prompt("Subroutine Address") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -recordtype(int64in) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64inRecord; - %typedef struct int64indset { - % dset common; - % long (*read_int64in)(struct int64inRecord *prec); - %} int64indset; - %#define HAS_int64indset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_INT64) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(int64in, CONSTANT, devI64inSoft, "Soft Channel") -device(int64in, CONSTANT, devI64inSoftCallback, "Async Soft Channel") -device(int64in, INST_IO, asynInt64In, "asynInt64") -recordtype(ai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aiRecord; - %typedef struct aidset { - % dset common; - % long (*read_ai)(struct aiRecord *prec); - % long (*special_linconv)(struct aiRecord *prec, int after); - %} aidset; - %#define HAS_aidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current EGU Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(SMOO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - prompt("Smoothing") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("Raw to EGU Slope") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("Raw to EGU Offset") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(ai, CONSTANT, devAiSoft, "Soft Channel") -device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") -device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") -device(ai, INST_IO, devTimestampAI, "Soft Timestamp") -device(ai, INST_IO, devAiGeneralTime, "General Time") -device(ai, INST_IO, devAiStats, "IOC stats") -device(ai, INST_IO, devAiClusts, "IOC stats clusts") -device(ai, CONSTANT, devAiDBCLC, "DBCLC") -device(ai, CONSTANT, devAiDBDLC, "DBDLC") -device(ai, INST_IO, devSysMonAiStats, "sysmon") -device(ai, INST_IO, asynAiInt32, "asynInt32") -device(ai, INST_IO, asynAiInt32Average, "asynInt32Average") -device(ai, INST_IO, asynAiFloat64, "asynFloat64") -device(ai, INST_IO, asynAiFloat64Average, "asynFloat64Average") -device(ai, INST_IO, asynAiInt64, "asynInt64") -recordtype(stringin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringinRecord; - %typedef struct stringindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_stringin)(struct stringinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} stringindset; - %#define HAS_stringindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_STRING) { - pp(TRUE) - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(stringin, CONSTANT, devSiSoft, "Soft Channel") -device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") -device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") -device(stringin, INST_IO, devSiGeneralTime, "General Time") -device(stringin, INST_IO, devSiEnviron, "getenv") -device(stringin, INST_IO, devStringinStats, "IOC stats") -device(stringin, INST_IO, devStringinEnvVar, "IOC env var") -device(stringin, INST_IO, devStringinEpics, "IOC epics var") -device(stringin, INST_IO, devSysMonSiStats, "sysmon") -device(stringin, INST_IO, asynSiOctetCmdResponse, "asynOctetCmdResponse") -device(stringin, INST_IO, asynSiOctetWriteRead, "asynOctetWriteRead") -device(stringin, INST_IO, asynSiOctetRead, "asynOctetRead") -driver(drvAsyn) -link(state, lnkStateIf) -link(calc, lnkCalcIf) -link(trace, lnkTraceIf) -link(debug, lnkDebugIf) -link(const, lnkConstIf) -registrar(drvAsynSerialPortRegisterCommands) -registrar(drvCodacHeaderRegister) -registrar(tsInitialize) -registrar(syncInitialize) -registrar(dbrestoreRegister) -registrar(iocSetLogLevelRegister) -registrar(save_restoreRegister) -registrar(asynRegister) -registrar(decInitialize) -registrar(iocSetSimEnableRegister) -registrar(drvCodacRedundantPlcRegister) -registrar(asynInterposeFlushRegister) -registrar(drvAsynIPPortRegisterCommands) -registrar(drvBlockTCPRegister) -registrar(asynInterposeEchoRegister) -registrar(arrInitialize) -registrar(asInitHooksRegister) -registrar(drvBlockTCPEventRegister) -registrar(asynInterposeDelayRegister) -registrar(dbndInitialize) -registrar(drvBlockTCPRedundantPlcRegister) -registrar(iocSetLogSyslogRegister) -registrar(drvAsynIPServerPortRegisterCommands) -registrar(configMenuRegistrar) -registrar(asSub) -registrar(iocSetLogStdoutRegister) -registrar(asynInterposeEosRegister) -registrar(rsrvRegistrar) -registrar(iocSetLogInitRegister) -function(scanMon) -function(rebootProc) -function(scanMonInit) -variable(dbTemplateMaxVars, int) -variable(lnkDebug_debug, int) -variable(asCaDebug, int) -variable(callbackParallelThreadsDefault, int) -variable(save_restoreRemountThreshold, int) -variable(dbAccessDebugPUTF, int) -variable(dbRecordsOnceOnly, int) -variable(save_restoreDebug, int) -variable(save_restoreDatedBackupFiles, int) -variable(calcoutODLYlimit, double) -variable(configMenuDebug, int) -variable(save_restoreIncompleteSetsOk, int) -variable(dbBptNotMonotonic, int) -variable(atExitDebug, int) -variable(boHIGHlimit, double) -variable(dbJLinkDebug, int) -variable(dbConvertStrict, int) -variable(seqDLYprecision, int) -variable(logClientDebug, int) -variable(dbQuietMacroWarnings, int) -variable(save_restoreNumSeqFiles, int) -variable(boHIGHprecision, int) -variable(dbRecordsAbcSorted, int) -variable(seqDLYlimit, double) -variable(calcoutODLYprecision, int) -variable(histogramSDELprecision, int) -variable(dbThreadRealtimeLock, int) -variable(CASDEBUG, int) -variable(save_restoreSeqPeriodInSeconds, int) diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/Makefile b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/Makefile deleted file mode 100644 index 757ce21..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -#This Makefile created by makeMakefile.pl - - -all : - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -.DEFAULT: force - $(MAKE) -f ../Makefile TOP=../../.. T_A=linux-x86_64 $@ - -force: ; diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC deleted file mode 100755 index e8d546a..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC.dbd.d b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC.dbd.d deleted file mode 100644 index f969328..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC.dbd.d +++ /dev/null @@ -1,168 +0,0 @@ -../O.Common/PLC.dbd: /opt/codac-6.3/epics/dbd/base.dbd \ - /opt/codac-6.3/epics/dbd/menuGlobal.dbd \ - /opt/codac-6.3/epics/dbd/menuAlarmSevr.dbd \ - /opt/codac-6.3/epics/dbd/menuAlarmStat.dbd \ - /opt/codac-6.3/epics/dbd/menuFtype.dbd \ - /opt/codac-6.3/epics/dbd/menuIvoa.dbd \ - /opt/codac-6.3/epics/dbd/menuOmsl.dbd \ - /opt/codac-6.3/epics/dbd/menuPini.dbd \ - /opt/codac-6.3/epics/dbd/menuPost.dbd \ - /opt/codac-6.3/epics/dbd/menuPriority.dbd \ - /opt/codac-6.3/epics/dbd/menuYesNo.dbd \ - /opt/codac-6.3/epics/dbd/menuSimm.dbd \ - /opt/codac-6.3/epics/dbd/menuConvert.dbd \ - /opt/codac-6.3/epics/dbd/menuScan.dbd \ - /opt/codac-6.3/epics/dbd/stdRecords.dbd \ - /opt/codac-6.3/epics/dbd/aaiRecord.dbd \ - /opt/codac-6.3/epics/dbd/dbCommon.dbd \ - /opt/codac-6.3/epics/dbd/aaoRecord.dbd \ - /opt/codac-6.3/epics/dbd/aiRecord.dbd \ - /opt/codac-6.3/epics/dbd/aoRecord.dbd \ - /opt/codac-6.3/epics/dbd/aSubRecord.dbd \ - /opt/codac-6.3/epics/dbd/biRecord.dbd \ - /opt/codac-6.3/epics/dbd/boRecord.dbd \ - /opt/codac-6.3/epics/dbd/calcRecord.dbd \ - /opt/codac-6.3/epics/dbd/calcoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/compressRecord.dbd \ - /opt/codac-6.3/epics/dbd/dfanoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/eventRecord.dbd \ - /opt/codac-6.3/epics/dbd/fanoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/histogramRecord.dbd \ - /opt/codac-6.3/epics/dbd/int64inRecord.dbd \ - /opt/codac-6.3/epics/dbd/int64outRecord.dbd \ - /opt/codac-6.3/epics/dbd/longinRecord.dbd \ - /opt/codac-6.3/epics/dbd/longoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/lsiRecord.dbd \ - /opt/codac-6.3/epics/dbd/lsoRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbbiRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbbiDirectRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbboRecord.dbd \ - /opt/codac-6.3/epics/dbd/mbboDirectRecord.dbd \ - /opt/codac-6.3/epics/dbd/permissiveRecord.dbd \ - /opt/codac-6.3/epics/dbd/printfRecord.dbd \ - /opt/codac-6.3/epics/dbd/selRecord.dbd \ - /opt/codac-6.3/epics/dbd/seqRecord.dbd \ - /opt/codac-6.3/epics/dbd/stateRecord.dbd \ - /opt/codac-6.3/epics/dbd/stringinRecord.dbd \ - /opt/codac-6.3/epics/dbd/stringoutRecord.dbd \ - /opt/codac-6.3/epics/dbd/subRecord.dbd \ - /opt/codac-6.3/epics/dbd/subArrayRecord.dbd \ - /opt/codac-6.3/epics/dbd/waveformRecord.dbd \ - /opt/codac-6.3/epics/dbd/filters.dbd \ - /opt/codac-6.3/epics/dbd/links.dbd \ - /opt/codac-6.3/epics/dbd/devSoft.dbd \ - /opt/codac-6.3/epics/dbd/asSub.dbd \ - /opt/codac-6.3/epics/dbd/dbCore.dbd \ - /opt/codac-6.3/epics/dbd/rsrv.dbd \ - /opt/codac-6.3/epics/dbd/std.dbd \ - /opt/codac-6.3/epics/dbd/autosave.dbd \ - /opt/codac-6.3/epics/dbd/iocmon.dbd \ - /opt/codac-6.3/epics/dbd/sysmon.dbd \ - /opt/codac-6.3/epics/dbd/asyn.dbd \ - /opt/codac-6.3/epics/dbd/asynRecord.dbd \ - /opt/codac-6.3/epics/dbd/devEpics.dbd \ - /opt/codac-6.3/epics/dbd/devAsynOctet.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt32.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt8Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt16Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt32Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt32TimeSeries.dbd \ - /opt/codac-6.3/epics/dbd/devAsynUInt32Digital.dbd \ - /opt/codac-6.3/epics/dbd/devAsynFloat64.dbd \ - /opt/codac-6.3/epics/dbd/devAsynFloat32Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynFloat64Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynFloat64TimeSeries.dbd \ - /opt/codac-6.3/epics/dbd/devAsynRecord.dbd \ - /opt/codac-6.3/epics/dbd/devAsynOctetLs.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt64.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt64Array.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt64TimeSeries.dbd \ - /opt/codac-6.3/epics/dbd/devAsynInt64Misc.dbd \ - /opt/codac-6.3/epics/dbd/drvAsynSerialPort.dbd \ - /opt/codac-6.3/epics/dbd/drvAsynIPPort.dbd \ - /opt/codac-6.3/epics/dbd/s7PLCAsyn.dbd - -/opt/codac-6.3/epics/dbd/base.dbd: -/opt/codac-6.3/epics/dbd/menuGlobal.dbd: -/opt/codac-6.3/epics/dbd/menuAlarmSevr.dbd: -/opt/codac-6.3/epics/dbd/menuAlarmStat.dbd: -/opt/codac-6.3/epics/dbd/menuFtype.dbd: -/opt/codac-6.3/epics/dbd/menuIvoa.dbd: -/opt/codac-6.3/epics/dbd/menuOmsl.dbd: -/opt/codac-6.3/epics/dbd/menuPini.dbd: -/opt/codac-6.3/epics/dbd/menuPost.dbd: -/opt/codac-6.3/epics/dbd/menuPriority.dbd: -/opt/codac-6.3/epics/dbd/menuYesNo.dbd: -/opt/codac-6.3/epics/dbd/menuSimm.dbd: -/opt/codac-6.3/epics/dbd/menuConvert.dbd: -/opt/codac-6.3/epics/dbd/menuScan.dbd: -/opt/codac-6.3/epics/dbd/stdRecords.dbd: -/opt/codac-6.3/epics/dbd/aaiRecord.dbd: -/opt/codac-6.3/epics/dbd/dbCommon.dbd: -/opt/codac-6.3/epics/dbd/aaoRecord.dbd: -/opt/codac-6.3/epics/dbd/aiRecord.dbd: -/opt/codac-6.3/epics/dbd/aoRecord.dbd: -/opt/codac-6.3/epics/dbd/aSubRecord.dbd: -/opt/codac-6.3/epics/dbd/biRecord.dbd: -/opt/codac-6.3/epics/dbd/boRecord.dbd: -/opt/codac-6.3/epics/dbd/calcRecord.dbd: -/opt/codac-6.3/epics/dbd/calcoutRecord.dbd: -/opt/codac-6.3/epics/dbd/compressRecord.dbd: -/opt/codac-6.3/epics/dbd/dfanoutRecord.dbd: -/opt/codac-6.3/epics/dbd/eventRecord.dbd: -/opt/codac-6.3/epics/dbd/fanoutRecord.dbd: -/opt/codac-6.3/epics/dbd/histogramRecord.dbd: -/opt/codac-6.3/epics/dbd/int64inRecord.dbd: -/opt/codac-6.3/epics/dbd/int64outRecord.dbd: -/opt/codac-6.3/epics/dbd/longinRecord.dbd: -/opt/codac-6.3/epics/dbd/longoutRecord.dbd: -/opt/codac-6.3/epics/dbd/lsiRecord.dbd: -/opt/codac-6.3/epics/dbd/lsoRecord.dbd: -/opt/codac-6.3/epics/dbd/mbbiRecord.dbd: -/opt/codac-6.3/epics/dbd/mbbiDirectRecord.dbd: -/opt/codac-6.3/epics/dbd/mbboRecord.dbd: -/opt/codac-6.3/epics/dbd/mbboDirectRecord.dbd: -/opt/codac-6.3/epics/dbd/permissiveRecord.dbd: -/opt/codac-6.3/epics/dbd/printfRecord.dbd: -/opt/codac-6.3/epics/dbd/selRecord.dbd: -/opt/codac-6.3/epics/dbd/seqRecord.dbd: -/opt/codac-6.3/epics/dbd/stateRecord.dbd: -/opt/codac-6.3/epics/dbd/stringinRecord.dbd: -/opt/codac-6.3/epics/dbd/stringoutRecord.dbd: -/opt/codac-6.3/epics/dbd/subRecord.dbd: -/opt/codac-6.3/epics/dbd/subArrayRecord.dbd: -/opt/codac-6.3/epics/dbd/waveformRecord.dbd: -/opt/codac-6.3/epics/dbd/filters.dbd: -/opt/codac-6.3/epics/dbd/links.dbd: -/opt/codac-6.3/epics/dbd/devSoft.dbd: -/opt/codac-6.3/epics/dbd/asSub.dbd: -/opt/codac-6.3/epics/dbd/dbCore.dbd: -/opt/codac-6.3/epics/dbd/rsrv.dbd: -/opt/codac-6.3/epics/dbd/std.dbd: -/opt/codac-6.3/epics/dbd/autosave.dbd: -/opt/codac-6.3/epics/dbd/iocmon.dbd: -/opt/codac-6.3/epics/dbd/sysmon.dbd: -/opt/codac-6.3/epics/dbd/asyn.dbd: -/opt/codac-6.3/epics/dbd/asynRecord.dbd: -/opt/codac-6.3/epics/dbd/devEpics.dbd: -/opt/codac-6.3/epics/dbd/devAsynOctet.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt32.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt8Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt16Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt32Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt32TimeSeries.dbd: -/opt/codac-6.3/epics/dbd/devAsynUInt32Digital.dbd: -/opt/codac-6.3/epics/dbd/devAsynFloat64.dbd: -/opt/codac-6.3/epics/dbd/devAsynFloat32Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynFloat64Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynFloat64TimeSeries.dbd: -/opt/codac-6.3/epics/dbd/devAsynRecord.dbd: -/opt/codac-6.3/epics/dbd/devAsynOctetLs.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt64.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt64Array.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt64TimeSeries.dbd: -/opt/codac-6.3/epics/dbd/devAsynInt64Misc.dbd: -/opt/codac-6.3/epics/dbd/drvAsynSerialPort.dbd: -/opt/codac-6.3/epics/dbd/drvAsynIPPort.dbd: -/opt/codac-6.3/epics/dbd/s7PLCAsyn.dbd: -../O.Common/PLC.dbd: ../Makefile diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLCMain.d b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLCMain.d deleted file mode 100644 index 85a2b61..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLCMain.d +++ /dev/null @@ -1,16 +0,0 @@ -PLCMain.o: ../PLCMain.cpp /opt/codac-6.3/epics/include/epicsExit.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/epicsThread.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/os/Linux/osdEvent.h \ - /opt/codac-6.3/epics/include/epicsMutex.h \ - /opt/codac-6.3/epics/include/epicsAssert.h \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/compiler/gcc/compilerSpecific.h \ - /opt/codac-6.3/epics/include/epicsGuard.h \ - /opt/codac-6.3/epics/include/os/Linux/osdMutex.h \ - /opt/codac-6.3/epics/include/os/Linux/osdThread.h \ - /opt/codac-6.3/epics/include/ellLib.h \ - /opt/codac-6.3/epics/include/epicsEvent.h \ - /opt/codac-6.3/epics/include/iocsh.h diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLCMain.o b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLCMain.o deleted file mode 100644 index 76fd7b1..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLCMain.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC_registerRecordDeviceDriver.cpp b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC_registerRecordDeviceDriver.cpp deleted file mode 100644 index c40a5dc..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC_registerRecordDeviceDriver.cpp +++ /dev/null @@ -1,469 +0,0 @@ -/* THIS IS A GENERATED FILE. DO NOT EDIT! */ -/* Generated from ../O.Common/PLC.dbd */ - -#include -#ifndef USE_TYPED_RSET -# define USE_TYPED_RSET -#endif -#include "compilerDependencies.h" -#include "epicsStdlib.h" -#include "iocsh.h" -#include "iocshRegisterCommon.h" -#include "registryCommon.h" -#include "recSup.h" - -extern "C" { - -epicsShareExtern typed_rset *pvar_rset_aSubRSET, *pvar_rset_aaiRSET, - *pvar_rset_aaoRSET, *pvar_rset_aiRSET, *pvar_rset_aoRSET, - *pvar_rset_asynRSET, *pvar_rset_biRSET, *pvar_rset_boRSET, - *pvar_rset_calcRSET, *pvar_rset_calcoutRSET, *pvar_rset_compressRSET, - *pvar_rset_dfanoutRSET, *pvar_rset_epidRSET, *pvar_rset_eventRSET, - *pvar_rset_fanoutRSET, *pvar_rset_histogramRSET, - *pvar_rset_int64inRSET, *pvar_rset_int64outRSET, - *pvar_rset_longinRSET, *pvar_rset_longoutRSET, *pvar_rset_lsiRSET, - *pvar_rset_lsoRSET, *pvar_rset_mbbiRSET, *pvar_rset_mbbiDirectRSET, - *pvar_rset_mbboRSET, *pvar_rset_mbboDirectRSET, - *pvar_rset_permissiveRSET, *pvar_rset_printfRSET, *pvar_rset_selRSET, - *pvar_rset_seqRSET, *pvar_rset_stateRSET, *pvar_rset_stringinRSET, - *pvar_rset_stringoutRSET, *pvar_rset_subRSET, *pvar_rset_subArrayRSET, - *pvar_rset_timestampRSET, *pvar_rset_waveformRSET; - -typedef int (*rso_func)(dbRecordType *pdbRecordType); -epicsShareExtern rso_func pvar_func_aSubRecordSizeOffset, - pvar_func_aaiRecordSizeOffset, pvar_func_aaoRecordSizeOffset, - pvar_func_aiRecordSizeOffset, pvar_func_aoRecordSizeOffset, - pvar_func_asynRecordSizeOffset, pvar_func_biRecordSizeOffset, - pvar_func_boRecordSizeOffset, pvar_func_calcRecordSizeOffset, - pvar_func_calcoutRecordSizeOffset, pvar_func_compressRecordSizeOffset, - pvar_func_dfanoutRecordSizeOffset, pvar_func_epidRecordSizeOffset, - pvar_func_eventRecordSizeOffset, pvar_func_fanoutRecordSizeOffset, - pvar_func_histogramRecordSizeOffset, - pvar_func_int64inRecordSizeOffset, pvar_func_int64outRecordSizeOffset, - pvar_func_longinRecordSizeOffset, pvar_func_longoutRecordSizeOffset, - pvar_func_lsiRecordSizeOffset, pvar_func_lsoRecordSizeOffset, - pvar_func_mbbiRecordSizeOffset, pvar_func_mbbiDirectRecordSizeOffset, - pvar_func_mbboRecordSizeOffset, pvar_func_mbboDirectRecordSizeOffset, - pvar_func_permissiveRecordSizeOffset, - pvar_func_printfRecordSizeOffset, pvar_func_selRecordSizeOffset, - pvar_func_seqRecordSizeOffset, pvar_func_stateRecordSizeOffset, - pvar_func_stringinRecordSizeOffset, - pvar_func_stringoutRecordSizeOffset, pvar_func_subRecordSizeOffset, - pvar_func_subArrayRecordSizeOffset, - pvar_func_timestampRecordSizeOffset, - pvar_func_waveformRecordSizeOffset; - -static const char * const recordTypeNames[] = { - "aSub", "aai", "aao", "ai", "ao", "asyn", "bi", "bo", "calc", - "calcout", "compress", "dfanout", "epid", "event", "fanout", - "histogram", "int64in", "int64out", "longin", "longout", "lsi", "lso", - "mbbi", "mbbiDirect", "mbbo", "mbboDirect", "permissive", "printf", - "sel", "seq", "state", "stringin", "stringout", "sub", "subArray", - "timestamp", "waveform" -}; - -static const recordTypeLocation rtl[] = { - {(struct typed_rset *)pvar_rset_aSubRSET, pvar_func_aSubRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aaiRSET, pvar_func_aaiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aaoRSET, pvar_func_aaoRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aiRSET, pvar_func_aiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_aoRSET, pvar_func_aoRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_asynRSET, pvar_func_asynRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_biRSET, pvar_func_biRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_boRSET, pvar_func_boRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_calcRSET, pvar_func_calcRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_calcoutRSET, pvar_func_calcoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_compressRSET, pvar_func_compressRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_dfanoutRSET, pvar_func_dfanoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_epidRSET, pvar_func_epidRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_eventRSET, pvar_func_eventRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_fanoutRSET, pvar_func_fanoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_histogramRSET, pvar_func_histogramRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_int64inRSET, pvar_func_int64inRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_int64outRSET, pvar_func_int64outRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_longinRSET, pvar_func_longinRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_longoutRSET, pvar_func_longoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_lsiRSET, pvar_func_lsiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_lsoRSET, pvar_func_lsoRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbbiRSET, pvar_func_mbbiRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbbiDirectRSET, pvar_func_mbbiDirectRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbboRSET, pvar_func_mbboRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_mbboDirectRSET, pvar_func_mbboDirectRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_permissiveRSET, pvar_func_permissiveRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_printfRSET, pvar_func_printfRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_selRSET, pvar_func_selRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_seqRSET, pvar_func_seqRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_stateRSET, pvar_func_stateRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_stringinRSET, pvar_func_stringinRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_stringoutRSET, pvar_func_stringoutRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_subRSET, pvar_func_subRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_subArrayRSET, pvar_func_subArrayRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_timestampRSET, pvar_func_timestampRecordSizeOffset}, - {(struct typed_rset *)pvar_rset_waveformRSET, pvar_func_waveformRecordSizeOffset} -}; - -epicsShareExtern dset *pvar_dset_devAaiSoft, *pvar_dset_devAaoSoft, - *pvar_dset_devAiSoft, *pvar_dset_devAiSoftRaw, - *pvar_dset_devAiSoftCallback, *pvar_dset_devTimestampAI, - *pvar_dset_devAiGeneralTime, *pvar_dset_devAiStats, - *pvar_dset_devAiClusts, *pvar_dset_devAiDBCLC, *pvar_dset_devAiDBDLC, - *pvar_dset_devSysMonAiStats, *pvar_dset_asynAiInt32, - *pvar_dset_asynAiInt32Average, *pvar_dset_asynAiFloat64, - *pvar_dset_asynAiFloat64Average, *pvar_dset_asynAiInt64, - *pvar_dset_devAoSoft, *pvar_dset_devAoSoftRaw, - *pvar_dset_devAoSoftCallback, *pvar_dset_devAoStats, - *pvar_dset_asynAoInt32, *pvar_dset_asynAoFloat64, - *pvar_dset_asynAoInt64, *pvar_dset_asynRecordDevice, - *pvar_dset_devBiSoft, *pvar_dset_devBiSoftRaw, - *pvar_dset_devBiSoftCallback, *pvar_dset_devBiDbState, - *pvar_dset_asynBiInt32, *pvar_dset_asynBiUInt32Digital, - *pvar_dset_devBoSoft, *pvar_dset_devBoSoftRaw, - *pvar_dset_devBoSoftCallback, *pvar_dset_devBoGeneralTime, - *pvar_dset_devBoDbState, *pvar_dset_devBoSimulation, - *pvar_dset_asynBoInt32, *pvar_dset_asynBoUInt32Digital, - *pvar_dset_devCalcoutSoft, *pvar_dset_devCalcoutSoftCallback, - *pvar_dset_devEpidSoft, *pvar_dset_devEpidSoftCB, - *pvar_dset_devEventSoft, *pvar_dset_devHistogramSoft, - *pvar_dset_devI64inSoft, *pvar_dset_devI64inSoftCallback, - *pvar_dset_asynInt64In, *pvar_dset_devI64outSoft, - *pvar_dset_devI64outSoftCallback, *pvar_dset_asynInt64Out, - *pvar_dset_devLiSoft, *pvar_dset_devLiSoftCallback, - *pvar_dset_devLiGeneralTime, *pvar_dset_asynLiInt32, - *pvar_dset_asynLiUInt32Digital, *pvar_dset_asynLiInt64, - *pvar_dset_devLoSoft, *pvar_dset_devLoSoftCallback, - *pvar_dset_asynLoInt32, *pvar_dset_asynLoUInt32Digital, - *pvar_dset_asynLoInt64, *pvar_dset_devLsiSoft, - *pvar_dset_devLsiEnviron, *pvar_dset_devLsiStats, - *pvar_dset_asynLsiOctetCmdResponse, *pvar_dset_asynLsiOctetWriteRead, - *pvar_dset_asynLsiOctetRead, *pvar_dset_devLsoSoft, - *pvar_dset_devLsoSoftCallback, *pvar_dset_devLsoStdio, - *pvar_dset_asynLsoOctetWrite, *pvar_dset_devMbbiSoft, - *pvar_dset_devMbbiSoftRaw, *pvar_dset_devMbbiSoftCallback, - *pvar_dset_devSysMonMbbiStats, *pvar_dset_asynMbbiInt32, - *pvar_dset_asynMbbiUInt32Digital, *pvar_dset_devMbbiDirectSoft, - *pvar_dset_devMbbiDirectSoftRaw, *pvar_dset_devMbbiDirectSoftCallback, - *pvar_dset_devSysMonMbbiDirectStats, - *pvar_dset_asynMbbiDirectUInt32Digital, *pvar_dset_devMbboSoft, - *pvar_dset_devMbboSoftRaw, *pvar_dset_devMbboSoftCallback, - *pvar_dset_asynMbboInt32, *pvar_dset_asynMbboUInt32Digital, - *pvar_dset_devMbboDirectSoft, *pvar_dset_devMbboDirectSoftRaw, - *pvar_dset_devMbboDirectSoftCallback, - *pvar_dset_asynMbboDirectUInt32Digital, *pvar_dset_devPrintfSoft, - *pvar_dset_devPrintfSoftCallback, *pvar_dset_devPrintfStdio, - *pvar_dset_asynPfOctetWrite, *pvar_dset_devSiSoft, - *pvar_dset_devSiSoftCallback, *pvar_dset_devTimestampSI, - *pvar_dset_devSiGeneralTime, *pvar_dset_devSiEnviron, - *pvar_dset_devStringinStats, *pvar_dset_devStringinEnvVar, - *pvar_dset_devStringinEpics, *pvar_dset_devSysMonSiStats, - *pvar_dset_asynSiOctetCmdResponse, *pvar_dset_asynSiOctetWriteRead, - *pvar_dset_asynSiOctetRead, *pvar_dset_devSoSoft, - *pvar_dset_devSoSoftCallback, *pvar_dset_devSoStdio, - *pvar_dset_asynSoOctetWrite, *pvar_dset_devSASoft, - *pvar_dset_devWfSoft, *pvar_dset_devWaveformStats, - *pvar_dset_devSysMonWaveStats, *pvar_dset_asynWfOctetCmdResponse, - *pvar_dset_asynWfOctetWriteRead, *pvar_dset_asynWfOctetRead, - *pvar_dset_asynWfOctetWrite, *pvar_dset_asynWfOctetWriteBinary, - *pvar_dset_asynInt8ArrayWfIn, *pvar_dset_asynInt8ArrayWfOut, - *pvar_dset_asynInt16ArrayWfIn, *pvar_dset_asynInt16ArrayWfOut, - *pvar_dset_asynInt32ArrayWfIn, *pvar_dset_asynInt32ArrayWfOut, - *pvar_dset_asynInt32TimeSeries, *pvar_dset_asynFloat32ArrayWfIn, - *pvar_dset_asynFloat32ArrayWfOut, *pvar_dset_asynFloat64ArrayWfIn, - *pvar_dset_asynFloat64ArrayWfOut, *pvar_dset_asynFloat64TimeSeries, - *pvar_dset_asynInt64ArrayWfIn, *pvar_dset_asynInt64ArrayWfOut, - *pvar_dset_asynInt64TimeSeries; - -static const char * const deviceSupportNames[] = { - "devAaiSoft", "devAaoSoft", "devAiSoft", "devAiSoftRaw", - "devAiSoftCallback", "devTimestampAI", "devAiGeneralTime", - "devAiStats", "devAiClusts", "devAiDBCLC", "devAiDBDLC", - "devSysMonAiStats", "asynAiInt32", "asynAiInt32Average", - "asynAiFloat64", "asynAiFloat64Average", "asynAiInt64", "devAoSoft", - "devAoSoftRaw", "devAoSoftCallback", "devAoStats", "asynAoInt32", - "asynAoFloat64", "asynAoInt64", "asynRecordDevice", "devBiSoft", - "devBiSoftRaw", "devBiSoftCallback", "devBiDbState", "asynBiInt32", - "asynBiUInt32Digital", "devBoSoft", "devBoSoftRaw", - "devBoSoftCallback", "devBoGeneralTime", "devBoDbState", - "devBoSimulation", "asynBoInt32", "asynBoUInt32Digital", - "devCalcoutSoft", "devCalcoutSoftCallback", "devEpidSoft", - "devEpidSoftCB", "devEventSoft", "devHistogramSoft", "devI64inSoft", - "devI64inSoftCallback", "asynInt64In", "devI64outSoft", - "devI64outSoftCallback", "asynInt64Out", "devLiSoft", - "devLiSoftCallback", "devLiGeneralTime", "asynLiInt32", - "asynLiUInt32Digital", "asynLiInt64", "devLoSoft", - "devLoSoftCallback", "asynLoInt32", "asynLoUInt32Digital", - "asynLoInt64", "devLsiSoft", "devLsiEnviron", "devLsiStats", - "asynLsiOctetCmdResponse", "asynLsiOctetWriteRead", - "asynLsiOctetRead", "devLsoSoft", "devLsoSoftCallback", "devLsoStdio", - "asynLsoOctetWrite", "devMbbiSoft", "devMbbiSoftRaw", - "devMbbiSoftCallback", "devSysMonMbbiStats", "asynMbbiInt32", - "asynMbbiUInt32Digital", "devMbbiDirectSoft", "devMbbiDirectSoftRaw", - "devMbbiDirectSoftCallback", "devSysMonMbbiDirectStats", - "asynMbbiDirectUInt32Digital", "devMbboSoft", "devMbboSoftRaw", - "devMbboSoftCallback", "asynMbboInt32", "asynMbboUInt32Digital", - "devMbboDirectSoft", "devMbboDirectSoftRaw", - "devMbboDirectSoftCallback", "asynMbboDirectUInt32Digital", - "devPrintfSoft", "devPrintfSoftCallback", "devPrintfStdio", - "asynPfOctetWrite", "devSiSoft", "devSiSoftCallback", - "devTimestampSI", "devSiGeneralTime", "devSiEnviron", - "devStringinStats", "devStringinEnvVar", "devStringinEpics", - "devSysMonSiStats", "asynSiOctetCmdResponse", "asynSiOctetWriteRead", - "asynSiOctetRead", "devSoSoft", "devSoSoftCallback", "devSoStdio", - "asynSoOctetWrite", "devSASoft", "devWfSoft", "devWaveformStats", - "devSysMonWaveStats", "asynWfOctetCmdResponse", - "asynWfOctetWriteRead", "asynWfOctetRead", "asynWfOctetWrite", - "asynWfOctetWriteBinary", "asynInt8ArrayWfIn", "asynInt8ArrayWfOut", - "asynInt16ArrayWfIn", "asynInt16ArrayWfOut", "asynInt32ArrayWfIn", - "asynInt32ArrayWfOut", "asynInt32TimeSeries", "asynFloat32ArrayWfIn", - "asynFloat32ArrayWfOut", "asynFloat64ArrayWfIn", - "asynFloat64ArrayWfOut", "asynFloat64TimeSeries", - "asynInt64ArrayWfIn", "asynInt64ArrayWfOut", "asynInt64TimeSeries" -}; - -static const dset * const devsl[] = { - pvar_dset_devAaiSoft, pvar_dset_devAaoSoft, pvar_dset_devAiSoft, - pvar_dset_devAiSoftRaw, pvar_dset_devAiSoftCallback, - pvar_dset_devTimestampAI, pvar_dset_devAiGeneralTime, - pvar_dset_devAiStats, pvar_dset_devAiClusts, pvar_dset_devAiDBCLC, - pvar_dset_devAiDBDLC, pvar_dset_devSysMonAiStats, - pvar_dset_asynAiInt32, pvar_dset_asynAiInt32Average, - pvar_dset_asynAiFloat64, pvar_dset_asynAiFloat64Average, - pvar_dset_asynAiInt64, pvar_dset_devAoSoft, pvar_dset_devAoSoftRaw, - pvar_dset_devAoSoftCallback, pvar_dset_devAoStats, - pvar_dset_asynAoInt32, pvar_dset_asynAoFloat64, pvar_dset_asynAoInt64, - pvar_dset_asynRecordDevice, pvar_dset_devBiSoft, - pvar_dset_devBiSoftRaw, pvar_dset_devBiSoftCallback, - pvar_dset_devBiDbState, pvar_dset_asynBiInt32, - pvar_dset_asynBiUInt32Digital, pvar_dset_devBoSoft, - pvar_dset_devBoSoftRaw, pvar_dset_devBoSoftCallback, - pvar_dset_devBoGeneralTime, pvar_dset_devBoDbState, - pvar_dset_devBoSimulation, pvar_dset_asynBoInt32, - pvar_dset_asynBoUInt32Digital, pvar_dset_devCalcoutSoft, - pvar_dset_devCalcoutSoftCallback, pvar_dset_devEpidSoft, - pvar_dset_devEpidSoftCB, pvar_dset_devEventSoft, - pvar_dset_devHistogramSoft, pvar_dset_devI64inSoft, - pvar_dset_devI64inSoftCallback, pvar_dset_asynInt64In, - pvar_dset_devI64outSoft, pvar_dset_devI64outSoftCallback, - pvar_dset_asynInt64Out, pvar_dset_devLiSoft, - pvar_dset_devLiSoftCallback, pvar_dset_devLiGeneralTime, - pvar_dset_asynLiInt32, pvar_dset_asynLiUInt32Digital, - pvar_dset_asynLiInt64, pvar_dset_devLoSoft, - pvar_dset_devLoSoftCallback, pvar_dset_asynLoInt32, - pvar_dset_asynLoUInt32Digital, pvar_dset_asynLoInt64, - pvar_dset_devLsiSoft, pvar_dset_devLsiEnviron, pvar_dset_devLsiStats, - pvar_dset_asynLsiOctetCmdResponse, pvar_dset_asynLsiOctetWriteRead, - pvar_dset_asynLsiOctetRead, pvar_dset_devLsoSoft, - pvar_dset_devLsoSoftCallback, pvar_dset_devLsoStdio, - pvar_dset_asynLsoOctetWrite, pvar_dset_devMbbiSoft, - pvar_dset_devMbbiSoftRaw, pvar_dset_devMbbiSoftCallback, - pvar_dset_devSysMonMbbiStats, pvar_dset_asynMbbiInt32, - pvar_dset_asynMbbiUInt32Digital, pvar_dset_devMbbiDirectSoft, - pvar_dset_devMbbiDirectSoftRaw, pvar_dset_devMbbiDirectSoftCallback, - pvar_dset_devSysMonMbbiDirectStats, - pvar_dset_asynMbbiDirectUInt32Digital, pvar_dset_devMbboSoft, - pvar_dset_devMbboSoftRaw, pvar_dset_devMbboSoftCallback, - pvar_dset_asynMbboInt32, pvar_dset_asynMbboUInt32Digital, - pvar_dset_devMbboDirectSoft, pvar_dset_devMbboDirectSoftRaw, - pvar_dset_devMbboDirectSoftCallback, - pvar_dset_asynMbboDirectUInt32Digital, pvar_dset_devPrintfSoft, - pvar_dset_devPrintfSoftCallback, pvar_dset_devPrintfStdio, - pvar_dset_asynPfOctetWrite, pvar_dset_devSiSoft, - pvar_dset_devSiSoftCallback, pvar_dset_devTimestampSI, - pvar_dset_devSiGeneralTime, pvar_dset_devSiEnviron, - pvar_dset_devStringinStats, pvar_dset_devStringinEnvVar, - pvar_dset_devStringinEpics, pvar_dset_devSysMonSiStats, - pvar_dset_asynSiOctetCmdResponse, pvar_dset_asynSiOctetWriteRead, - pvar_dset_asynSiOctetRead, pvar_dset_devSoSoft, - pvar_dset_devSoSoftCallback, pvar_dset_devSoStdio, - pvar_dset_asynSoOctetWrite, pvar_dset_devSASoft, pvar_dset_devWfSoft, - pvar_dset_devWaveformStats, pvar_dset_devSysMonWaveStats, - pvar_dset_asynWfOctetCmdResponse, pvar_dset_asynWfOctetWriteRead, - pvar_dset_asynWfOctetRead, pvar_dset_asynWfOctetWrite, - pvar_dset_asynWfOctetWriteBinary, pvar_dset_asynInt8ArrayWfIn, - pvar_dset_asynInt8ArrayWfOut, pvar_dset_asynInt16ArrayWfIn, - pvar_dset_asynInt16ArrayWfOut, pvar_dset_asynInt32ArrayWfIn, - pvar_dset_asynInt32ArrayWfOut, pvar_dset_asynInt32TimeSeries, - pvar_dset_asynFloat32ArrayWfIn, pvar_dset_asynFloat32ArrayWfOut, - pvar_dset_asynFloat64ArrayWfIn, pvar_dset_asynFloat64ArrayWfOut, - pvar_dset_asynFloat64TimeSeries, pvar_dset_asynInt64ArrayWfIn, - pvar_dset_asynInt64ArrayWfOut, pvar_dset_asynInt64TimeSeries -}; - -epicsShareExtern drvet *pvar_drvet_drvAsyn; - -static const char *driverSupportNames[] = { - "drvAsyn"}; - -static struct drvet *drvsl[] = { - pvar_drvet_drvAsyn}; - -epicsShareExtern jlif *pvar_jlif_lnkCalcIf, *pvar_jlif_lnkConstIf, - *pvar_jlif_lnkDebugIf, *pvar_jlif_lnkStateIf, *pvar_jlif_lnkTraceIf; - -static struct jlif *jlifsl[] = { - pvar_jlif_lnkCalcIf, - pvar_jlif_lnkConstIf, - pvar_jlif_lnkDebugIf, - pvar_jlif_lnkStateIf, - pvar_jlif_lnkTraceIf}; - -typedef void (*reg_func)(void); -epicsShareExtern reg_func pvar_func_arrInitialize, - pvar_func_asInitHooksRegister, pvar_func_asSub, - pvar_func_asynInterposeDelayRegister, - pvar_func_asynInterposeEchoRegister, - pvar_func_asynInterposeEosRegister, - pvar_func_asynInterposeFlushRegister, pvar_func_asynRegister, - pvar_func_configMenuRegistrar, pvar_func_dbndInitialize, - pvar_func_dbrestoreRegister, pvar_func_decInitialize, - pvar_func_drvAsynIPPortRegisterCommands, - pvar_func_drvAsynIPServerPortRegisterCommands, - pvar_func_drvAsynSerialPortRegisterCommands, - pvar_func_drvBlockTCPEventRegister, - pvar_func_drvBlockTCPRedundantPlcRegister, - pvar_func_drvBlockTCPRegister, pvar_func_drvCodacHeaderRegister, - pvar_func_drvCodacRedundantPlcRegister, - pvar_func_iocSetLogInitRegister, pvar_func_iocSetLogLevelRegister, - pvar_func_iocSetLogStdoutRegister, pvar_func_iocSetLogSyslogRegister, - pvar_func_iocSetSimEnableRegister, pvar_func_rsrvRegistrar, - pvar_func_save_restoreRegister, pvar_func_syncInitialize, - pvar_func_tsInitialize, pvar_func_register_func_rebootProc, - pvar_func_register_func_scanMon, pvar_func_register_func_scanMonInit; - -epicsShareExtern int * const pvar_int_CASDEBUG; -epicsShareExtern int * const pvar_int_asCaDebug; -epicsShareExtern int * const pvar_int_atExitDebug; -epicsShareExtern double * const pvar_double_boHIGHlimit; -epicsShareExtern int * const pvar_int_boHIGHprecision; -epicsShareExtern double * const pvar_double_calcoutODLYlimit; -epicsShareExtern int * const pvar_int_calcoutODLYprecision; -epicsShareExtern int * const pvar_int_callbackParallelThreadsDefault; -epicsShareExtern int * const pvar_int_configMenuDebug; -epicsShareExtern int * const pvar_int_dbAccessDebugPUTF; -epicsShareExtern int * const pvar_int_dbBptNotMonotonic; -epicsShareExtern int * const pvar_int_dbConvertStrict; -epicsShareExtern int * const pvar_int_dbJLinkDebug; -epicsShareExtern int * const pvar_int_dbQuietMacroWarnings; -epicsShareExtern int * const pvar_int_dbRecordsAbcSorted; -epicsShareExtern int * const pvar_int_dbRecordsOnceOnly; -epicsShareExtern int * const pvar_int_dbTemplateMaxVars; -epicsShareExtern int * const pvar_int_dbThreadRealtimeLock; -epicsShareExtern int * const pvar_int_histogramSDELprecision; -epicsShareExtern int * const pvar_int_lnkDebug_debug; -epicsShareExtern int * const pvar_int_logClientDebug; -epicsShareExtern int * const pvar_int_save_restoreDatedBackupFiles; -epicsShareExtern int * const pvar_int_save_restoreDebug; -epicsShareExtern int * const pvar_int_save_restoreIncompleteSetsOk; -epicsShareExtern int * const pvar_int_save_restoreNumSeqFiles; -epicsShareExtern int * const pvar_int_save_restoreRemountThreshold; -epicsShareExtern int * const pvar_int_save_restoreSeqPeriodInSeconds; -epicsShareExtern double * const pvar_double_seqDLYlimit; -epicsShareExtern int * const pvar_int_seqDLYprecision; - -static struct iocshVarDef vardefs[] = { - {"CASDEBUG", iocshArgInt, pvar_int_CASDEBUG}, - {"asCaDebug", iocshArgInt, pvar_int_asCaDebug}, - {"atExitDebug", iocshArgInt, pvar_int_atExitDebug}, - {"boHIGHlimit", iocshArgDouble, pvar_double_boHIGHlimit}, - {"boHIGHprecision", iocshArgInt, pvar_int_boHIGHprecision}, - {"calcoutODLYlimit", iocshArgDouble, pvar_double_calcoutODLYlimit}, - {"calcoutODLYprecision", iocshArgInt, pvar_int_calcoutODLYprecision}, - {"callbackParallelThreadsDefault", iocshArgInt, pvar_int_callbackParallelThreadsDefault}, - {"configMenuDebug", iocshArgInt, pvar_int_configMenuDebug}, - {"dbAccessDebugPUTF", iocshArgInt, pvar_int_dbAccessDebugPUTF}, - {"dbBptNotMonotonic", iocshArgInt, pvar_int_dbBptNotMonotonic}, - {"dbConvertStrict", iocshArgInt, pvar_int_dbConvertStrict}, - {"dbJLinkDebug", iocshArgInt, pvar_int_dbJLinkDebug}, - {"dbQuietMacroWarnings", iocshArgInt, pvar_int_dbQuietMacroWarnings}, - {"dbRecordsAbcSorted", iocshArgInt, pvar_int_dbRecordsAbcSorted}, - {"dbRecordsOnceOnly", iocshArgInt, pvar_int_dbRecordsOnceOnly}, - {"dbTemplateMaxVars", iocshArgInt, pvar_int_dbTemplateMaxVars}, - {"dbThreadRealtimeLock", iocshArgInt, pvar_int_dbThreadRealtimeLock}, - {"histogramSDELprecision", iocshArgInt, pvar_int_histogramSDELprecision}, - {"lnkDebug_debug", iocshArgInt, pvar_int_lnkDebug_debug}, - {"logClientDebug", iocshArgInt, pvar_int_logClientDebug}, - {"save_restoreDatedBackupFiles", iocshArgInt, pvar_int_save_restoreDatedBackupFiles}, - {"save_restoreDebug", iocshArgInt, pvar_int_save_restoreDebug}, - {"save_restoreIncompleteSetsOk", iocshArgInt, pvar_int_save_restoreIncompleteSetsOk}, - {"save_restoreNumSeqFiles", iocshArgInt, pvar_int_save_restoreNumSeqFiles}, - {"save_restoreRemountThreshold", iocshArgInt, pvar_int_save_restoreRemountThreshold}, - {"save_restoreSeqPeriodInSeconds", iocshArgInt, pvar_int_save_restoreSeqPeriodInSeconds}, - {"seqDLYlimit", iocshArgDouble, pvar_double_seqDLYlimit}, - {"seqDLYprecision", iocshArgInt, pvar_int_seqDLYprecision}, - {NULL, iocshArgInt, NULL} -}; - -int PLC_registerRecordDeviceDriver(DBBASE *pbase) -{ - static int executed = 0; - if (!pbase) { - printf("pdbbase is NULL; you must load a DBD file first.\n"); - return -1; - } - - if (executed) { - printf("Warning: Registration already done.\n"); - } - executed = 1; - - registerRecordTypes(pbase, NELEMENTS(rtl), recordTypeNames, rtl); - registerDevices(pbase, NELEMENTS(devsl), deviceSupportNames, devsl); - registerDrivers(pbase, NELEMENTS(drvsl), driverSupportNames, drvsl); - registerJLinks(pbase, NELEMENTS(jlifsl), jlifsl); - pvar_func_arrInitialize(); - pvar_func_asInitHooksRegister(); - pvar_func_asSub(); - pvar_func_asynInterposeDelayRegister(); - pvar_func_asynInterposeEchoRegister(); - pvar_func_asynInterposeEosRegister(); - pvar_func_asynInterposeFlushRegister(); - pvar_func_asynRegister(); - pvar_func_configMenuRegistrar(); - pvar_func_dbndInitialize(); - pvar_func_dbrestoreRegister(); - pvar_func_decInitialize(); - pvar_func_drvAsynIPPortRegisterCommands(); - pvar_func_drvAsynIPServerPortRegisterCommands(); - pvar_func_drvAsynSerialPortRegisterCommands(); - pvar_func_drvBlockTCPEventRegister(); - pvar_func_drvBlockTCPRedundantPlcRegister(); - pvar_func_drvBlockTCPRegister(); - pvar_func_drvCodacHeaderRegister(); - pvar_func_drvCodacRedundantPlcRegister(); - pvar_func_iocSetLogInitRegister(); - pvar_func_iocSetLogLevelRegister(); - pvar_func_iocSetLogStdoutRegister(); - pvar_func_iocSetLogSyslogRegister(); - pvar_func_iocSetSimEnableRegister(); - pvar_func_rsrvRegistrar(); - pvar_func_save_restoreRegister(); - pvar_func_syncInitialize(); - pvar_func_tsInitialize(); - pvar_func_register_func_rebootProc(); - pvar_func_register_func_scanMon(); - pvar_func_register_func_scanMonInit(); - iocshRegisterVariable(vardefs); - return 0; -} - -/* PLC_registerRecordDeviceDriver */ -static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase}; -static const iocshArg *rrddArgs[] = {&rrddArg0}; -static const iocshFuncDef rrddFuncDef = - {"PLC_registerRecordDeviceDriver", 1, rrddArgs}; -static void rrddCallFunc(const iocshArgBuf *) -{ - iocshSetError(PLC_registerRecordDeviceDriver(*iocshPpdbbase)); -} - -} // extern "C" - -/* - * Register commands on application startup - */ -static int Registration() { - iocshRegisterCommon(); - iocshRegister(&rrddFuncDef, rrddCallFunc); - return 0; -} - -static int done EPICS_UNUSED = Registration(); diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC_registerRecordDeviceDriver.d b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC_registerRecordDeviceDriver.d deleted file mode 100644 index c97df07..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC_registerRecordDeviceDriver.d +++ /dev/null @@ -1,26 +0,0 @@ -PLC_registerRecordDeviceDriver.o: PLC_registerRecordDeviceDriver.cpp \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/compiler/gcc/compilerSpecific.h \ - /opt/codac-6.3/epics/include/epicsStdlib.h \ - /opt/codac-6.3/epics/include/libComAPI.h \ - /opt/codac-6.3/epics/include/os/Linux/osdStrtod.h \ - /opt/codac-6.3/epics/include/epicsTypes.h \ - /opt/codac-6.3/epics/include/compilerDependencies.h \ - /opt/codac-6.3/epics/include/errMdef.h \ - /opt/codac-6.3/epics/include/iocsh.h \ - /opt/codac-6.3/epics/include/iocshRegisterCommon.h \ - /opt/codac-6.3/epics/include/shareLib.h \ - /opt/codac-6.3/epics/include/registryCommon.h \ - /opt/codac-6.3/epics/include/dbStaticLib.h \ - /opt/codac-6.3/epics/include/dbFldTypes.h \ - /opt/codac-6.3/epics/include/dbBase.h \ - /opt/codac-6.3/epics/include/ellLib.h \ - /opt/codac-6.3/epics/include/dbDefs.h \ - /opt/codac-6.3/epics/include/recSup.h \ - /opt/codac-6.3/epics/include/devSup.h \ - /opt/codac-6.3/epics/include/link.h \ - /opt/codac-6.3/epics/include/cantProceed.h \ - /opt/codac-6.3/epics/include/dbJLink.h \ - /opt/codac-6.3/epics/include/dbCoreAPI.h \ - /opt/codac-6.3/epics/include/registryRecordType.h \ - /opt/codac-6.3/epics/include/recSup.h diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC_registerRecordDeviceDriver.o b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC_registerRecordDeviceDriver.o deleted file mode 100644 index f21fa1c..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC_registerRecordDeviceDriver.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/PLCMain.cpp b/EC-GN-JA-PCF/target/main/epics/PLCApp/src/PLCMain.cpp deleted file mode 100644 index 1edd319..0000000 --- a/EC-GN-JA-PCF/target/main/epics/PLCApp/src/PLCMain.cpp +++ /dev/null @@ -1,25 +0,0 @@ -/* PLCMain.cpp */ -/* Author: Marty Kraimer Date: 17MAR2000 */ - -#include -#include -#include -#include -#include -#include - -#include "epicsExit.h" -#include "epicsThread.h" -#include "iocsh.h" - -int main(int argc,char *argv[]) -{ - sigset(SIGTERM, epicsExit); - if(argc>=2) { - iocsh(argv[1]); - epicsThreadSleep(.2); - } - iocsh(NULL); - epicsExit(0); - return(0); -} diff --git a/EC-GN-JA-PCF/target/main/epics/bin/linux-x86_64/CUB b/EC-GN-JA-PCF/target/main/epics/bin/linux-x86_64/CUB deleted file mode 100755 index 72c1b69..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/bin/linux-x86_64/CUB and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/bin/linux-x86_64/EC-GN b/EC-GN-JA-PCF/target/main/epics/bin/linux-x86_64/EC-GN deleted file mode 100755 index 888f6e1..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/bin/linux-x86_64/EC-GN and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/bin/linux-x86_64/PLC b/EC-GN-JA-PCF/target/main/epics/bin/linux-x86_64/PLC deleted file mode 100755 index e8d546a..0000000 Binary files a/EC-GN-JA-PCF/target/main/epics/bin/linux-x86_64/PLC and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/epics/configure/CONFIG b/EC-GN-JA-PCF/target/main/epics/configure/CONFIG deleted file mode 100644 index c1a4703..0000000 --- a/EC-GN-JA-PCF/target/main/epics/configure/CONFIG +++ /dev/null @@ -1,29 +0,0 @@ -# CONFIG - Load build configuration data -# -# Do not make changes to this file! - -# Allow user to override where the build rules come from -RULES = $(EPICS_BASE) - -# RELEASE files point to other application tops -include $(TOP)/configure/RELEASE --include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).Common -ifdef T_A --include $(TOP)/configure/RELEASE.Common.$(T_A) --include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A) -endif - -CONFIG = $(RULES)/configure -include $(CONFIG)/CONFIG - -# Override the Base definition: -INSTALL_LOCATION = $(TOP) - -# CONFIG_SITE files contain other build configuration settings -include $(TOP)/configure/CONFIG_SITE --include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common -ifdef T_A - -include $(TOP)/configure/CONFIG_SITE.Common.$(T_A) - -include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) -endif - diff --git a/EC-GN-JA-PCF/target/main/epics/configure/CONFIG_SITE b/EC-GN-JA-PCF/target/main/epics/configure/CONFIG_SITE deleted file mode 100644 index 212485e..0000000 --- a/EC-GN-JA-PCF/target/main/epics/configure/CONFIG_SITE +++ /dev/null @@ -1,43 +0,0 @@ -# CONFIG_SITE - -# Make any application-specific changes to the EPICS build -# configuration variables in this file. -# -# Host/target specific settings can be specified in files named -# CONFIG_SITE.$(EPICS_HOST_ARCH).Common -# CONFIG_SITE.Common.$(T_A) -# CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) - -# CHECK_RELEASE controls the consistency checking of the support -# applications pointed to by the RELEASE* files. -# Normally CHECK_RELEASE should be set to YES. -# Set CHECK_RELEASE to NO to disable checking completely. -# Set CHECK_RELEASE to WARN to perform consistency checking but -# continue building even if conflicts are found. -CHECK_RELEASE = YES - -# Set this when you only want to compile this application -# for a subset of the cross-compiled target architectures -# that Base is built for. -#CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc32 - -# To install files into a location other than $(TOP) define -# INSTALL_LOCATION here. -#INSTALL_LOCATION= - -# Set this when the IOC and build host use different paths -# to the install location. This may be needed to boot from -# a Microsoft FTP server say, or on some NFS configurations. -#IOCS_APPL_TOP = - -# For application debugging purposes, override the HOST_OPT and/ -# or CROSS_OPT settings from base/configure/CONFIG_SITE -#HOST_OPT = NO -#CROSS_OPT = NO - -# These allow developers to override the CONFIG_SITE variable -# settings without having to modify the configure/CONFIG_SITE -# file itself. --include $(TOP)/../CONFIG_SITE.local --include $(TOP)/configure/CONFIG_SITE.local - diff --git a/EC-GN-JA-PCF/target/main/epics/configure/Makefile b/EC-GN-JA-PCF/target/main/epics/configure/Makefile deleted file mode 100644 index 9254309..0000000 --- a/EC-GN-JA-PCF/target/main/epics/configure/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -TOP=.. - -include $(TOP)/configure/CONFIG - -TARGETS = $(CONFIG_TARGETS) -CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS))) - -include $(TOP)/configure/RULES diff --git a/EC-GN-JA-PCF/target/main/epics/configure/O.linux-x86_64/Makefile b/EC-GN-JA-PCF/target/main/epics/configure/O.linux-x86_64/Makefile deleted file mode 100644 index a76e591..0000000 --- a/EC-GN-JA-PCF/target/main/epics/configure/O.linux-x86_64/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -#This Makefile created by makeMakefile.pl - - -all : - $(MAKE) -f ../Makefile TOP=../.. T_A=linux-x86_64 $@ - -.DEFAULT: force - $(MAKE) -f ../Makefile TOP=../.. T_A=linux-x86_64 $@ - -force: ; diff --git a/EC-GN-JA-PCF/target/main/epics/configure/RELEASE b/EC-GN-JA-PCF/target/main/epics/configure/RELEASE deleted file mode 100644 index 67df4c2..0000000 --- a/EC-GN-JA-PCF/target/main/epics/configure/RELEASE +++ /dev/null @@ -1,6 +0,0 @@ - -# Maven ITER plugin generated RELEASE file contents: - -EPICS_BASE=/opt/codac-6.3/epics - --include $(TOP)/configure/RELEASE.local diff --git a/EC-GN-JA-PCF/target/main/epics/configure/RULES b/EC-GN-JA-PCF/target/main/epics/configure/RULES deleted file mode 100644 index 6d56e14..0000000 --- a/EC-GN-JA-PCF/target/main/epics/configure/RULES +++ /dev/null @@ -1,6 +0,0 @@ -# RULES - -include $(CONFIG)/RULES - -# Library should be rebuilt because LIBOBJS may have changed. -$(LIBNAME): ../Makefile diff --git a/EC-GN-JA-PCF/target/main/epics/configure/RULES.ioc b/EC-GN-JA-PCF/target/main/epics/configure/RULES.ioc deleted file mode 100644 index 901987c..0000000 --- a/EC-GN-JA-PCF/target/main/epics/configure/RULES.ioc +++ /dev/null @@ -1,2 +0,0 @@ -#RULES.ioc -include $(CONFIG)/RULES.ioc diff --git a/EC-GN-JA-PCF/target/main/epics/configure/RULES_DIRS b/EC-GN-JA-PCF/target/main/epics/configure/RULES_DIRS deleted file mode 100644 index 3ba269d..0000000 --- a/EC-GN-JA-PCF/target/main/epics/configure/RULES_DIRS +++ /dev/null @@ -1,2 +0,0 @@ -#RULES_DIRS -include $(CONFIG)/RULES_DIRS diff --git a/EC-GN-JA-PCF/target/main/epics/configure/RULES_TOP b/EC-GN-JA-PCF/target/main/epics/configure/RULES_TOP deleted file mode 100644 index d09d668..0000000 --- a/EC-GN-JA-PCF/target/main/epics/configure/RULES_TOP +++ /dev/null @@ -1,3 +0,0 @@ -#RULES_TOP -include $(CONFIG)/RULES_TOP - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 9d7c2e6..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,1712 +0,0 @@ -record (bo,"EC-GN-HWCF:6259-0-ACQ") -{ - field(DESC, "Start/Stop data acquisition") - field(DTYP, "ni6259") - field(ONAM, "START-ACQUISITION") - field(OUT, "#C1 S0 @switch_acquisition") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "STOP-ACQUISITION") -} - -record (bo,"EC-GN-HWCF:6259-0-CONF") -{ - field(DESC, "Load/reset analog input configuration") - field(DTYP, "ni6259") - field(ONAM, "LOAD-CONF") - field(OUT, "#C1 S0 @ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "RESET-CONF") -} - -record (bo,"EC-GN-HWCF:6259-0-MODE") -{ - field(DESC, "continuous or finite mode") - field(DTYP, "ni6259") - field(ONAM, "CONTINUOUS") - field(OUT, "#C1 S0 @daq_mode") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "FINITE") -} - -record (bo,"EC-GN-HWCF:6259-1-ACQ") -{ - field(DESC, "Start/Stop data acquisition") - field(DTYP, "ni6259") - field(ONAM, "START-ACQUISITION") - field(OUT, "#C0 S0 @switch_acquisition") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "STOP-ACQUISITION") -} - -record (bo,"EC-GN-HWCF:6259-1-CONF") -{ - field(DESC, "Load/reset analog input configuration") - field(DTYP, "ni6259") - field(ONAM, "LOAD-CONF") - field(OUT, "#C0 S0 @ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "RESET-CONF") -} - -record (bo,"EC-GN-HWCF:6259-1-MODE") -{ - field(DESC, "continuous or finite mode") - field(DTYP, "ni6259") - field(ONAM, "CONTINUOUS") - field(OUT, "#C0 S0 @daq_mode") - field(PINI, "YES") - field(VAL, "1") - field(ZNAM, "FINITE") -} - -record (bo,"EC-GN-HWCF:6368-0-AISTSP") -{ - field(DESC, "Start/Stop AI Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_1, 0) start_stop_ai") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-0-AOSTSP") -{ - field(DESC, "Start/Stop AO Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_1, 0) start_stop_ao") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-0-LDAICF") -{ - field(DESC, "Load/Reset AI Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_1, 0) ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-0-LDAOCF") -{ - field(DESC, "Load/Reset AO Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_1, 0) ao_conf") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-1-AISTSP") -{ - field(DESC, "Start/Stop AI Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_0, 0) start_stop_ai") - field(PHAS, "2") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-1-AOSTSP") -{ - field(DESC, "Start/Stop AO Segment") - field(DTYP, "asynInt32") - field(ONAM, "Start") - field(OUT, "@asyn(ni6368_0, 0) start_stop_ao") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-HWCF:6368-1-LDAICF") -{ - field(DESC, "Load/Reset AI Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_0, 0) ai_conf") - field(PHAS, "1") - field(PINI, "YES") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bo,"EC-GN-HWCF:6368-1-LDAOCF") -{ - field(DESC, "Load/Reset AO Configuration") - field(DTYP, "asynInt32") - field(ONAM, "Load") - field(OUT, "@asyn(ni6368_0, 0) ao_conf") - field(VAL, "0") - field(ZNAM, "Reset") -} - -record (bi,"EC-GN-HWCF:6683-0-BLKTMO") -{ - field(DESC, "Block until Finished...") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0) waitForTimeOver") - field(SCAN, "I/O Intr") -} - -record (bo,"EC-GN-HWCF:6683-0-FTEAALL") -{ - field(DESC, "Abort all pending FTEs") - field(DTYP, "asynInt32") - field(ONAM, "1") - field(OUT, "@asyn(ni6683h_0,0)abortAllFtes") - field(VAL, "0") - field(ZNAM, "0") -} - -record (bo,"EC-GN-HWCF:6683-0-RESET") -{ - field(DESC, "Reset Board") - field(DTYP, "asynInt32") - field(ONAM, "1") - field(OUT, "@asyn(ni6683h_0,0)resetCard") - field(VAL, "0") - field(ZNAM, "0") -} - -record (bi,"EC-GN-HWCF:6683-0-TAIUTC") -{ - field(DESC, "PXI-6683.0 TAI/UTC Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)taiutcStatus") - field(ONAM, "TAI") - field(OSV, "MINOR") - field(PINI, "YES") - field(SCAN, "10 second") - field(ZNAM, "UTC") - field(ZSV, "NO_ALARM") -} - -record (stringin,"EC-GN-HWCF:6259-0-DMSG") -{ - field(DESC, "Driver Debug Message") - field(DTYP, "ni6259") - field(INP, "#C1 S0 @dsg") - field(SCAN, "1 second") -} - -record (longout,"EC-GN-HWCF:6259-0-NS") -{ - field(DESC, "number of samples to read") - field(DRVH, "32000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HIGH, "32001") - field(HOPR, "32000") - field(HSV, "MAJOR") - field(LOPR, "0") - field(LOW, "0") - field(LSV, "MAJOR") - field(OUT, "#C1 S0 @num_samples") - field(PINI, "YES") - field(VAL, "5000") -} - -record (longout,"EC-GN-HWCF:6259-0-POST") -{ - field(DESC, "Posttrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C1 S0 @posttrig_samples") - field(PINI, "YES") - field(VAL, "4000") -} - -record (longout,"EC-GN-HWCF:6259-0-PRET") -{ - field(DESC, "Pretrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C1 S0 @pretrig_samples") - field(PINI, "YES") - field(VAL, "2000") -} - -record (calcout,"EC-GN-HWCF:6259-0-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6259-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-0-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6259-0-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6259-0-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6259-0-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6259-0-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6259-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-0-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6259-0-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "#C1 S0 @sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6259-0-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6259-0-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6259-0-SR") -{ - field(DESC, "ADC Sampling Rate") - field(DTYP, "ni6259") - field(EGU, "Hz") - field(HIGH, "1000001") - field(HSV, "MAJOR") - field(OUT, "#C1 S0 @sample_rate") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (mbbi,"EC-GN-HWCF:6259-0-STATUS") -{ - field(DESC, "PXI-6259.0 Board Status") - field(DTYP, "ni6259") - field(EIST, "ADC Overrun") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "Reserved1") - field(ELSV, "INVALID") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved4") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "#C1 S0 @BoardStatus") - field(NIST, "DAC Overrun") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AI_FIFO Overflow") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Reserved0") - field(TESV, "INVALID") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved3") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved2") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (stringin,"EC-GN-HWCF:6259-1-DMSG") -{ - field(DESC, "Driver Debug Message") - field(DTYP, "ni6259") - field(INP, "#C0 S0 @dsg") - field(SCAN, "1 second") -} - -record (longout,"EC-GN-HWCF:6259-1-NS") -{ - field(DESC, "number of samples to read") - field(DRVH, "32000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HIGH, "32001") - field(HOPR, "32000") - field(HSV, "MAJOR") - field(LOPR, "0") - field(LOW, "0") - field(LSV, "MAJOR") - field(OUT, "#C0 S0 @num_samples") - field(PINI, "YES") - field(VAL, "5000") -} - -record (longout,"EC-GN-HWCF:6259-1-POST") -{ - field(DESC, "Posttrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C0 S0 @posttrig_samples") - field(PINI, "YES") - field(VAL, "4000") -} - -record (longout,"EC-GN-HWCF:6259-1-PRET") -{ - field(DESC, "Pretrigger samples") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "#C0 S0 @pretrig_samples") - field(PINI, "YES") - field(VAL, "2000") -} - -record (calcout,"EC-GN-HWCF:6259-1-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6259-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-1-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6259-1-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6259-1-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6259-1-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6259-1-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6259-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6259-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6259-1-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6259-1-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "ni6259") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "#C0 S0 @sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6259-1-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6259-1-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6259-1-SR") -{ - field(DESC, "ADC Sampling Rate") - field(DTYP, "ni6259") - field(EGU, "Hz") - field(HIGH, "1000001") - field(HSV, "MAJOR") - field(OUT, "#C0 S0 @sample_rate") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (mbbi,"EC-GN-HWCF:6259-1-STATUS") -{ - field(DESC, "PXI-6259.1 Board Status") - field(DTYP, "ni6259") - field(EIST, "ADC Overrun") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "Reserved1") - field(ELSV, "INVALID") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved4") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "#C0 S0 @BoardStatus") - field(NIST, "DAC Overrun") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AI_FIFO Overflow") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Reserved0") - field(TESV, "INVALID") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved3") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved2") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-AIPU") -{ - field(DESC, "Software Pulse") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_1, 0) pulse_ai") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-0-AISMPL") -{ - field(DESC, "No of AI sample to be acquire in Block") - field(DRVH, "32000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "32000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_1, 0) no_of_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-0-AISR") -{ - field(DESC, "AI Sampling Rate") - field(DRVH, "2000000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "2000000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_1, 0) sampling_rate_ai") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (longout,"EC-GN-HWCF:6368-0-AITB") -{ - field(DESC, "AI Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) timebase_ai") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-AOPU") -{ - field(DESC, "AO Pulse Source") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_1, 0) pulse_ao") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-0-AOTB") -{ - field(DESC, "AO Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) timebase_ao") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-0-CHAIMO") -{ - field(DESC, "Change AI Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_1, 0) ai_mode") - field(PINI, "YES") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (mbbo,"EC-GN-HWCF:6368-0-CHAOMO") -{ - field(DESC, "Change AO Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_1, 0) ao_mode") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (longout,"EC-GN-HWCF:6368-0-POST") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) posttrig_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-0-PRET") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) pretrig_samples") - field(PINI, "YES") - field(VAL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-0-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6368-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-0-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6368-0-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6368-0-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-0-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6368-0-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6368-0-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-0-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-0-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6368-0-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0)sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6368-0-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6368-0-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6368-0-STATUS") -{ - field(DESC, "PXIe-6368.0 Board Status") - field(DTYP, "asynInt32") - field(EIST, "DIHW_Error") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "GPCHW_Error") - field(ELSV, "MAJOR") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved2") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6368_1, 0) board_status") - field(NIST, "AOHW_Error") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AIHW_Error") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "DOHW_Error") - field(TESV, "MAJOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved1") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved0") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-AIPU") -{ - field(DESC, "Software Pulse") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_0, 0) pulse_ai") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-1-AISMPL") -{ - field(DESC, "No of AI sample to be acquire in Block") - field(DRVH, "32000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "32000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_0, 0) no_of_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-1-AISR") -{ - field(DESC, "AI Sampling Rate") - field(DRVH, "2000000") - field(DRVL, "1") - field(DTYP, "asynInt32") - field(HOPR, "2000000") - field(LOPR, "1") - field(OUT, "@asyn(ni6368_0, 0) sampling_rate_ai") - field(PINI, "YES") - field(VAL, "1000000") -} - -record (longout,"EC-GN-HWCF:6368-1-AITB") -{ - field(DESC, "AI Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) timebase_ai") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-AOPU") -{ - field(DESC, "AO Pulse Source") - field(DTYP, "asynInt32") - field(FRST, "UPDATECLK") - field(FRVL, "4") - field(ONST, "CONVERTERCLK") - field(ONVL, "1") - field(OUT, "@asyn(ni6368_0, 0) pulse_ao") - field(THST, "REFTRIG") - field(THVL, "3") - field(TWST, "STARTTRIG") - field(TWVL, "2") - field(VAL, "2") - field(ZRST, "SAMPLECLK") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6368-1-AOTB") -{ - field(DESC, "AO Timebase source") - field(DRVH, "60") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "60") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) timebase_ao") - field(VAL, "0") -} - -record (mbbo,"EC-GN-HWCF:6368-1-CHAIMO") -{ - field(DESC, "Change AI Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_0, 0) ai_mode") - field(PINI, "YES") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (mbbo,"EC-GN-HWCF:6368-1-CHAOMO") -{ - field(DESC, "Change AO Configuration") - field(DTYP, "asynInt32") - field(FRST, "PreTriggered") - field(FRVL, "7") - field(ONST, "ReTrigger") - field(ONVL, "3") - field(OUT, "@asyn(ni6368_0, 0) ao_mode") - field(THST, "SoftwareTimed") - field(THVL, "6") - field(TWST, "Continuous") - field(TWVL, "4") - field(VAL, "2") - field(ZRST, "Finite") - field(ZRVL, "2") -} - -record (longout,"EC-GN-HWCF:6368-1-POST") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) posttrig_samples") - field(PINI, "YES") - field(VAL, "1") -} - -record (longout,"EC-GN-HWCF:6368-1-PRET") -{ - field(DESC, "Number of AI sample to be acquire") - field(DRVH, "50000") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "50000") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) pretrig_samples") - field(PINI, "YES") - field(VAL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-1-SCCC") -{ - field(DESC, "") - field(CALC, "(A==11 andand B >7) || (A!=1 andand A!=11) ? 0: B") - field(HOPR, "15") - field(INPA, "EC-GN-HWCF:6368-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-1-SCCH PP") -} - -record (mbbo,"EC-GN-HWCF:6368-1-SCCH") -{ - field(DESC, "") - field(EIST, "8") - field(EIVL, "8") - field(ELST, "11") - field(ELVL, "11") - field(FFST, "15") - field(FFVL, "15") - field(FLNK, "EC-GN-HWCF:6368-1-SCCO") - field(FRST, "4") - field(FRVL, "4") - field(FTST, "14") - field(FTVL, "14") - field(FVST, "5") - field(FVVL, "5") - field(NIST, "9") - field(NIVL, "9") - field(ONST, "1") - field(ONVL, "1") - field(PINI, "YES") - field(SVST, "7") - field(SVVL, "7") - field(SXST, "6") - field(SXVL, "6") - field(TEST, "10") - field(TEVL, "10") - field(THST, "3") - field(THVL, "3") - field(TTST, "13") - field(TTVL, "13") - field(TVST, "12") - field(TVVL, "12") - field(TWST, "2") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "0") - field(ZRVL, "0") -} - -record (calcout,"EC-GN-HWCF:6368-1-SCCO") -{ - field(DESC, "") - field(CALC, "A==1?(B<10?A+B:B+11):(A==11?(B<7?A+B:(A>7?0:27)):A)") - field(FLNK, "EC-GN-HWCF:6368-1-SCCC") - field(HOPR, "31") - field(INPA, "EC-GN-HWCF:6368-1-SCTY.RVAL") - field(INPB, "EC-GN-HWCF:6368-1-SCCH") - field(LOPR, "0") - field(OUT, "EC-GN-HWCF:6368-1-SCLK PP") -} - -record (longout,"EC-GN-HWCF:6368-1-SCLK") -{ - field(DESC, "") - field(DRVH, "31") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "31") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0)sample_clock_ai") -} - -record (mbbo,"EC-GN-HWCF:6368-1-SCTY") -{ - field(DESC, "") - field(FLNK, "EC-GN-HWCF:6368-1-SCCO") - field(FRST, "STAR_Trigger") - field(FRVL, "20") - field(FVST, "Analog_Trigger") - field(FVVL, "30") - field(ONST, "PFI") - field(ONVL, "1") - field(PINI, "YES") - field(SXST, "Logic_Low") - field(SXVL, "31") - field(THST, "GCRTOUT") - field(THVL, "19") - field(TWST, "PXI_Trigger") - field(TWVL, "11") - field(VAL, "0") - field(ZRST, "Internal") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6368-1-STATUS") -{ - field(DESC, "PXIe-6368.1 Board Status") - field(DTYP, "asynInt32") - field(EIST, "DIHW_Error") - field(EISV, "MAJOR") - field(EIVL, "8") - field(ELST, "GPCHW_Error") - field(ELSV, "MAJOR") - field(ELVL, "11") - field(FFST, "MSC_Error") - field(FFSV, "MAJOR") - field(FFVL, "15") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FTST, "Reserved2") - field(FTSV, "INVALID") - field(FTVL, "14") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6368_0, 0) board_status") - field(NIST, "AOHW_Error") - field(NISV, "MAJOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, ".1 second") - field(SVST, "AIHW_Error") - field(SVSV, "MAJOR") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "DOHW_Error") - field(TESV, "MAJOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TTST, "Reserved1") - field(TTSV, "INVALID") - field(TTVL, "13") - field(TVST, "Reserved0") - field(TVSV, "INVALID") - field(TVVL, "12") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-FILTINT") -{ - field(DESC, "Set Filter Interval Value") - field(DRVH, "209715200") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "209715200") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setfilterinterval") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP3") -{ - field(DESC, "Power-UP state of Port3") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,3, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP4") -{ - field(DESC, "Power-UP state of Port4") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,4, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-POWERP5") -{ - field(DESC, "Power-UP state of Port5") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_1,5, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIINPROUT") -{ - field(DESC, "Set RTSI Input Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsiinputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIOUTROUT") -{ - field(DESC, "Set RTSI Output Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsioutputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIPCHANGE") -{ - field(DESC, "Set RTSI Pulse on Change") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsipulseonchange") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIPWDG") -{ - field(DESC, "Set RTSI pulse on watchdog") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsipulseonwatchdog") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-0-RTSIWDGTRIG") -{ - field(DESC, "Set RTSI on Watchdog Trigger") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setrtsiwatchdogtrigger") - field(VAL, "0") -} - -record (mbbi,"EC-GN-HWCF:6528-0-STATUS") -{ - field(DESC, "PXI-6528.0 Board Status") - field(DTYP, "asynInt32") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6528_1,1) board_status") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ao,"EC-GN-HWCF:6528-0-WDGTOUT") -{ - field(DESC, "Set Watchdog TimeOut") - field(DRVH, "429496729580") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(HOPR, "429496729580") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_1) setwatchdogtimeout") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-FILTINT") -{ - field(DESC, "Set Filter Interval Value") - field(DRVH, "209715200") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "209715200") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setfilterinterval") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP3") -{ - field(DESC, "Power-UP state of Port3") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,3, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP4") -{ - field(DESC, "Power-UP state of Port4") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,4, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-POWERP5") -{ - field(DESC, "Power-UP state of Port5") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynUInt32Digital") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asynMask(ni6528_0,5, 0xff) setportpowerup") - field(PINI, "YES") - field(VAL, "255") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIINPROUT") -{ - field(DESC, "Set RTSI Input Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsiinputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIOUTROUT") -{ - field(DESC, "Set RTSI Output Route") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsioutputroute") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIPCHANGE") -{ - field(DESC, "Set RTSI Pulse on Change") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsipulseonchange") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIPWDG") -{ - field(DESC, "Set RTSI pulse on watchdog") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsipulseonwatchdog") - field(VAL, "0") -} - -record (longout,"EC-GN-HWCF:6528-1-RTSIWDGTRIG") -{ - field(DESC, "Set RTSI on Watchdog Trigger") - field(DRVH, "255") - field(DRVL, "0") - field(DTYP, "asynInt32") - field(HOPR, "255") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setrtsiwatchdogtrigger") - field(VAL, "0") -} - -record (mbbi,"EC-GN-HWCF:6528-1-STATUS") -{ - field(DESC, "PXI-6528.1 Board Status") - field(DTYP, "asynInt32") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6528_0,0) board_status") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ao,"EC-GN-HWCF:6528-1-WDGTOUT") -{ - field(DESC, "Set Watchdog TimeOut") - field(DRVH, "429496729580") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(HOPR, "429496729580") - field(LOPR, "0") - field(OUT, "@asyn(ni6528_0) setwatchdogtimeout") - field(VAL, "0") -} - -record (waveform,"EC-GN-HWCF:6683-0-BDTM") -{ - field(DESC, "Board time") - field(DTYP, "asynInt32ArrayIn") - field(FTVL, "ULONG") - field(INP, "@asyn(ni6683h_0,0) getTime") - field(NELM, "2") - field(SCAN, ".1 second") -} - -record (subArray,"EC-GN-HWCF:6683-0-BDTMN") -{ - field(DESC, "Board time [ns]") - field(EGU, "ns") - field(FTVL, "ULONG") - field(INP, "EC-GN-HWCF:6683-0-BDTM CP MS") -} - -record (subArray,"EC-GN-HWCF:6683-0-BDTMS") -{ - field(DESC, "Board time [s]") - field(EGU, "s") - field(FTVL, "ULONG") - field(INP, "EC-GN-HWCF:6683-0-BDTM CP MS") -} - -record (waveform,"EC-GN-HWCF:6683-0-BLKTM") -{ - field(DESC, "Block until...") - field(DTYP, "asynInt32ArrayOut") - field(FTVL, "LONG") - field(HOPR, "4503599627370496") - field(INP, "@asyn(ni6683h_0,0) waitForTime") - field(LOPR, "0") - field(NELM, "2") -} - -record (stringin,"EC-GN-HWCF:6683-0-DEVNAME") -{ - field(DESC, "Device name") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) deviceName") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (stringin,"EC-GN-HWCF:6683-0-DRIVER") -{ - field(DESC, "Driver version") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) driverVersion") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-FTEMAX") -{ - field(DESC, "Max number of scheduled FTEs") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)maxScheduledFtes") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-FTENUM") -{ - field(DESC, "Number of pending FTEs") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)numPendingFtes") - field(SCAN, "5 second") -} - -record (stringin,"EC-GN-HWCF:6683-0-HBDTM") -{ - field(DESC, "Board Time") - field(DTYP, "asynOctetRead") - field(INP, "@asyn(ni6683h_0,0) getTime") - field(PINI, "YES") - field(SCAN, ".1 second") -} - -record (longin,"EC-GN-HWCF:6683-0-LVL_ERRS") -{ - field(DESC, "Check number of FTE level errors") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)checkFteLevels") - field(SCAN, "Passive") -} - -record (longin,"EC-GN-HWCF:6683-0-SERIAL") -{ - field(DESC, "Device serial number") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)deviceSerialNumber") - field(PINI, "YES") - field(SCAN, "Passive") -} - -record (mbbi,"EC-GN-HWCF:6683-0-STATUS") -{ - field(DESC, "PXI-6683.0 Device status") - field(DTYP, "asynInt32") - field(EIST, "FIFO overflow") - field(EISV, "MINOR") - field(EIVL, "8") - field(ELST, "Buffer overflow") - field(ELSV, "MINOR") - field(ELVL, "11") - field(FRST, "No board") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "StatConf error") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(INP, "@asyn(ni6683h_0,0)deviceStatus") - field(NIST, "FPGA not ready") - field(NISV, "MINOR") - field(NIVL, "9") - field(ONST, "Initializing") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "5 second") - field(SVST, "Reserved") - field(SVSV, "INVALID") - field(SVVL, "7") - field(SXST, "DynConf error") - field(SXSV, "MAJOR") - field(SXVL, "6") - field(TEST, "Ref clk no lock") - field(TESV, "MINOR") - field(TEVL, "10") - field(THST, "Hardware error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Resetting") - field(TWSV, "MINOR") - field(TWVL, "2") - field(VAL, "4") - field(ZRST, "Ok") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbi,"EC-GN-HWCF:6683-0-SYNC") -{ - field(DESC, "PXI-6683.0 Synchronization status") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)syncStatus") - field(ONST, "SYNCING") - field(ONSV, "MINOR") - field(ONVL, "1") - field(SCAN, "1 second") - field(THST, "LOST_SYNC") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "SYNCED") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "NOT_SYNCED") - field(ZRSV, "MAJOR") - field(ZRVL, "0") -} - -record (longin,"EC-GN-HWCF:6683-0-SYNCLOST") -{ - field(DESC, "Seconds since lost synchronization") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6683h_0,0)secsSinceSync") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db deleted file mode 100644 index c812fc7..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,310 +0,0 @@ -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB") -{ - field(DESC, "GY1 CCPS Output ON status") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getOut CCPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP") -{ - field(DESC, "GY1 CCPS Output ON") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setOut CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB") -{ - field(DESC, "GY1 CCPS remote readback") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getRem CCPS1") - field(ONAM, "REM") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP") -{ - field(DESC, "GY1 CCPS remote control on") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PWX1500ML.proto setRem CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-RST") -{ - field(DESC, "GY1 CCPS reset device") - field(DTYP, "stream") - field(OUT, "@PWX1500ML.proto resetDevice CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB") -{ - field(DESC, "GY1 CCPS signal source on") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getSourceON CCPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP") -{ - field(DESC, "GY1 CCPS signal source on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setSourceON CCPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-CCPS:PSU2320-STAT") -{ - field(DESC, "CCPS1 is running") - field(ONAM, "ON") - field(SCAN, "Passive") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:PSU2320-TR") -{ - field(DESC, "GY1 CCPS in Operation") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 CCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-CCPS:STAT-SIMM") -{ - field(DESC, "GY1 CCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB") -{ - field(DESC, "GY1 CCPS Output current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "60.0") - field(INP, "@PWX1500ML.proto getCurr CCPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP") -{ - field(DESC, "GY1 CCPS Output current setpoint") - field(DRVH, "58.8") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setCurr CCPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB") -{ - field(DESC, "GY1 CCPS DCV range readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PWX1500ML.proto getVolt CCPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP") -{ - field(DESC, "GY1 CCPS Output DCV setpoint") - field(DRVH, "84") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "84") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setVolt CCPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-EREF") -{ - field(DESC, "GY1 CCPS voltage setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-CCPS:PSU2320-EREF-MSP") -{ - field(DESC, "GY1 CCPS voltage manual setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GAF-CCPS:PSU2320-ERROR") -{ - field(DESC, "GY1 CCPS Error message") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getError CCPS1") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") -} - -record (stringin,"EC-GN-P01-GAF-CCPS:PSU2320-IDN") -{ - field(DESC, "GY1 CCPS IDN") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto readDeviceID CCPS1") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI") -{ - field(DESC, "GY1 CCPS Measued DC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(INP, "@PWX1500ML.proto getMeasDCI CCPS1") - field(LOPR, "-58.8") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV") -{ - field(DESC, "GY1 CCPS Measued DC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "200") - field(INP, "@PWX1500ML.proto getMeasDCV CCPS1") - field(LOPR, "-200") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-AMP") -{ - field(DESC, "Amplitude") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "3.5") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-FREQ") -{ - field(DESC, "Frequency") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GAF-CCPS:STAT-OFFS") -{ - field(DESC, "Offset") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GAF-CCPS:STAT-OP-CALC") -{ - field(CALC, "(A==1 || B==1 || C==1)?1:0; C:=B; B:=A") - field(DESC, "GYA CCPS operation check") - field(FLNK, "EC-GN-P01-GAF-CCPS:PSU2320-TR") - field(INPA, "EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF") - field(INPB, "0") - field(INPC, "0") - field(OUT, "EC-GN-P01-GAF-CCPS:PSU2320-TR") - field(SCAN, "Passive") -} - -record (calc,"EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF") -{ - field(CALC, "(A==1 andand ABS(B-C)>0.1)?1:0; C:=B") - field(DESC, "GYA CCPS operation check") - field(FLNK, "EC-GN-P01-GAF-CCPS:STAT-OP-CALC") - field(INPA, "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB") - field(INPB, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV PP") - field(SCAN, ".1 second") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 6aee723..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,424 +0,0 @@ -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START") -{ - field(DESC, "Auto rampup start command") - field(HIGH, "0.1") - field(ONAM, "Start") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-LOC") -{ - field(DESC, "Local control ON") - field(DTYP, "stream") - field(ONAM, "LOC") - field(OUT, "@PCR500LE.proto setLoc FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB") -{ - field(DESC, "Output ON readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getOut FHPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP") -{ - field(DESC, "Output ON command") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PCR500LE.proto setOut FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-REM") -{ - field(DESC, "Remote control on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setRem FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-RST") -{ - field(DESC, "Reset command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto resetDevice FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB") -{ - field(DESC, "External control readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getSourceON FHPS1") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP") -{ - field(DESC, "External control ON command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setSourceON FHPS1") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP") -{ - field(DESC, "GY1 FHPS rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 FHPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-FHPS:STAT-SIMM") -{ - field(DESC, "GY1 FHPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB") -{ - field(DESC, "Output Voltage readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getVolt FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP") -{ - field(DESC, "Output voltage setpoint") - field(DRVH, "300") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setVolt FHPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME") -{ - field(DESC, "Auto rampup time") - field(DRVH, "100000") - field(DRVL, "10") - field(EGU, "sec") - field(HOPR, "100000") - field(LOPR, "10") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "30") -} - -record (mbbo,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT") -{ - field(DESC, "Auto rampup status") - field(ONST, "IN OPERATION") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(THST, "ERROR") - field(THVL, "3") - field(TWST, "FINISH") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "NOT IN OPERATION") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV") -{ - field(DESC, "Auto rampup target voltage") - field(DRVH, "60") - field(DRVL, "0.0") - field(EGU, "V") - field(HOPR, "60.0") - field(LOPR, "0.0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "5") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB") -{ - field(DESC, "Output Current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5") - field(INP, "@PCR500LE.proto getCurr FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP") -{ - field(DESC, "Output current setpoint") - field(DRVH, "5.0") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setCurr FHPS1") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-EREF") -{ - field(DESC, "GY1 FHPS voltage setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-EREF-MSP") -{ - field(DESC, "GY1 FHPS voltage manual setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GAF-FHPS:PSU2610-ERROR") -{ - field(DESC, "Error code") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getError FHPS1") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB") -{ - field(DESC, "Output frequency readback") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getFreq FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP") -{ - field(DESC, "Output frequency setpoint") - field(DRVH, "999.9") - field(DRVL, "1") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setFreq FHPS1") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (stringin,"EC-GN-P01-GAF-FHPS:PSU2610-IDN") -{ - field(DESC, "IDN") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto readDeviceID FHPS1") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI") -{ - field(DESC, "Measued AC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(INP, "@PCR500LE.proto getMeasACI FHPS1") - field(LOPR, "-5.0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP") -{ - field(DESC, "Measued AC Power") - field(DTYP, "stream") - field(EGU, "W") - field(HOPR, "500") - field(INP, "@PCR500LE.proto getMeasACP FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV") -{ - field(DESC, "Measued AC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getMeasACV FHPS1") - field(LOPR, "-300") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ") -{ - field(DESC, "Measued Frequency") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getMeasACF FHPS1") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-AUTO-MODE-SET") -{ - field(CALC, "A==1?0:1") - field(DESC, "GYA FHPS rampup comp off") - field(INPA, "EC-GN-P01-GAF:STAT-SM") - field(OOPT, "Transition To Zero") - field(OUT, "EC-GN-P01-GAF-FHPS:STAT-MANM PP") - field(SCAN, "1 second") -} - -record (waveform,"EC-GN-P01-GAF-FHPS:STAT-PREP-WF") -{ - field(DESC, "GY1 FHPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC") -{ - field(CALC, "A==2?1:0") - field(DESC, "GYA FHPS rampup comp check") - field(INPA, "EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(ABS(A-B)<0.1*B)?2:((C > D)?1:0);D:=C") - field(DESC, "GYA FHPS rampup stat check") - field(FLNK, "EC-GN-P01-GAF-FHPS:STAT-RAMPUP-CALC") - field(INPA, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV") - field(INPB, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV") - field(INPC, "EC-GN-P01-GAF-FHPS:PSU2610-EREF") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-FHPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYA FHPS rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 34f5d19..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,273 +0,0 @@ -record (bo,"EC-GN-P01-GAF-GCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 GCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-GCPS:STAT-SIMM") -{ - field(DESC, "GY1 GCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") -{ - field(DESC, "GY1 GCPS read ACT") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity GC1") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP") -{ - field(DESC, "GY1 GCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity GC1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI") -{ - field(DESC, "GY1 GCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO") -{ - field(DESC, "GY1 GCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON") -{ - field(DESC, "GY1 GCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent GC1") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GAF-GCPS:PSU2130-ERR") -{ - field(DESC, "GY1 GCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat GC1") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM") -{ - field(DESC, "GY1 GCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim GC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB") -{ - field(DESC, "GY1 GCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep GC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB") -{ - field(DESC, "GY1 GCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent GC1") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET") -{ - field(DESC, "GY1 GCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent GC1") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI") -{ - field(DESC, "GY1 GCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO") -{ - field(DESC, "GY1 GCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET") -{ - field(DESC, "GY1 GCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep GC1") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON") -{ - field(DESC, "GY1 GCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage GC1") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-GCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GAF-GCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#1 state set by Marte") - field(INPA, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GAF-GCPS:STAT-PREP-WF") -{ - field(DESC, "GY1 GCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-GCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#1 current set by Marte") - field(INPA, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db deleted file mode 100644 index ed398a9..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,331 +0,0 @@ -record (bo,"EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") -{ - field(DESC, "SCM rampdown comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") -{ - field(DESC, "GY1 SCM rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 MCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF-MCPS:STAT-SIMM") -{ - field(DESC, "GY1 MCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") -{ - field(DESC, "GY1 MCPS read ACT") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity MC1") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP") -{ - field(DESC, "GY1 MCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity MC1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MI") -{ - field(DESC, "GY1 MCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO") -{ - field(DESC, "GY1 MCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON") -{ - field(DESC, "GY1 MCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent MC1") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GAF-MCPS:PSU2120-ERR") -{ - field(DESC, "GY1 MCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat MC1") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM") -{ - field(DESC, "GY1 MCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim MC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB") -{ - field(DESC, "GY1 MCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep MC1") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB") -{ - field(DESC, "GY1 MCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent MC1") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET") -{ - field(DESC, "GY1 MCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent MC1") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI") -{ - field(DESC, "GY1 MCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO") -{ - field(DESC, "GY1 MCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET") -{ - field(DESC, "GY1 MCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep MC1") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") - field(VAL, "1.69") -} - -record (ai,"EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON") -{ - field(DESC, "GY1 MCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage MC1") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GAF-MCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#1 state set by Marte") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GAF-MCPS:STAT-PREP-WF") -{ - field(DESC, "GY1 MCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPDWN-CMP") -{ - field(CALC, "(A==4 andand B==4 and C==4 andand D==4)?1:0") - field(DESC, "SMCPS ramp down check") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") - field(INPC, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") - field(INPD, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(A==3 andand B==3)?1:0") - field(DESC, "GYA SCMPS rampup check") - field(FLNK, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYA MC GC rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GAF-MCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#1 current set by Marte") - field(INPA, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db deleted file mode 100644 index fb91d7c..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,389 +0,0 @@ -record (bi,"EC-GN-P01-GAF:DIO4900-YON") -{ - field(DESC, "GY1 External trigger") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 22) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-AI-SIMM") -{ - field(DESC, "GY1 AI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-AO-SIMM") -{ - field(DESC, "GY1 AO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-CSV-LOAD") -{ - field(DESC, "File load trigger") - field(HIGH, "0.1") - field(ONAM, "Loading") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Load") -} - -record (bo,"EC-GN-P01-GAF:STAT-CSV-LOADED") -{ - field(DESC, "File load status") - field(ONAM, "Loaded") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Loading") -} - -record (bo,"EC-GN-P01-GAF:STAT-DI-SIMM") -{ - field(DESC, "GY1 DI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-DO-SIMM") -{ - field(DESC, "GY1 DO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU") -{ - field(DESC, "GY1 egu of shot length") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") - field(ONAM, "s") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "ms") -} - -record (bo,"EC-GN-P01-GAF:STAT-MST-TRIG") -{ - field(DESC, "GY1 Master trigger") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-PREP-MODE") -{ - field(DESC, "GY1 Pre-Pro mode ON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-SHORT-PULSE") -{ - field(DESC, "GY1 Short Pulse Mode") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAF:STAT-TRIG-SOUR") -{ - field(DESC, "GY1 External Trigger Mode SW") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ai,"EC-GN-P01-GAF:MOE2810-ET") -{ - field(DESC, "GY1 Arc detect signal 1") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2810-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 1") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MOE2820-ET") -{ - field(DESC, "GY1 Arc detect signal 2") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2820-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 2") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MOE2830-ET") -{ - field(DESC, "GY1 Arc detect signal 3") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MOE2830-ET-WF") -{ - field(DESC, "GY1 Arc detect signal 3") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:MRF2910-ET") -{ - field(DESC, "GY1 RF Signal") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GAF:MRF2910-ET-WF") -{ - field(DESC, "GY1 RF Signal") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GAF:STAT-BEAMON-TIME") -{ - field(DESC, "GY1 Beam ON time") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (mbbo,"EC-GN-P01-GAF:STAT-CSV-ERR") -{ - field(DESC, "File load error status") - field(FRST, "Format error") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "Out of range") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(ONST, "Successfully loaded") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Empty data") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Failed to open") - field(TWSV, "MAJOR") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Not loaded yet") - field(ZRSV, "MINOR") - field(ZRVL, "0") -} - -record (stringout,"EC-GN-P01-GAF:STAT-CSV-NAME") -{ - field(DESC, "CSV file name") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "shot000000") -} - -record (ai,"EC-GN-P01-GAF:STAT-DT-SHOTLEN") -{ - field(DESC, "GY1 Shot length") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "100") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "1000000") -} - -record (calcout,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") -{ - field(CALC, "(!A)?1000*B:1000000*B") - field(DESC, "GY1 shot length convert") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN") - field(INPA, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-EGU") - field(INPB, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM") - field(OUT, "EC-GN-P01-GAF:STAT-DT-SHOTLEN") - field(SCAN, "Passive") -} - -record (ao,"EC-GN-P01-GAF:STAT-DT-SHOTLEN-DAM") -{ - field(DESC, "GY1 shot length without unit") - field(DRVH, "3600") - field(DRVL, "0") - field(FLNK, "EC-GN-P01-GAF:STAT-DT-SHOTLEN-CALC") - field(HOPR, "3600") - field(LOPR, "0") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GAF:STAT-ELAPSED") -{ - field(DESC, "GY1 Elapsed time") - field(EGU, "us") - field(HOPR, "4000000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (longin,"EC-GN-P01-GAF:STAT-PREHEAT-TIME") -{ - field(DESC, "Pre-heating time") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (waveform,"EC-GN-P01-GAF:STAT-PREP-TIME-WF") -{ - field(DESC, "GY1 prepro time schedule") - field(EGU, "ms") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") -} - -record (fanout,"EC-GN-P01-GAF:STAT-SHOT-FLNK1") -{ - field(DESC, "GY1 fanout1 to AI waveform signal") -} - -record (fanout,"EC-GN-P01-GAF:STAT-SHOT-FLNK2") -{ - field(DESC, "GY1 fanout2 to AI waveform signal") -} - -record (longin,"EC-GN-P01-GAF:STAT-SHOT-ID") -{ - field(DESC, "GY1 shot ID") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (calcout,"EC-GN-P01-GAF:STAT-SHOT-PLOT") -{ - field(CALC, "A andand (B >= C)") - field(DESC, "GY1 judge to plot measured values") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST3R") - field(INPB, "EC-GN-P01-GAF:STAT-BEAMON-TIME") - field(INPC, "6000000") - field(OOPT, "Transition To Non-zero") - field(OUT, "EC-GN-P01-GAF:STAT-SHOT-FLNK1 PP") - field(SCAN, ".1 second") -} - -record (mbbi,"EC-GN-P01-GAF:STAT-SM") -{ - field(DESC, "GY#1 state machine") - field(EIST, "WaitHVON_SDN") - field(EIVL, "8") - field(FLNK, "EC-GN-P01-GAF:STAT-SHOT-PLOT") - field(FRST, "WaitReady") - field(FRVL, "4") - field(FVST, "WaitPermit") - field(FVVL, "5") - field(NIST, "WaitHVON_SDN_PREP") - field(NIVL, "9") - field(ONST, "Error") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SVST, "WaitHVON_PREP") - field(SVVL, "7") - field(SXST, "WaitHVON") - field(SXVL, "6") - field(THST, "WaitStandby") - field(THVL, "3") - field(TWST, "Disabled") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Init") - field(ZRVL, "0") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db deleted file mode 100644 index c7cdc88..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,146 +0,0 @@ -record (bi,"EC-GN-P01-GAFP:FMC4310-RV1") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 11) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-RV2") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 12) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-RV3") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 13) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV5") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV6") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV7") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-RV8") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YFLT-OC") -{ - field(DESC, "MHVPS OC Detected") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 5) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YFLT-OV") -{ - field(DESC, "MHVPS OV Detected") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 4) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bo,"EC-GN-P01-GAFP:FMC4310-YSTA-GAOP") -{ - field(DESC, "GY1 Beam ON Status") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YTRP") -{ - field(DESC, "Interlock from fast protection 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 9) bitread") - field(ONAM, "INTERLOCK") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GAFP:FMC4310-YTRP2") -{ - field(DESC, "Pause signal from Fast Protection 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 10) bitread") - field(ONAM, "PAUSE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 354029a..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,310 +0,0 @@ -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB") -{ - field(DESC, "GY2 CCPS Output ON status") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getOut CCPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP") -{ - field(DESC, "GY2 CCPS Output ON") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setOut CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB") -{ - field(DESC, "GY2 CCPS remote readback") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getRem CCPS2") - field(ONAM, "REM") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP") -{ - field(DESC, "GY2 CCPS remote control on") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PWX1500ML.proto setRem CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(ZNAM, "LOC") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-RST") -{ - field(DESC, "GY2 CCPS reset device") - field(DTYP, "stream") - field(OUT, "@PWX1500ML.proto resetDevice CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB") -{ - field(DESC, "GY2 CCPS signal source on") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getSourceON CCPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP") -{ - field(DESC, "GY2 CCPS signal source on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PWX1500ML.proto setSourceON CCPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-CCPS:PSU2320-STAT") -{ - field(DESC, "CCPS2 is running") - field(ONAM, "ON") - field(SCAN, "Passive") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:PSU2320-TR") -{ - field(DESC, "GY2 CCPS in Operation") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 CCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-CCPS:STAT-SIMM") -{ - field(DESC, "GY2 CCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB") -{ - field(DESC, "GY2 CCPS Output current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "60.0") - field(INP, "@PWX1500ML.proto getCurr CCPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP") -{ - field(DESC, "GY2 CCPS Output current setpoint") - field(DRVH, "58.8") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setCurr CCPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB") -{ - field(DESC, "GY2 CCPS V range readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PWX1500ML.proto getVolt CCPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP") -{ - field(DESC, "GY2 CCPS V range readback") - field(DRVH, "84") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "84") - field(LOPR, "0") - field(OUT, "@PWX1500ML.proto setVolt CCPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-EREF") -{ - field(DESC, "GY2 CCPS voltage setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-CCPS:PSU2320-EREF-MSP") -{ - field(DESC, "GY2 CCPS voltage manual setpoint") - field(DRVH, "80") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "80") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GBF-CCPS:PSU2320-ERROR") -{ - field(DESC, "GY2 CCPS Error message") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto getError CCPS2") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") -} - -record (stringin,"EC-GN-P01-GBF-CCPS:PSU2320-IDN") -{ - field(DESC, "GY2 CCPS IDN") - field(DTYP, "stream") - field(INP, "@PWX1500ML.proto readDeviceID CCPS2") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI") -{ - field(DESC, "GY2 CCPS Measued DC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "58.8") - field(INP, "@PWX1500ML.proto getMeasDCI CCPS2") - field(LOPR, "-58.8") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV") -{ - field(DESC, "GY2 CCPS Measued DC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "200") - field(INP, "@PWX1500ML.proto getMeasDCV CCPS2") - field(LOPR, "-200") - field(PINI, "NO") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-CCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-AMP") -{ - field(DESC, "Amplitude") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "3.5") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-FREQ") -{ - field(DESC, "Frequency") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GBF-CCPS:STAT-OFFS") -{ - field(DESC, "Offset") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GBF-CCPS:STAT-OP-CALC") -{ - field(CALC, "(A==1 || B==1 || C==1)?1:0; C:=B; B:=A") - field(DESC, "GYB CCPS operation check") - field(FLNK, "EC-GN-P01-GBF-CCPS:PSU2320-TR") - field(INPA, "EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF") - field(INPB, "0") - field(INPC, "0") - field(OUT, "EC-GN-P01-GBF-CCPS:PSU2320-TR") - field(SCAN, "Passive") -} - -record (calc,"EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF") -{ - field(CALC, "(A==1 andand ABS(B-C)>0.1)?1:0; C:=B") - field(DESC, "GYB CCPS operation check") - field(FLNK, "EC-GN-P01-GBF-CCPS:STAT-OP-CALC") - field(INPA, "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB") - field(INPB, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV PP") - field(SCAN, ".1 second") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 0b30380..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,424 +0,0 @@ -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START") -{ - field(DESC, "Auto rampup start command") - field(HIGH, "0.1") - field(ONAM, "Start") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Stop") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-LOC") -{ - field(DESC, "Local control on") - field(DTYP, "stream") - field(ONAM, "LOC") - field(OUT, "@PCR500LE.proto setLoc FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB") -{ - field(DESC, "Output ON readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getOut FHPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP") -{ - field(DESC, "Output ON command") - field(DTYP, "stream") - field(ONAM, "REM") - field(OUT, "@PCR500LE.proto setOut FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-REM") -{ - field(DESC, "Remote control on") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setRem FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-RST") -{ - field(DESC, "Reset command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto resetDevice FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB") -{ - field(DESC, "External control readback") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getSourceON FHPS2") - field(ONAM, "ON") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP") -{ - field(DESC, "External control ON command") - field(DTYP, "stream") - field(ONAM, "ON") - field(OUT, "@PCR500LE.proto setSourceON FHPS2") - field(PINI, "NO") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP") -{ - field(DESC, "GY2 FHPS rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 FHPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-FHPS:STAT-SIMM") -{ - field(DESC, "GY2 FHPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB") -{ - field(DESC, "Output Voltage readback") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getVolt FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP") -{ - field(DESC, "Output voltage setpoint") - field(DRVH, "300") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setVolt FHPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME") -{ - field(DESC, "Auto rampup time") - field(DRVH, "100000") - field(DRVL, "10") - field(EGU, "sec") - field(HOPR, "100000") - field(LOPR, "10") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "30") -} - -record (mbbo,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT") -{ - field(DESC, "Auto rampup status") - field(ONST, "IN OPERATION") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(THST, "ERROR") - field(THVL, "3") - field(TWST, "FINISH") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "NOT IN OPERATION") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV") -{ - field(DESC, "Auto rampup target voltage") - field(DRVH, "300") - field(DRVL, "0.0") - field(EGU, "V") - field(HOPR, "60.0") - field(LOPR, "0.0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB") -{ - field(DESC, "Output Current readback") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5") - field(INP, "@PCR500LE.proto getCurr FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP") -{ - field(DESC, "Output current setpoint") - field(DRVH, "5.0") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setCurr FHPS2") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-EREF") -{ - field(DESC, "GY2 FHPS voltage setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-EREF-MSP") -{ - field(DESC, "GY2 FHPS voltage manual setpoint") - field(DRVH, "150") - field(DRVL, "0") - field(EGU, "V") - field(HOPR, "150") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (stringin,"EC-GN-P01-GBF-FHPS:PSU2610-ERROR") -{ - field(DESC, "Error code") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto getError FHPS2") - field(PINI, "NO") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB") -{ - field(DESC, "Output frequency readback") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getFreq FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP") -{ - field(DESC, "Output frequency setpoint") - field(DRVH, "999.9") - field(DRVL, "1") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(LOPR, "0") - field(OUT, "@PCR500LE.proto setFreq FHPS2") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (stringin,"EC-GN-P01-GBF-FHPS:PSU2610-IDN") -{ - field(DESC, "IDN") - field(DTYP, "stream") - field(INP, "@PCR500LE.proto readDeviceID FHPS2") - field(PINI, "NO") - field(SCAN, "10 second") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI") -{ - field(DESC, "Measued AC Current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "5.0") - field(INP, "@PCR500LE.proto getMeasACI FHPS2") - field(LOPR, "-5.0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP") -{ - field(DESC, "Measued AC Power") - field(DTYP, "stream") - field(EGU, "W") - field(HOPR, "500") - field(INP, "@PCR500LE.proto getMeasACP FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV") -{ - field(DESC, "Measued AC Voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "300") - field(INP, "@PCR500LE.proto getMeasACV FHPS2") - field(LOPR, "-300") - field(PINI, "NO") - field(PREC, "1") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ") -{ - field(DESC, "Measued Frequency") - field(DTYP, "stream") - field(EGU, "Hz") - field(HOPR, "1000") - field(INP, "@PCR500LE.proto getMeasACF FHPS2") - field(LOPR, "0") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-FHPS:STAT-SIMM") - field(VAL, "1") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-AUTO-MODE-SET") -{ - field(CALC, "A==1?0:1") - field(DESC, "GYB FHPS rampup comp off") - field(INPA, "EC-GN-P01-GBF:STAT-SM") - field(OOPT, "Transition To Zero") - field(OUT, "EC-GN-P01-GBF-FHPS:STAT-MANM PP") - field(SCAN, "1 second") -} - -record (waveform,"EC-GN-P01-GBF-FHPS:STAT-PREP-WF") -{ - field(DESC, "GY2 FHPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC") -{ - field(CALC, "A==2?1:0") - field(DESC, "GYB FHPS rampup comp check") - field(INPA, "EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(ABS(A-B)<0.1*B)?2:((C > D)?1:0);D:=C") - field(DESC, "GYB FHPS rampup stat check") - field(FLNK, "EC-GN-P01-GBF-FHPS:STAT-RAMPUP-CALC") - field(INPA, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV") - field(INPB, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV") - field(INPC, "EC-GN-P01-GBF-FHPS:PSU2610-EREF") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-FHPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYB FHPS rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP PP") - field(SCAN, "1 second") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db deleted file mode 100644 index ec4fc1c..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,273 +0,0 @@ -record (bo,"EC-GN-P01-GBF-GCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 GCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-GCPS:STAT-SIMM") -{ - field(DESC, "GY2 GCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") -{ - field(DESC, "GY2 GCPS read act") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity GC2") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP") -{ - field(DESC, "GY2 GCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity GC2") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI") -{ - field(DESC, "GY2 GCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO") -{ - field(DESC, "GY2 GCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON") -{ - field(DESC, "GY2 GCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent GC2") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GBF-GCPS:PSU2130-ERR") -{ - field(DESC, "GY2 GCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat GC2") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM") -{ - field(DESC, "GY2 GCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim GC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB") -{ - field(DESC, "GY2 GCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep GC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB") -{ - field(DESC, "GY2 GCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent GC2") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET") -{ - field(DESC, "GY2 GCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent GC2") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI") -{ - field(DESC, "GY2 GCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO") -{ - field(DESC, "GY2 GCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET") -{ - field(DESC, "GY2 GCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep GC2") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") - field(VAL, "1") -} - -record (ai,"EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON") -{ - field(DESC, "GY2 GCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage GC2") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-GCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GBF-GCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#2 state set by Marte") - field(INPA, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GBF-GCPS:STAT-PREP-WF") -{ - field(DESC, "GY2 GCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-GCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "GCPS#2 current set by Mate") - field(INPA, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db deleted file mode 100644 index d766295..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,306 +0,0 @@ -record (bo,"EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") -{ - field(DESC, "GY2 SCM rampup comp") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-MCPS:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 MCPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF-MCPS:STAT-SIMM") -{ - field(DESC, "GY2 MCPS Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (mbbi,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") -{ - field(DESC, "GY2 MCPS read act") - field(DTYP, "stream") - field(FRST, "ZERO") - field(FRSV, "NO_ALARM") - field(FRVL, "4") - field(INP, "@JASTEC-SCMPS.proto readActivity MC2") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(THST, "FLAT TOP") - field(THSV, "NO_ALARM") - field(THVL, "3") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP") -{ - field(DESC, "GY2 MCPS set ACT") - field(DTYP, "stream") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(OUT, "@JASTEC-SCMPS.proto setActivity MC2") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MI") -{ - field(DESC, "GY2 MCPS ACT set to Marte") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO") -{ - field(DESC, "GY2 MCPS ACT Marte outputs") - field(FLNK, "EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC") - field(ONST, "SET") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "NO") - field(SCAN, "Passive") - field(TWST, "DOWN") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(ZRST, "HOLD") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON") -{ - field(DESC, "GY2 MCPS monitored current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "125") - field(INP, "@JASTEC-SCMPS.proto readMeasCurrent MC2") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (waveform,"EC-GN-P01-GBF-MCPS:PSU2120-ERR") -{ - field(DESC, "GY2 MCPS read error") - field(DTYP, "stream") - field(INP, "@JASTEC-SCMPS.proto readErrStat MC2") - field(NELM, "15") - field(PINI, "YES") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM") -{ - field(DESC, "GY2 MCPS read sweep limit") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readSweepLim MC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB") -{ - field(DESC, "GY2 MCPS read targ sweep rate") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(INP, "@JASTEC-SCMPS.proto readTargSweep MC2") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB") -{ - field(DESC, "GY2 MCPS read target current") - field(DTYP, "stream") - field(EGU, "A") - field(HOPR, "120") - field(INP, "@JASTEC-SCMPS.proto readTargCurrent MC2") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET") -{ - field(DESC, "GY2 MCPS set target current") - field(DRVH, "120") - field(DRVL, "0") - field(DTYP, "stream") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP") - field(HOPR, "125") - field(LOPR, "0") - field(OUT, "@JASTEC-SCMPS.proto setCurrent MC2") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI") -{ - field(DESC, "GY2 MCPS target current input to Marte") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO") -{ - field(DESC, "GY2 MCPS target current Marte outputs") - field(DRVH, "120") - field(DRVL, "-120") - field(EGU, "A") - field(FLNK, "EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC") - field(HOPR, "125") - field(LOPR, "-125") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET") -{ - field(DESC, "GY2 MCPS set target swwp rate") - field(DRVH, "5.0") - field(DRVL, "0.01") - field(DTYP, "stream") - field(EGU, "A/min") - field(HOPR, "99.99") - field(LOPR, "0.01") - field(OUT, "@JASTEC-SCMPS.proto setSweep MC2") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") - field(VAL, "1.69") -} - -record (ai,"EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON") -{ - field(DESC, "GY2 MCPS monitored voltage") - field(DTYP, "stream") - field(EGU, "V") - field(HOPR, "10") - field(INP, "@JASTEC-SCMPS.proto readMeasVoltage MC2") - field(LOPR, "-10") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "1 second") - field(SIML, "EC-GN-P01-GBF-MCPS:STAT-SIMM") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-ACT-SP-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#2 state set by Marte") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-GBF-MCPS:STAT-PREP-WF") -{ - field(DESC, "GY2 MCPS prepro schedule") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-RAMPUP-CMP") -{ - field(CALC, "(A==3 andand B==3)?1:0") - field(DESC, "GYB SMCPS rampup check") - field(FLNK, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB") - field(INPB, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB") - field(OOPT, "When Non-zero") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-RAMPUP-OFF") -{ - field(CALC, "A==0?0:1") - field(DESC, "GYB MC GC rampup comp off") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST1R") - field(OOPT, "When Zero") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP PP") - field(SCAN, "1 second") -} - -record (calcout,"EC-GN-P01-GBF-MCPS:STAT-TRG-CURR-SET-CALC") -{ - field(CALC, "A") - field(DESC, "MCPS#2 current set by Marte") - field(INPA, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET PP") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 4ff855f..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,389 +0,0 @@ -record (bi,"EC-GN-P01-GBF:DIO4900-YON") -{ - field(DESC, "GY3 External trigger") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 22) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-AI-SIMM") -{ - field(DESC, "GY2 AI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-AO-SIMM") -{ - field(DESC, "GY2 AO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-CSV-LOAD") -{ - field(DESC, "File load trigger") - field(HIGH, "0.1") - field(ONAM, "Loading") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Load") -} - -record (bo,"EC-GN-P01-GBF:STAT-CSV-LOADED") -{ - field(DESC, "File load status") - field(ONAM, "Loaded") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Loading") -} - -record (bo,"EC-GN-P01-GBF:STAT-DI-SIMM") -{ - field(DESC, "GY2 DI Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-DO-SIMM") -{ - field(DESC, "GY2 DO Simulation Mode SW") - field(ONAM, "YES") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU") -{ - field(DESC, "GY2 egu of shot length") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") - field(ONAM, "s") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "ms") -} - -record (bo,"EC-GN-P01-GBF:STAT-MST-TRIG") -{ - field(DESC, "GY2 Master trigger") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-PREP-MODE") -{ - field(DESC, "GY2 Pre-Pro mode ON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-SHORT-PULSE") -{ - field(DESC, "GY2 Short Pulse Mode") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBF:STAT-TRIG-SOUR") -{ - field(DESC, "GY2 External Trigger Mode SW") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ai,"EC-GN-P01-GBF:MOE2810-ET") -{ - field(DESC, "GY2 Arc detect signal 1") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2810-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 1") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MOE2820-ET") -{ - field(DESC, "GY2 Arc detect signal 2") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2820-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 2") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MOE2830-ET") -{ - field(DESC, "GY2 Arc detect signal 3") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MOE2830-ET-WF") -{ - field(DESC, "GY2 Arc detect signal 3") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:MRF2910-ET") -{ - field(DESC, "GY2 RF Signal") - field(EGU, "V") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-GBF:MRF2910-ET-WF") -{ - field(DESC, "GY2 RF Signal") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-GBF:STAT-BEAMON-TIME") -{ - field(DESC, "GY2 Beam ON time") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (mbbo,"EC-GN-P01-GBF:STAT-CSV-ERR") -{ - field(DESC, "File load error status") - field(FRST, "Format error") - field(FRSV, "MAJOR") - field(FRVL, "4") - field(FVST, "Out of range") - field(FVSV, "MAJOR") - field(FVVL, "5") - field(ONST, "Successfully loaded") - field(ONSV, "NO_ALARM") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Empty data") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Failed to open") - field(TWSV, "MAJOR") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Not loaded yet") - field(ZRSV, "MINOR") - field(ZRVL, "0") -} - -record (stringout,"EC-GN-P01-GBF:STAT-CSV-NAME") -{ - field(DESC, "CSV file name") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "shot000000") -} - -record (ai,"EC-GN-P01-GBF:STAT-DT-SHOTLEN") -{ - field(DESC, "GY2 Shot length") - field(EGU, "us") - field(HOPR, "3600000000") - field(LOPR, "100") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "1000000") -} - -record (calcout,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") -{ - field(CALC, "(!A)?1000*B:1000000*B") - field(DESC, "GY2 shot length convert") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN") - field(INPA, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-EGU") - field(INPB, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM") - field(OUT, "EC-GN-P01-GBF:STAT-DT-SHOTLEN") - field(SCAN, "Passive") -} - -record (ao,"EC-GN-P01-GBF:STAT-DT-SHOTLEN-DAM") -{ - field(DESC, "GY2 shot length without unit") - field(DRVH, "3600") - field(DRVL, "0") - field(FLNK, "EC-GN-P01-GBF:STAT-DT-SHOTLEN-CALC") - field(HOPR, "3600") - field(LOPR, "0") - field(PINI, "NO") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-GBF:STAT-ELAPSED") -{ - field(DESC, "GY2 Elapsed time") - field(EGU, "us") - field(HOPR, "4000000000") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (longin,"EC-GN-P01-GBF:STAT-PREHEAT-TIME") -{ - field(DESC, "Pre-heating time") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (waveform,"EC-GN-P01-GBF:STAT-PREP-TIME-WF") -{ - field(DESC, "GY2 prepro time schedule") - field(EGU, "ms") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "0") - field(SCAN, "Passive") -} - -record (fanout,"EC-GN-P01-GBF:STAT-SHOT-FLNK1") -{ - field(DESC, "GY2 fanout1 to AI waveform signal") -} - -record (fanout,"EC-GN-P01-GBF:STAT-SHOT-FLNK2") -{ - field(DESC, "GY2 fanout2 to AI waveform signal") -} - -record (longin,"EC-GN-P01-GBF:STAT-SHOT-ID") -{ - field(DESC, "GY2 shot ID") - field(HOPR, "999999") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (calcout,"EC-GN-P01-GBF:STAT-SHOT-PLOT") -{ - field(CALC, "A andand (B >= C)") - field(DESC, "GY2 judge to plot measured values") - field(INPA, "EC-GN-P01-GPS:PLC4110-YTS-ST3R") - field(INPB, "EC-GN-P01-GBF:STAT-BEAMON-TIME") - field(INPC, "6000000") - field(OOPT, "Transition To Non-zero") - field(OUT, "EC-GN-P01-GBF:STAT-SHOT-FLNK1 PP") - field(SCAN, ".1 second") -} - -record (mbbi,"EC-GN-P01-GBF:STAT-SM") -{ - field(DESC, "GY#2 state machine") - field(EIST, "WaitHVON_SDN") - field(EIVL, "8") - field(FLNK, "EC-GN-P01-GBF:STAT-SHOT-PLOT") - field(FRST, "WaitReady") - field(FRVL, "4") - field(FVST, "WaitPermit") - field(FVVL, "5") - field(NIST, "WaitHVON_SDN_PREP") - field(NIVL, "9") - field(ONST, "Error") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(SVST, "WaitHVON_PREP") - field(SVVL, "7") - field(SXST, "WaitHVON") - field(SXVL, "6") - field(THST, "WaitStandby") - field(THVL, "3") - field(TWST, "Disabled") - field(TWVL, "2") - field(VAL, "0") - field(ZRST, "Init") - field(ZRVL, "0") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 0776c60..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,120 +0,0 @@ -record (bi,"EC-GN-P01-GBFP:FMC4310-RV1") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 11) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-RV2") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 12) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-RV3") -{ - field(DESC, "Reserved for cRIO") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 13) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV5") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV6") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV7") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-RV8") -{ - field(DESC, "Reserved for cRIO") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GBFP:FMC4310-YSTA-GBOP") -{ - field(DESC, "GY2 Beam ON Status") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-YTRP") -{ - field(DESC, "Interlock from fast protection 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 9) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-GBFP:FMC4310-YTRP2") -{ - field(DESC, "Pause signal from fast protection 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 10) bitread") - field(ONAM, "PAUSE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 9fe5dd3..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,349 +0,0 @@ -record (bo,"EC-GN-P01-GPF:PCF4210-CTRP") -{ - field(DESC, "Fast Controller Fault") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA1") -{ - field(DESC, "GY1 HV Armed") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA2") -{ - field(DESC, "GY1 HV Injection") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GA3") -{ - field(DESC, "GY1 in RFON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB1") -{ - field(DESC, "GY2 HV Armed") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB2") -{ - field(DESC, "GY2 HV Injection") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:PCF4210-YTS-GB3") -{ - field(DESC, "GY2 RFON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPF:PSU0000-YSTA-MOD") -{ - field(DESC, "MHVPS modulation en/disable from ECPC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 8) bitread") - field(ONAM, "ENABLE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "DISABLE") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-CONF-STAT") -{ - field(DESC, "DAQ config state") - field(ONAM, "Ready") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "Not ready") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-RECONF") -{ - field(DESC, "Reset and configure DAQ") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:STAT-DAQ-SW-TRIG") -{ - field(DESC, "software trigger for DAQ start") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPF:STAT-RST-FLT") -{ - field(DESC, "Reset Fault command") - field(HIGH, "0.1") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-LEN") -{ - field(DESC, "DAQ sampling time length") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1000.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-LEN-RB") -{ - field(DESC, "DAQ sampling time length readback") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1000.0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-MODE") -{ - field(DESC, "DAQ mode") - field(FRST, "Reference") - field(FRVL, "4") - field(ONST, "Finite") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Continuous") - field(THVL, "3") - field(TWST, "Retriggerable") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Software_triggered") - field(ZRVL, "0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-MODE-RB") -{ - field(DESC, "DAQ mode readback") - field(FRST, "Reference") - field(FRVL, "4") - field(ONST, "Finite") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Continuous") - field(THVL, "3") - field(TWST, "Retriggerable") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Software_triggered") - field(ZRVL, "0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-PUB-DLY") -{ - field(DESC, "DAN publish delay") - field(DRVH, "1000") - field(DRVL, "0.1") - field(EGU, "ms") - field(HOPR, "1000") - field(LOPR, "0.1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "10.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB") -{ - field(DESC, "DAN publish delay") - field(DRVH, "1000") - field(DRVL, "0.1") - field(EGU, "ms") - field(HOPR, "1000") - field(LOPR, "0.1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "10.0") -} - -record (longout,"EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE") -{ - field(DESC, "sampling rate") - field(DRVH, "1000000000") - field(DRVL, "1") - field(HOPR, "100000000") - field(LOPR, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1000") -} - -record (longout,"EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB") -{ - field(DESC, "sampling rate readback") - field(DRVH, "1000000000") - field(DRVL, "1") - field(HOPR, "100000000") - field(LOPR, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1000") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY") -{ - field(DESC, "DAQ start delay") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1.0") -} - -record (ao,"EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB") -{ - field(DESC, "DAQ start delay readback") - field(DRVH, "3600000") - field(DRVL, "0.01") - field(EGU, "ms") - field(HOPR, "3600000") - field(LOPR, "0.01") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "1.0") -} - -record (mbbo,"EC-GN-P01-GPF:STAT-DAQ-STAT") -{ - field(DESC, "DAQ operation state") - field(FRSV, "NO_ALARM") - field(ONST, "Waiting trigger") - field(ONVL, "1") - field(PINI, "YES") - field(SCAN, "Passive") - field(THST, "Error") - field(THSV, "MAJOR") - field(THVL, "3") - field(TWST, "Aquiring") - field(TWSV, "NO_ALARM") - field(TWVL, "2") - field(VAL, "3") - field(ZRST, "Not ready") - field(ZRSV, "NO_ALARM") - field(ZRVL, "0") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD1-LIM") -{ - field(DESC, "MD1 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "10000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD2-LIM") -{ - field(DESC, "MD2 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "100000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD3-LIM") -{ - field(DESC, "MD3 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "30000000") -} - -record (longin,"EC-GN-P01-GPF:STAT-MD4-LIM") -{ - field(DESC, "MD4 Pulse Len Limit") - field(HOPR, "500000000") - field(LOPR, "0") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "300000000") -} - -record (ai,"EC-GN-P01-GPF:STAT-RDY-TOUT") -{ - field(DESC, "Gyrotron operation ready timeout") - field(EGU, "s") - field(HOPR, "600") - field(LOPR, "1") - field(PINI, "YES") - field(PREC, "1") - field(SCAN, "Passive") - field(VAL, "30.0") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 5763fa5..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,230 +0,0 @@ -record (bi,"EC-GN-P01-GPS:PLC4110-CON-GY1PRM") -{ - field(DESC, "GY1 Operation Permission") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 18) bitread") - field(ONAM, "PERMITED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-GY2PRM") -{ - field(DESC, "GY2 Operation Permission") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 18) bitread") - field(ONAM, "PERMITED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-OPGY1") -{ - field(DESC, "GY1 Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 19) bitread") - field(ONAM, "SELECTED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-CON-OPGY2") -{ - field(DESC, "GY2 Selection") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 19) bitread") - field(ONAM, "SELECTED") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-RV1") -{ - field(DESC, "Reserved for PLC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 21) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPS:PLC4110-RV2") -{ - field(DESC, "Reserved for PLC") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-GPS:PLC4110-RV3") -{ - field(DESC, "Reserved for PLC") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YON-CCPS1") -{ - field(DESC, "GY1 CCPS Start Operation") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 20) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YON-CCPS2") -{ - field(DESC, "GY2 CCPS Start Operation") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 20) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YSTA-MPSS") -{ - field(DESC, "Sync/Asynchronous Flag") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 21) bitread") - field(ONAM, "SYNC") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "ASYNC") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTRP") -{ - field(DESC, "Interlock signal from PLC") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 14) bitread") - field(ONAM, "INTERLOCK") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD1") -{ - field(DESC, "Operation Mode 1") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 14) bitread") - field(ONAM, "VSHORT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD2") -{ - field(DESC, "Operation Mode 2") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 15) bitread") - field(ONAM, "SHORT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD3") -{ - field(DESC, "Operation Mode 3") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 16) bitread") - field(ONAM, "MIDDLE") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-MD4") -{ - field(DESC, "Operation Mode 4") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 17) bitread") - field(ONAM, "LONG") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST1R") -{ - field(DESC, "PLC STANDBY state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 15) bitread") - field(ONAM, "STANDBY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST2R") -{ - field(DESC, "PLC READY state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 16) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-GPS:PLC4110-YTS-ST3R") -{ - field(DESC, "PLC ON state") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 17) bitread") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 3d11cb5..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,206 +0,0 @@ -record (bo,"EC-GN-P01-PA1F:PSU3000-CON-HV") -{ - field(DESC, "GY1 APS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA1F:PSU3000-CON-SW") -{ - field(DESC, "GY1 APS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA1F:PSU3000-CTRP") -{ - field(DESC, "GY1 APS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PA1F:PSU3000-YFLT") -{ - field(DESC, "GY1 APS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 1) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PA1F:PSU3000-YSTA") -{ - field(DESC, "GY1 APS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 0) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PA1F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF") -{ - field(DESC, "GY1 APS voltage setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_1, 1) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF-MSP") -{ - field(DESC, "GY1 APS voltage manual setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA1F:PSU3000-EREF-P") -{ - field(ASLO, "2") - field(DESC, "GY1 APS P-voltage setpoint") - field(DRVH, "0") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_1, 2) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PA1F:PSU3000-ET") -{ - field(DESC, "GY1 APS Measured Volatege") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA1F:PSU3000-ET-WF") -{ - field(DESC, "GY1 APS Measured Volatege") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA1F:PSU3000-IT") -{ - field(DESC, "GY1 APS Measued Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA1F:PSU3000-IT-WF") -{ - field(DESC, "GY1 APS Measued Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA1F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY1 APS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PA1F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY1 APS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "600000") -} - -record (calcout,"EC-GN-P01-PA1F:STAT-EREF-CONV") -{ - field(CALC, "A>0?A:((A>-20)?A/2:-10)") - field(DESC, "GYA APS engineer value conversion") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PA1F:PSU3000-EREF PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PA1F:STAT-PREP-WF") -{ - field(DESC, "GY1 APS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 6a74042..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,206 +0,0 @@ -record (bo,"EC-GN-P01-PA2F:PSU4000-CON-HV") -{ - field(DESC, "GY2 APS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA2F:PSU4000-CON-SW") -{ - field(DESC, "GY2 APS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PA2F:PSU4000-CTRP") -{ - field(DESC, "GY2 APS Shutdown request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PA2F:PSU4000-YFLT") -{ - field(DESC, "GY2 APS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 1) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PA2F:PSU4000-YSTA") -{ - field(DESC, "GY2 APS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 0) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PA2F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF") -{ - field(DESC, "GY2 APS voltage setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_0, 1) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF-MSP") -{ - field(DESC, "GY2 APS voltage manual setpoint") - field(DRVH, "10") - field(DRVL, "-20") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PA2F:PSU4000-EREF-P") -{ - field(ASLO, "2") - field(DESC, "GY2 APS P-voltage setpoint") - field(DRVH, "0") - field(DRVL, "-20") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "10") - field(LOPR, "-20") - field(OUT, "@asyn(ni6368_0, 2) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PA2F:PSU4000-ET") -{ - field(DESC, "GY2 APS Measured Volatege") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA2F:PSU4000-ET-WF") -{ - field(DESC, "GY2 APS Measured Volatege") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA2F:PSU4000-IT") -{ - field(DESC, "GY2 APS Measued Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PA2F:PSU4000-IT-WF") -{ - field(DESC, "GY2 APS Measued Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PA2F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY2 APS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PA2F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY2 APS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "600000") -} - -record (calcout,"EC-GN-P01-PA2F:STAT-EREF-CONV") -{ - field(CALC, "A>0?A:((A>-20)?A/2:-10)") - field(DESC, "GYB APS engineer value conversion") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PA2F:PSU4000-EREF PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PA2F:STAT-PREP-WF") -{ - field(DESC, "GY2 APS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 66c756d..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,180 +0,0 @@ -record (bo,"EC-GN-P01-PB1F:PSU1000-CON-HV") -{ - field(DESC, "GY1 BPS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB1F:PSU1000-CON-SW") -{ - field(DESC, "GY1 BPS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB1F:PSU1000-CTRP") -{ - field(DESC, "GY1 BPS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PB1F:PSU1000-YFLT") -{ - field(DESC, "GY1 BPS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 3) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PB1F:PSU1000-YSTA") -{ - field(DESC, "GY1 BPS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 2) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PB1F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 BPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PB1F:PSU1000-EREF") -{ - field(ASLO, "4") - field(DESC, "GY1 BPS voltage setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 0) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PB1F:PSU1000-EREF-MSP") -{ - field(DESC, "GY1 BPS voltage manual setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PB1F:PSU1000-ET") -{ - field(DESC, "GY1 BPS Measured Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB1F:PSU1000-ET-WF") -{ - field(DESC, "GY1 BPS Measured Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB1F:PSU1000-IT") -{ - field(DESC, "GY1 BPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB1F:PSU1000-IT-WF") -{ - field(DESC, "GY1 BPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB1F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY1 BPS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PB1F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY1 BPS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "550000") -} - -record (waveform,"EC-GN-P01-PB1F:STAT-PREP-WF") -{ - field(DESC, "GY1 BPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 72c14a3..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,180 +0,0 @@ -record (bo,"EC-GN-P01-PB2F:PSU2000-CON-HV") -{ - field(DESC, "GY2 BPS HVON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB2F:PSU2000-CON-SW") -{ - field(DESC, "GY2 BPS HV SWON") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PB2F:PSU2000-CTRP") -{ - field(DESC, "GY2 BPS Shutdonw request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PB2F:PSU2000-YFLT") -{ - field(DESC, "GY2 BPS Fault") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 3) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bi,"EC-GN-P01-PB2F:PSU2000-YSTA") -{ - field(DESC, "GY2 BPS Ready") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_0, 2) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GBF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bo,"EC-GN-P01-PB2F:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY2 BPS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PB2F:PSU2000-EREF") -{ - field(ASLO, "4") - field(DESC, "GY2 BPS voltage setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_0, 0) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PB2F:PSU2000-EREF-MSP") -{ - field(DESC, "GY2 BPS voltage manual setpoint") - field(DRVH, "40") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "40") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PB2F:PSU2000-ET") -{ - field(DESC, "GY2 BPS Measured Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB2F:PSU2000-ET-WF") -{ - field(DESC, "GY2 BPS Measured Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB2F:PSU2000-IT") -{ - field(DESC, "GY2 BPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PB2F:PSU2000-IT-WF") -{ - field(DESC, "GY2 BPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PB2F:STAT-DT-HVON") -{ - field(DESC, "Time diff to GY2 BPS Gate ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (ai,"EC-GN-P01-PB2F:STAT-DT-SWON") -{ - field(DESC, "Time diff to GY2 BPS SW ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "550000") -} - -record (waveform,"EC-GN-P01-PB2F:STAT-PREP-WF") -{ - field(DESC, "GY2 BPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db b/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db deleted file mode 100644 index 9778039..0000000 --- a/EC-GN-JA-PCF/target/main/epics/db/PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db +++ /dev/null @@ -1,231 +0,0 @@ -record (bo,"EC-GN-P01-PMF:PSU0000-COFF") -{ - field(DESC, "MHVPS Shutdown request") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PMF:PSU0000-CON-MOD") -{ - field(DESC, "MHVPS MOD Enable/Disable") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bo,"EC-GN-P01-PMF:PSU0000-CON-SW") -{ - field(DESC, "MHVPS Enable/Disable") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-DO-SIMM") - field(VAL, "0") - field(ZNAM, "OFF") -} - -record (bi,"EC-GN-P01-PMF:PSU0000-TYSTA") -{ - field(DESC, "MHVPS Ready status") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 7) bitread") - field(ONAM, "READY") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NO") -} - -record (bi,"EC-GN-P01-PMF:PSU0000-YFLT") -{ - field(DESC, "MHVPS Fast Protection Act") - field(DTYP, "asynInt32") - field(INP, "@asyn(ni6528_1, 6) bitread") - field(ONAM, "FAULT") - field(PINI, "YES") - field(SCAN, "I/O Intr") - field(SIML, "EC-GN-P01-GAF:STAT-DI-SIMM") - field(VAL, "0") - field(ZNAM, "NORMAL") -} - -record (bo,"EC-GN-P01-PMF:STAT-MANM") -{ - field(DESC, "Manual Mode SW for GY1 APS") - field(ONAM, "ON") - field(PINI, "YES") - field(SCAN, "Passive") - field(VAL, "1") - field(ZNAM, "OFF") -} - -record (ao,"EC-GN-P01-PMF:PSU0000-EREF") -{ - field(ASLO, "11") - field(DESC, "MHVPS voltage setpoint") - field(DRVH, "55") - field(DRVL, "0") - field(DTYP, "asynFloat64") - field(EGU, "kV") - field(HOPR, "55") - field(LOPR, "0") - field(OUT, "@asyn(ni6368_1, 3) write_ao") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AO-SIMM") - field(VAL, "0") -} - -record (ao,"EC-GN-P01-PMF:PSU0000-EREF-MSP") -{ - field(DESC, "MHVPS voltage manual setpoint") - field(DRVH, "55") - field(DRVL, "0") - field(EGU, "kV") - field(HOPR, "55") - field(LOPR, "0") - field(PINI, "YES") - field(PREC, "2") - field(SCAN, "Passive") - field(VAL, "0") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-ET-GA") -{ - field(DESC, "GY1 MHVPS Measued Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-ET-GA-WF") -{ - field(DESC, "GY1 MHVPS Measued Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-ET-GB") -{ - field(DESC, "GY2 MHVPS Measued Voltage") - field(EGU, "kV") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-ET-GB-WF") -{ - field(DESC, "GY2 MHVPS Measued Voltage") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-IT-GA") -{ - field(DESC, "GY1 MHVPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-IT-GA-WF") -{ - field(DESC, "GY1 MHVPS Measured Current") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GAF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:PSU0000-IT-GB") -{ - field(DESC, "GY2 MHVPS Measured Current") - field(EGU, "A") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, ".1 second") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (waveform,"EC-GN-P01-PMF:PSU0000-IT-GB-WF") -{ - field(DESC, "GY2 MHVPS Measured Current") - field(EGU, "A") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "YES") - field(PREC, "3") - field(SCAN, "Passive") - field(SIML, "EC-GN-P01-GBF:STAT-AI-SIMM") -} - -record (ai,"EC-GN-P01-PMF:STAT-DT-HVON") -{ - field(DESC, "Time diff to MHVPS ON") - field(EGU, "us") - field(HOPR, "5000000") - field(LOPR, "1000") - field(PINI, "YES") - field(PREC, "0") - field(SCAN, "Passive") - field(VAL, "500000") -} - -record (calcout,"EC-GN-P01-PMF:STAT-EREF-CALC") -{ - field(CALC, "(A!=C)?A:((B!=D)?B:E);C:=A; D:=B") - field(DESC, "determine MHVPS EREF change") - field(INPE, "EC-GN-P01-PMF:PSU0000-EREF") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PMF:PSU0000-EREF PP") - field(SCAN, "Passive") -} - -record (calcout,"EC-GN-P01-PMF:STAT-HVON-CALC") -{ - field(CALC, "(A||B)?1:0") - field(DESC, "determine MHVPS HVON change") - field(OOPT, "On Change") - field(OUT, "EC-GN-P01-PMF:PSU0000-CON-SW PP") - field(SCAN, "Passive") -} - -record (waveform,"EC-GN-P01-PMF:STAT-PREP-WF") -{ - field(DESC, "MHVPS prepro schedule") - field(EGU, "V") - field(FTVL, "FLOAT") - field(NELM, "8000") - field(PINI, "NO") - field(PREC, "2") - field(SCAN, "Passive") -} - diff --git a/EC-GN-JA-PCF/target/main/epics/dbd/CUB.dbd b/EC-GN-JA-PCF/target/main/epics/dbd/CUB.dbd deleted file mode 100644 index fcba839..0000000 --- a/EC-GN-JA-PCF/target/main/epics/dbd/CUB.dbd +++ /dev/null @@ -1,19604 +0,0 @@ -menu(serialPRTY) { - choice(serialPRTY_unknown, "Unknown") - choice(serialPRTY_None, "None") - choice(serialPRTY_Even, "Even") - choice(serialPRTY_Odd, "Odd") -} -menu(waveformPOST) { - choice(waveformPOST_Always, "Always") - choice(waveformPOST_OnChange, "On Change") -} -menu(aaoPOST) { - choice(aaoPOST_Always, "Always") - choice(aaoPOST_OnChange, "On Change") -} -menu(menuPriority) { - choice(menuPriorityLOW, "LOW") - choice(menuPriorityMEDIUM, "MEDIUM") - choice(menuPriorityHIGH, "HIGH") -} -menu(serialSBIT) { - choice(serialSBIT_unknown, "Unknown") - choice(serialSBIT_1, "1") - choice(serialSBIT_2, "2") -} -menu(calcoutDOPT) { - choice(calcoutDOPT_Use_VAL, "Use CALC") - choice(calcoutDOPT_Use_OVAL, "Use OCAL") -} -menu(menuOmsl) { - choice(menuOmslsupervisory, "supervisory") - choice(menuOmslclosed_loop, "closed_loop") -} -menu(menuFtype) { - choice(menuFtypeSTRING, "STRING") - choice(menuFtypeCHAR, "CHAR") - choice(menuFtypeUCHAR, "UCHAR") - choice(menuFtypeSHORT, "SHORT") - choice(menuFtypeUSHORT, "USHORT") - choice(menuFtypeLONG, "LONG") - choice(menuFtypeULONG, "ULONG") - choice(menuFtypeINT64, "INT64") - choice(menuFtypeUINT64, "UINT64") - choice(menuFtypeFLOAT, "FLOAT") - choice(menuFtypeDOUBLE, "DOUBLE") - choice(menuFtypeENUM, "ENUM") -} -menu(stringinPOST) { - choice(stringinPOST_OnChange, "On Change") - choice(stringinPOST_Always, "Always") -} -menu(menuPini) { - choice(menuPiniNO, "NO") - choice(menuPiniYES, "YES") - choice(menuPiniRUN, "RUN") - choice(menuPiniRUNNING, "RUNNING") - choice(menuPiniPAUSE, "PAUSE") - choice(menuPiniPAUSED, "PAUSED") -} -menu(dfanoutSELM) { - choice(dfanoutSELM_All, "All") - choice(dfanoutSELM_Specified, "Specified") - choice(dfanoutSELM_Mask, "Mask") -} -menu(menuScan) { - choice(menuScanPassive, "Passive") - choice(menuScanEvent, "Event") - choice(menuScanI_O_Intr, "I/O Intr") - choice(menuScan10_second, "10 second") - choice(menuScan5_second, "5 second") - choice(menuScan2_second, "2 second") - choice(menuScan1_second, "1 second") - choice(menuScan_5_second, ".5 second") - choice(menuScan_2_second, ".2 second") - choice(menuScan_1_second, ".1 second") -} -menu(gpibACMD) { - choice(gpibACMD_None, "None") - choice(gpibACMD_Group_Execute_Trig___GET_, "Group Execute Trig. (GET)") - choice(gpibACMD_Go_To_Local__GTL_, "Go To Local (GTL)") - choice(gpibACMD_Selected_Dev__Clear__SDC_, "Selected Dev. Clear (SDC)") - choice(gpibACMD_Take_Control__TCT_, "Take Control (TCT)") - choice(gpibACMD_Serial_Poll, "Serial Poll") -} -menu(aSubLFLG) { - choice(aSubLFLG_IGNORE, "IGNORE") - choice(aSubLFLG_READ, "READ") -} -menu(asynTMOD) { - choice(asynTMOD_Write_Read, "Write/Read") - choice(asynTMOD_Write, "Write") - choice(asynTMOD_Read, "Read") - choice(asynTMOD_Flush, "Flush") - choice(asynTMOD_NoIO, "NoI/O") -} -menu(ipDRTO) { - choice(ipDRTO_unknown, "Unknown") - choice(ipDRTO_No, "No") - choice(ipDRTO_Yes, "Yes") -} -menu(menuPost) { - choice(menuPost_OnChange, "On Change") - choice(menuPost_Always, "Always") -} -menu(asynINTERFACE) { - choice(asynINTERFACE_OCTET, "asynOctet") - choice(asynINTERFACE_INT32, "asynInt32") - choice(asynINTERFACE_UINT32, "asynUInt32Digital") - choice(asynINTERFACE_FLOAT64, "asynFloat64") -} -menu(menuAlarmStat) { - choice(menuAlarmStatNO_ALARM, "NO_ALARM") - choice(menuAlarmStatREAD, "READ") - choice(menuAlarmStatWRITE, "WRITE") - choice(menuAlarmStatHIHI, "HIHI") - choice(menuAlarmStatHIGH, "HIGH") - choice(menuAlarmStatLOLO, "LOLO") - choice(menuAlarmStatLOW, "LOW") - choice(menuAlarmStatSTATE, "STATE") - choice(menuAlarmStatCOS, "COS") - choice(menuAlarmStatCOMM, "COMM") - choice(menuAlarmStatTIMEOUT, "TIMEOUT") - choice(menuAlarmStatHWLIMIT, "HWLIMIT") - choice(menuAlarmStatCALC, "CALC") - choice(menuAlarmStatSCAN, "SCAN") - choice(menuAlarmStatLINK, "LINK") - choice(menuAlarmStatSOFT, "SOFT") - choice(menuAlarmStatBAD_SUB, "BAD_SUB") - choice(menuAlarmStatUDF, "UDF") - choice(menuAlarmStatDISABLE, "DISABLE") - choice(menuAlarmStatSIMM, "SIMM") - choice(menuAlarmStatREAD_ACCESS, "READ_ACCESS") - choice(menuAlarmStatWRITE_ACCESS, "WRITE_ACCESS") -} -menu(aoOIF) { - choice(aoOIF_Full, "Full") - choice(aoOIF_Incremental, "Incremental") -} -menu(bufferingALG) { - choice(bufferingALG_FIFO, "FIFO Buffer") - choice(bufferingALG_LIFO, "LIFO Buffer") -} -menu(aaiPOST) { - choice(aaiPOST_Always, "Always") - choice(aaiPOST_OnChange, "On Change") -} -menu(calcoutINAV) { - choice(calcoutINAV_EXT_NC, "Ext PV NC") - choice(calcoutINAV_EXT, "Ext PV OK") - choice(calcoutINAV_LOC, "Local PV") - choice(calcoutINAV_CON, "Constant") -} -menu(epidFeedbackState) { - choice(epidFeedbackState_Off, "Off") - choice(epidFeedbackState_On, "On") -} -menu(asynAUTOCONNECT) { - choice(asynAUTOCONNECT_noAutoConnect, "noAutoConnect") - choice(asynAUTOCONNECT_autoConnect, "autoConnect") -} -menu(asynFMT) { - choice(asynFMT_ASCII, "ASCII") - choice(asynFMT_Hybrid, "Hybrid") - choice(asynFMT_Binary, "Binary") -} -menu(seqSELM) { - choice(seqSELM_All, "All") - choice(seqSELM_Specified, "Specified") - choice(seqSELM_Mask, "Mask") -} -menu(asynCONNECT) { - choice(asynCONNECT_Disconnect, "Disconnect") - choice(asynCONNECT_Connect, "Connect") -} -menu(gpibUCMD) { - choice(gpibUCMD_None, "None") - choice(gpibUCMD_Device_Clear__DCL_, "Device Clear (DCL)") - choice(gpibUCMD_Local_Lockout__LL0_, "Local Lockout (LL0)") - choice(gpibUCMD_Serial_Poll_Disable__SPD_, "Serial Poll Disable (SPD)") - choice(gpibUCMD_Serial_Poll_Enable__SPE_, "Serial Poll Enable (SPE)") - choice(gpibUCMD_Unlisten__UNL_, "Unlisten (UNL)") - choice(gpibUCMD_Untalk__UNT_, "Untalk (UNT)") -} -menu(serialBAUD) { - choice(serialBAUD_unknown, "Unknown") - choice(serialBAUD_300, "300") - choice(serialBAUD_600, "600") - choice(serialBAUD_1200, "1200") - choice(serialBAUD_2400, "2400") - choice(serialBAUD_4800, "4800") - choice(serialBAUD_9600, "9600") - choice(serialBAUD_19200, "19200") - choice(serialBAUD_38400, "38400") - choice(serialBAUD_57600, "57600") - choice(serialBAUD_115200, "115200") - choice(serialBAUD_230400, "230400") - choice(serialBAUD_460800, "460800") - choice(serialBAUD_576000, "576000") - choice(serialBAUD_921600, "921600") - choice(serialBAUD_1152000, "1152000") -} -menu(histogramCMD) { - choice(histogramCMD_Read, "Read") - choice(histogramCMD_Clear, "Clear") - choice(histogramCMD_Start, "Start") - choice(histogramCMD_Stop, "Stop") -} -menu(asynTRACE) { - choice(asynTRACE_Off, "Off") - choice(asynTRACE_On, "On") -} -menu(asynEOMREASON) { - choice(asynEOMREASONNone, "None") - choice(asynEOMREASONCNT, "Count") - choice(asynEOMREASONEOS, "Eos") - choice(asynEOMREASONCNTEOS, "Count Eos") - choice(asynEOMREASONEND, "End") - choice(asynEOMREASONCNTEND, "Count End") - choice(asynEOMREASONEOSEND, "Eos End") - choice(asynEOMREASONCNTEOSEND, "Count Eos End") -} -menu(menuIvoa) { - choice(menuIvoaContinue_normally, "Continue normally") - choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") - choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") -} -menu(stringoutPOST) { - choice(stringoutPOST_OnChange, "On Change") - choice(stringoutPOST_Always, "Always") -} -menu(menuAlarmSevr) { - choice(menuAlarmSevrNO_ALARM, "NO_ALARM") - choice(menuAlarmSevrMINOR, "MINOR") - choice(menuAlarmSevrMAJOR, "MAJOR") - choice(menuAlarmSevrINVALID, "INVALID") -} -menu(serialMCTL) { - choice(serialMCTL_unknown, "Unknown") - choice(serialMCTL_CLOCAL, "CLOCAL") - choice(serialMCTL_Yes, "YES") -} -menu(serialFCTL) { - choice(serialFCTL_unknown, "Unknown") - choice(serialFCTL_None, "None") - choice(serialFCTL_Hardware, "Hardware") -} -menu(menuSimm) { - choice(menuSimmNO, "NO") - choice(menuSimmYES, "YES") - choice(menuSimmRAW, "RAW") -} -menu(compressALG) { - choice(compressALG_N_to_1_Low_Value, "N to 1 Low Value") - choice(compressALG_N_to_1_High_Value, "N to 1 High Value") - choice(compressALG_N_to_1_Average, "N to 1 Average") - choice(compressALG_Average, "Average") - choice(compressALG_Circular_Buffer, "Circular Buffer") - choice(compressALG_N_to_1_Median, "N to 1 Median") -} -menu(aSubEFLG) { - choice(aSubEFLG_NEVER, "NEVER") - choice(aSubEFLG_ON_CHANGE, "ON CHANGE") - choice(aSubEFLG_ALWAYS, "ALWAYS") -} -menu(fanoutSELM) { - choice(fanoutSELM_All, "All") - choice(fanoutSELM_Specified, "Specified") - choice(fanoutSELM_Mask, "Mask") -} -menu(calcoutOOPT) { - choice(calcoutOOPT_Every_Time, "Every Time") - choice(calcoutOOPT_On_Change, "On Change") - choice(calcoutOOPT_When_Zero, "When Zero") - choice(calcoutOOPT_When_Non_zero, "When Non-zero") - choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") - choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") -} -menu(asynENABLE) { - choice(asynENABLE_Disable, "Disable") - choice(asynENABLE_Enable, "Enable") -} -menu(epidFeedbackMode) { - choice(epidFeedbackMode_PID, "PID") - choice(epidFeedbackMode_MaxMin, "Max/Min") -} -menu(menuConvert) { - choice(menuConvertNO_CONVERSION, "NO CONVERSION") - choice(menuConvertSLOPE, "SLOPE") - choice(menuConvertLINEAR, "LINEAR") - choice(menuConverttypeKdegF, "typeKdegF") - choice(menuConverttypeKdegC, "typeKdegC") - choice(menuConverttypeJdegF, "typeJdegF") - choice(menuConverttypeJdegC, "typeJdegC") - choice(menuConverttypeEdegF, "typeEdegF(ixe only)") - choice(menuConverttypeEdegC, "typeEdegC(ixe only)") - choice(menuConverttypeTdegF, "typeTdegF") - choice(menuConverttypeTdegC, "typeTdegC") - choice(menuConverttypeRdegF, "typeRdegF") - choice(menuConverttypeRdegC, "typeRdegC") - choice(menuConverttypeSdegF, "typeSdegF") - choice(menuConverttypeSdegC, "typeSdegC") -} -menu(serialIX) { - choice(serialIX_unknown, "Unknown") - choice(serialIX_No, "No") - choice(serialIX_Yes, "Yes") -} -menu(menuYesNo) { - choice(menuYesNoNO, "NO") - choice(menuYesNoYES, "YES") -} -menu(timestampTST) { - choice(timestampTST_YY_MM_DD_HH_MM_SS, "YY/MM/DD HH:MM:SS") - choice(timestampTST_MM_DD_YY_HH_MM_SS, "MM/DD/YY HH:MM:SS") - choice(timestampTST_MM_DD_HH_MM_SS_YY, "Mon DD HH:MM:SS YY") - choice(timestampTST_MM_DD_HH_MM_SS, "Mon DD HH:MM:SS") - choice(timestampTST_HH_MM_SS, "HH:MM:SS") - choice(timestampTST_HH_MM, "HH:MM") - choice(timestampTST_DD_MM_YY_HH_MM_SS, "DD/MM/YY HH:MM:SS") - choice(timestampTST_DD_MM_HH_MM_SS_YY, "DD Mon HH:MM:SS YY") - choice(timestampTST_VMS, "DD-Mon-YYYY HH:MM:SS") - choice(timestampTST_MM_DD_YYYY, "Mon DD, YYYY HH:MM:SS.ns") - choice(timestampTST_MM_DD_YY, "MM/DD/YY HH:MM:SS.ns") -} -menu(serialDBIT) { - choice(serialDBIT_unknown, "Unknown") - choice(serialDBIT_5, "5") - choice(serialDBIT_6, "6") - choice(serialDBIT_7, "7") - choice(serialDBIT_8, "8") -} -menu(selSELM) { - choice(selSELM_Specified, "Specified") - choice(selSELM_High_Signal, "High Signal") - choice(selSELM_Low_Signal, "Low Signal") - choice(selSELM_Median_Signal, "Median Signal") -} -recordtype(calcout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct calcoutRecord; - %typedef struct calcoutdset { - % dset common; - % long (*write)(struct calcoutRecord *prec); - %} calcoutdset; - %#define HAS_calcoutdset - % - %#include "dbScan.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rpvtStruct *rpvt") - interest(4) - prompt("Record Private") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(PVAL, DBF_DOUBLE) { - prompt("Previous Value") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(CLCV, DBF_LONG) { - interest(1) - prompt("CALC Valid") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input L") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(1) - prompt("Output Specification") - } - field(INAV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPA PV Status") - } - field(INBV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPB PV Status") - } - field(INCV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPC PV Status") - } - field(INDV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPD PV Status") - } - field(INEV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPE PV Status") - } - field(INFV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPF PV Status") - } - field(INGV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPG PV Status") - } - field(INHV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPH PV Status") - } - field(INIV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPI PV Status") - } - field(INJV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPJ PV Status") - } - field(INKV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPK PV Status") - } - field(INLV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPL PV Status") - } - field(OUTV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - interest(1) - prompt("OUT PV Status") - } - field(OOPT, DBF_MENU) { - promptgroup("50 - Output") - menu(calcoutOOPT) - interest(1) - prompt("Output Execute Opt") - } - field(ODLY, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - interest(1) - prompt("Output Execute Delay") - } - field(DLYA, DBF_USHORT) { - special(SPC_NOMOD) - asl(ASL0) - prompt("Output Delay Active") - } - field(DOPT, DBF_MENU) { - promptgroup("30 - Action") - menu(calcoutDOPT) - interest(1) - prompt("Output Data Opt") - } - field(OCAL, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Output Calculation") - } - field(OCLV, DBF_LONG) { - interest(1) - prompt("OCAL Valid") - } - field(OEVT, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event To Issue") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(OVAL, DBF_DOUBLE) { - asl(ASL0) - prompt("Output Value") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(POVL, DBF_DOUBLE) { - asl(ASL0) - prompt("Prev Value of OVAL") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } - field(ORPC, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char orpc[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish OCalc") - } -} -device(calcout, CONSTANT, devCalcoutSoft, "Soft Channel") -device(calcout, CONSTANT, devCalcoutSoftCallback, "Async Soft Channel") -recordtype(state) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(20) - prompt("Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(20) - prompt("Prev Value") - } -} -recordtype(histogram) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct histogramRecord; - %typedef struct histogramdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_histogram)(struct histogramRecord *prec); /*(0,2)=> success and add_count, don't add_count); if add_count then sgnl added to array*/ - % long (*special_linconv)(struct histogramRecord *prec, int after); - %} histogramdset; - %#define HAS_histogramdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - prompt("Value") - } - field(NELM, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Num of Array Elements") - } - field(CSTA, DBF_SHORT) { - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Collection Status") - } - field(CMD, DBF_MENU) { - special(SPC_CALC) - asl(ASL0) - menu(histogramCMD) - interest(1) - prompt("Collection Control") - } - field(ULIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Upper Signal Limit") - } - field(LLIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Lower Signal Limit ") - } - field(WDTH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Element Width") - } - field(SGNL, DBF_DOUBLE) { - special(SPC_MOD) - prompt("Signal Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(SVL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Signal Value Location") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt32 *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(WDOG, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdog") - interest(4) - prompt("Watchdog callback") - } - field(MDEL, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Count Deadband") - } - field(MCNT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Counts Since Monitor") - } - field(SDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - special(SPC_RESET) - interest(1) - prompt("Monitor Seconds Dband") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(HOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } -} -device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") -recordtype(lsi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsiRecord; - %typedef struct lsidset { - % dset common; - % long (*read_string)(struct lsiRecord *prec); - %} lsidset; - %#define HAS_lsidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Old Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of OVAL") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lsi, CONSTANT, devLsiSoft, "Soft Channel") -device(lsi, INST_IO, devLsiEnviron, "getenv") -device(lsi, INST_IO, devLsiStats, "IOC long string") -device(lsi, INST_IO, asynLsiOctetCmdResponse, "asynOctetCmdResponse") -device(lsi, INST_IO, asynLsiOctetWriteRead, "asynOctetWriteRead") -device(lsi, INST_IO, asynLsiOctetRead, "asynOctetRead") -recordtype(int64out) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64outRecord; - %typedef struct int64outdset { - % dset common; - % long (*write_int64out)(struct int64outRecord *prec); - %} int64outdset; - %#define HAS_int64outdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(DRVH, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_INT64) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(int64out, CONSTANT, devI64outSoft, "Soft Channel") -device(int64out, CONSTANT, devI64outSoftCallback, "Async Soft Channel") -device(int64out, INST_IO, asynInt64Out, "asynInt64") -recordtype(seq) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(seqSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(OLDN, DBF_USHORT) { - interest(4) - prompt("Old Selection") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(DLY0, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 0") - } - field(DOL0, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 0") - } - field(DO0, DBF_DOUBLE) { - interest(1) - prompt("Value 0") - } - field(LNK0, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 0") - } - field(DLY1, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 1") - } - field(DOL1, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link1") - } - field(DO1, DBF_DOUBLE) { - interest(1) - prompt("Value 1") - } - field(LNK1, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 1") - } - field(DLY2, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 2") - } - field(DOL2, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 2") - } - field(DO2, DBF_DOUBLE) { - interest(1) - prompt("Value 2") - } - field(LNK2, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 2") - } - field(DLY3, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 3") - } - field(DOL3, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 3") - } - field(DO3, DBF_DOUBLE) { - interest(1) - prompt("Value 3") - } - field(LNK3, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 3") - } - field(DLY4, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 4") - } - field(DOL4, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 4") - } - field(DO4, DBF_DOUBLE) { - interest(1) - prompt("Value 4") - } - field(LNK4, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 4") - } - field(DLY5, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 5") - } - field(DOL5, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 5") - } - field(DO5, DBF_DOUBLE) { - interest(1) - prompt("Value 5") - } - field(LNK5, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 5") - } - field(DLY6, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 6") - } - field(DOL6, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 6") - } - field(DO6, DBF_DOUBLE) { - interest(1) - prompt("Value 6") - } - field(LNK6, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 6") - } - field(DLY7, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 7") - } - field(DOL7, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 7") - } - field(DO7, DBF_DOUBLE) { - interest(1) - prompt("Value 7") - } - field(LNK7, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 7") - } - field(DLY8, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 8") - } - field(DOL8, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 8") - } - field(DO8, DBF_DOUBLE) { - interest(1) - prompt("Value 8") - } - field(LNK8, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 8") - } - field(DLY9, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 9") - } - field(DOL9, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 9") - } - field(DO9, DBF_DOUBLE) { - interest(1) - prompt("Value 9") - } - field(LNK9, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 9") - } - field(DLYA, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 10") - } - field(DOLA, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 10") - } - field(DOA, DBF_DOUBLE) { - interest(1) - prompt("Value 10") - } - field(LNKA, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 10") - } - field(DLYB, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 11") - } - field(DOLB, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 11") - } - field(DOB, DBF_DOUBLE) { - interest(1) - prompt("Value 11") - } - field(LNKB, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 11") - } - field(DLYC, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 12") - } - field(DOLC, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 12") - } - field(DOC, DBF_DOUBLE) { - interest(1) - prompt("Value 12") - } - field(LNKC, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 12") - } - field(DLYD, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 13") - } - field(DOLD, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 13") - } - field(DOD, DBF_DOUBLE) { - interest(1) - prompt("Value 13") - } - field(LNKD, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 13") - } - field(DLYE, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 14") - } - field(DOLE, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 14") - } - field(DOE, DBF_DOUBLE) { - interest(1) - prompt("Value 14") - } - field(LNKE, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 14") - } - field(DLYF, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 15") - } - field(DOLF, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 15") - } - field(DOF, DBF_DOUBLE) { - interest(1) - prompt("Value 15") - } - field(LNKF, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 15") - } -} -recordtype(stringout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringoutRecord; - %typedef struct stringoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_stringout)(struct stringoutRecord *prec); /*(-1,0)=>(failure,success)*/ - %} stringoutdset; - %#define HAS_stringoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID output value") - } -} -device(stringout, CONSTANT, devSoSoft, "Soft Channel") -device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") -device(stringout, INST_IO, devSoStdio, "stdio") -device(stringout, INST_IO, asynSoOctetWrite, "asynOctetWrite") -recordtype(aai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaiRecord; - %typedef struct aaidset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_aai)(struct aaiRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaidset; - %#define HAS_aaidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aai, CONSTANT, devAaiSoft, "Soft Channel") -recordtype(permissive) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_USHORT) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Status") - } - field(WFLG, DBF_USHORT) { - pp(TRUE) - prompt("Wait Flag") - } - field(LABL, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(20) - prompt("Button Label") - } - field(OVAL, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Status") - } - field(OFLG, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Flag") - } -} -recordtype(bo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct boRecord; - %typedef struct bodset { - % dset common; /*init_record returns:(0,2)=>(success,success no convert*/ - % long (*write_bo)(struct boRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} bodset; - %#define HAS_bodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Seconds to Hold High") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * rpvt") - interest(4) - prompt("Record Private") - } - field(WDPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdpt") - interest(4) - prompt("Watch Dog Timer ID") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(bo, CONSTANT, devBoSoft, "Soft Channel") -device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") -device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") -device(bo, INST_IO, devBoGeneralTime, "General Time") -device(bo, INST_IO, devBoDbState, "Db State") -device(bo, INST_IO, devBoSimulation, "IOC SIM") -device(bo, INST_IO, asynBoInt32, "asynInt32") -device(bo, INST_IO, asynBoUInt32Digital, "asynUInt32Digital") -recordtype(dfanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(dfanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec H") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } -} -recordtype(mbbi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiRecord; - %typedef struct mbbidset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidset; - %#define HAS_mbbidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") -device(mbbi, INST_IO, devSysMonMbbiStats, "sysmon") -device(mbbi, INST_IO, asynMbbiInt32, "asynInt32") -device(mbbi, INST_IO, asynMbbiUInt32Digital, "asynUInt32Digital") -recordtype(event) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct eventRecord; - %typedef struct eventdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_event)(struct eventRecord *prec); /*(0)=> success */ - %} eventdset; - %#define HAS_eventdset - % - %#include "dbScan.h" - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event Name To Post") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_STRING) { - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(event, CONSTANT, devEventSoft, "Soft Channel") -recordtype(compress) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RES, DBF_SHORT) { - special(SPC_RESET) - asl(ASL0) - interest(3) - prompt("Reset") - } - field(ALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(compressALG) - interest(1) - prompt("Compression Algorithm") - } - field(BALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(bufferingALG) - interest(1) - prompt("Buffering Algorithm") - } - field(NSAM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Values") - } - field(N, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_RESET) - initial("1") - interest(1) - prompt("N to 1 Compression") - } - field(IHIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init High Interest Lim") - } - field(ILIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init Low Interest Lim") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(OFF, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Offset") - } - field(NUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number Used") - } - field(OUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Old Number Used") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *sptr") - interest(4) - prompt("Summing Buffer Ptr") - } - field(WPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *wptr") - interest(4) - prompt("Working Buffer Ptr") - } - field(INPN, DBF_LONG) { - special(SPC_NOMOD) - interest(4) - prompt("Number of elements in Working Buffer") - } - field(CVB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Compress Value Buffer") - } - field(INX, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Compressed Array Inx") - } -} -recordtype(mbbo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboRecord; - %typedef struct mbbodset { - % dset common; /*init_record returns: (0, 2) => (success, success no convert)*/ - % long (*write_mbbo)(struct mbboRecord *prec); /*returns: (0, 2) => (success, success no convert)*/ - %} mbbodset; - %#define HAS_mbbodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - special(SPC_DBADDR) - asl(ASL0) - pp(TRUE) - prompt("Desired Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(NOBT, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Sevr") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Sevr") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") -device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") -device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") -device(mbbo, INST_IO, asynMbboInt32, "asynInt32") -device(mbbo, INST_IO, asynMbboUInt32Digital, "asynUInt32Digital") -recordtype(epid) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Setpoint") - } - field(SMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Setpoint Mode Select") - } - field(STPL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Setpoint Location") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Controlled Value Loc") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Location") - } - field(TRIG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Readback Trigger") - } - field(TVAL, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Trigger Value") - } - field(CVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Controlled Value") - } - field(CVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Prev. Controlled Value") - } - field(OVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Output value") - } - field(OVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev output") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(MDT, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Min Delta T") - } - field(FMOD, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackMode) - interest(1) - prompt("Feedback Mode") - } - field(FBON, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Feedback On/Off") - } - field(FBOP, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Prev. feedback On/Off") - } - field(KP, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Proportional Gain") - } - field(KI, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Integral Gain") - } - field(KD, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Derivative Gain") - } - field(EGU, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - prompt("Engineering Units") - size(16) - } - field(HOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(DRVH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("High Drive Limit") - } - field(DRVL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Low Drive Limit") - } - field(HIHI, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Hihi Deviation Limit") - } - field(LOLO, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Lolo Deviation Limit") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("High Deviation Limit") - } - field(LOW, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Low Deviation Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(ODEL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Output Deadband") - } - field(P, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("P component") - } - field(PP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. P component") - } - field(I, DBF_DOUBLE) { - interest(2) - prompt("I component") - } - field(IP, DBF_DOUBLE) { - interest(2) - prompt("Prev. I component") - } - field(D, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("D component") - } - field(DP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. D component") - } - field(CT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ct") - prompt("Time") - } - field(CTP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ctp") - prompt("Previous time") - } - field(DT, DBF_DOUBLE) { - interest(2) - prompt("Delta T") - } - field(DTP, DBF_DOUBLE) { - interest(2) - prompt("Prev. Delta T") - } - field(ERR, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Error") - } - field(ERRP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. Error") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -device(epid, CONSTANT, devEpidSoft, "Soft Channel") -device(epid, CONSTANT, devEpidSoftCB, "Async Soft Channel") -recordtype(ao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aoRecord; - %typedef struct aodset { - % dset common; /*init_record returns: (0,2)=>(success,success no convert)*/ - % long (*write_ao)(struct aoRecord *prec); /*(0)=>(success ) */ - % long (*special_linconv)(struct aoRecord *prec, int after); - %} aodset; - %#define HAS_aodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OVAL, DBF_DOUBLE) { - prompt("Output Value") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(OROC, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Output Rate of Change") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OIF, DBF_MENU) { - promptgroup("50 - Output") - menu(aoOIF) - interest(1) - prompt("Out Full/Incremental") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("EGU to Raw Offset") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("EGU to Raw Slope") - } - field(DRVH, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(RBV, DBF_LONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(PVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Previous value") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(OMOD, DBF_UCHAR) { - special(SPC_NOMOD) - prompt("Was OVAL modified?") - } -} -device(ao, CONSTANT, devAoSoft, "Soft Channel") -device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") -device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") -device(ao, INST_IO, devAoStats, "IOC stats") -device(ao, INST_IO, asynAoInt32, "asynInt32") -device(ao, INST_IO, asynAoFloat64, "asynFloat64") -device(ao, INST_IO, asynAoInt64, "asynInt64") -recordtype(aao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaoRecord; - %typedef struct aaodset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_aao)(struct aaoRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaodset; - %#define HAS_aaodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aao, CONSTANT, devAaoSoft, "Soft Channel") -recordtype(mbbiDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiDirectRecord; - %typedef struct mbbidirectdset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiDirectRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidirectdset; - %#define HAS_mbbidirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_SHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(B0, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") -device(mbbiDirect, INST_IO, devSysMonMbbiDirectStats, "sysmon") -device(mbbiDirect, INST_IO, asynMbbiDirectUInt32Digital, "asynUInt32Digital") -recordtype(asyn) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - interest(4) - prompt("Value field (unused)") - } - field(PORT, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("") - interest(1) - size(40) - prompt("asyn port") - } - field(ADDR, DBF_LONG) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("0") - interest(1) - prompt("asyn address") - } - field(PCNCT, DBF_MENU) { - special(SPC_MOD) - menu(asynCONNECT) - interest(2) - prompt("Port Connect/Disconnect") - } - field(DRVINFO, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("") - interest(2) - size(40) - prompt("Driver info string") - } - field(REASON, DBF_LONG) { - special(SPC_MOD) - interest(2) - prompt("asynUser->reason") - } - field(TMOD, DBF_MENU) { - promptgroup("30 - Action") - menu(asynTMOD) - interest(1) - prompt("Transaction mode") - } - field(TMOT, DBF_DOUBLE) { - promptgroup("30 - Action") - initial("1.0") - interest(1) - prompt("Timeout (sec)") - } - field(IFACE, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynINTERFACE) - interest(2) - prompt("Interface") - } - field(OCTETIV, DBF_LONG) { - interest(2) - prompt("asynOctet is valid") - } - field(OPTIONIV, DBF_LONG) { - interest(2) - prompt("asynOption is valid") - } - field(GPIBIV, DBF_LONG) { - interest(2) - prompt("asynGPIB is valid") - } - field(I32IV, DBF_LONG) { - interest(2) - prompt("asynInt32 is valid") - } - field(UI32IV, DBF_LONG) { - interest(2) - prompt("asynUInt32Digital is valid") - } - field(F64IV, DBF_LONG) { - interest(2) - prompt("asynFloat64 is valid") - } - field(AOUT, DBF_STRING) { - promptgroup("50 - Output") - interest(1) - pp(TRUE) - size(40) - prompt("Output (command) string") - } - field(OEOS, DBF_STRING) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(1) - size(40) - prompt("Output delimiter") - } - field(BOUT, DBF_CHAR) { - special(SPC_DBADDR) - interest(1) - pp(TRUE) - prompt("Output binary data") - } - field(OPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *optr") - interest(4) - prompt("Output buffer pointer") - } - field(OMAX, DBF_LONG) { - promptgroup("50 - Output") - special(SPC_NOMOD) - initial("80") - interest(1) - prompt("Max. size of output array") - } - field(NOWT, DBF_LONG) { - promptgroup("50 - Output") - initial("80") - interest(1) - prompt("Number of bytes to write") - } - field(NAWT, DBF_LONG) { - interest(1) - prompt("Number of bytes actually written") - } - field(OFMT, DBF_MENU) { - promptgroup("50 - Output") - menu(asynFMT) - interest(1) - prompt("Output format") - } - field(AINP, DBF_STRING) { - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Input (response) string") - } - field(TINP, DBF_STRING) { - special(SPC_NOMOD) - asl(ASL0) - interest(1) - size(40) - prompt("Translated input string") - } - field(IEOS, DBF_STRING) { - promptgroup("40 - Input") - special(SPC_MOD) - interest(1) - size(40) - prompt("Input Delimiter") - } - field(BINP, DBF_CHAR) { - special(SPC_DBADDR) - asl(ASL0) - prompt("Input binary data") - } - field(IPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *iptr") - interest(4) - size(4) - prompt("Input buffer pointer") - } - field(IMAX, DBF_LONG) { - promptgroup("40 - Input") - special(SPC_NOMOD) - initial("80") - interest(1) - prompt("Max. size of input array") - } - field(NRRD, DBF_LONG) { - promptgroup("40 - Input") - interest(1) - prompt("Number of bytes to read") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - interest(1) - prompt("Number of bytes read") - } - field(IFMT, DBF_MENU) { - promptgroup("40 - Input") - menu(asynFMT) - interest(1) - prompt("Input format") - } - field(EOMR, DBF_MENU) { - special(SPC_NOMOD) - menu(asynEOMREASON) - interest(1) - prompt("EOM reason") - } - field(I32INP, DBF_LONG) { - special(SPC_NOMOD) - interest(2) - prompt("asynInt32 input") - } - field(I32OUT, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynInt32 output") - } - field(UI32INP, DBF_ULONG) { - special(SPC_NOMOD) - interest(2) - prompt("asynUInt32Digital input") - } - field(UI32OUT, DBF_ULONG) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynUInt32Digital output") - } - field(UI32MASK, DBF_ULONG) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(2) - initial("0xffffffff") - prompt("asynUInt32Digital mask") - } - field(F64INP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("asynFloat64 input") - } - field(F64OUT, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynFloat64 output") - } - field(BAUD, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialBAUD) - interest(2) - prompt("Baud rate") - } - field(LBAUD, DBF_LONG) { - promptgroup("31 - Serial") - special(SPC_MOD) - interest(2) - prompt("Baud rate") - } - field(PRTY, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialPRTY) - interest(2) - prompt("Parity") - } - field(DBIT, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialDBIT) - interest(2) - prompt("Data bits") - } - field(SBIT, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialSBIT) - interest(2) - prompt("Stop bits") - } - field(MCTL, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialMCTL) - interest(2) - prompt("Modem control") - } - field(FCTL, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialFCTL) - interest(2) - prompt("Flow control") - } - field(IXON, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("Output XON/XOFF") - } - field(IXOFF, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("Input XON/XOFF") - } - field(IXANY, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("XON=any character") - } - field(HOSTINFO, DBF_STRING) { - promptgroup("32 - IP") - special(SPC_MOD) - initial("") - interest(1) - size(40) - prompt("host info") - } - field(DRTO, DBF_MENU) { - promptgroup("32 - IP") - special(SPC_MOD) - menu(ipDRTO) - interest(2) - prompt("Disconnect on timeout") - } - field(UCMD, DBF_MENU) { - promptgroup("33 - GPIB") - menu(gpibUCMD) - interest(2) - pp(TRUE) - prompt("Universal command") - } - field(ACMD, DBF_MENU) { - promptgroup("33 - GPIB") - menu(gpibACMD) - interest(2) - pp(TRUE) - prompt("Addressed command") - } - field(SPR, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Serial poll response") - } - field(TMSK, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace mask") - } - field(TB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace error") - } - field(TB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO device") - } - field(TB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO filter") - } - field(TB3, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO driver") - } - field(TB4, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace flow") - } - field(TB5, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace warning") - } - field(TIOM, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace I/O mask") - } - field(TIB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO ASCII") - } - field(TIB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO escape") - } - field(TIB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO hex") - } - field(TINM, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace Info mask") - } - field(TINB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Time") - } - field(TINB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Port") - } - field(TINB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Source") - } - field(TINB3, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Thread") - } - field(TSIZ, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace IO truncate size") - } - field(TFIL, DBF_STRING) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - size(40) - prompt("Trace IO file") - } - field(AUCT, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynAUTOCONNECT) - interest(1) - prompt("Autoconnect") - } - field(CNCT, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynCONNECT) - interest(1) - prompt("Connect/Disconnect") - } - field(ENBL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynENABLE) - interest(1) - prompt("Enable/Disable") - } - field(ERRS, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *errs") - interest(4) - prompt("Error string") - } - field(AQR, DBF_UCHAR) { - special(SPC_MOD) - interest(4) - prompt("Abort queueRequest") - } -} -device(asyn, INST_IO, asynRecordDevice, "asynRecordDevice") -recordtype(waveform) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct waveformRecord; - %typedef struct wfdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_wf)(struct waveformRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} wfdset; - %#define HAS_wfdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(RARM, DBF_SHORT) { - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Rearm the waveform") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(waveform, CONSTANT, devWfSoft, "Soft Channel") -device(waveform, INST_IO, devWaveformStats, "IOC stats") -device(waveform, INST_IO, devSysMonWaveStats, "sysmon") -device(waveform, INST_IO, asynWfOctetCmdResponse, "asynOctetCmdResponse") -device(waveform, INST_IO, asynWfOctetWriteRead, "asynOctetWriteRead") -device(waveform, INST_IO, asynWfOctetRead, "asynOctetRead") -device(waveform, INST_IO, asynWfOctetWrite, "asynOctetWrite") -device(waveform, INST_IO, asynWfOctetWriteBinary, "asynOctetWriteBinary") -device(waveform, INST_IO, asynInt8ArrayWfIn, "asynInt8ArrayIn") -device(waveform, INST_IO, asynInt8ArrayWfOut, "asynInt8ArrayOut") -device(waveform, INST_IO, asynInt16ArrayWfIn, "asynInt16ArrayIn") -device(waveform, INST_IO, asynInt16ArrayWfOut, "asynInt16ArrayOut") -device(waveform, INST_IO, asynInt32ArrayWfIn, "asynInt32ArrayIn") -device(waveform, INST_IO, asynInt32ArrayWfOut, "asynInt32ArrayOut") -device(waveform, INST_IO, asynInt32TimeSeries, "asynInt32TimeSeries") -device(waveform, INST_IO, asynFloat32ArrayWfIn, "asynFloat32ArrayIn") -device(waveform, INST_IO, asynFloat32ArrayWfOut, "asynFloat32ArrayOut") -device(waveform, INST_IO, asynFloat64ArrayWfIn, "asynFloat64ArrayIn") -device(waveform, INST_IO, asynFloat64ArrayWfOut, "asynFloat64ArrayOut") -device(waveform, INST_IO, asynFloat64TimeSeries, "asynFloat64TimeSeries") -device(waveform, INST_IO, asynInt64ArrayWfIn, "asynInt64ArrayIn") -device(waveform, INST_IO, asynInt64ArrayWfOut, "asynInt64ArrayOut") -device(waveform, INST_IO, asynInt64TimeSeries, "asynInt64TimeSeries") -recordtype(timestamp) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - size(40) - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Value") - size(40) - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(TST, DBF_MENU) { - promptgroup("40 - Input") - menu(timestampTST) - interest(2) - prompt("Time Stamp Type") - } -} -recordtype(fanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(fanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(LNK0, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 0") - } - field(LNK1, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 1") - } - field(LNK2, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 2") - } - field(LNK3, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 3") - } - field(LNK4, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 4") - } - field(LNK5, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 5") - } - field(LNK6, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 6") - } - field(LNK7, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 7") - } - field(LNK8, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 8") - } - field(LNK9, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 9") - } - field(LNKA, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 10") - } - field(LNKB, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 11") - } - field(LNKC, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 12") - } - field(LNKD, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 13") - } - field(LNKE, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 14") - } - field(LNKF, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 15") - } -} -recordtype(longin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longinRecord; - %typedef struct longindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_longin)(struct longinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} longindset; - %#define HAS_longindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(longin, CONSTANT, devLiSoft, "Soft Channel") -device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") -device(longin, INST_IO, devLiGeneralTime, "General Time") -device(longin, INST_IO, asynLiInt32, "asynInt32") -device(longin, INST_IO, asynLiUInt32Digital, "asynUInt32Digital") -device(longin, INST_IO, asynLiInt64, "asynInt64") -recordtype(printf) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct printfRecord; - %typedef struct printfdset { - % dset common; - % long (*write_string)(struct printfRecord *prec); - %} printfdset; - %#define HAS_printfdset - % - %/* Number of INPx fields defined */ - %#define PRINTF_NLINKS 10 - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Result") - } - field(SIZV, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of VAL buffer") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(FMT, DBF_STRING) { - promptgroup("30 - Action") - pp(TRUE) - size(81) - prompt("Format String") - } - field(IVLS, DBF_STRING) { - promptgroup("30 - Action") - initial("LNK") - size(16) - prompt("Invalid Link String") - } - field(INP0, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 0") - } - field(INP1, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 1") - } - field(INP2, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 2") - } - field(INP3, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 3") - } - field(INP4, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 4") - } - field(INP5, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 5") - } - field(INP6, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 6") - } - field(INP7, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 7") - } - field(INP8, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 8") - } - field(INP9, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 9") - } -} -device(printf, CONSTANT, devPrintfSoft, "Soft Channel") -device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") -device(printf, INST_IO, devPrintfStdio, "stdio") -device(printf, INST_IO, asynPfOctetWrite, "asynOctetWrite") -recordtype(sel) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - special(SPC_NOMOD) - asl(ASL0) - prompt("Result") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(selSELM) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - prompt("Index value") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(NVL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Index Value Location") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(NLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Index Monitored") - } -} -recordtype(bi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct biRecord; - %typedef struct bidset { - % dset common; - % long (*read_bi)(struct biRecord *prec); - %} bidset; - %#define HAS_bidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(bi, CONSTANT, devBiSoft, "Soft Channel") -device(bi, CONSTANT, devBiSoftRaw, "Raw Soft Channel") -device(bi, CONSTANT, devBiSoftCallback, "Async Soft Channel") -device(bi, INST_IO, devBiDbState, "Db State") -device(bi, INST_IO, asynBiInt32, "asynInt32") -device(bi, INST_IO, asynBiUInt32Digital, "asynUInt32Digital") -recordtype(lso) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsoRecord; - %typedef struct lsodset { - % dset common; - % long (*write_string)(struct lsoRecord *prec); - %} lsodset; - %#define HAS_lsodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Previous Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Length of OVAL") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Link") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID Output Action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID Output Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lso, CONSTANT, devLsoSoft, "Soft Channel") -device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") -device(lso, INST_IO, devLsoStdio, "stdio") -device(lso, INST_IO, asynLsoOctetWrite, "asynOctetWrite") -recordtype(subArray) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct subArrayRecord; - %typedef struct sadset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_sa)(struct subArrayRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} sadset; - %#define HAS_sadset - % - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(MALM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Maximum Elements") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - initial("1") - pp(TRUE) - prompt("Number of Elements") - } - field(INDX, DBF_ULONG) { - promptgroup("30 - Action") - pp(TRUE) - prompt("Substring Index") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } -} -device(subArray, CONSTANT, devSASoft, "Soft Channel") -recordtype(calc) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } -} -recordtype(mbboDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboDirectRecord; - %typedef struct mbbodirectdset { - % dset common; /*init_record returns: (0, 2)=>(success, success no convert)*/ - % long (*write_mbbo)(struct mbboDirectRecord *prec); /*returns: (0, 2)=>(success, success no convert)*/ - %} mbbodirectdset; - %#define HAS_mbbodirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Word") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - special(SPC_RESET) - menu(menuOmsl) - interest(1) - pp(TRUE) - prompt("Output Mode Select") - } - field(NOBT, DBF_SHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(RVAL, DBF_ULONG) { - special(SPC_NOMOD) - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(B0, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") -device(mbboDirect, INST_IO, asynMbboDirectUInt32Digital, "asynUInt32Digital") -recordtype(longout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longoutRecord; - %typedef struct longoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_longout)(struct longoutRecord *prec); /*(-1,0)=>(failure,success*/ - %} longoutdset; - %#define HAS_longoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(DRVH, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(longout, CONSTANT, devLoSoft, "Soft Channel") -device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") -device(longout, INST_IO, asynLoInt32, "asynInt32") -device(longout, INST_IO, asynLoUInt32Digital, "asynUInt32Digital") -device(longout, INST_IO, asynLoInt64, "asynInt64") -recordtype(aSub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct aSubRecord; - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - prompt("Subr. return value") - } - field(OVAL, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Old return value") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(41) - prompt("Initialize Subr. Name") - } - field(LFLG, DBF_MENU) { - promptgroup("30 - Action") - menu(aSubLFLG) - interest(1) - prompt("Subr. Input Enable") - } - field(SUBL, DBF_INLINK) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - prompt("Subroutine Name Link") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(41) - prompt("Process Subr. Name") - } - field(ONAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(3) - size(41) - prompt("Old Subr. Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("long (*sadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Address") - } - field(CADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void (*cadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Cleanup Address") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EFLG, DBF_MENU) { - promptgroup("50 - Output") - menu(aSubEFLG) - initial("1") - interest(1) - prompt("Output Event Flag") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link F") - } - field(INPG, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link L") - } - field(INPM, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link M") - } - field(INPN, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link N") - } - field(INPO, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link O") - } - field(INPP, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link P") - } - field(INPQ, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link Q") - } - field(INPR, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link R") - } - field(INPS, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link S") - } - field(INPT, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link T") - } - field(INPU, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link U") - } - field(A, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *a") - interest(2) - prompt("Input value A") - } - field(B, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *b") - interest(2) - prompt("Input value B") - } - field(C, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *c") - interest(2) - prompt("Input value C") - } - field(D, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *d") - interest(2) - prompt("Input value D") - } - field(E, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *e") - interest(2) - prompt("Input value E") - } - field(F, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *f") - interest(2) - prompt("Input value F") - } - field(G, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *g") - interest(2) - prompt("Input value G") - } - field(H, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *h") - interest(2) - prompt("Input value H") - } - field(I, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *i") - interest(2) - prompt("Input value I") - } - field(J, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *j") - interest(2) - prompt("Input value J") - } - field(K, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *k") - interest(2) - prompt("Input value K") - } - field(L, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *l") - interest(2) - prompt("Input value L") - } - field(M, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *m") - interest(2) - prompt("Input value M") - } - field(N, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *n") - interest(2) - prompt("Input value N") - } - field(O, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *o") - interest(2) - prompt("Input value O") - } - field(P, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *p") - interest(2) - prompt("Input value P") - } - field(Q, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *q") - interest(2) - prompt("Input value Q") - } - field(R, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *r") - interest(2) - prompt("Input value R") - } - field(S, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *s") - interest(2) - prompt("Input value S") - } - field(T, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *t") - interest(2) - prompt("Input value T") - } - field(U, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *u") - interest(2) - prompt("Input value U") - } - field(FTA, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of A") - } - field(FTB, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of B") - } - field(FTC, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of C") - } - field(FTD, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of D") - } - field(FTE, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of E") - } - field(FTF, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of F") - } - field(FTG, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of G") - } - field(FTH, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of H") - } - field(FTI, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of I") - } - field(FTJ, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of J") - } - field(FTK, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of K") - } - field(FTL, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of L") - } - field(FTM, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of M") - } - field(FTN, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of N") - } - field(FTO, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of O") - } - field(FTP, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of P") - } - field(FTQ, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of Q") - } - field(FTR, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of R") - } - field(FTS, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of S") - } - field(FTT, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of T") - } - field(FTU, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of U") - } - field(NOA, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in A") - } - field(NOB, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in B") - } - field(NOC, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in C") - } - field(NOD, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in D") - } - field(NOE, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in E") - } - field(NOF, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in F") - } - field(NOG, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in G") - } - field(NOH, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in H") - } - field(NOI, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in I") - } - field(NOJ, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in J") - } - field(NOK, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in K") - } - field(NOL, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in L") - } - field(NOM, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in M") - } - field(NON, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in N") - } - field(NOO, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in O") - } - field(NOP, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in P") - } - field(NOQ, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in Q") - } - field(NOR, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in R") - } - field(NOS, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in S") - } - field(NOT, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in T") - } - field(NOU, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in U") - } - field(NEA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in A") - } - field(NEB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in B") - } - field(NEC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in C") - } - field(NED, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in D") - } - field(NEE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in E") - } - field(NEF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in F") - } - field(NEG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in G") - } - field(NEH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in H") - } - field(NEI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in I") - } - field(NEJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in J") - } - field(NEK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in K") - } - field(NEL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in L") - } - field(NEM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in M") - } - field(NEN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in N") - } - field(NEO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in O") - } - field(NEP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in P") - } - field(NEQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in Q") - } - field(NER, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in R") - } - field(NES, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in S") - } - field(NET, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in T") - } - field(NEU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in U") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link H") - } - field(OUTI, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link I") - } - field(OUTJ, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link J") - } - field(OUTK, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link K") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link L") - } - field(OUTM, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link M") - } - field(OUTN, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link N") - } - field(OUTO, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link O") - } - field(OUTP, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link P") - } - field(OUTQ, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link Q") - } - field(OUTR, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link R") - } - field(OUTS, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link S") - } - field(OUTT, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link T") - } - field(OUTU, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link U") - } - field(VALA, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vala") - interest(2) - prompt("Output value A") - } - field(VALB, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valb") - interest(2) - prompt("Output value B") - } - field(VALC, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valc") - interest(2) - prompt("Output value C") - } - field(VALD, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vald") - interest(2) - prompt("Output value D") - } - field(VALE, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vale") - interest(2) - prompt("Output value E") - } - field(VALF, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valf") - interest(2) - prompt("Output value F") - } - field(VALG, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valg") - interest(2) - prompt("Output value G") - } - field(VALH, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valh") - interest(2) - prompt("Output value H") - } - field(VALI, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vali") - interest(2) - prompt("Output value I") - } - field(VALJ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valj") - interest(2) - prompt("Output value J") - } - field(VALK, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valk") - interest(2) - prompt("Output value K") - } - field(VALL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vall") - interest(2) - prompt("Output value L") - } - field(VALM, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valm") - interest(2) - prompt("Output value M") - } - field(VALN, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valn") - interest(2) - prompt("Output value N") - } - field(VALO, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valo") - interest(2) - prompt("Output value O") - } - field(VALP, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valp") - interest(2) - prompt("Output value P") - } - field(VALQ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valq") - interest(2) - prompt("Output value Q") - } - field(VALR, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valr") - interest(2) - prompt("Output value R") - } - field(VALS, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vals") - interest(2) - prompt("Output value S") - } - field(VALT, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valt") - interest(2) - prompt("Output value T") - } - field(VALU, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valu") - interest(2) - prompt("Output value U") - } - field(OVLA, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovla") - interest(4) - prompt("Old Output A") - } - field(OVLB, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlb") - interest(4) - prompt("Old Output B") - } - field(OVLC, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlc") - interest(4) - prompt("Old Output C") - } - field(OVLD, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovld") - interest(4) - prompt("Old Output D") - } - field(OVLE, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovle") - interest(4) - prompt("Old Output E") - } - field(OVLF, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlf") - interest(4) - prompt("Old Output F") - } - field(OVLG, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlg") - interest(4) - prompt("Old Output G") - } - field(OVLH, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlh") - interest(4) - prompt("Old Output H") - } - field(OVLI, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovli") - interest(4) - prompt("Old Output I") - } - field(OVLJ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlj") - interest(4) - prompt("Old Output J") - } - field(OVLK, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlk") - interest(4) - prompt("Old Output K") - } - field(OVLL, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovll") - interest(4) - prompt("Old Output L") - } - field(OVLM, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlm") - interest(4) - prompt("Old Output M") - } - field(OVLN, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovln") - interest(4) - prompt("Old Output N") - } - field(OVLO, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlo") - interest(4) - prompt("Old Output O") - } - field(OVLP, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlp") - interest(4) - prompt("Old Output P") - } - field(OVLQ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlq") - interest(4) - prompt("Old Output Q") - } - field(OVLR, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlr") - interest(4) - prompt("Old Output R") - } - field(OVLS, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovls") - interest(4) - prompt("Old Output S") - } - field(OVLT, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlt") - interest(4) - prompt("Old Output T") - } - field(OVLU, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlu") - interest(4) - prompt("Old Output U") - } - field(FTVA, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALA") - } - field(FTVB, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALB") - } - field(FTVC, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALC") - } - field(FTVD, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALD") - } - field(FTVE, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALE") - } - field(FTVF, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALF") - } - field(FTVG, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALG") - } - field(FTVH, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALH") - } - field(FTVI, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALI") - } - field(FTVJ, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALJ") - } - field(FTVK, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALK") - } - field(FTVL, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALL") - } - field(FTVM, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALM") - } - field(FTVN, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALN") - } - field(FTVO, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALO") - } - field(FTVP, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALP") - } - field(FTVQ, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALQ") - } - field(FTVR, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALR") - } - field(FTVS, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALS") - } - field(FTVT, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALT") - } - field(FTVU, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALU") - } - field(NOVA, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALA") - } - field(NOVB, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALB") - } - field(NOVC, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALC") - } - field(NOVD, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALD") - } - field(NOVE, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALE") - } - field(NOVF, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALF") - } - field(NOVG, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALG") - } - field(NOVH, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VAlH") - } - field(NOVI, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALI") - } - field(NOVJ, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALJ") - } - field(NOVK, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALK") - } - field(NOVL, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALL") - } - field(NOVM, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALM") - } - field(NOVN, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALN") - } - field(NOVO, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALO") - } - field(NOVP, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALP") - } - field(NOVQ, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALQ") - } - field(NOVR, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALR") - } - field(NOVS, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALS") - } - field(NOVT, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALT") - } - field(NOVU, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALU") - } - field(NEVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALA") - } - field(NEVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALB") - } - field(NEVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALC") - } - field(NEVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALD") - } - field(NEVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALE") - } - field(NEVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALF") - } - field(NEVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALG") - } - field(NEVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VAlH") - } - field(NEVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALI") - } - field(NEVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALJ") - } - field(NEVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALK") - } - field(NEVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALL") - } - field(NEVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALM") - } - field(NEVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALN") - } - field(NEVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALO") - } - field(NEVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALP") - } - field(NEVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALQ") - } - field(NEVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALR") - } - field(NEVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALS") - } - field(NEVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALT") - } - field(NEVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALU") - } - field(ONVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLA") - } - field(ONVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLB") - } - field(ONVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLC") - } - field(ONVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLD") - } - field(ONVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLE") - } - field(ONVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLF") - } - field(ONVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLG") - } - field(ONVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in VAlH") - } - field(ONVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLI") - } - field(ONVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLJ") - } - field(ONVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLK") - } - field(ONVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLL") - } - field(ONVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLM") - } - field(ONVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLN") - } - field(ONVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLO") - } - field(ONVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLP") - } - field(ONVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLQ") - } - field(ONVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLR") - } - field(ONVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLS") - } - field(ONVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLT") - } - field(ONVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLU") - } -} -recordtype(sub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct subRecord; - %typedef long (*SUBFUNCPTR)(struct subRecord *); - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - asl(ASL0) - pp(TRUE) - prompt("Result") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Init Routine Name") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(40) - prompt("Subroutine Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("SUBFUNCPTR sadr") - interest(4) - prompt("Subroutine Address") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -recordtype(int64in) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64inRecord; - %typedef struct int64indset { - % dset common; - % long (*read_int64in)(struct int64inRecord *prec); - %} int64indset; - %#define HAS_int64indset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_INT64) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(int64in, CONSTANT, devI64inSoft, "Soft Channel") -device(int64in, CONSTANT, devI64inSoftCallback, "Async Soft Channel") -device(int64in, INST_IO, asynInt64In, "asynInt64") -recordtype(ai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aiRecord; - %typedef struct aidset { - % dset common; - % long (*read_ai)(struct aiRecord *prec); - % long (*special_linconv)(struct aiRecord *prec, int after); - %} aidset; - %#define HAS_aidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current EGU Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(SMOO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - prompt("Smoothing") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("Raw to EGU Slope") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("Raw to EGU Offset") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(ai, CONSTANT, devAiSoft, "Soft Channel") -device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") -device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") -device(ai, INST_IO, devTimestampAI, "Soft Timestamp") -device(ai, INST_IO, devAiGeneralTime, "General Time") -device(ai, INST_IO, devAiStats, "IOC stats") -device(ai, INST_IO, devAiClusts, "IOC stats clusts") -device(ai, CONSTANT, devAiDBCLC, "DBCLC") -device(ai, CONSTANT, devAiDBDLC, "DBDLC") -device(ai, INST_IO, devSysMonAiStats, "sysmon") -device(ai, INST_IO, asynAiInt32, "asynInt32") -device(ai, INST_IO, asynAiInt32Average, "asynInt32Average") -device(ai, INST_IO, asynAiFloat64, "asynFloat64") -device(ai, INST_IO, asynAiFloat64Average, "asynFloat64Average") -device(ai, INST_IO, asynAiInt64, "asynInt64") -recordtype(stringin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringinRecord; - %typedef struct stringindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_stringin)(struct stringinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} stringindset; - %#define HAS_stringindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_STRING) { - pp(TRUE) - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(stringin, CONSTANT, devSiSoft, "Soft Channel") -device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") -device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") -device(stringin, INST_IO, devSiGeneralTime, "General Time") -device(stringin, INST_IO, devSiEnviron, "getenv") -device(stringin, INST_IO, devStringinStats, "IOC stats") -device(stringin, INST_IO, devStringinEnvVar, "IOC env var") -device(stringin, INST_IO, devStringinEpics, "IOC epics var") -device(stringin, INST_IO, devSysMonSiStats, "sysmon") -device(stringin, INST_IO, asynSiOctetCmdResponse, "asynOctetCmdResponse") -device(stringin, INST_IO, asynSiOctetWriteRead, "asynOctetWriteRead") -device(stringin, INST_IO, asynSiOctetRead, "asynOctetRead") -driver(drvAsyn) -link(state, lnkStateIf) -link(calc, lnkCalcIf) -link(trace, lnkTraceIf) -link(debug, lnkDebugIf) -link(const, lnkConstIf) -registrar(drvAsynSerialPortRegisterCommands) -registrar(drvCodacHeaderRegister) -registrar(tsInitialize) -registrar(syncInitialize) -registrar(dbrestoreRegister) -registrar(iocSetLogLevelRegister) -registrar(save_restoreRegister) -registrar(asynRegister) -registrar(decInitialize) -registrar(iocSetSimEnableRegister) -registrar(drvCodacRedundantPlcRegister) -registrar(asynInterposeFlushRegister) -registrar(drvAsynIPPortRegisterCommands) -registrar(drvBlockTCPRegister) -registrar(asynInterposeEchoRegister) -registrar(arrInitialize) -registrar(asInitHooksRegister) -registrar(drvBlockTCPEventRegister) -registrar(asynInterposeDelayRegister) -registrar(dbndInitialize) -registrar(drvBlockTCPRedundantPlcRegister) -registrar(iocSetLogSyslogRegister) -registrar(drvAsynIPServerPortRegisterCommands) -registrar(configMenuRegistrar) -registrar(asSub) -registrar(iocSetLogStdoutRegister) -registrar(asynInterposeEosRegister) -registrar(rsrvRegistrar) -registrar(iocSetLogInitRegister) -function(scanMon) -function(rebootProc) -function(scanMonInit) -variable(dbTemplateMaxVars, int) -variable(lnkDebug_debug, int) -variable(asCaDebug, int) -variable(callbackParallelThreadsDefault, int) -variable(save_restoreRemountThreshold, int) -variable(dbAccessDebugPUTF, int) -variable(dbRecordsOnceOnly, int) -variable(save_restoreDebug, int) -variable(save_restoreDatedBackupFiles, int) -variable(calcoutODLYlimit, double) -variable(configMenuDebug, int) -variable(save_restoreIncompleteSetsOk, int) -variable(dbBptNotMonotonic, int) -variable(atExitDebug, int) -variable(boHIGHlimit, double) -variable(dbJLinkDebug, int) -variable(dbConvertStrict, int) -variable(seqDLYprecision, int) -variable(logClientDebug, int) -variable(dbQuietMacroWarnings, int) -variable(save_restoreNumSeqFiles, int) -variable(boHIGHprecision, int) -variable(dbRecordsAbcSorted, int) -variable(seqDLYlimit, double) -variable(calcoutODLYprecision, int) -variable(histogramSDELprecision, int) -variable(dbThreadRealtimeLock, int) -variable(CASDEBUG, int) -variable(save_restoreSeqPeriodInSeconds, int) diff --git a/EC-GN-JA-PCF/target/main/epics/dbd/EC-GN.dbd b/EC-GN-JA-PCF/target/main/epics/dbd/EC-GN.dbd deleted file mode 100644 index c98cde5..0000000 --- a/EC-GN-JA-PCF/target/main/epics/dbd/EC-GN.dbd +++ /dev/null @@ -1,18666 +0,0 @@ -menu(waveformPOST) { - choice(waveformPOST_Always, "Always") - choice(waveformPOST_OnChange, "On Change") -} -menu(aaoPOST) { - choice(aaoPOST_Always, "Always") - choice(aaoPOST_OnChange, "On Change") -} -menu(menuPriority) { - choice(menuPriorityLOW, "LOW") - choice(menuPriorityMEDIUM, "MEDIUM") - choice(menuPriorityHIGH, "HIGH") -} -menu(calcoutDOPT) { - choice(calcoutDOPT_Use_VAL, "Use CALC") - choice(calcoutDOPT_Use_OVAL, "Use OCAL") -} -menu(menuOmsl) { - choice(menuOmslsupervisory, "supervisory") - choice(menuOmslclosed_loop, "closed_loop") -} -menu(menuFtype) { - choice(menuFtypeSTRING, "STRING") - choice(menuFtypeCHAR, "CHAR") - choice(menuFtypeUCHAR, "UCHAR") - choice(menuFtypeSHORT, "SHORT") - choice(menuFtypeUSHORT, "USHORT") - choice(menuFtypeLONG, "LONG") - choice(menuFtypeULONG, "ULONG") - choice(menuFtypeINT64, "INT64") - choice(menuFtypeUINT64, "UINT64") - choice(menuFtypeFLOAT, "FLOAT") - choice(menuFtypeDOUBLE, "DOUBLE") - choice(menuFtypeENUM, "ENUM") -} -menu(stringinPOST) { - choice(stringinPOST_OnChange, "On Change") - choice(stringinPOST_Always, "Always") -} -menu(menuPini) { - choice(menuPiniNO, "NO") - choice(menuPiniYES, "YES") - choice(menuPiniRUN, "RUN") - choice(menuPiniRUNNING, "RUNNING") - choice(menuPiniPAUSE, "PAUSE") - choice(menuPiniPAUSED, "PAUSED") -} -menu(dfanoutSELM) { - choice(dfanoutSELM_All, "All") - choice(dfanoutSELM_Specified, "Specified") - choice(dfanoutSELM_Mask, "Mask") -} -menu(menuScan) { - choice(menuScanPassive, "Passive") - choice(menuScanEvent, "Event") - choice(menuScanI_O_Intr, "I/O Intr") - choice(menuScan10_second, "10 second") - choice(menuScan5_second, "5 second") - choice(menuScan2_second, "2 second") - choice(menuScan1_second, "1 second") - choice(menuScan_5_second, ".5 second") - choice(menuScan_2_second, ".2 second") - choice(menuScan_1_second, ".1 second") -} -menu(aSubLFLG) { - choice(aSubLFLG_IGNORE, "IGNORE") - choice(aSubLFLG_READ, "READ") -} -menu(menuPost) { - choice(menuPost_OnChange, "On Change") - choice(menuPost_Always, "Always") -} -menu(menuAlarmStat) { - choice(menuAlarmStatNO_ALARM, "NO_ALARM") - choice(menuAlarmStatREAD, "READ") - choice(menuAlarmStatWRITE, "WRITE") - choice(menuAlarmStatHIHI, "HIHI") - choice(menuAlarmStatHIGH, "HIGH") - choice(menuAlarmStatLOLO, "LOLO") - choice(menuAlarmStatLOW, "LOW") - choice(menuAlarmStatSTATE, "STATE") - choice(menuAlarmStatCOS, "COS") - choice(menuAlarmStatCOMM, "COMM") - choice(menuAlarmStatTIMEOUT, "TIMEOUT") - choice(menuAlarmStatHWLIMIT, "HWLIMIT") - choice(menuAlarmStatCALC, "CALC") - choice(menuAlarmStatSCAN, "SCAN") - choice(menuAlarmStatLINK, "LINK") - choice(menuAlarmStatSOFT, "SOFT") - choice(menuAlarmStatBAD_SUB, "BAD_SUB") - choice(menuAlarmStatUDF, "UDF") - choice(menuAlarmStatDISABLE, "DISABLE") - choice(menuAlarmStatSIMM, "SIMM") - choice(menuAlarmStatREAD_ACCESS, "READ_ACCESS") - choice(menuAlarmStatWRITE_ACCESS, "WRITE_ACCESS") -} -menu(aoOIF) { - choice(aoOIF_Full, "Full") - choice(aoOIF_Incremental, "Incremental") -} -menu(bufferingALG) { - choice(bufferingALG_FIFO, "FIFO Buffer") - choice(bufferingALG_LIFO, "LIFO Buffer") -} -menu(aaiPOST) { - choice(aaiPOST_Always, "Always") - choice(aaiPOST_OnChange, "On Change") -} -menu(calcoutINAV) { - choice(calcoutINAV_EXT_NC, "Ext PV NC") - choice(calcoutINAV_EXT, "Ext PV OK") - choice(calcoutINAV_LOC, "Local PV") - choice(calcoutINAV_CON, "Constant") -} -menu(epidFeedbackState) { - choice(epidFeedbackState_Off, "Off") - choice(epidFeedbackState_On, "On") -} -menu(seqSELM) { - choice(seqSELM_All, "All") - choice(seqSELM_Specified, "Specified") - choice(seqSELM_Mask, "Mask") -} -menu(histogramCMD) { - choice(histogramCMD_Read, "Read") - choice(histogramCMD_Clear, "Clear") - choice(histogramCMD_Start, "Start") - choice(histogramCMD_Stop, "Stop") -} -menu(menuIvoa) { - choice(menuIvoaContinue_normally, "Continue normally") - choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") - choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") -} -menu(stringoutPOST) { - choice(stringoutPOST_OnChange, "On Change") - choice(stringoutPOST_Always, "Always") -} -menu(menuAlarmSevr) { - choice(menuAlarmSevrNO_ALARM, "NO_ALARM") - choice(menuAlarmSevrMINOR, "MINOR") - choice(menuAlarmSevrMAJOR, "MAJOR") - choice(menuAlarmSevrINVALID, "INVALID") -} -menu(menuSimm) { - choice(menuSimmNO, "NO") - choice(menuSimmYES, "YES") - choice(menuSimmRAW, "RAW") -} -menu(compressALG) { - choice(compressALG_N_to_1_Low_Value, "N to 1 Low Value") - choice(compressALG_N_to_1_High_Value, "N to 1 High Value") - choice(compressALG_N_to_1_Average, "N to 1 Average") - choice(compressALG_Average, "Average") - choice(compressALG_Circular_Buffer, "Circular Buffer") - choice(compressALG_N_to_1_Median, "N to 1 Median") -} -menu(aSubEFLG) { - choice(aSubEFLG_NEVER, "NEVER") - choice(aSubEFLG_ON_CHANGE, "ON CHANGE") - choice(aSubEFLG_ALWAYS, "ALWAYS") -} -menu(fanoutSELM) { - choice(fanoutSELM_All, "All") - choice(fanoutSELM_Specified, "Specified") - choice(fanoutSELM_Mask, "Mask") -} -menu(calcoutOOPT) { - choice(calcoutOOPT_Every_Time, "Every Time") - choice(calcoutOOPT_On_Change, "On Change") - choice(calcoutOOPT_When_Zero, "When Zero") - choice(calcoutOOPT_When_Non_zero, "When Non-zero") - choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") - choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") -} -menu(epidFeedbackMode) { - choice(epidFeedbackMode_PID, "PID") - choice(epidFeedbackMode_MaxMin, "Max/Min") -} -menu(menuConvert) { - choice(menuConvertNO_CONVERSION, "NO CONVERSION") - choice(menuConvertSLOPE, "SLOPE") - choice(menuConvertLINEAR, "LINEAR") - choice(menuConverttypeKdegF, "typeKdegF") - choice(menuConverttypeKdegC, "typeKdegC") - choice(menuConverttypeJdegF, "typeJdegF") - choice(menuConverttypeJdegC, "typeJdegC") - choice(menuConverttypeEdegF, "typeEdegF(ixe only)") - choice(menuConverttypeEdegC, "typeEdegC(ixe only)") - choice(menuConverttypeTdegF, "typeTdegF") - choice(menuConverttypeTdegC, "typeTdegC") - choice(menuConverttypeRdegF, "typeRdegF") - choice(menuConverttypeRdegC, "typeRdegC") - choice(menuConverttypeSdegF, "typeSdegF") - choice(menuConverttypeSdegC, "typeSdegC") -} -menu(menuYesNo) { - choice(menuYesNoNO, "NO") - choice(menuYesNoYES, "YES") -} -menu(timestampTST) { - choice(timestampTST_YY_MM_DD_HH_MM_SS, "YY/MM/DD HH:MM:SS") - choice(timestampTST_MM_DD_YY_HH_MM_SS, "MM/DD/YY HH:MM:SS") - choice(timestampTST_MM_DD_HH_MM_SS_YY, "Mon DD HH:MM:SS YY") - choice(timestampTST_MM_DD_HH_MM_SS, "Mon DD HH:MM:SS") - choice(timestampTST_HH_MM_SS, "HH:MM:SS") - choice(timestampTST_HH_MM, "HH:MM") - choice(timestampTST_DD_MM_YY_HH_MM_SS, "DD/MM/YY HH:MM:SS") - choice(timestampTST_DD_MM_HH_MM_SS_YY, "DD Mon HH:MM:SS YY") - choice(timestampTST_VMS, "DD-Mon-YYYY HH:MM:SS") - choice(timestampTST_MM_DD_YYYY, "Mon DD, YYYY HH:MM:SS.ns") - choice(timestampTST_MM_DD_YY, "MM/DD/YY HH:MM:SS.ns") -} -menu(selSELM) { - choice(selSELM_Specified, "Specified") - choice(selSELM_High_Signal, "High Signal") - choice(selSELM_Low_Signal, "Low Signal") - choice(selSELM_Median_Signal, "Median Signal") -} -recordtype(calcout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct calcoutRecord; - %typedef struct calcoutdset { - % dset common; - % long (*write)(struct calcoutRecord *prec); - %} calcoutdset; - %#define HAS_calcoutdset - % - %#include "dbScan.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rpvtStruct *rpvt") - interest(4) - prompt("Record Private") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(PVAL, DBF_DOUBLE) { - prompt("Previous Value") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(CLCV, DBF_LONG) { - interest(1) - prompt("CALC Valid") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input L") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(1) - prompt("Output Specification") - } - field(INAV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPA PV Status") - } - field(INBV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPB PV Status") - } - field(INCV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPC PV Status") - } - field(INDV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPD PV Status") - } - field(INEV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPE PV Status") - } - field(INFV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPF PV Status") - } - field(INGV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPG PV Status") - } - field(INHV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPH PV Status") - } - field(INIV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPI PV Status") - } - field(INJV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPJ PV Status") - } - field(INKV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPK PV Status") - } - field(INLV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPL PV Status") - } - field(OUTV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - interest(1) - prompt("OUT PV Status") - } - field(OOPT, DBF_MENU) { - promptgroup("50 - Output") - menu(calcoutOOPT) - interest(1) - prompt("Output Execute Opt") - } - field(ODLY, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - interest(1) - prompt("Output Execute Delay") - } - field(DLYA, DBF_USHORT) { - special(SPC_NOMOD) - asl(ASL0) - prompt("Output Delay Active") - } - field(DOPT, DBF_MENU) { - promptgroup("30 - Action") - menu(calcoutDOPT) - interest(1) - prompt("Output Data Opt") - } - field(OCAL, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Output Calculation") - } - field(OCLV, DBF_LONG) { - interest(1) - prompt("OCAL Valid") - } - field(OEVT, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event To Issue") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(OVAL, DBF_DOUBLE) { - asl(ASL0) - prompt("Output Value") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(POVL, DBF_DOUBLE) { - asl(ASL0) - prompt("Prev Value of OVAL") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } - field(ORPC, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char orpc[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish OCalc") - } -} -device(calcout, CONSTANT, devCalcoutSoft, "Soft Channel") -device(calcout, CONSTANT, devCalcoutSoftCallback, "Async Soft Channel") -recordtype(state) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(20) - prompt("Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(20) - prompt("Prev Value") - } -} -recordtype(histogram) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct histogramRecord; - %typedef struct histogramdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_histogram)(struct histogramRecord *prec); /*(0,2)=> success and add_count, don't add_count); if add_count then sgnl added to array*/ - % long (*special_linconv)(struct histogramRecord *prec, int after); - %} histogramdset; - %#define HAS_histogramdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - prompt("Value") - } - field(NELM, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Num of Array Elements") - } - field(CSTA, DBF_SHORT) { - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Collection Status") - } - field(CMD, DBF_MENU) { - special(SPC_CALC) - asl(ASL0) - menu(histogramCMD) - interest(1) - prompt("Collection Control") - } - field(ULIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Upper Signal Limit") - } - field(LLIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Lower Signal Limit ") - } - field(WDTH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Element Width") - } - field(SGNL, DBF_DOUBLE) { - special(SPC_MOD) - prompt("Signal Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(SVL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Signal Value Location") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt32 *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(WDOG, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdog") - interest(4) - prompt("Watchdog callback") - } - field(MDEL, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Count Deadband") - } - field(MCNT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Counts Since Monitor") - } - field(SDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - special(SPC_RESET) - interest(1) - prompt("Monitor Seconds Dband") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(HOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } -} -device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") -recordtype(lsi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsiRecord; - %typedef struct lsidset { - % dset common; - % long (*read_string)(struct lsiRecord *prec); - %} lsidset; - %#define HAS_lsidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Old Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of OVAL") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lsi, CONSTANT, devLsiSoft, "Soft Channel") -device(lsi, INST_IO, devLsiEnviron, "getenv") -device(lsi, INST_IO, devLsiStats, "IOC long string") -recordtype(int64out) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64outRecord; - %typedef struct int64outdset { - % dset common; - % long (*write_int64out)(struct int64outRecord *prec); - %} int64outdset; - %#define HAS_int64outdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(DRVH, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_INT64) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(int64out, CONSTANT, devI64outSoft, "Soft Channel") -device(int64out, CONSTANT, devI64outSoftCallback, "Async Soft Channel") -recordtype(seq) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(seqSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(OLDN, DBF_USHORT) { - interest(4) - prompt("Old Selection") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(DLY0, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 0") - } - field(DOL0, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 0") - } - field(DO0, DBF_DOUBLE) { - interest(1) - prompt("Value 0") - } - field(LNK0, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 0") - } - field(DLY1, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 1") - } - field(DOL1, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link1") - } - field(DO1, DBF_DOUBLE) { - interest(1) - prompt("Value 1") - } - field(LNK1, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 1") - } - field(DLY2, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 2") - } - field(DOL2, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 2") - } - field(DO2, DBF_DOUBLE) { - interest(1) - prompt("Value 2") - } - field(LNK2, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 2") - } - field(DLY3, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 3") - } - field(DOL3, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 3") - } - field(DO3, DBF_DOUBLE) { - interest(1) - prompt("Value 3") - } - field(LNK3, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 3") - } - field(DLY4, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 4") - } - field(DOL4, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 4") - } - field(DO4, DBF_DOUBLE) { - interest(1) - prompt("Value 4") - } - field(LNK4, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 4") - } - field(DLY5, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 5") - } - field(DOL5, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 5") - } - field(DO5, DBF_DOUBLE) { - interest(1) - prompt("Value 5") - } - field(LNK5, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 5") - } - field(DLY6, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 6") - } - field(DOL6, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 6") - } - field(DO6, DBF_DOUBLE) { - interest(1) - prompt("Value 6") - } - field(LNK6, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 6") - } - field(DLY7, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 7") - } - field(DOL7, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 7") - } - field(DO7, DBF_DOUBLE) { - interest(1) - prompt("Value 7") - } - field(LNK7, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 7") - } - field(DLY8, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 8") - } - field(DOL8, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 8") - } - field(DO8, DBF_DOUBLE) { - interest(1) - prompt("Value 8") - } - field(LNK8, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 8") - } - field(DLY9, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 9") - } - field(DOL9, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 9") - } - field(DO9, DBF_DOUBLE) { - interest(1) - prompt("Value 9") - } - field(LNK9, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 9") - } - field(DLYA, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 10") - } - field(DOLA, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 10") - } - field(DOA, DBF_DOUBLE) { - interest(1) - prompt("Value 10") - } - field(LNKA, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 10") - } - field(DLYB, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 11") - } - field(DOLB, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 11") - } - field(DOB, DBF_DOUBLE) { - interest(1) - prompt("Value 11") - } - field(LNKB, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 11") - } - field(DLYC, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 12") - } - field(DOLC, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 12") - } - field(DOC, DBF_DOUBLE) { - interest(1) - prompt("Value 12") - } - field(LNKC, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 12") - } - field(DLYD, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 13") - } - field(DOLD, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 13") - } - field(DOD, DBF_DOUBLE) { - interest(1) - prompt("Value 13") - } - field(LNKD, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 13") - } - field(DLYE, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 14") - } - field(DOLE, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 14") - } - field(DOE, DBF_DOUBLE) { - interest(1) - prompt("Value 14") - } - field(LNKE, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 14") - } - field(DLYF, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 15") - } - field(DOLF, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 15") - } - field(DOF, DBF_DOUBLE) { - interest(1) - prompt("Value 15") - } - field(LNKF, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 15") - } -} -recordtype(stringout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringoutRecord; - %typedef struct stringoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_stringout)(struct stringoutRecord *prec); /*(-1,0)=>(failure,success)*/ - %} stringoutdset; - %#define HAS_stringoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID output value") - } -} -device(stringout, CONSTANT, devSoSoft, "Soft Channel") -device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") -device(stringout, INST_IO, devSoStdio, "stdio") -recordtype(aai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaiRecord; - %typedef struct aaidset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_aai)(struct aaiRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaidset; - %#define HAS_aaidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aai, CONSTANT, devAaiSoft, "Soft Channel") -recordtype(permissive) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_USHORT) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Status") - } - field(WFLG, DBF_USHORT) { - pp(TRUE) - prompt("Wait Flag") - } - field(LABL, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(20) - prompt("Button Label") - } - field(OVAL, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Status") - } - field(OFLG, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Flag") - } -} -recordtype(bo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct boRecord; - %typedef struct bodset { - % dset common; /*init_record returns:(0,2)=>(success,success no convert*/ - % long (*write_bo)(struct boRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} bodset; - %#define HAS_bodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Seconds to Hold High") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * rpvt") - interest(4) - prompt("Record Private") - } - field(WDPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdpt") - interest(4) - prompt("Watch Dog Timer ID") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(bo, CONSTANT, devBoSoft, "Soft Channel") -device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") -device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") -device(bo, INST_IO, devBoGeneralTime, "General Time") -device(bo, INST_IO, devBoDbState, "Db State") -device(bo, INST_IO, devBoSimulation, "IOC SIM") -recordtype(dfanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(dfanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec H") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } -} -recordtype(mbbi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiRecord; - %typedef struct mbbidset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidset; - %#define HAS_mbbidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") -device(mbbi, INST_IO, devSysMonMbbiStats, "sysmon") -recordtype(event) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct eventRecord; - %typedef struct eventdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_event)(struct eventRecord *prec); /*(0)=> success */ - %} eventdset; - %#define HAS_eventdset - % - %#include "dbScan.h" - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event Name To Post") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_STRING) { - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(event, CONSTANT, devEventSoft, "Soft Channel") -recordtype(compress) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RES, DBF_SHORT) { - special(SPC_RESET) - asl(ASL0) - interest(3) - prompt("Reset") - } - field(ALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(compressALG) - interest(1) - prompt("Compression Algorithm") - } - field(BALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(bufferingALG) - interest(1) - prompt("Buffering Algorithm") - } - field(NSAM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Values") - } - field(N, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_RESET) - initial("1") - interest(1) - prompt("N to 1 Compression") - } - field(IHIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init High Interest Lim") - } - field(ILIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init Low Interest Lim") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(OFF, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Offset") - } - field(NUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number Used") - } - field(OUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Old Number Used") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *sptr") - interest(4) - prompt("Summing Buffer Ptr") - } - field(WPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *wptr") - interest(4) - prompt("Working Buffer Ptr") - } - field(INPN, DBF_LONG) { - special(SPC_NOMOD) - interest(4) - prompt("Number of elements in Working Buffer") - } - field(CVB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Compress Value Buffer") - } - field(INX, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Compressed Array Inx") - } -} -recordtype(mbbo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboRecord; - %typedef struct mbbodset { - % dset common; /*init_record returns: (0, 2) => (success, success no convert)*/ - % long (*write_mbbo)(struct mbboRecord *prec); /*returns: (0, 2) => (success, success no convert)*/ - %} mbbodset; - %#define HAS_mbbodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - special(SPC_DBADDR) - asl(ASL0) - pp(TRUE) - prompt("Desired Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(NOBT, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Sevr") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Sevr") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") -device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") -device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") -recordtype(epid) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Setpoint") - } - field(SMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Setpoint Mode Select") - } - field(STPL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Setpoint Location") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Controlled Value Loc") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Location") - } - field(TRIG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Readback Trigger") - } - field(TVAL, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Trigger Value") - } - field(CVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Controlled Value") - } - field(CVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Prev. Controlled Value") - } - field(OVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Output value") - } - field(OVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev output") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(MDT, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Min Delta T") - } - field(FMOD, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackMode) - interest(1) - prompt("Feedback Mode") - } - field(FBON, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Feedback On/Off") - } - field(FBOP, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Prev. feedback On/Off") - } - field(KP, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Proportional Gain") - } - field(KI, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Integral Gain") - } - field(KD, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Derivative Gain") - } - field(EGU, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - prompt("Engineering Units") - size(16) - } - field(HOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(DRVH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("High Drive Limit") - } - field(DRVL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Low Drive Limit") - } - field(HIHI, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Hihi Deviation Limit") - } - field(LOLO, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Lolo Deviation Limit") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("High Deviation Limit") - } - field(LOW, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Low Deviation Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(ODEL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Output Deadband") - } - field(P, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("P component") - } - field(PP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. P component") - } - field(I, DBF_DOUBLE) { - interest(2) - prompt("I component") - } - field(IP, DBF_DOUBLE) { - interest(2) - prompt("Prev. I component") - } - field(D, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("D component") - } - field(DP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. D component") - } - field(CT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ct") - prompt("Time") - } - field(CTP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ctp") - prompt("Previous time") - } - field(DT, DBF_DOUBLE) { - interest(2) - prompt("Delta T") - } - field(DTP, DBF_DOUBLE) { - interest(2) - prompt("Prev. Delta T") - } - field(ERR, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Error") - } - field(ERRP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. Error") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -device(epid, CONSTANT, devEpidSoft, "Soft Channel") -device(epid, CONSTANT, devEpidSoftCB, "Async Soft Channel") -recordtype(ao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aoRecord; - %typedef struct aodset { - % dset common; /*init_record returns: (0,2)=>(success,success no convert)*/ - % long (*write_ao)(struct aoRecord *prec); /*(0)=>(success ) */ - % long (*special_linconv)(struct aoRecord *prec, int after); - %} aodset; - %#define HAS_aodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OVAL, DBF_DOUBLE) { - prompt("Output Value") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(OROC, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Output Rate of Change") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OIF, DBF_MENU) { - promptgroup("50 - Output") - menu(aoOIF) - interest(1) - prompt("Out Full/Incremental") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("EGU to Raw Offset") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("EGU to Raw Slope") - } - field(DRVH, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(RBV, DBF_LONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(PVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Previous value") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(OMOD, DBF_UCHAR) { - special(SPC_NOMOD) - prompt("Was OVAL modified?") - } -} -device(ao, CONSTANT, devAoSoft, "Soft Channel") -device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") -device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") -device(ao, INST_IO, devAoStats, "IOC stats") -recordtype(aao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaoRecord; - %typedef struct aaodset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_aao)(struct aaoRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaodset; - %#define HAS_aaodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aao, CONSTANT, devAaoSoft, "Soft Channel") -recordtype(mbbiDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiDirectRecord; - %typedef struct mbbidirectdset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiDirectRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidirectdset; - %#define HAS_mbbidirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_SHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(B0, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") -device(mbbiDirect, INST_IO, devSysMonMbbiDirectStats, "sysmon") -recordtype(waveform) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct waveformRecord; - %typedef struct wfdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_wf)(struct waveformRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} wfdset; - %#define HAS_wfdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(RARM, DBF_SHORT) { - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Rearm the waveform") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(waveform, CONSTANT, devWfSoft, "Soft Channel") -device(waveform, INST_IO, devWaveformStats, "IOC stats") -device(waveform, INST_IO, devSysMonWaveStats, "sysmon") -recordtype(timestamp) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - size(40) - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Value") - size(40) - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(TST, DBF_MENU) { - promptgroup("40 - Input") - menu(timestampTST) - interest(2) - prompt("Time Stamp Type") - } -} -recordtype(fanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(fanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(LNK0, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 0") - } - field(LNK1, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 1") - } - field(LNK2, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 2") - } - field(LNK3, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 3") - } - field(LNK4, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 4") - } - field(LNK5, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 5") - } - field(LNK6, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 6") - } - field(LNK7, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 7") - } - field(LNK8, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 8") - } - field(LNK9, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 9") - } - field(LNKA, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 10") - } - field(LNKB, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 11") - } - field(LNKC, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 12") - } - field(LNKD, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 13") - } - field(LNKE, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 14") - } - field(LNKF, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 15") - } -} -recordtype(longin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longinRecord; - %typedef struct longindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_longin)(struct longinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} longindset; - %#define HAS_longindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(longin, CONSTANT, devLiSoft, "Soft Channel") -device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") -device(longin, INST_IO, devLiGeneralTime, "General Time") -recordtype(printf) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct printfRecord; - %typedef struct printfdset { - % dset common; - % long (*write_string)(struct printfRecord *prec); - %} printfdset; - %#define HAS_printfdset - % - %/* Number of INPx fields defined */ - %#define PRINTF_NLINKS 10 - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Result") - } - field(SIZV, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of VAL buffer") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(FMT, DBF_STRING) { - promptgroup("30 - Action") - pp(TRUE) - size(81) - prompt("Format String") - } - field(IVLS, DBF_STRING) { - promptgroup("30 - Action") - initial("LNK") - size(16) - prompt("Invalid Link String") - } - field(INP0, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 0") - } - field(INP1, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 1") - } - field(INP2, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 2") - } - field(INP3, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 3") - } - field(INP4, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 4") - } - field(INP5, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 5") - } - field(INP6, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 6") - } - field(INP7, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 7") - } - field(INP8, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 8") - } - field(INP9, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 9") - } -} -device(printf, CONSTANT, devPrintfSoft, "Soft Channel") -device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") -device(printf, INST_IO, devPrintfStdio, "stdio") -recordtype(sel) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - special(SPC_NOMOD) - asl(ASL0) - prompt("Result") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(selSELM) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - prompt("Index value") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(NVL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Index Value Location") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(NLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Index Monitored") - } -} -recordtype(bi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct biRecord; - %typedef struct bidset { - % dset common; - % long (*read_bi)(struct biRecord *prec); - %} bidset; - %#define HAS_bidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(bi, CONSTANT, devBiSoft, "Soft Channel") -device(bi, CONSTANT, devBiSoftRaw, "Raw Soft Channel") -device(bi, CONSTANT, devBiSoftCallback, "Async Soft Channel") -device(bi, INST_IO, devBiDbState, "Db State") -recordtype(lso) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsoRecord; - %typedef struct lsodset { - % dset common; - % long (*write_string)(struct lsoRecord *prec); - %} lsodset; - %#define HAS_lsodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Previous Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Length of OVAL") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Link") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID Output Action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID Output Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lso, CONSTANT, devLsoSoft, "Soft Channel") -device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") -device(lso, INST_IO, devLsoStdio, "stdio") -recordtype(subArray) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct subArrayRecord; - %typedef struct sadset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_sa)(struct subArrayRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} sadset; - %#define HAS_sadset - % - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(MALM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Maximum Elements") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - initial("1") - pp(TRUE) - prompt("Number of Elements") - } - field(INDX, DBF_ULONG) { - promptgroup("30 - Action") - pp(TRUE) - prompt("Substring Index") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } -} -device(subArray, CONSTANT, devSASoft, "Soft Channel") -recordtype(calc) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } -} -recordtype(mbboDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboDirectRecord; - %typedef struct mbbodirectdset { - % dset common; /*init_record returns: (0, 2)=>(success, success no convert)*/ - % long (*write_mbbo)(struct mbboDirectRecord *prec); /*returns: (0, 2)=>(success, success no convert)*/ - %} mbbodirectdset; - %#define HAS_mbbodirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Word") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - special(SPC_RESET) - menu(menuOmsl) - interest(1) - pp(TRUE) - prompt("Output Mode Select") - } - field(NOBT, DBF_SHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(RVAL, DBF_ULONG) { - special(SPC_NOMOD) - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(B0, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") -recordtype(longout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longoutRecord; - %typedef struct longoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_longout)(struct longoutRecord *prec); /*(-1,0)=>(failure,success*/ - %} longoutdset; - %#define HAS_longoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(DRVH, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(longout, CONSTANT, devLoSoft, "Soft Channel") -device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") -recordtype(aSub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct aSubRecord; - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - prompt("Subr. return value") - } - field(OVAL, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Old return value") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(41) - prompt("Initialize Subr. Name") - } - field(LFLG, DBF_MENU) { - promptgroup("30 - Action") - menu(aSubLFLG) - interest(1) - prompt("Subr. Input Enable") - } - field(SUBL, DBF_INLINK) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - prompt("Subroutine Name Link") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(41) - prompt("Process Subr. Name") - } - field(ONAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(3) - size(41) - prompt("Old Subr. Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("long (*sadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Address") - } - field(CADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void (*cadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Cleanup Address") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EFLG, DBF_MENU) { - promptgroup("50 - Output") - menu(aSubEFLG) - initial("1") - interest(1) - prompt("Output Event Flag") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link F") - } - field(INPG, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link L") - } - field(INPM, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link M") - } - field(INPN, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link N") - } - field(INPO, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link O") - } - field(INPP, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link P") - } - field(INPQ, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link Q") - } - field(INPR, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link R") - } - field(INPS, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link S") - } - field(INPT, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link T") - } - field(INPU, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link U") - } - field(A, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *a") - interest(2) - prompt("Input value A") - } - field(B, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *b") - interest(2) - prompt("Input value B") - } - field(C, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *c") - interest(2) - prompt("Input value C") - } - field(D, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *d") - interest(2) - prompt("Input value D") - } - field(E, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *e") - interest(2) - prompt("Input value E") - } - field(F, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *f") - interest(2) - prompt("Input value F") - } - field(G, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *g") - interest(2) - prompt("Input value G") - } - field(H, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *h") - interest(2) - prompt("Input value H") - } - field(I, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *i") - interest(2) - prompt("Input value I") - } - field(J, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *j") - interest(2) - prompt("Input value J") - } - field(K, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *k") - interest(2) - prompt("Input value K") - } - field(L, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *l") - interest(2) - prompt("Input value L") - } - field(M, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *m") - interest(2) - prompt("Input value M") - } - field(N, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *n") - interest(2) - prompt("Input value N") - } - field(O, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *o") - interest(2) - prompt("Input value O") - } - field(P, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *p") - interest(2) - prompt("Input value P") - } - field(Q, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *q") - interest(2) - prompt("Input value Q") - } - field(R, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *r") - interest(2) - prompt("Input value R") - } - field(S, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *s") - interest(2) - prompt("Input value S") - } - field(T, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *t") - interest(2) - prompt("Input value T") - } - field(U, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *u") - interest(2) - prompt("Input value U") - } - field(FTA, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of A") - } - field(FTB, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of B") - } - field(FTC, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of C") - } - field(FTD, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of D") - } - field(FTE, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of E") - } - field(FTF, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of F") - } - field(FTG, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of G") - } - field(FTH, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of H") - } - field(FTI, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of I") - } - field(FTJ, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of J") - } - field(FTK, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of K") - } - field(FTL, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of L") - } - field(FTM, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of M") - } - field(FTN, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of N") - } - field(FTO, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of O") - } - field(FTP, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of P") - } - field(FTQ, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of Q") - } - field(FTR, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of R") - } - field(FTS, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of S") - } - field(FTT, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of T") - } - field(FTU, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of U") - } - field(NOA, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in A") - } - field(NOB, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in B") - } - field(NOC, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in C") - } - field(NOD, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in D") - } - field(NOE, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in E") - } - field(NOF, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in F") - } - field(NOG, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in G") - } - field(NOH, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in H") - } - field(NOI, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in I") - } - field(NOJ, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in J") - } - field(NOK, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in K") - } - field(NOL, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in L") - } - field(NOM, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in M") - } - field(NON, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in N") - } - field(NOO, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in O") - } - field(NOP, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in P") - } - field(NOQ, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in Q") - } - field(NOR, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in R") - } - field(NOS, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in S") - } - field(NOT, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in T") - } - field(NOU, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in U") - } - field(NEA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in A") - } - field(NEB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in B") - } - field(NEC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in C") - } - field(NED, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in D") - } - field(NEE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in E") - } - field(NEF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in F") - } - field(NEG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in G") - } - field(NEH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in H") - } - field(NEI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in I") - } - field(NEJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in J") - } - field(NEK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in K") - } - field(NEL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in L") - } - field(NEM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in M") - } - field(NEN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in N") - } - field(NEO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in O") - } - field(NEP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in P") - } - field(NEQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in Q") - } - field(NER, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in R") - } - field(NES, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in S") - } - field(NET, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in T") - } - field(NEU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in U") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link H") - } - field(OUTI, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link I") - } - field(OUTJ, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link J") - } - field(OUTK, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link K") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link L") - } - field(OUTM, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link M") - } - field(OUTN, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link N") - } - field(OUTO, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link O") - } - field(OUTP, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link P") - } - field(OUTQ, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link Q") - } - field(OUTR, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link R") - } - field(OUTS, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link S") - } - field(OUTT, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link T") - } - field(OUTU, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link U") - } - field(VALA, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vala") - interest(2) - prompt("Output value A") - } - field(VALB, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valb") - interest(2) - prompt("Output value B") - } - field(VALC, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valc") - interest(2) - prompt("Output value C") - } - field(VALD, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vald") - interest(2) - prompt("Output value D") - } - field(VALE, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vale") - interest(2) - prompt("Output value E") - } - field(VALF, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valf") - interest(2) - prompt("Output value F") - } - field(VALG, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valg") - interest(2) - prompt("Output value G") - } - field(VALH, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valh") - interest(2) - prompt("Output value H") - } - field(VALI, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vali") - interest(2) - prompt("Output value I") - } - field(VALJ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valj") - interest(2) - prompt("Output value J") - } - field(VALK, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valk") - interest(2) - prompt("Output value K") - } - field(VALL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vall") - interest(2) - prompt("Output value L") - } - field(VALM, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valm") - interest(2) - prompt("Output value M") - } - field(VALN, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valn") - interest(2) - prompt("Output value N") - } - field(VALO, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valo") - interest(2) - prompt("Output value O") - } - field(VALP, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valp") - interest(2) - prompt("Output value P") - } - field(VALQ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valq") - interest(2) - prompt("Output value Q") - } - field(VALR, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valr") - interest(2) - prompt("Output value R") - } - field(VALS, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vals") - interest(2) - prompt("Output value S") - } - field(VALT, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valt") - interest(2) - prompt("Output value T") - } - field(VALU, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valu") - interest(2) - prompt("Output value U") - } - field(OVLA, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovla") - interest(4) - prompt("Old Output A") - } - field(OVLB, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlb") - interest(4) - prompt("Old Output B") - } - field(OVLC, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlc") - interest(4) - prompt("Old Output C") - } - field(OVLD, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovld") - interest(4) - prompt("Old Output D") - } - field(OVLE, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovle") - interest(4) - prompt("Old Output E") - } - field(OVLF, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlf") - interest(4) - prompt("Old Output F") - } - field(OVLG, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlg") - interest(4) - prompt("Old Output G") - } - field(OVLH, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlh") - interest(4) - prompt("Old Output H") - } - field(OVLI, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovli") - interest(4) - prompt("Old Output I") - } - field(OVLJ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlj") - interest(4) - prompt("Old Output J") - } - field(OVLK, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlk") - interest(4) - prompt("Old Output K") - } - field(OVLL, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovll") - interest(4) - prompt("Old Output L") - } - field(OVLM, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlm") - interest(4) - prompt("Old Output M") - } - field(OVLN, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovln") - interest(4) - prompt("Old Output N") - } - field(OVLO, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlo") - interest(4) - prompt("Old Output O") - } - field(OVLP, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlp") - interest(4) - prompt("Old Output P") - } - field(OVLQ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlq") - interest(4) - prompt("Old Output Q") - } - field(OVLR, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlr") - interest(4) - prompt("Old Output R") - } - field(OVLS, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovls") - interest(4) - prompt("Old Output S") - } - field(OVLT, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlt") - interest(4) - prompt("Old Output T") - } - field(OVLU, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlu") - interest(4) - prompt("Old Output U") - } - field(FTVA, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALA") - } - field(FTVB, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALB") - } - field(FTVC, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALC") - } - field(FTVD, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALD") - } - field(FTVE, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALE") - } - field(FTVF, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALF") - } - field(FTVG, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALG") - } - field(FTVH, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALH") - } - field(FTVI, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALI") - } - field(FTVJ, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALJ") - } - field(FTVK, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALK") - } - field(FTVL, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALL") - } - field(FTVM, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALM") - } - field(FTVN, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALN") - } - field(FTVO, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALO") - } - field(FTVP, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALP") - } - field(FTVQ, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALQ") - } - field(FTVR, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALR") - } - field(FTVS, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALS") - } - field(FTVT, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALT") - } - field(FTVU, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALU") - } - field(NOVA, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALA") - } - field(NOVB, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALB") - } - field(NOVC, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALC") - } - field(NOVD, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALD") - } - field(NOVE, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALE") - } - field(NOVF, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALF") - } - field(NOVG, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALG") - } - field(NOVH, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VAlH") - } - field(NOVI, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALI") - } - field(NOVJ, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALJ") - } - field(NOVK, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALK") - } - field(NOVL, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALL") - } - field(NOVM, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALM") - } - field(NOVN, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALN") - } - field(NOVO, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALO") - } - field(NOVP, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALP") - } - field(NOVQ, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALQ") - } - field(NOVR, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALR") - } - field(NOVS, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALS") - } - field(NOVT, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALT") - } - field(NOVU, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALU") - } - field(NEVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALA") - } - field(NEVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALB") - } - field(NEVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALC") - } - field(NEVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALD") - } - field(NEVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALE") - } - field(NEVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALF") - } - field(NEVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALG") - } - field(NEVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VAlH") - } - field(NEVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALI") - } - field(NEVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALJ") - } - field(NEVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALK") - } - field(NEVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALL") - } - field(NEVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALM") - } - field(NEVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALN") - } - field(NEVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALO") - } - field(NEVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALP") - } - field(NEVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALQ") - } - field(NEVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALR") - } - field(NEVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALS") - } - field(NEVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALT") - } - field(NEVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALU") - } - field(ONVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLA") - } - field(ONVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLB") - } - field(ONVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLC") - } - field(ONVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLD") - } - field(ONVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLE") - } - field(ONVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLF") - } - field(ONVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLG") - } - field(ONVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in VAlH") - } - field(ONVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLI") - } - field(ONVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLJ") - } - field(ONVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLK") - } - field(ONVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLL") - } - field(ONVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLM") - } - field(ONVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLN") - } - field(ONVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLO") - } - field(ONVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLP") - } - field(ONVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLQ") - } - field(ONVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLR") - } - field(ONVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLS") - } - field(ONVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLT") - } - field(ONVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLU") - } -} -recordtype(sub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct subRecord; - %typedef long (*SUBFUNCPTR)(struct subRecord *); - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - asl(ASL0) - pp(TRUE) - prompt("Result") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Init Routine Name") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(40) - prompt("Subroutine Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("SUBFUNCPTR sadr") - interest(4) - prompt("Subroutine Address") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -recordtype(int64in) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64inRecord; - %typedef struct int64indset { - % dset common; - % long (*read_int64in)(struct int64inRecord *prec); - %} int64indset; - %#define HAS_int64indset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_INT64) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(int64in, CONSTANT, devI64inSoft, "Soft Channel") -device(int64in, CONSTANT, devI64inSoftCallback, "Async Soft Channel") -recordtype(ai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aiRecord; - %typedef struct aidset { - % dset common; - % long (*read_ai)(struct aiRecord *prec); - % long (*special_linconv)(struct aiRecord *prec, int after); - %} aidset; - %#define HAS_aidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current EGU Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(SMOO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - prompt("Smoothing") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("Raw to EGU Slope") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("Raw to EGU Offset") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(ai, CONSTANT, devAiSoft, "Soft Channel") -device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") -device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") -device(ai, INST_IO, devTimestampAI, "Soft Timestamp") -device(ai, INST_IO, devAiGeneralTime, "General Time") -device(ai, INST_IO, devAiStats, "IOC stats") -device(ai, INST_IO, devAiClusts, "IOC stats clusts") -device(ai, CONSTANT, devAiDBCLC, "DBCLC") -device(ai, CONSTANT, devAiDBDLC, "DBDLC") -device(ai, INST_IO, devSysMonAiStats, "sysmon") -recordtype(stringin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringinRecord; - %typedef struct stringindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_stringin)(struct stringinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} stringindset; - %#define HAS_stringindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_STRING) { - pp(TRUE) - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(stringin, CONSTANT, devSiSoft, "Soft Channel") -device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") -device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") -device(stringin, INST_IO, devSiGeneralTime, "General Time") -device(stringin, INST_IO, devSiEnviron, "getenv") -device(stringin, INST_IO, devStringinStats, "IOC stats") -device(stringin, INST_IO, devStringinEnvVar, "IOC env var") -device(stringin, INST_IO, devStringinEpics, "IOC epics var") -device(stringin, INST_IO, devSysMonSiStats, "sysmon") -link(state, lnkStateIf) -link(calc, lnkCalcIf) -link(trace, lnkTraceIf) -link(debug, lnkDebugIf) -link(const, lnkConstIf) -registrar(tsInitialize) -registrar(syncInitialize) -registrar(dbrestoreRegister) -registrar(iocSetLogLevelRegister) -registrar(save_restoreRegister) -registrar(decInitialize) -registrar(iocSetSimEnableRegister) -registrar(arrInitialize) -registrar(asInitHooksRegister) -registrar(dbndInitialize) -registrar(iocSetLogSyslogRegister) -registrar(configMenuRegistrar) -registrar(asSub) -registrar(iocSetLogStdoutRegister) -registrar(rsrvRegistrar) -registrar(iocSetLogInitRegister) -function(scanMon) -function(rebootProc) -function(scanMonInit) -variable(dbTemplateMaxVars, int) -variable(lnkDebug_debug, int) -variable(asCaDebug, int) -variable(callbackParallelThreadsDefault, int) -variable(save_restoreRemountThreshold, int) -variable(dbAccessDebugPUTF, int) -variable(dbRecordsOnceOnly, int) -variable(save_restoreDebug, int) -variable(save_restoreDatedBackupFiles, int) -variable(calcoutODLYlimit, double) -variable(configMenuDebug, int) -variable(save_restoreIncompleteSetsOk, int) -variable(dbBptNotMonotonic, int) -variable(atExitDebug, int) -variable(boHIGHlimit, double) -variable(dbJLinkDebug, int) -variable(dbConvertStrict, int) -variable(seqDLYprecision, int) -variable(logClientDebug, int) -variable(dbQuietMacroWarnings, int) -variable(save_restoreNumSeqFiles, int) -variable(boHIGHprecision, int) -variable(dbRecordsAbcSorted, int) -variable(seqDLYlimit, double) -variable(calcoutODLYprecision, int) -variable(histogramSDELprecision, int) -variable(dbThreadRealtimeLock, int) -variable(CASDEBUG, int) -variable(save_restoreSeqPeriodInSeconds, int) diff --git a/EC-GN-JA-PCF/target/main/epics/dbd/PLC.dbd b/EC-GN-JA-PCF/target/main/epics/dbd/PLC.dbd deleted file mode 100644 index fcba839..0000000 --- a/EC-GN-JA-PCF/target/main/epics/dbd/PLC.dbd +++ /dev/null @@ -1,19604 +0,0 @@ -menu(serialPRTY) { - choice(serialPRTY_unknown, "Unknown") - choice(serialPRTY_None, "None") - choice(serialPRTY_Even, "Even") - choice(serialPRTY_Odd, "Odd") -} -menu(waveformPOST) { - choice(waveformPOST_Always, "Always") - choice(waveformPOST_OnChange, "On Change") -} -menu(aaoPOST) { - choice(aaoPOST_Always, "Always") - choice(aaoPOST_OnChange, "On Change") -} -menu(menuPriority) { - choice(menuPriorityLOW, "LOW") - choice(menuPriorityMEDIUM, "MEDIUM") - choice(menuPriorityHIGH, "HIGH") -} -menu(serialSBIT) { - choice(serialSBIT_unknown, "Unknown") - choice(serialSBIT_1, "1") - choice(serialSBIT_2, "2") -} -menu(calcoutDOPT) { - choice(calcoutDOPT_Use_VAL, "Use CALC") - choice(calcoutDOPT_Use_OVAL, "Use OCAL") -} -menu(menuOmsl) { - choice(menuOmslsupervisory, "supervisory") - choice(menuOmslclosed_loop, "closed_loop") -} -menu(menuFtype) { - choice(menuFtypeSTRING, "STRING") - choice(menuFtypeCHAR, "CHAR") - choice(menuFtypeUCHAR, "UCHAR") - choice(menuFtypeSHORT, "SHORT") - choice(menuFtypeUSHORT, "USHORT") - choice(menuFtypeLONG, "LONG") - choice(menuFtypeULONG, "ULONG") - choice(menuFtypeINT64, "INT64") - choice(menuFtypeUINT64, "UINT64") - choice(menuFtypeFLOAT, "FLOAT") - choice(menuFtypeDOUBLE, "DOUBLE") - choice(menuFtypeENUM, "ENUM") -} -menu(stringinPOST) { - choice(stringinPOST_OnChange, "On Change") - choice(stringinPOST_Always, "Always") -} -menu(menuPini) { - choice(menuPiniNO, "NO") - choice(menuPiniYES, "YES") - choice(menuPiniRUN, "RUN") - choice(menuPiniRUNNING, "RUNNING") - choice(menuPiniPAUSE, "PAUSE") - choice(menuPiniPAUSED, "PAUSED") -} -menu(dfanoutSELM) { - choice(dfanoutSELM_All, "All") - choice(dfanoutSELM_Specified, "Specified") - choice(dfanoutSELM_Mask, "Mask") -} -menu(menuScan) { - choice(menuScanPassive, "Passive") - choice(menuScanEvent, "Event") - choice(menuScanI_O_Intr, "I/O Intr") - choice(menuScan10_second, "10 second") - choice(menuScan5_second, "5 second") - choice(menuScan2_second, "2 second") - choice(menuScan1_second, "1 second") - choice(menuScan_5_second, ".5 second") - choice(menuScan_2_second, ".2 second") - choice(menuScan_1_second, ".1 second") -} -menu(gpibACMD) { - choice(gpibACMD_None, "None") - choice(gpibACMD_Group_Execute_Trig___GET_, "Group Execute Trig. (GET)") - choice(gpibACMD_Go_To_Local__GTL_, "Go To Local (GTL)") - choice(gpibACMD_Selected_Dev__Clear__SDC_, "Selected Dev. Clear (SDC)") - choice(gpibACMD_Take_Control__TCT_, "Take Control (TCT)") - choice(gpibACMD_Serial_Poll, "Serial Poll") -} -menu(aSubLFLG) { - choice(aSubLFLG_IGNORE, "IGNORE") - choice(aSubLFLG_READ, "READ") -} -menu(asynTMOD) { - choice(asynTMOD_Write_Read, "Write/Read") - choice(asynTMOD_Write, "Write") - choice(asynTMOD_Read, "Read") - choice(asynTMOD_Flush, "Flush") - choice(asynTMOD_NoIO, "NoI/O") -} -menu(ipDRTO) { - choice(ipDRTO_unknown, "Unknown") - choice(ipDRTO_No, "No") - choice(ipDRTO_Yes, "Yes") -} -menu(menuPost) { - choice(menuPost_OnChange, "On Change") - choice(menuPost_Always, "Always") -} -menu(asynINTERFACE) { - choice(asynINTERFACE_OCTET, "asynOctet") - choice(asynINTERFACE_INT32, "asynInt32") - choice(asynINTERFACE_UINT32, "asynUInt32Digital") - choice(asynINTERFACE_FLOAT64, "asynFloat64") -} -menu(menuAlarmStat) { - choice(menuAlarmStatNO_ALARM, "NO_ALARM") - choice(menuAlarmStatREAD, "READ") - choice(menuAlarmStatWRITE, "WRITE") - choice(menuAlarmStatHIHI, "HIHI") - choice(menuAlarmStatHIGH, "HIGH") - choice(menuAlarmStatLOLO, "LOLO") - choice(menuAlarmStatLOW, "LOW") - choice(menuAlarmStatSTATE, "STATE") - choice(menuAlarmStatCOS, "COS") - choice(menuAlarmStatCOMM, "COMM") - choice(menuAlarmStatTIMEOUT, "TIMEOUT") - choice(menuAlarmStatHWLIMIT, "HWLIMIT") - choice(menuAlarmStatCALC, "CALC") - choice(menuAlarmStatSCAN, "SCAN") - choice(menuAlarmStatLINK, "LINK") - choice(menuAlarmStatSOFT, "SOFT") - choice(menuAlarmStatBAD_SUB, "BAD_SUB") - choice(menuAlarmStatUDF, "UDF") - choice(menuAlarmStatDISABLE, "DISABLE") - choice(menuAlarmStatSIMM, "SIMM") - choice(menuAlarmStatREAD_ACCESS, "READ_ACCESS") - choice(menuAlarmStatWRITE_ACCESS, "WRITE_ACCESS") -} -menu(aoOIF) { - choice(aoOIF_Full, "Full") - choice(aoOIF_Incremental, "Incremental") -} -menu(bufferingALG) { - choice(bufferingALG_FIFO, "FIFO Buffer") - choice(bufferingALG_LIFO, "LIFO Buffer") -} -menu(aaiPOST) { - choice(aaiPOST_Always, "Always") - choice(aaiPOST_OnChange, "On Change") -} -menu(calcoutINAV) { - choice(calcoutINAV_EXT_NC, "Ext PV NC") - choice(calcoutINAV_EXT, "Ext PV OK") - choice(calcoutINAV_LOC, "Local PV") - choice(calcoutINAV_CON, "Constant") -} -menu(epidFeedbackState) { - choice(epidFeedbackState_Off, "Off") - choice(epidFeedbackState_On, "On") -} -menu(asynAUTOCONNECT) { - choice(asynAUTOCONNECT_noAutoConnect, "noAutoConnect") - choice(asynAUTOCONNECT_autoConnect, "autoConnect") -} -menu(asynFMT) { - choice(asynFMT_ASCII, "ASCII") - choice(asynFMT_Hybrid, "Hybrid") - choice(asynFMT_Binary, "Binary") -} -menu(seqSELM) { - choice(seqSELM_All, "All") - choice(seqSELM_Specified, "Specified") - choice(seqSELM_Mask, "Mask") -} -menu(asynCONNECT) { - choice(asynCONNECT_Disconnect, "Disconnect") - choice(asynCONNECT_Connect, "Connect") -} -menu(gpibUCMD) { - choice(gpibUCMD_None, "None") - choice(gpibUCMD_Device_Clear__DCL_, "Device Clear (DCL)") - choice(gpibUCMD_Local_Lockout__LL0_, "Local Lockout (LL0)") - choice(gpibUCMD_Serial_Poll_Disable__SPD_, "Serial Poll Disable (SPD)") - choice(gpibUCMD_Serial_Poll_Enable__SPE_, "Serial Poll Enable (SPE)") - choice(gpibUCMD_Unlisten__UNL_, "Unlisten (UNL)") - choice(gpibUCMD_Untalk__UNT_, "Untalk (UNT)") -} -menu(serialBAUD) { - choice(serialBAUD_unknown, "Unknown") - choice(serialBAUD_300, "300") - choice(serialBAUD_600, "600") - choice(serialBAUD_1200, "1200") - choice(serialBAUD_2400, "2400") - choice(serialBAUD_4800, "4800") - choice(serialBAUD_9600, "9600") - choice(serialBAUD_19200, "19200") - choice(serialBAUD_38400, "38400") - choice(serialBAUD_57600, "57600") - choice(serialBAUD_115200, "115200") - choice(serialBAUD_230400, "230400") - choice(serialBAUD_460800, "460800") - choice(serialBAUD_576000, "576000") - choice(serialBAUD_921600, "921600") - choice(serialBAUD_1152000, "1152000") -} -menu(histogramCMD) { - choice(histogramCMD_Read, "Read") - choice(histogramCMD_Clear, "Clear") - choice(histogramCMD_Start, "Start") - choice(histogramCMD_Stop, "Stop") -} -menu(asynTRACE) { - choice(asynTRACE_Off, "Off") - choice(asynTRACE_On, "On") -} -menu(asynEOMREASON) { - choice(asynEOMREASONNone, "None") - choice(asynEOMREASONCNT, "Count") - choice(asynEOMREASONEOS, "Eos") - choice(asynEOMREASONCNTEOS, "Count Eos") - choice(asynEOMREASONEND, "End") - choice(asynEOMREASONCNTEND, "Count End") - choice(asynEOMREASONEOSEND, "Eos End") - choice(asynEOMREASONCNTEOSEND, "Count Eos End") -} -menu(menuIvoa) { - choice(menuIvoaContinue_normally, "Continue normally") - choice(menuIvoaDon_t_drive_outputs, "Don't drive outputs") - choice(menuIvoaSet_output_to_IVOV, "Set output to IVOV") -} -menu(stringoutPOST) { - choice(stringoutPOST_OnChange, "On Change") - choice(stringoutPOST_Always, "Always") -} -menu(menuAlarmSevr) { - choice(menuAlarmSevrNO_ALARM, "NO_ALARM") - choice(menuAlarmSevrMINOR, "MINOR") - choice(menuAlarmSevrMAJOR, "MAJOR") - choice(menuAlarmSevrINVALID, "INVALID") -} -menu(serialMCTL) { - choice(serialMCTL_unknown, "Unknown") - choice(serialMCTL_CLOCAL, "CLOCAL") - choice(serialMCTL_Yes, "YES") -} -menu(serialFCTL) { - choice(serialFCTL_unknown, "Unknown") - choice(serialFCTL_None, "None") - choice(serialFCTL_Hardware, "Hardware") -} -menu(menuSimm) { - choice(menuSimmNO, "NO") - choice(menuSimmYES, "YES") - choice(menuSimmRAW, "RAW") -} -menu(compressALG) { - choice(compressALG_N_to_1_Low_Value, "N to 1 Low Value") - choice(compressALG_N_to_1_High_Value, "N to 1 High Value") - choice(compressALG_N_to_1_Average, "N to 1 Average") - choice(compressALG_Average, "Average") - choice(compressALG_Circular_Buffer, "Circular Buffer") - choice(compressALG_N_to_1_Median, "N to 1 Median") -} -menu(aSubEFLG) { - choice(aSubEFLG_NEVER, "NEVER") - choice(aSubEFLG_ON_CHANGE, "ON CHANGE") - choice(aSubEFLG_ALWAYS, "ALWAYS") -} -menu(fanoutSELM) { - choice(fanoutSELM_All, "All") - choice(fanoutSELM_Specified, "Specified") - choice(fanoutSELM_Mask, "Mask") -} -menu(calcoutOOPT) { - choice(calcoutOOPT_Every_Time, "Every Time") - choice(calcoutOOPT_On_Change, "On Change") - choice(calcoutOOPT_When_Zero, "When Zero") - choice(calcoutOOPT_When_Non_zero, "When Non-zero") - choice(calcoutOOPT_Transition_To_Zero, "Transition To Zero") - choice(calcoutOOPT_Transition_To_Non_zero, "Transition To Non-zero") -} -menu(asynENABLE) { - choice(asynENABLE_Disable, "Disable") - choice(asynENABLE_Enable, "Enable") -} -menu(epidFeedbackMode) { - choice(epidFeedbackMode_PID, "PID") - choice(epidFeedbackMode_MaxMin, "Max/Min") -} -menu(menuConvert) { - choice(menuConvertNO_CONVERSION, "NO CONVERSION") - choice(menuConvertSLOPE, "SLOPE") - choice(menuConvertLINEAR, "LINEAR") - choice(menuConverttypeKdegF, "typeKdegF") - choice(menuConverttypeKdegC, "typeKdegC") - choice(menuConverttypeJdegF, "typeJdegF") - choice(menuConverttypeJdegC, "typeJdegC") - choice(menuConverttypeEdegF, "typeEdegF(ixe only)") - choice(menuConverttypeEdegC, "typeEdegC(ixe only)") - choice(menuConverttypeTdegF, "typeTdegF") - choice(menuConverttypeTdegC, "typeTdegC") - choice(menuConverttypeRdegF, "typeRdegF") - choice(menuConverttypeRdegC, "typeRdegC") - choice(menuConverttypeSdegF, "typeSdegF") - choice(menuConverttypeSdegC, "typeSdegC") -} -menu(serialIX) { - choice(serialIX_unknown, "Unknown") - choice(serialIX_No, "No") - choice(serialIX_Yes, "Yes") -} -menu(menuYesNo) { - choice(menuYesNoNO, "NO") - choice(menuYesNoYES, "YES") -} -menu(timestampTST) { - choice(timestampTST_YY_MM_DD_HH_MM_SS, "YY/MM/DD HH:MM:SS") - choice(timestampTST_MM_DD_YY_HH_MM_SS, "MM/DD/YY HH:MM:SS") - choice(timestampTST_MM_DD_HH_MM_SS_YY, "Mon DD HH:MM:SS YY") - choice(timestampTST_MM_DD_HH_MM_SS, "Mon DD HH:MM:SS") - choice(timestampTST_HH_MM_SS, "HH:MM:SS") - choice(timestampTST_HH_MM, "HH:MM") - choice(timestampTST_DD_MM_YY_HH_MM_SS, "DD/MM/YY HH:MM:SS") - choice(timestampTST_DD_MM_HH_MM_SS_YY, "DD Mon HH:MM:SS YY") - choice(timestampTST_VMS, "DD-Mon-YYYY HH:MM:SS") - choice(timestampTST_MM_DD_YYYY, "Mon DD, YYYY HH:MM:SS.ns") - choice(timestampTST_MM_DD_YY, "MM/DD/YY HH:MM:SS.ns") -} -menu(serialDBIT) { - choice(serialDBIT_unknown, "Unknown") - choice(serialDBIT_5, "5") - choice(serialDBIT_6, "6") - choice(serialDBIT_7, "7") - choice(serialDBIT_8, "8") -} -menu(selSELM) { - choice(selSELM_Specified, "Specified") - choice(selSELM_High_Signal, "High Signal") - choice(selSELM_Low_Signal, "Low Signal") - choice(selSELM_Median_Signal, "Median Signal") -} -recordtype(calcout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct calcoutRecord; - %typedef struct calcoutdset { - % dset common; - % long (*write)(struct calcoutRecord *prec); - %} calcoutdset; - %#define HAS_calcoutdset - % - %#include "dbScan.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct rpvtStruct *rpvt") - interest(4) - prompt("Record Private") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(PVAL, DBF_DOUBLE) { - prompt("Previous Value") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(CLCV, DBF_LONG) { - interest(1) - prompt("CALC Valid") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - special(SPC_MOD) - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - special(SPC_MOD) - interest(1) - prompt("Input L") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(1) - prompt("Output Specification") - } - field(INAV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPA PV Status") - } - field(INBV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPB PV Status") - } - field(INCV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPC PV Status") - } - field(INDV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPD PV Status") - } - field(INEV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPE PV Status") - } - field(INFV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPF PV Status") - } - field(INGV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPG PV Status") - } - field(INHV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPH PV Status") - } - field(INIV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPI PV Status") - } - field(INJV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPJ PV Status") - } - field(INKV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPK PV Status") - } - field(INLV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - initial("1") - interest(1) - prompt("INPL PV Status") - } - field(OUTV, DBF_MENU) { - special(SPC_NOMOD) - menu(calcoutINAV) - interest(1) - prompt("OUT PV Status") - } - field(OOPT, DBF_MENU) { - promptgroup("50 - Output") - menu(calcoutOOPT) - interest(1) - prompt("Output Execute Opt") - } - field(ODLY, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - interest(1) - prompt("Output Execute Delay") - } - field(DLYA, DBF_USHORT) { - special(SPC_NOMOD) - asl(ASL0) - prompt("Output Delay Active") - } - field(DOPT, DBF_MENU) { - promptgroup("30 - Action") - menu(calcoutDOPT) - interest(1) - prompt("Output Data Opt") - } - field(OCAL, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Output Calculation") - } - field(OCLV, DBF_LONG) { - interest(1) - prompt("OCAL Valid") - } - field(OEVT, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event To Issue") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(OVAL, DBF_DOUBLE) { - asl(ASL0) - prompt("Output Value") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(POVL, DBF_DOUBLE) { - asl(ASL0) - prompt("Prev Value of OVAL") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } - field(ORPC, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char orpc[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish OCalc") - } -} -device(calcout, CONSTANT, devCalcoutSoft, "Soft Channel") -device(calcout, CONSTANT, devCalcoutSoftCallback, "Async Soft Channel") -recordtype(state) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(20) - prompt("Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(20) - prompt("Prev Value") - } -} -recordtype(histogram) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct histogramRecord; - %typedef struct histogramdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_histogram)(struct histogramRecord *prec); /*(0,2)=> success and add_count, don't add_count); if add_count then sgnl added to array*/ - % long (*special_linconv)(struct histogramRecord *prec, int after); - %} histogramdset; - %#define HAS_histogramdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - prompt("Value") - } - field(NELM, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Num of Array Elements") - } - field(CSTA, DBF_SHORT) { - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Collection Status") - } - field(CMD, DBF_MENU) { - special(SPC_CALC) - asl(ASL0) - menu(histogramCMD) - interest(1) - prompt("Collection Control") - } - field(ULIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Upper Signal Limit") - } - field(LLIM, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - special(SPC_RESET) - interest(1) - prompt("Lower Signal Limit ") - } - field(WDTH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Element Width") - } - field(SGNL, DBF_DOUBLE) { - special(SPC_MOD) - prompt("Signal Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(SVL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Signal Value Location") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt32 *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(WDOG, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdog") - interest(4) - prompt("Watchdog callback") - } - field(MDEL, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Count Deadband") - } - field(MCNT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Counts Since Monitor") - } - field(SDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - special(SPC_RESET) - interest(1) - prompt("Monitor Seconds Dband") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(HOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_ULONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } -} -device(histogram, CONSTANT, devHistogramSoft, "Soft Channel") -recordtype(lsi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsiRecord; - %typedef struct lsidset { - % dset common; - % long (*read_string)(struct lsiRecord *prec); - %} lsidset; - %#define HAS_lsidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Old Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of OVAL") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lsi, CONSTANT, devLsiSoft, "Soft Channel") -device(lsi, INST_IO, devLsiEnviron, "getenv") -device(lsi, INST_IO, devLsiStats, "IOC long string") -device(lsi, INST_IO, asynLsiOctetCmdResponse, "asynOctetCmdResponse") -device(lsi, INST_IO, asynLsiOctetWriteRead, "asynOctetWriteRead") -device(lsi, INST_IO, asynLsiOctetRead, "asynOctetRead") -recordtype(int64out) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64outRecord; - %typedef struct int64outdset { - % dset common; - % long (*write_int64out)(struct int64outRecord *prec); - %} int64outdset; - %#define HAS_int64outdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(DRVH, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_INT64) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_INT64) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(int64out, CONSTANT, devI64outSoft, "Soft Channel") -device(int64out, CONSTANT, devI64outSoftCallback, "Async Soft Channel") -device(int64out, INST_IO, asynInt64Out, "asynInt64") -recordtype(seq) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(seqSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(OLDN, DBF_USHORT) { - interest(4) - prompt("Old Selection") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(DLY0, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 0") - } - field(DOL0, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 0") - } - field(DO0, DBF_DOUBLE) { - interest(1) - prompt("Value 0") - } - field(LNK0, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 0") - } - field(DLY1, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 1") - } - field(DOL1, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link1") - } - field(DO1, DBF_DOUBLE) { - interest(1) - prompt("Value 1") - } - field(LNK1, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 1") - } - field(DLY2, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 2") - } - field(DOL2, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 2") - } - field(DO2, DBF_DOUBLE) { - interest(1) - prompt("Value 2") - } - field(LNK2, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 2") - } - field(DLY3, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 3") - } - field(DOL3, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 3") - } - field(DO3, DBF_DOUBLE) { - interest(1) - prompt("Value 3") - } - field(LNK3, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 3") - } - field(DLY4, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 4") - } - field(DOL4, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 4") - } - field(DO4, DBF_DOUBLE) { - interest(1) - prompt("Value 4") - } - field(LNK4, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 4") - } - field(DLY5, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 5") - } - field(DOL5, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 5") - } - field(DO5, DBF_DOUBLE) { - interest(1) - prompt("Value 5") - } - field(LNK5, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 5") - } - field(DLY6, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 6") - } - field(DOL6, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 6") - } - field(DO6, DBF_DOUBLE) { - interest(1) - prompt("Value 6") - } - field(LNK6, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 6") - } - field(DLY7, DBF_DOUBLE) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Delay 7") - } - field(DOL7, DBF_INLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Input link 7") - } - field(DO7, DBF_DOUBLE) { - interest(1) - prompt("Value 7") - } - field(LNK7, DBF_OUTLINK) { - promptgroup("41 - Link 0-7") - interest(1) - prompt("Output Link 7") - } - field(DLY8, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 8") - } - field(DOL8, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 8") - } - field(DO8, DBF_DOUBLE) { - interest(1) - prompt("Value 8") - } - field(LNK8, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 8") - } - field(DLY9, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 9") - } - field(DOL9, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 9") - } - field(DO9, DBF_DOUBLE) { - interest(1) - prompt("Value 9") - } - field(LNK9, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 9") - } - field(DLYA, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 10") - } - field(DOLA, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 10") - } - field(DOA, DBF_DOUBLE) { - interest(1) - prompt("Value 10") - } - field(LNKA, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 10") - } - field(DLYB, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 11") - } - field(DOLB, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 11") - } - field(DOB, DBF_DOUBLE) { - interest(1) - prompt("Value 11") - } - field(LNKB, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 11") - } - field(DLYC, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 12") - } - field(DOLC, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 12") - } - field(DOC, DBF_DOUBLE) { - interest(1) - prompt("Value 12") - } - field(LNKC, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 12") - } - field(DLYD, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 13") - } - field(DOLD, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 13") - } - field(DOD, DBF_DOUBLE) { - interest(1) - prompt("Value 13") - } - field(LNKD, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 13") - } - field(DLYE, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 14") - } - field(DOLE, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 14") - } - field(DOE, DBF_DOUBLE) { - interest(1) - prompt("Value 14") - } - field(LNKE, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 14") - } - field(DLYF, DBF_DOUBLE) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Delay 15") - } - field(DOLF, DBF_INLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Input link 15") - } - field(DOF, DBF_DOUBLE) { - interest(1) - prompt("Value 15") - } - field(LNKF, DBF_OUTLINK) { - promptgroup("42 - Link 8-F") - interest(1) - prompt("Output Link 15") - } -} -recordtype(stringout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringoutRecord; - %typedef struct stringoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_stringout)(struct stringoutRecord *prec); /*(-1,0)=>(failure,success)*/ - %} stringoutdset; - %#define HAS_stringoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringoutPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID output value") - } -} -device(stringout, CONSTANT, devSoSoft, "Soft Channel") -device(stringout, CONSTANT, devSoSoftCallback, "Async Soft Channel") -device(stringout, INST_IO, devSoStdio, "stdio") -device(stringout, INST_IO, asynSoOctetWrite, "asynOctetWrite") -recordtype(aai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaiRecord; - %typedef struct aaidset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_aai)(struct aaiRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaidset; - %#define HAS_aaidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaiPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aai, CONSTANT, devAaiSoft, "Soft Channel") -recordtype(permissive) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_USHORT) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Status") - } - field(WFLG, DBF_USHORT) { - pp(TRUE) - prompt("Wait Flag") - } - field(LABL, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(20) - prompt("Button Label") - } - field(OVAL, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Status") - } - field(OFLG, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Old Flag") - } -} -recordtype(bo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct boRecord; - %typedef struct bodset { - % dset common; /*init_record returns:(0,2)=>(success,success no convert*/ - % long (*write_bo)(struct boRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} bodset; - %#define HAS_bodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Seconds to Hold High") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(RPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * rpvt") - interest(4) - prompt("Record Private") - } - field(WDPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * wdpt") - interest(4) - prompt("Watch Dog Timer ID") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(bo, CONSTANT, devBoSoft, "Soft Channel") -device(bo, CONSTANT, devBoSoftRaw, "Raw Soft Channel") -device(bo, CONSTANT, devBoSoftCallback, "Async Soft Channel") -device(bo, INST_IO, devBoGeneralTime, "General Time") -device(bo, INST_IO, devBoDbState, "Db State") -device(bo, INST_IO, devBoSimulation, "IOC SIM") -device(bo, INST_IO, asynBoInt32, "asynInt32") -device(bo, INST_IO, asynBoUInt32Digital, "asynUInt32Digital") -recordtype(dfanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(dfanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Spec H") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } -} -recordtype(mbbi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiRecord; - %typedef struct mbbidset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidset; - %#define HAS_mbbidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_USHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("41 - Input 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("42 - Input 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(mbbi, CONSTANT, devMbbiSoft, "Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftRaw, "Raw Soft Channel") -device(mbbi, CONSTANT, devMbbiSoftCallback, "Async Soft Channel") -device(mbbi, INST_IO, devSysMonMbbiStats, "sysmon") -device(mbbi, INST_IO, asynMbbiInt32, "asynInt32") -device(mbbi, INST_IO, asynMbbiUInt32Digital, "asynUInt32Digital") -recordtype(event) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct eventRecord; - %typedef struct eventdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_event)(struct eventRecord *prec); /*(0)=> success */ - %} eventdset; - %#define HAS_eventdset - % - %#include "dbScan.h" - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - special(SPC_MOD) - asl(ASL0) - size(40) - prompt("Event Name To Post") - } - field(EPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("EVENTPVT epvt") - interest(4) - prompt("Event private") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_STRING) { - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(event, CONSTANT, devEventSoft, "Soft Channel") -recordtype(compress) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RES, DBF_SHORT) { - special(SPC_RESET) - asl(ASL0) - interest(3) - prompt("Reset") - } - field(ALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(compressALG) - interest(1) - prompt("Compression Algorithm") - } - field(BALG, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_RESET) - menu(bufferingALG) - interest(1) - prompt("Buffering Algorithm") - } - field(NSAM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Values") - } - field(N, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_RESET) - initial("1") - interest(1) - prompt("N to 1 Compression") - } - field(IHIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init High Interest Lim") - } - field(ILIL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Init Low Interest Lim") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(OFF, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Offset") - } - field(NUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number Used") - } - field(OUSE, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Old Number Used") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *sptr") - interest(4) - prompt("Summing Buffer Ptr") - } - field(WPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("double *wptr") - interest(4) - prompt("Working Buffer Ptr") - } - field(INPN, DBF_LONG) { - special(SPC_NOMOD) - interest(4) - prompt("Number of elements in Working Buffer") - } - field(CVB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Compress Value Buffer") - } - field(INX, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Compressed Array Inx") - } -} -recordtype(mbbo) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboRecord; - %typedef struct mbbodset { - % dset common; /*init_record returns: (0, 2) => (success, success no convert)*/ - % long (*write_mbbo)(struct mbboRecord *prec); /*returns: (0, 2) => (success, success no convert)*/ - %} mbbodset; - %#define HAS_mbbodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_ENUM) { - promptgroup("50 - Output") - special(SPC_DBADDR) - asl(ASL0) - pp(TRUE) - prompt("Desired Value") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(NOBT, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(ZRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Zero Value") - } - field(ONVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("One Value") - } - field(TWVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Two Value") - } - field(THVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Three Value") - } - field(FRVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Four Value") - } - field(FVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Five Value") - } - field(SXVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Six Value") - } - field(SVVL, DBF_ULONG) { - base(HEX) - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Seven Value") - } - field(EIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eight Value") - } - field(NIVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Nine Value") - } - field(TEVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Ten Value") - } - field(ELVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Eleven Value") - } - field(TVVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Twelve Value") - } - field(TTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Thirteen Value") - } - field(FTVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fourteen Value") - } - field(FFVL, DBF_ULONG) { - base(HEX) - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Fifteen Value") - } - field(ZRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Zero String") - } - field(ONST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("One String") - } - field(TWST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Two String") - } - field(THST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Three String") - } - field(FRST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Four String") - } - field(FVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Five String") - } - field(SXST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Six String") - } - field(SVST, DBF_STRING) { - promptgroup("81 - Display 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Seven String") - } - field(EIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eight String") - } - field(NIST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Nine String") - } - field(TEST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Ten String") - } - field(ELST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Eleven String") - } - field(TVST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Twelve String") - } - field(TTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Thirteen String") - } - field(FTST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fourteen String") - } - field(FFST, DBF_STRING) { - promptgroup("82 - Display 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - size(26) - prompt("Fifteen String") - } - field(ZRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Zero Severity") - } - field(ONSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State One Severity") - } - field(TWSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Two Severity") - } - field(THSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Three Severity") - } - field(FRSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Four Severity") - } - field(FVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Five Severity") - } - field(SXSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Six Severity") - } - field(SVSV, DBF_MENU) { - promptgroup("71 - Alarm 0-7") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Seven Severity") - } - field(EISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eight Severity") - } - field(NISV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Nine Severity") - } - field(TESV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Ten Severity") - } - field(ELSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Eleven Severity") - } - field(TVSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Twelve Severity") - } - field(TTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Thirteen Sevr") - } - field(FTSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fourteen Sevr") - } - field(FFSV, DBF_MENU) { - promptgroup("72 - Alarm 8-15") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("State Fifteen Sevr") - } - field(UNSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Unknown State Sevr") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Sevr") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(SDEF, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("States Defined") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_USHORT) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(mbbo, CONSTANT, devMbboSoft, "Soft Channel") -device(mbbo, CONSTANT, devMbboSoftRaw, "Raw Soft Channel") -device(mbbo, CONSTANT, devMbboSoftCallback, "Async Soft Channel") -device(mbbo, INST_IO, asynMbboInt32, "asynInt32") -device(mbbo, INST_IO, asynMbboUInt32Digital, "asynUInt32Digital") -recordtype(epid) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Setpoint") - } - field(SMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Setpoint Mode Select") - } - field(STPL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Setpoint Location") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Controlled Value Loc") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Location") - } - field(TRIG, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Readback Trigger") - } - field(TVAL, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Trigger Value") - } - field(CVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Controlled Value") - } - field(CVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Prev. Controlled Value") - } - field(OVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - prompt("Output value") - } - field(OVLP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev output") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(MDT, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Min Delta T") - } - field(FMOD, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackMode) - interest(1) - prompt("Feedback Mode") - } - field(FBON, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Feedback On/Off") - } - field(FBOP, DBF_MENU) { - promptgroup("30 - Action") - menu(epidFeedbackState) - interest(1) - prompt("Prev. feedback On/Off") - } - field(KP, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Proportional Gain") - } - field(KI, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Integral Gain") - } - field(KD, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Derivative Gain") - } - field(EGU, DBF_STRING) { - promptgroup("80 - Display") - interest(1) - prompt("Engineering Units") - size(16) - } - field(HOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(DRVH, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("High Drive Limit") - } - field(DRVL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Low Drive Limit") - } - field(HIHI, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Hihi Deviation Limit") - } - field(LOLO, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Lolo Deviation Limit") - } - field(HIGH, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("High Deviation Limit") - } - field(LOW, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Low Deviation Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(ODEL, DBF_DOUBLE) { - promptgroup("30 - Action") - interest(1) - prompt("Output Deadband") - } - field(P, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("P component") - } - field(PP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. P component") - } - field(I, DBF_DOUBLE) { - interest(2) - prompt("I component") - } - field(IP, DBF_DOUBLE) { - interest(2) - prompt("Prev. I component") - } - field(D, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("D component") - } - field(DP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. D component") - } - field(CT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ct") - prompt("Time") - } - field(CTP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsTimeStamp ctp") - prompt("Previous time") - } - field(DT, DBF_DOUBLE) { - interest(2) - prompt("Delta T") - } - field(DTP, DBF_DOUBLE) { - interest(2) - prompt("Prev. Delta T") - } - field(ERR, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Error") - } - field(ERRP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("Prev. Error") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -device(epid, CONSTANT, devEpidSoft, "Soft Channel") -device(epid, CONSTANT, devEpidSoftCB, "Async Soft Channel") -recordtype(ao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aoRecord; - %typedef struct aodset { - % dset common; /*init_record returns: (0,2)=>(success,success no convert)*/ - % long (*write_ao)(struct aoRecord *prec); /*(0)=>(success ) */ - % long (*special_linconv)(struct aoRecord *prec, int after); - %} aodset; - %#define HAS_aodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OVAL, DBF_DOUBLE) { - prompt("Output Value") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(OROC, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(1) - prompt("Output Rate of Change") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OIF, DBF_MENU) { - promptgroup("50 - Output") - menu(aoOIF) - interest(1) - prompt("Out Full/Incremental") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Eng Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("EGU to Raw Offset") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("EGU to Raw Slope") - } - field(DRVH, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_DOUBLE) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(RBV, DBF_LONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(PVAL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Previous value") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(OMOD, DBF_UCHAR) { - special(SPC_NOMOD) - prompt("Was OVAL modified?") - } -} -device(ao, CONSTANT, devAoSoft, "Soft Channel") -device(ao, CONSTANT, devAoSoftRaw, "Raw Soft Channel") -device(ao, CONSTANT, devAoSoftCallback, "Async Soft Channel") -device(ao, INST_IO, devAoStats, "IOC stats") -device(ao, INST_IO, asynAoInt32, "asynInt32") -device(ao, INST_IO, asynAoFloat64, "asynFloat64") -device(ao, INST_IO, asynAoInt64, "asynInt64") -recordtype(aao) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aaoRecord; - %typedef struct aaodset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_aao)(struct aaoRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} aaodset; - %#define HAS_aaodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(aaoPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(aao, CONSTANT, devAaoSoft, "Soft Channel") -recordtype(mbbiDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbbiDirectRecord; - %typedef struct mbbidirectdset { - % dset common; /* init_record returns: (-1,0) => (failure, success)*/ - % long (*read_mbbi)(struct mbbiDirectRecord *prec); /* (0, 2) => (success, success no convert)*/ - %} mbbidirectdset; - %#define HAS_mbbidirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(NOBT, DBF_SHORT) { - promptgroup("40 - Input") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("40 - Input") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(B0, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbbiDirect, CONSTANT, devMbbiDirectSoft, "Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftRaw, "Raw Soft Channel") -device(mbbiDirect, CONSTANT, devMbbiDirectSoftCallback, "Async Soft Channel") -device(mbbiDirect, INST_IO, devSysMonMbbiDirectStats, "sysmon") -device(mbbiDirect, INST_IO, asynMbbiDirectUInt32Digital, "asynUInt32Digital") -recordtype(asyn) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - interest(4) - prompt("Value field (unused)") - } - field(PORT, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("") - interest(1) - size(40) - prompt("asyn port") - } - field(ADDR, DBF_LONG) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("0") - interest(1) - prompt("asyn address") - } - field(PCNCT, DBF_MENU) { - special(SPC_MOD) - menu(asynCONNECT) - interest(2) - prompt("Port Connect/Disconnect") - } - field(DRVINFO, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - initial("") - interest(2) - size(40) - prompt("Driver info string") - } - field(REASON, DBF_LONG) { - special(SPC_MOD) - interest(2) - prompt("asynUser->reason") - } - field(TMOD, DBF_MENU) { - promptgroup("30 - Action") - menu(asynTMOD) - interest(1) - prompt("Transaction mode") - } - field(TMOT, DBF_DOUBLE) { - promptgroup("30 - Action") - initial("1.0") - interest(1) - prompt("Timeout (sec)") - } - field(IFACE, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynINTERFACE) - interest(2) - prompt("Interface") - } - field(OCTETIV, DBF_LONG) { - interest(2) - prompt("asynOctet is valid") - } - field(OPTIONIV, DBF_LONG) { - interest(2) - prompt("asynOption is valid") - } - field(GPIBIV, DBF_LONG) { - interest(2) - prompt("asynGPIB is valid") - } - field(I32IV, DBF_LONG) { - interest(2) - prompt("asynInt32 is valid") - } - field(UI32IV, DBF_LONG) { - interest(2) - prompt("asynUInt32Digital is valid") - } - field(F64IV, DBF_LONG) { - interest(2) - prompt("asynFloat64 is valid") - } - field(AOUT, DBF_STRING) { - promptgroup("50 - Output") - interest(1) - pp(TRUE) - size(40) - prompt("Output (command) string") - } - field(OEOS, DBF_STRING) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(1) - size(40) - prompt("Output delimiter") - } - field(BOUT, DBF_CHAR) { - special(SPC_DBADDR) - interest(1) - pp(TRUE) - prompt("Output binary data") - } - field(OPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *optr") - interest(4) - prompt("Output buffer pointer") - } - field(OMAX, DBF_LONG) { - promptgroup("50 - Output") - special(SPC_NOMOD) - initial("80") - interest(1) - prompt("Max. size of output array") - } - field(NOWT, DBF_LONG) { - promptgroup("50 - Output") - initial("80") - interest(1) - prompt("Number of bytes to write") - } - field(NAWT, DBF_LONG) { - interest(1) - prompt("Number of bytes actually written") - } - field(OFMT, DBF_MENU) { - promptgroup("50 - Output") - menu(asynFMT) - interest(1) - prompt("Output format") - } - field(AINP, DBF_STRING) { - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Input (response) string") - } - field(TINP, DBF_STRING) { - special(SPC_NOMOD) - asl(ASL0) - interest(1) - size(40) - prompt("Translated input string") - } - field(IEOS, DBF_STRING) { - promptgroup("40 - Input") - special(SPC_MOD) - interest(1) - size(40) - prompt("Input Delimiter") - } - field(BINP, DBF_CHAR) { - special(SPC_DBADDR) - asl(ASL0) - prompt("Input binary data") - } - field(IPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *iptr") - interest(4) - size(4) - prompt("Input buffer pointer") - } - field(IMAX, DBF_LONG) { - promptgroup("40 - Input") - special(SPC_NOMOD) - initial("80") - interest(1) - prompt("Max. size of input array") - } - field(NRRD, DBF_LONG) { - promptgroup("40 - Input") - interest(1) - prompt("Number of bytes to read") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - interest(1) - prompt("Number of bytes read") - } - field(IFMT, DBF_MENU) { - promptgroup("40 - Input") - menu(asynFMT) - interest(1) - prompt("Input format") - } - field(EOMR, DBF_MENU) { - special(SPC_NOMOD) - menu(asynEOMREASON) - interest(1) - prompt("EOM reason") - } - field(I32INP, DBF_LONG) { - special(SPC_NOMOD) - interest(2) - prompt("asynInt32 input") - } - field(I32OUT, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynInt32 output") - } - field(UI32INP, DBF_ULONG) { - special(SPC_NOMOD) - interest(2) - prompt("asynUInt32Digital input") - } - field(UI32OUT, DBF_ULONG) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynUInt32Digital output") - } - field(UI32MASK, DBF_ULONG) { - promptgroup("50 - Output") - special(SPC_MOD) - interest(2) - initial("0xffffffff") - prompt("asynUInt32Digital mask") - } - field(F64INP, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(2) - prompt("asynFloat64 input") - } - field(F64OUT, DBF_DOUBLE) { - promptgroup("50 - Output") - interest(2) - pp(TRUE) - prompt("asynFloat64 output") - } - field(BAUD, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialBAUD) - interest(2) - prompt("Baud rate") - } - field(LBAUD, DBF_LONG) { - promptgroup("31 - Serial") - special(SPC_MOD) - interest(2) - prompt("Baud rate") - } - field(PRTY, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialPRTY) - interest(2) - prompt("Parity") - } - field(DBIT, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialDBIT) - interest(2) - prompt("Data bits") - } - field(SBIT, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialSBIT) - interest(2) - prompt("Stop bits") - } - field(MCTL, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialMCTL) - interest(2) - prompt("Modem control") - } - field(FCTL, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialFCTL) - interest(2) - prompt("Flow control") - } - field(IXON, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("Output XON/XOFF") - } - field(IXOFF, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("Input XON/XOFF") - } - field(IXANY, DBF_MENU) { - promptgroup("31 - Serial") - special(SPC_MOD) - menu(serialIX) - interest(2) - prompt("XON=any character") - } - field(HOSTINFO, DBF_STRING) { - promptgroup("32 - IP") - special(SPC_MOD) - initial("") - interest(1) - size(40) - prompt("host info") - } - field(DRTO, DBF_MENU) { - promptgroup("32 - IP") - special(SPC_MOD) - menu(ipDRTO) - interest(2) - prompt("Disconnect on timeout") - } - field(UCMD, DBF_MENU) { - promptgroup("33 - GPIB") - menu(gpibUCMD) - interest(2) - pp(TRUE) - prompt("Universal command") - } - field(ACMD, DBF_MENU) { - promptgroup("33 - GPIB") - menu(gpibACMD) - interest(2) - pp(TRUE) - prompt("Addressed command") - } - field(SPR, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Serial poll response") - } - field(TMSK, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace mask") - } - field(TB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace error") - } - field(TB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO device") - } - field(TB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO filter") - } - field(TB3, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO driver") - } - field(TB4, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace flow") - } - field(TB5, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace warning") - } - field(TIOM, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace I/O mask") - } - field(TIB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO ASCII") - } - field(TIB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO escape") - } - field(TIB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace IO hex") - } - field(TINM, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace Info mask") - } - field(TINB0, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Time") - } - field(TINB1, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Port") - } - field(TINB2, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Source") - } - field(TINB3, DBF_MENU) { - promptgroup("80 - Display") - special(SPC_MOD) - menu(asynTRACE) - interest(1) - prompt("Trace Info Thread") - } - field(TSIZ, DBF_LONG) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - prompt("Trace IO truncate size") - } - field(TFIL, DBF_STRING) { - promptgroup("80 - Display") - special(SPC_MOD) - interest(1) - size(40) - prompt("Trace IO file") - } - field(AUCT, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynAUTOCONNECT) - interest(1) - prompt("Autoconnect") - } - field(CNCT, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynCONNECT) - interest(1) - prompt("Connect/Disconnect") - } - field(ENBL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_MOD) - menu(asynENABLE) - interest(1) - prompt("Enable/Disable") - } - field(ERRS, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *errs") - interest(4) - prompt("Error string") - } - field(AQR, DBF_UCHAR) { - special(SPC_MOD) - interest(4) - prompt("Abort queueRequest") - } -} -device(asyn, INST_IO, asynRecordDevice, "asynRecordDevice") -recordtype(waveform) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct waveformRecord; - %typedef struct wfdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_wf)(struct waveformRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} wfdset; - %#define HAS_wfdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(RARM, DBF_SHORT) { - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Rearm the waveform") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Number of Elements") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(waveformPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(HASH, DBF_ULONG) { - interest(3) - prompt("Hash of OnChange data.") - } -} -device(waveform, CONSTANT, devWfSoft, "Soft Channel") -device(waveform, INST_IO, devWaveformStats, "IOC stats") -device(waveform, INST_IO, devSysMonWaveStats, "sysmon") -device(waveform, INST_IO, asynWfOctetCmdResponse, "asynOctetCmdResponse") -device(waveform, INST_IO, asynWfOctetWriteRead, "asynOctetWriteRead") -device(waveform, INST_IO, asynWfOctetRead, "asynOctetRead") -device(waveform, INST_IO, asynWfOctetWrite, "asynOctetWrite") -device(waveform, INST_IO, asynWfOctetWriteBinary, "asynOctetWriteBinary") -device(waveform, INST_IO, asynInt8ArrayWfIn, "asynInt8ArrayIn") -device(waveform, INST_IO, asynInt8ArrayWfOut, "asynInt8ArrayOut") -device(waveform, INST_IO, asynInt16ArrayWfIn, "asynInt16ArrayIn") -device(waveform, INST_IO, asynInt16ArrayWfOut, "asynInt16ArrayOut") -device(waveform, INST_IO, asynInt32ArrayWfIn, "asynInt32ArrayIn") -device(waveform, INST_IO, asynInt32ArrayWfOut, "asynInt32ArrayOut") -device(waveform, INST_IO, asynInt32TimeSeries, "asynInt32TimeSeries") -device(waveform, INST_IO, asynFloat32ArrayWfIn, "asynFloat32ArrayIn") -device(waveform, INST_IO, asynFloat32ArrayWfOut, "asynFloat32ArrayOut") -device(waveform, INST_IO, asynFloat64ArrayWfIn, "asynFloat64ArrayIn") -device(waveform, INST_IO, asynFloat64ArrayWfOut, "asynFloat64ArrayOut") -device(waveform, INST_IO, asynFloat64TimeSeries, "asynFloat64TimeSeries") -device(waveform, INST_IO, asynInt64ArrayWfIn, "asynInt64ArrayIn") -device(waveform, INST_IO, asynInt64ArrayWfOut, "asynInt64ArrayOut") -device(waveform, INST_IO, asynInt64TimeSeries, "asynInt64TimeSeries") -recordtype(timestamp) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - prompt("Record Name") - size(61) - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - prompt("Descriptor") - size(41) - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - prompt("Access Security Group") - size(29) - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Event Name") - size(40) - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("epicsMutexId mlok") - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST mlis") - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("ELLLIST bklnk") - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - interest(2) - initial("YES") - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct asgMember *asp") - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotify *ppn") - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct processNotifyRecord *ppnr") - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct scan_element *spvt") - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct typed_rset *rset") - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("unambiguous_dset *dset") - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("void *dpvt") - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct dbRecordType *rdes") - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(4) - extra("struct lockRecord *lset") - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(1) - extra("epicsUInt8 bkpt") - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - interest(1) - initial("1") - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - initial("INVALID") - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - interest(2) - extra("epicsTimeStamp time") - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - size(40) - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Value") - size(40) - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(TST, DBF_MENU) { - promptgroup("40 - Input") - menu(timestampTST) - interest(2) - prompt("Time Stamp Type") - } -} -recordtype(fanout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - pp(TRUE) - prompt("Used to trigger") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(fanoutSELM) - interest(1) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - initial("1") - interest(1) - prompt("Link Selection") - } - field(SELL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Link Selection Loc") - } - field(OFFS, DBF_SHORT) { - promptgroup("30 - Action") - initial("0") - interest(1) - prompt("Offset for Specified") - } - field(SHFT, DBF_SHORT) { - promptgroup("30 - Action") - initial("-1") - interest(1) - prompt("Shift for Mask mode") - } - field(LNK0, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 0") - } - field(LNK1, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 1") - } - field(LNK2, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 2") - } - field(LNK3, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 3") - } - field(LNK4, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 4") - } - field(LNK5, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 5") - } - field(LNK6, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 6") - } - field(LNK7, DBF_FWDLINK) { - promptgroup("51 - Output 0-7") - interest(1) - prompt("Forward Link 7") - } - field(LNK8, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 8") - } - field(LNK9, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 9") - } - field(LNKA, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 10") - } - field(LNKB, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 11") - } - field(LNKC, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 12") - } - field(LNKD, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 13") - } - field(LNKE, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 14") - } - field(LNKF, DBF_FWDLINK) { - promptgroup("52 - Output 8-F") - interest(1) - prompt("Forward Link 15") - } -} -recordtype(longin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longinRecord; - %typedef struct longindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_longin)(struct longinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} longindset; - %#define HAS_longindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Input Specifctn") - } - field(SVAL, DBF_LONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(longin, CONSTANT, devLiSoft, "Soft Channel") -device(longin, CONSTANT, devLiSoftCallback, "Async Soft Channel") -device(longin, INST_IO, devLiGeneralTime, "General Time") -device(longin, INST_IO, asynLiInt32, "asynInt32") -device(longin, INST_IO, asynLiUInt32Digital, "asynUInt32Digital") -device(longin, INST_IO, asynLiInt64, "asynInt64") -recordtype(printf) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct printfRecord; - %typedef struct printfdset { - % dset common; - % long (*write_string)(struct printfRecord *prec); - %} printfdset; - %#define HAS_printfdset - % - %/* Number of INPx fields defined */ - %#define PRINTF_NLINKS 10 - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Result") - } - field(SIZV, DBF_USHORT) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of VAL buffer") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(FMT, DBF_STRING) { - promptgroup("30 - Action") - pp(TRUE) - size(81) - prompt("Format String") - } - field(IVLS, DBF_STRING) { - promptgroup("30 - Action") - initial("LNK") - size(16) - prompt("Invalid Link String") - } - field(INP0, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 0") - } - field(INP1, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 1") - } - field(INP2, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 2") - } - field(INP3, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 3") - } - field(INP4, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 4") - } - field(INP5, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 5") - } - field(INP6, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 6") - } - field(INP7, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 7") - } - field(INP8, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 8") - } - field(INP9, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input 9") - } -} -device(printf, CONSTANT, devPrintfSoft, "Soft Channel") -device(printf, CONSTANT, devPrintfSoftCallback, "Async Soft Channel") -device(printf, INST_IO, devPrintfStdio, "stdio") -device(printf, INST_IO, asynPfOctetWrite, "asynOctetWrite") -recordtype(sel) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - special(SPC_NOMOD) - asl(ASL0) - prompt("Result") - } - field(SELM, DBF_MENU) { - promptgroup("30 - Action") - menu(selSELM) - prompt("Select Mechanism") - } - field(SELN, DBF_USHORT) { - prompt("Index value") - } - field(PREC, DBF_SHORT) { - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(NVL, DBF_INLINK) { - promptgroup("30 - Action") - interest(1) - prompt("Index Value Location") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(NLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Index Monitored") - } -} -recordtype(bi) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct biRecord; - %typedef struct bidset { - % dset common; - % long (*read_bi)(struct biRecord *prec); - %} bidset; - %#define HAS_bidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(VAL, DBF_ENUM) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current Value") - } - field(ZSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Zero Error Severity") - } - field(OSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("One Error Severity") - } - field(COSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Change of State Svr") - } - field(ZNAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("Zero Name") - } - field(ONAM, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - pp(TRUE) - size(26) - prompt("One Name") - } - field(RVAL, DBF_ULONG) { - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("prev Raw Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(LALM, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(MLST, DBF_USHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_ULONG) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(bi, CONSTANT, devBiSoft, "Soft Channel") -device(bi, CONSTANT, devBiSoftRaw, "Raw Soft Channel") -device(bi, CONSTANT, devBiSoftCallback, "Async Soft Channel") -device(bi, INST_IO, devBiDbState, "Db State") -device(bi, INST_IO, asynBiInt32, "asynInt32") -device(bi, INST_IO, asynBiUInt32Digital, "asynUInt32Digital") -recordtype(lso) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct lsoRecord; - %typedef struct lsodset { - % dset common; - % long (*write_string)(struct lsoRecord *prec); - %} lsodset; - %#define HAS_lsodset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("char *val") - pp(TRUE) - prompt("Current Value") - } - field(OVAL, DBF_NOACCESS) { - special(SPC_DBADDR) - extra("char *oval") - interest(3) - prompt("Previous Value") - } - field(SIZV, DBF_USHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - initial("41") - interest(1) - prompt("Size of buffers") - } - field(LEN, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Length of VAL") - } - field(OLEN, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Length of OVAL") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Link") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID Output Action") - } - field(IVOV, DBF_STRING) { - promptgroup("50 - Output") - interest(2) - size(40) - prompt("INVALID Output Value") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(menuPost) - interest(1) - prompt("Post Archive Monitors") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(lso, CONSTANT, devLsoSoft, "Soft Channel") -device(lso, CONSTANT, devLsoSoftCallback, "Async Soft Channel") -device(lso, INST_IO, devLsoStdio, "stdio") -device(lso, INST_IO, asynLsoOctetWrite, "asynOctetWrite") -recordtype(subArray) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct subArrayRecord; - %typedef struct sadset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_sa)(struct subArrayRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} sadset; - %#define HAS_sadset - % - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void * val") - pp(TRUE) - prompt("Value") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(FTVL, DBF_MENU) { - promptgroup("30 - Action") - special(SPC_NOMOD) - menu(menuFtype) - interest(1) - prompt("Field Type of Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(MALM, DBF_ULONG) { - promptgroup("30 - Action") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Maximum Elements") - } - field(NELM, DBF_ULONG) { - promptgroup("30 - Action") - initial("1") - pp(TRUE) - prompt("Number of Elements") - } - field(INDX, DBF_ULONG) { - promptgroup("30 - Action") - pp(TRUE) - prompt("Substring Index") - } - field(BUSY, DBF_SHORT) { - special(SPC_NOMOD) - prompt("Busy Indicator") - } - field(NORD, DBF_LONG) { - special(SPC_NOMOD) - prompt("Number elements read") - } - field(BPTR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * bptr") - interest(4) - prompt("Buffer Pointer") - } -} -device(subArray, CONSTANT, devSASoft, "Soft Channel") -recordtype(calc) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %#include "postfix.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("50 - Output") - asl(ASL0) - prompt("Result") - } - field(CALC, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_CALC) - initial("0") - pp(TRUE) - size(80) - prompt("Calculation") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Rng") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(RPCL, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("char rpcl[INFIX_TO_POSTFIX_SIZE(80)]") - interest(4) - prompt("Reverse Polish Calc") - } -} -recordtype(mbboDirect) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %/* Declare Device Support Entry Table */ - %struct mbboDirectRecord; - %typedef struct mbbodirectdset { - % dset common; /*init_record returns: (0, 2)=>(success, success no convert)*/ - % long (*write_mbbo)(struct mbboDirectRecord *prec); /*returns: (0, 2)=>(success, success no convert)*/ - %} mbbodirectdset; - %#define HAS_mbbodirectdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Word") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - special(SPC_RESET) - menu(menuOmsl) - interest(1) - pp(TRUE) - prompt("Output Mode Select") - } - field(NOBT, DBF_SHORT) { - promptgroup("50 - Output") - special(SPC_NOMOD) - interest(1) - prompt("Number of Bits") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(RVAL, DBF_ULONG) { - special(SPC_NOMOD) - pp(TRUE) - prompt("Raw Value") - } - field(ORAW, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Raw Value") - } - field(RBV, DBF_ULONG) { - special(SPC_NOMOD) - prompt("Readback Value") - } - field(ORBV, DBF_ULONG) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Readback Value") - } - field(MASK, DBF_ULONG) { - special(SPC_NOMOD) - interest(1) - prompt("Hardware Mask") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } - field(SHFT, DBF_USHORT) { - promptgroup("50 - Output") - interest(1) - prompt("Shift") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Output Link") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID outpt action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } - field(B0, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 0") - } - field(B1, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 1") - } - field(B2, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 2") - } - field(B3, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 3") - } - field(B4, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 4") - } - field(B5, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 5") - } - field(B6, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 6") - } - field(B7, DBF_UCHAR) { - promptgroup("51 - Output 0-7") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 7") - } - field(B8, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 8") - } - field(B9, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 9") - } - field(BA, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 10") - } - field(BB, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 11") - } - field(BC, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 12") - } - field(BD, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 13") - } - field(BE, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 14") - } - field(BF, DBF_UCHAR) { - promptgroup("52 - Output 8-15") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 15") - } - field(B10, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 16") - } - field(B11, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 17") - } - field(B12, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 18") - } - field(B13, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 19") - } - field(B14, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 20") - } - field(B15, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 21") - } - field(B16, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 22") - } - field(B17, DBF_UCHAR) { - promptgroup("53 - Output 16-23") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 23") - } - field(B18, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 24") - } - field(B19, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 25") - } - field(B1A, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 26") - } - field(B1B, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 27") - } - field(B1C, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 28") - } - field(B1D, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 29") - } - field(B1E, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 30") - } - field(B1F, DBF_UCHAR) { - promptgroup("54 - Output 24-31") - special(SPC_MOD) - interest(1) - pp(TRUE) - prompt("Bit 31") - } -} -device(mbboDirect, CONSTANT, devMbboDirectSoft, "Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftRaw, "Raw Soft Channel") -device(mbboDirect, CONSTANT, devMbboDirectSoftCallback, "Async Soft Channel") -device(mbboDirect, INST_IO, asynMbboDirectUInt32Digital, "asynUInt32Digital") -recordtype(longout) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct longoutRecord; - %typedef struct longoutdset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*write_longout)(struct longoutRecord *prec); /*(-1,0)=>(failure,success*/ - %} longoutdset; - %#define HAS_longoutdset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - promptgroup("50 - Output") - asl(ASL0) - pp(TRUE) - prompt("Desired Output") - } - field(OUT, DBF_OUTLINK) { - promptgroup("50 - Output") - interest(1) - prompt("Output Specification") - } - field(DOL, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Desired Output Loc") - } - field(OMSL, DBF_MENU) { - promptgroup("50 - Output") - menu(menuOmsl) - interest(1) - prompt("Output Mode Select") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(DRVH, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive High Limit") - } - field(DRVL, DBF_LONG) { - prop(YES) - promptgroup("30 - Action") - interest(1) - pp(TRUE) - prompt("Drive Low Limit") - } - field(HOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_LONG) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_LONG) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_LONG) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_LONG) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_OUTLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Output Specifctn") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Sim Mode Location") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Sim mode Alarm Svrty") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } - field(IVOA, DBF_MENU) { - promptgroup("50 - Output") - menu(menuIvoa) - interest(2) - prompt("INVALID output action") - } - field(IVOV, DBF_LONG) { - promptgroup("50 - Output") - interest(2) - prompt("INVALID output value") - } -} -device(longout, CONSTANT, devLoSoft, "Soft Channel") -device(longout, CONSTANT, devLoSoftCallback, "Async Soft Channel") -device(longout, INST_IO, asynLoInt32, "asynInt32") -device(longout, INST_IO, asynLoUInt32Digital, "asynUInt32Digital") -device(longout, INST_IO, asynLoInt64, "asynInt64") -recordtype(aSub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct aSubRecord; - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_LONG) { - asl(ASL0) - prompt("Subr. return value") - } - field(OVAL, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Old return value") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(41) - prompt("Initialize Subr. Name") - } - field(LFLG, DBF_MENU) { - promptgroup("30 - Action") - menu(aSubLFLG) - interest(1) - prompt("Subr. Input Enable") - } - field(SUBL, DBF_INLINK) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - prompt("Subroutine Name Link") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(41) - prompt("Process Subr. Name") - } - field(ONAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(3) - size(41) - prompt("Old Subr. Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("long (*sadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Address") - } - field(CADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void (*cadr)(struct aSubRecord *)") - interest(2) - prompt("Subroutine Cleanup Address") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(EFLG, DBF_MENU) { - promptgroup("50 - Output") - menu(aSubEFLG) - initial("1") - interest(1) - prompt("Output Event Flag") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link F") - } - field(INPG, DBF_INLINK) { - promptgroup("41 - Input A-G") - interest(1) - prompt("Input Link G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link L") - } - field(INPM, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link M") - } - field(INPN, DBF_INLINK) { - promptgroup("42 - Input H-N") - interest(1) - prompt("Input Link N") - } - field(INPO, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link O") - } - field(INPP, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link P") - } - field(INPQ, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link Q") - } - field(INPR, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link R") - } - field(INPS, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link S") - } - field(INPT, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link T") - } - field(INPU, DBF_INLINK) { - promptgroup("43 - Input O-U") - interest(1) - prompt("Input Link U") - } - field(A, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *a") - interest(2) - prompt("Input value A") - } - field(B, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *b") - interest(2) - prompt("Input value B") - } - field(C, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *c") - interest(2) - prompt("Input value C") - } - field(D, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *d") - interest(2) - prompt("Input value D") - } - field(E, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *e") - interest(2) - prompt("Input value E") - } - field(F, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *f") - interest(2) - prompt("Input value F") - } - field(G, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *g") - interest(2) - prompt("Input value G") - } - field(H, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *h") - interest(2) - prompt("Input value H") - } - field(I, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *i") - interest(2) - prompt("Input value I") - } - field(J, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *j") - interest(2) - prompt("Input value J") - } - field(K, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *k") - interest(2) - prompt("Input value K") - } - field(L, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *l") - interest(2) - prompt("Input value L") - } - field(M, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *m") - interest(2) - prompt("Input value M") - } - field(N, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *n") - interest(2) - prompt("Input value N") - } - field(O, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *o") - interest(2) - prompt("Input value O") - } - field(P, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *p") - interest(2) - prompt("Input value P") - } - field(Q, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *q") - interest(2) - prompt("Input value Q") - } - field(R, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *r") - interest(2) - prompt("Input value R") - } - field(S, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *s") - interest(2) - prompt("Input value S") - } - field(T, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *t") - interest(2) - prompt("Input value T") - } - field(U, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *u") - interest(2) - prompt("Input value U") - } - field(FTA, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of A") - } - field(FTB, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of B") - } - field(FTC, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of C") - } - field(FTD, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of D") - } - field(FTE, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of E") - } - field(FTF, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of F") - } - field(FTG, DBF_MENU) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of G") - } - field(FTH, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of H") - } - field(FTI, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of I") - } - field(FTJ, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of J") - } - field(FTK, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of K") - } - field(FTL, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of L") - } - field(FTM, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of M") - } - field(FTN, DBF_MENU) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of N") - } - field(FTO, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of O") - } - field(FTP, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of P") - } - field(FTQ, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of Q") - } - field(FTR, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of R") - } - field(FTS, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of S") - } - field(FTT, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of T") - } - field(FTU, DBF_MENU) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of U") - } - field(NOA, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in A") - } - field(NOB, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in B") - } - field(NOC, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in C") - } - field(NOD, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in D") - } - field(NOE, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in E") - } - field(NOF, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in F") - } - field(NOG, DBF_ULONG) { - promptgroup("41 - Input A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in G") - } - field(NOH, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in H") - } - field(NOI, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in I") - } - field(NOJ, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in J") - } - field(NOK, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in K") - } - field(NOL, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in L") - } - field(NOM, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in M") - } - field(NON, DBF_ULONG) { - promptgroup("42 - Input H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in N") - } - field(NOO, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in O") - } - field(NOP, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in P") - } - field(NOQ, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in Q") - } - field(NOR, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in R") - } - field(NOS, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in S") - } - field(NOT, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in T") - } - field(NOU, DBF_ULONG) { - promptgroup("43 - Input O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in U") - } - field(NEA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in A") - } - field(NEB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in B") - } - field(NEC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in C") - } - field(NED, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in D") - } - field(NEE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in E") - } - field(NEF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in F") - } - field(NEG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in G") - } - field(NEH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in H") - } - field(NEI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in I") - } - field(NEJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in J") - } - field(NEK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in K") - } - field(NEL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in L") - } - field(NEM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in M") - } - field(NEN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in N") - } - field(NEO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in O") - } - field(NEP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in P") - } - field(NEQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in Q") - } - field(NER, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in R") - } - field(NES, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in S") - } - field(NET, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in T") - } - field(NEU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in U") - } - field(OUTA, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link A") - } - field(OUTB, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link B") - } - field(OUTC, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link C") - } - field(OUTD, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link D") - } - field(OUTE, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link E") - } - field(OUTF, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link F") - } - field(OUTG, DBF_OUTLINK) { - promptgroup("51 - Output A-G") - interest(1) - prompt("Output Link G") - } - field(OUTH, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link H") - } - field(OUTI, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link I") - } - field(OUTJ, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link J") - } - field(OUTK, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link K") - } - field(OUTL, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link L") - } - field(OUTM, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link M") - } - field(OUTN, DBF_OUTLINK) { - promptgroup("52 - Output H-N") - interest(1) - prompt("Output Link N") - } - field(OUTO, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link O") - } - field(OUTP, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link P") - } - field(OUTQ, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link Q") - } - field(OUTR, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link R") - } - field(OUTS, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link S") - } - field(OUTT, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link T") - } - field(OUTU, DBF_OUTLINK) { - promptgroup("53 - Output O-U") - interest(1) - prompt("Output Link U") - } - field(VALA, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vala") - interest(2) - prompt("Output value A") - } - field(VALB, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valb") - interest(2) - prompt("Output value B") - } - field(VALC, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valc") - interest(2) - prompt("Output value C") - } - field(VALD, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vald") - interest(2) - prompt("Output value D") - } - field(VALE, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vale") - interest(2) - prompt("Output value E") - } - field(VALF, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valf") - interest(2) - prompt("Output value F") - } - field(VALG, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valg") - interest(2) - prompt("Output value G") - } - field(VALH, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valh") - interest(2) - prompt("Output value H") - } - field(VALI, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vali") - interest(2) - prompt("Output value I") - } - field(VALJ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valj") - interest(2) - prompt("Output value J") - } - field(VALK, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valk") - interest(2) - prompt("Output value K") - } - field(VALL, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vall") - interest(2) - prompt("Output value L") - } - field(VALM, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valm") - interest(2) - prompt("Output value M") - } - field(VALN, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valn") - interest(2) - prompt("Output value N") - } - field(VALO, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valo") - interest(2) - prompt("Output value O") - } - field(VALP, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valp") - interest(2) - prompt("Output value P") - } - field(VALQ, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valq") - interest(2) - prompt("Output value Q") - } - field(VALR, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valr") - interest(2) - prompt("Output value R") - } - field(VALS, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *vals") - interest(2) - prompt("Output value S") - } - field(VALT, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valt") - interest(2) - prompt("Output value T") - } - field(VALU, DBF_NOACCESS) { - special(SPC_DBADDR) - asl(ASL0) - extra("void *valu") - interest(2) - prompt("Output value U") - } - field(OVLA, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovla") - interest(4) - prompt("Old Output A") - } - field(OVLB, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlb") - interest(4) - prompt("Old Output B") - } - field(OVLC, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlc") - interest(4) - prompt("Old Output C") - } - field(OVLD, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovld") - interest(4) - prompt("Old Output D") - } - field(OVLE, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovle") - interest(4) - prompt("Old Output E") - } - field(OVLF, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlf") - interest(4) - prompt("Old Output F") - } - field(OVLG, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlg") - interest(4) - prompt("Old Output G") - } - field(OVLH, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlh") - interest(4) - prompt("Old Output H") - } - field(OVLI, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovli") - interest(4) - prompt("Old Output I") - } - field(OVLJ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlj") - interest(4) - prompt("Old Output J") - } - field(OVLK, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlk") - interest(4) - prompt("Old Output K") - } - field(OVLL, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovll") - interest(4) - prompt("Old Output L") - } - field(OVLM, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlm") - interest(4) - prompt("Old Output M") - } - field(OVLN, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovln") - interest(4) - prompt("Old Output N") - } - field(OVLO, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlo") - interest(4) - prompt("Old Output O") - } - field(OVLP, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlp") - interest(4) - prompt("Old Output P") - } - field(OVLQ, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlq") - interest(4) - prompt("Old Output Q") - } - field(OVLR, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlr") - interest(4) - prompt("Old Output R") - } - field(OVLS, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovls") - interest(4) - prompt("Old Output S") - } - field(OVLT, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlt") - interest(4) - prompt("Old Output T") - } - field(OVLU, DBF_NOACCESS) { - special(SPC_NOMOD) - asl(ASL0) - extra("void *ovlu") - interest(4) - prompt("Old Output U") - } - field(FTVA, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALA") - } - field(FTVB, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALB") - } - field(FTVC, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALC") - } - field(FTVD, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALD") - } - field(FTVE, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALE") - } - field(FTVF, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALF") - } - field(FTVG, DBF_MENU) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALG") - } - field(FTVH, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALH") - } - field(FTVI, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALI") - } - field(FTVJ, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALJ") - } - field(FTVK, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALK") - } - field(FTVL, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALL") - } - field(FTVM, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALM") - } - field(FTVN, DBF_MENU) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALN") - } - field(FTVO, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALO") - } - field(FTVP, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALP") - } - field(FTVQ, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALQ") - } - field(FTVR, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALR") - } - field(FTVS, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALS") - } - field(FTVT, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALT") - } - field(FTVU, DBF_MENU) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - menu(menuFtype) - initial("DOUBLE") - interest(1) - prompt("Type of VALU") - } - field(NOVA, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALA") - } - field(NOVB, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALB") - } - field(NOVC, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALC") - } - field(NOVD, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALD") - } - field(NOVE, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALE") - } - field(NOVF, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALF") - } - field(NOVG, DBF_ULONG) { - promptgroup("51 - Output A-G") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALG") - } - field(NOVH, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VAlH") - } - field(NOVI, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALI") - } - field(NOVJ, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALJ") - } - field(NOVK, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALK") - } - field(NOVL, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALL") - } - field(NOVM, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALM") - } - field(NOVN, DBF_ULONG) { - promptgroup("52 - Output H-N") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALN") - } - field(NOVO, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALO") - } - field(NOVP, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALP") - } - field(NOVQ, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALQ") - } - field(NOVR, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALR") - } - field(NOVS, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALS") - } - field(NOVT, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALT") - } - field(NOVU, DBF_ULONG) { - promptgroup("53 - Output O-U") - special(SPC_NOMOD) - initial("1") - interest(1) - prompt("Max. elements in VALU") - } - field(NEVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALA") - } - field(NEVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALB") - } - field(NEVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALC") - } - field(NEVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALD") - } - field(NEVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALE") - } - field(NEVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALF") - } - field(NEVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALG") - } - field(NEVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VAlH") - } - field(NEVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALI") - } - field(NEVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALJ") - } - field(NEVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALK") - } - field(NEVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALL") - } - field(NEVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALM") - } - field(NEVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALN") - } - field(NEVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALO") - } - field(NEVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALP") - } - field(NEVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALQ") - } - field(NEVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALR") - } - field(NEVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALS") - } - field(NEVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALT") - } - field(NEVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(3) - prompt("Num. elements in VALU") - } - field(ONVA, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLA") - } - field(ONVB, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLB") - } - field(ONVC, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLC") - } - field(ONVD, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLD") - } - field(ONVE, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLE") - } - field(ONVF, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLF") - } - field(ONVG, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLG") - } - field(ONVH, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in VAlH") - } - field(ONVI, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLI") - } - field(ONVJ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLJ") - } - field(ONVK, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLK") - } - field(ONVL, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLL") - } - field(ONVM, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLM") - } - field(ONVN, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLN") - } - field(ONVO, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLO") - } - field(ONVP, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLP") - } - field(ONVQ, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLQ") - } - field(ONVR, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLR") - } - field(ONVS, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLS") - } - field(ONVT, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLT") - } - field(ONVU, DBF_ULONG) { - special(SPC_NOMOD) - initial("1") - interest(4) - prompt("Num. elements in OVLU") - } -} -recordtype(sub) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - %struct subRecord; - %typedef long (*SUBFUNCPTR)(struct subRecord *); - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - asl(ASL0) - pp(TRUE) - prompt("Result") - } - field(INAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_NOMOD) - interest(1) - size(40) - prompt("Init Routine Name") - } - field(SNAM, DBF_STRING) { - promptgroup("30 - Action") - special(SPC_MOD) - interest(1) - size(40) - prompt("Subroutine Name") - } - field(SADR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("SUBFUNCPTR sadr") - interest(4) - prompt("Subroutine Address") - } - field(INPA, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input A") - } - field(INPB, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input B") - } - field(INPC, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input C") - } - field(INPD, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input D") - } - field(INPE, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input E") - } - field(INPF, DBF_INLINK) { - promptgroup("41 - Input A-F") - interest(1) - prompt("Input F") - } - field(INPG, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input G") - } - field(INPH, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input H") - } - field(INPI, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input I") - } - field(INPJ, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input J") - } - field(INPK, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input K") - } - field(INPL, DBF_INLINK) { - promptgroup("42 - Input G-L") - interest(1) - prompt("Input L") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(BRSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Bad Return Severity") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(A, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input A") - } - field(B, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input B") - } - field(C, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input C") - } - field(D, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input D") - } - field(E, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input E") - } - field(F, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input F") - } - field(G, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input G") - } - field(H, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input H") - } - field(I, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input I") - } - field(J, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input J") - } - field(K, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input K") - } - field(L, DBF_DOUBLE) { - pp(TRUE) - prompt("Value of Input L") - } - field(LA, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of A") - } - field(LB, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of B") - } - field(LC, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of C") - } - field(LD, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of D") - } - field(LE, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of E") - } - field(LF, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of F") - } - field(LG, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of G") - } - field(LH, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of H") - } - field(LI, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of I") - } - field(LJ, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of J") - } - field(LK, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of K") - } - field(LL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Prev Value of L") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Monitored") - } -} -recordtype(int64in) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct int64inRecord; - %typedef struct int64indset { - % dset common; - % long (*read_int64in)(struct int64inRecord *prec); - %} int64indset; - %#define HAS_int64indset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_INT64) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Units name") - } - field(HOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_INT64) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(HIHI, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_INT64) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_INT64) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ADEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_INT64) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(ALST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_INT64) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_INT64) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(int64in, CONSTANT, devI64inSoft, "Soft Channel") -device(int64in, CONSTANT, devI64inSoftCallback, "Async Soft Channel") -device(int64in, INST_IO, asynInt64In, "asynInt64") -recordtype(ai) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct aiRecord; - %typedef struct aidset { - % dset common; - % long (*read_ai)(struct aiRecord *prec); - % long (*special_linconv)(struct aiRecord *prec, int after); - %} aidset; - %#define HAS_aidset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_DOUBLE) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - prompt("Current EGU Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(PREC, DBF_SHORT) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Display Precision") - } - field(LINR, DBF_MENU) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - menu(menuConvert) - interest(1) - pp(TRUE) - prompt("Linearization") - } - field(EGUF, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Full") - } - field(EGUL, DBF_DOUBLE) { - promptgroup("60 - Convert") - special(SPC_LINCONV) - interest(1) - pp(TRUE) - prompt("Engineer Units Low") - } - field(EGU, DBF_STRING) { - prop(YES) - promptgroup("80 - Display") - interest(1) - size(16) - prompt("Engineering Units") - } - field(HOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("High Operating Range") - } - field(LOPR, DBF_DOUBLE) { - prop(YES) - promptgroup("80 - Display") - interest(1) - prompt("Low Operating Range") - } - field(AOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - pp(TRUE) - prompt("Adjustment Offset") - } - field(ASLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(1) - pp(TRUE) - prompt("Adjustment Slope") - } - field(SMOO, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(1) - prompt("Smoothing") - } - field(HIHI, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Hihi Alarm Limit") - } - field(LOLO, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Lolo Alarm Limit") - } - field(HIGH, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("High Alarm Limit") - } - field(LOW, DBF_DOUBLE) { - prop(YES) - promptgroup("70 - Alarm") - interest(1) - pp(TRUE) - prompt("Low Alarm Limit") - } - field(HHSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Hihi Severity") - } - field(LLSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Lolo Severity") - } - field(HSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("High Severity") - } - field(LSV, DBF_MENU) { - prop(YES) - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - pp(TRUE) - prompt("Low Severity") - } - field(HYST, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Deadband") - } - field(AFTC, DBF_DOUBLE) { - promptgroup("70 - Alarm") - interest(1) - prompt("Alarm Filter Time Constant") - } - field(ADEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Archive Deadband") - } - field(MDEL, DBF_DOUBLE) { - promptgroup("80 - Display") - interest(1) - prompt("Monitor Deadband") - } - field(LALM, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Alarmed") - } - field(AFVL, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Alarm Filter Value") - } - field(ALST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Value Archived") - } - field(MLST, DBF_DOUBLE) { - special(SPC_NOMOD) - interest(3) - prompt("Last Val Monitored") - } - field(ESLO, DBF_DOUBLE) { - promptgroup("60 - Convert") - initial("1") - interest(2) - pp(TRUE) - prompt("Raw to EGU Slope") - } - field(EOFF, DBF_DOUBLE) { - promptgroup("60 - Convert") - interest(2) - pp(TRUE) - prompt("Raw to EGU Offset") - } - field(ROFF, DBF_ULONG) { - interest(2) - pp(TRUE) - prompt("Raw Offset") - } - field(PBRK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void * pbrk") - interest(4) - prompt("Ptrto brkTable") - } - field(INIT, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("Initialized?") - } - field(LBRK, DBF_SHORT) { - special(SPC_NOMOD) - interest(3) - prompt("LastBreak Point") - } - field(RVAL, DBF_LONG) { - pp(TRUE) - prompt("Current Raw Value") - } - field(ORAW, DBF_LONG) { - special(SPC_NOMOD) - interest(3) - prompt("Previous Raw Value") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_DOUBLE) { - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuSimm) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(ai, CONSTANT, devAiSoft, "Soft Channel") -device(ai, CONSTANT, devAiSoftRaw, "Raw Soft Channel") -device(ai, CONSTANT, devAiSoftCallback, "Async Soft Channel") -device(ai, INST_IO, devTimestampAI, "Soft Timestamp") -device(ai, INST_IO, devAiGeneralTime, "General Time") -device(ai, INST_IO, devAiStats, "IOC stats") -device(ai, INST_IO, devAiClusts, "IOC stats clusts") -device(ai, CONSTANT, devAiDBCLC, "DBCLC") -device(ai, CONSTANT, devAiDBDLC, "DBDLC") -device(ai, INST_IO, devSysMonAiStats, "sysmon") -device(ai, INST_IO, asynAiInt32, "asynInt32") -device(ai, INST_IO, asynAiInt32Average, "asynInt32Average") -device(ai, INST_IO, asynAiFloat64, "asynFloat64") -device(ai, INST_IO, asynAiFloat64Average, "asynFloat64Average") -device(ai, INST_IO, asynAiInt64, "asynInt64") -recordtype(stringin) { - %#include "epicsTypes.h" - %#include "link.h" - %#include "epicsMutex.h" - %#include "ellLib.h" - %#include "devSup.h" - %#include "epicsTime.h" - % - %/* Declare Device Support Entry Table */ - %struct stringinRecord; - %typedef struct stringindset { - % dset common; /*init_record returns: (-1,0)=>(failure,success)*/ - % long (*read_stringin)(struct stringinRecord *prec); /*returns: (-1,0)=>(failure,success)*/ - %} stringindset; - %#define HAS_stringindset - % - %#include "callback.h" - field(NAME, DBF_STRING) { - special(SPC_NOMOD) - size(61) - prompt("Record Name") - } - field(DESC, DBF_STRING) { - promptgroup("10 - Common") - size(41) - prompt("Descriptor") - } - field(ASG, DBF_STRING) { - promptgroup("10 - Common") - special(SPC_AS) - size(29) - prompt("Access Security Group") - } - field(SCAN, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuScan) - interest(1) - prompt("Scan Mechanism") - } - field(PINI, DBF_MENU) { - promptgroup("20 - Scan") - menu(menuPini) - interest(1) - prompt("Process at iocInit") - } - field(PHAS, DBF_SHORT) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - prompt("Scan Phase") - } - field(EVNT, DBF_STRING) { - promptgroup("20 - Scan") - special(SPC_SCAN) - interest(1) - size(40) - prompt("Event Name") - } - field(TSE, DBF_SHORT) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Event") - } - field(TSEL, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Time Stamp Link") - } - field(DTYP, DBF_DEVICE) { - promptgroup("10 - Common") - interest(1) - prompt("Device Type") - } - field(DISV, DBF_SHORT) { - promptgroup("20 - Scan") - initial("1") - prompt("Disable Value") - } - field(DISA, DBF_SHORT) { - prompt("Disable") - } - field(SDIS, DBF_INLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Scanning Disable") - } - field(MLOK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsMutexId mlok") - interest(4) - prompt("Monitor lock") - } - field(MLIS, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST mlis") - interest(4) - prompt("Monitor List") - } - field(BKLNK, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("ELLLIST bklnk") - interest(4) - prompt("Backwards link tracking") - } - field(DISP, DBF_UCHAR) { - prompt("Disable putField") - } - field(PROC, DBF_UCHAR) { - interest(3) - pp(TRUE) - prompt("Force Processing") - } - field(STAT, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - initial("UDF") - prompt("Alarm Status") - } - field(SEVR, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - prompt("Alarm Severity") - } - field(NSTA, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmStat) - interest(2) - prompt("New Alarm Status") - } - field(NSEV, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("New Alarm Severity") - } - field(ACKS, DBF_MENU) { - special(SPC_NOMOD) - menu(menuAlarmSevr) - interest(2) - prompt("Alarm Ack Severity") - } - field(ACKT, DBF_MENU) { - promptgroup("70 - Alarm") - special(SPC_NOMOD) - menu(menuYesNo) - initial("YES") - interest(2) - prompt("Alarm Ack Transient") - } - field(DISS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - interest(1) - prompt("Disable Alarm Sevrty") - } - field(LCNT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(2) - prompt("Lock Count") - } - field(PACT, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Record active") - } - field(PUTF, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("dbPutField process") - } - field(RPRO, DBF_UCHAR) { - special(SPC_NOMOD) - interest(1) - prompt("Reprocess ") - } - field(ASP, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct asgMember *asp") - interest(4) - prompt("Access Security Pvt") - } - field(PPN, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotify *ppn") - interest(4) - prompt("pprocessNotify") - } - field(PPNR, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct processNotifyRecord *ppnr") - interest(4) - prompt("pprocessNotifyRecord") - } - field(SPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct scan_element *spvt") - interest(4) - prompt("Scan Private") - } - field(RSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct typed_rset *rset") - interest(4) - prompt("Address of RSET") - } - field(DSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("unambiguous_dset *dset") - interest(4) - prompt("DSET address") - } - field(DPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("void *dpvt") - interest(4) - prompt("Device Private") - } - field(RDES, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct dbRecordType *rdes") - interest(4) - prompt("Address of dbRecordType") - } - field(LSET, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("struct lockRecord *lset") - interest(4) - prompt("Lock Set") - } - field(PRIO, DBF_MENU) { - promptgroup("20 - Scan") - special(SPC_SCAN) - menu(menuPriority) - interest(1) - prompt("Scheduling Priority") - } - field(TPRO, DBF_UCHAR) { - prompt("Trace Processing") - } - field(BKPT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsUInt8 bkpt") - interest(1) - prompt("Break Point") - } - field(UDF, DBF_UCHAR) { - promptgroup("10 - Common") - initial("1") - interest(1) - pp(TRUE) - prompt("Undefined") - } - field(UDFS, DBF_MENU) { - promptgroup("70 - Alarm") - menu(menuAlarmSevr) - initial("INVALID") - interest(1) - prompt("Undefined Alarm Sevrty") - } - field(TIME, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsTimeStamp time") - interest(2) - prompt("Time") - } - field(FLNK, DBF_FWDLINK) { - promptgroup("20 - Scan") - interest(1) - prompt("Forward Process Link") - } - field(VAL, DBF_STRING) { - promptgroup("40 - Input") - asl(ASL0) - pp(TRUE) - size(40) - prompt("Current Value") - } - field(OVAL, DBF_STRING) { - special(SPC_NOMOD) - interest(3) - size(40) - prompt("Previous Value") - } - field(INP, DBF_INLINK) { - promptgroup("40 - Input") - interest(1) - prompt("Input Specification") - } - field(MPST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Value Monitors") - } - field(APST, DBF_MENU) { - promptgroup("80 - Display") - menu(stringinPOST) - interest(1) - prompt("Post Archive Monitors") - } - field(SIOL, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Input Link") - } - field(SVAL, DBF_STRING) { - pp(TRUE) - size(40) - prompt("Simulation Value") - } - field(SIML, DBF_INLINK) { - promptgroup("90 - Simulate") - interest(1) - prompt("Simulation Mode Link") - } - field(SIMM, DBF_MENU) { - special(SPC_MOD) - menu(menuYesNo) - interest(1) - prompt("Simulation Mode") - } - field(SIMS, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuAlarmSevr) - interest(2) - prompt("Simulation Mode Severity") - } - field(OLDSIMM, DBF_MENU) { - special(SPC_NOMOD) - menu(menuSimm) - interest(4) - prompt("Prev. Simulation Mode") - } - field(SSCN, DBF_MENU) { - promptgroup("90 - Simulate") - menu(menuScan) - initial("65535") - interest(1) - prompt("Sim. Mode Scan") - } - field(SDLY, DBF_DOUBLE) { - promptgroup("90 - Simulate") - initial("-1.0") - interest(2) - prompt("Sim. Mode Async Delay") - } - field(SIMPVT, DBF_NOACCESS) { - special(SPC_NOMOD) - extra("epicsCallback *simpvt") - interest(4) - prompt("Sim. Mode Private") - } -} -device(stringin, CONSTANT, devSiSoft, "Soft Channel") -device(stringin, CONSTANT, devSiSoftCallback, "Async Soft Channel") -device(stringin, INST_IO, devTimestampSI, "Soft Timestamp") -device(stringin, INST_IO, devSiGeneralTime, "General Time") -device(stringin, INST_IO, devSiEnviron, "getenv") -device(stringin, INST_IO, devStringinStats, "IOC stats") -device(stringin, INST_IO, devStringinEnvVar, "IOC env var") -device(stringin, INST_IO, devStringinEpics, "IOC epics var") -device(stringin, INST_IO, devSysMonSiStats, "sysmon") -device(stringin, INST_IO, asynSiOctetCmdResponse, "asynOctetCmdResponse") -device(stringin, INST_IO, asynSiOctetWriteRead, "asynOctetWriteRead") -device(stringin, INST_IO, asynSiOctetRead, "asynOctetRead") -driver(drvAsyn) -link(state, lnkStateIf) -link(calc, lnkCalcIf) -link(trace, lnkTraceIf) -link(debug, lnkDebugIf) -link(const, lnkConstIf) -registrar(drvAsynSerialPortRegisterCommands) -registrar(drvCodacHeaderRegister) -registrar(tsInitialize) -registrar(syncInitialize) -registrar(dbrestoreRegister) -registrar(iocSetLogLevelRegister) -registrar(save_restoreRegister) -registrar(asynRegister) -registrar(decInitialize) -registrar(iocSetSimEnableRegister) -registrar(drvCodacRedundantPlcRegister) -registrar(asynInterposeFlushRegister) -registrar(drvAsynIPPortRegisterCommands) -registrar(drvBlockTCPRegister) -registrar(asynInterposeEchoRegister) -registrar(arrInitialize) -registrar(asInitHooksRegister) -registrar(drvBlockTCPEventRegister) -registrar(asynInterposeDelayRegister) -registrar(dbndInitialize) -registrar(drvBlockTCPRedundantPlcRegister) -registrar(iocSetLogSyslogRegister) -registrar(drvAsynIPServerPortRegisterCommands) -registrar(configMenuRegistrar) -registrar(asSub) -registrar(iocSetLogStdoutRegister) -registrar(asynInterposeEosRegister) -registrar(rsrvRegistrar) -registrar(iocSetLogInitRegister) -function(scanMon) -function(rebootProc) -function(scanMonInit) -variable(dbTemplateMaxVars, int) -variable(lnkDebug_debug, int) -variable(asCaDebug, int) -variable(callbackParallelThreadsDefault, int) -variable(save_restoreRemountThreshold, int) -variable(dbAccessDebugPUTF, int) -variable(dbRecordsOnceOnly, int) -variable(save_restoreDebug, int) -variable(save_restoreDatedBackupFiles, int) -variable(calcoutODLYlimit, double) -variable(configMenuDebug, int) -variable(save_restoreIncompleteSetsOk, int) -variable(dbBptNotMonotonic, int) -variable(atExitDebug, int) -variable(boHIGHlimit, double) -variable(dbJLinkDebug, int) -variable(dbConvertStrict, int) -variable(seqDLYprecision, int) -variable(logClientDebug, int) -variable(dbQuietMacroWarnings, int) -variable(save_restoreNumSeqFiles, int) -variable(boHIGHprecision, int) -variable(dbRecordsAbcSorted, int) -variable(seqDLYlimit, double) -variable(calcoutODLYprecision, int) -variable(histogramSDELprecision, int) -variable(dbThreadRealtimeLock, int) -variable(CASDEBUG, int) -variable(save_restoreSeqPeriodInSeconds, int) diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/Makefile b/EC-GN-JA-PCF/target/main/epics/iocBoot/Makefile deleted file mode 100644 index 91e47d0..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -TOP = .. -include $(TOP)/configure/CONFIG -DIRS += $(wildcard *ioc*) -DIRS += $(wildcard as*) -include $(CONFIG)/RULES_DIRS - diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/Makefile b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/Makefile deleted file mode 100644 index 79c4ce6..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -TOP = ../.. -include $(TOP)/configure/CONFIG -ARCH = linux-x86_64 -TARGETS = envPaths -include $(TOP)/configure/RULES.ioc diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/dbToLoad.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/dbToLoad.cmd deleted file mode 100755 index e012c40..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/dbToLoad.cmd +++ /dev/null @@ -1,17 +0,0 @@ - -#====================================================================== -# SYS Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("picmg-sensors.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") -#dbLoadRecords("sysmon.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, IOCTYPE=SYSM, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envPaths b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envPaths deleted file mode 100644 index 0202169..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envPaths +++ /dev/null @@ -1,3 +0,0 @@ -epicsEnvSet("IOC","iocEC-GN-PCF0SYSM") -epicsEnvSet("TOP","/mnt/ITER/ferrog/MARTe2Project/GIT/ec-gn-ja-pcf/EC-GN-JA-PCF/target/main/epics") -epicsEnvSet("EPICS_BASE","/opt/codac-6.3/epics") diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envSystem b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envSystem deleted file mode 100755 index 347e683..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envSystem +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## CODAC specific environment variables -############################################################################ - -epicsEnvSet("AUTOSAVE_SYSM_PV_PREFIX","EC-GN-SYSM:PCF0SYSM-") -epicsEnvSet("IOCSH_PS1","${IOC}> ") -epicsEnvSet("STREAM_PROTOCOL_PATH","$(TOP)/db:$(EPICS_ROOT)/db") - diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envUser b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envUser deleted file mode 100644 index 90ddfc7..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/envUser +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################ -## User provided environment variables -############################################################################ - -#epicsEnvSet("EPICS_CA_SERVER_PORT", "5064") -#epicsEnvSet("EPICS_CA_ADDR_LIST", "") -#epicsEnvSet("EPICS_CA_AUTO_ADDR_LIST", "YES") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-postSaveRestore.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-postSaveRestore.cmd deleted file mode 100755 index 864013e..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-postSaveRestore.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Autosave monitor post setup -############################################################################ - -cd "${TOP}/iocBoot/$(IOC)" -create_monitor_set(".req",30,"P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-preSaveRestore.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-preSaveRestore.cmd deleted file mode 100755 index 114fba6..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-preSaveRestore.cmd +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################ -## Save and restore -############################################################################ - -### save_restore setup -# status-PV prefix -save_restoreSet_status_prefix("$(AUTOSAVE_SYSM_PV_PREFIX)") - -# Use status-PV -save_restoreSet_UseStatusPVs(1) - -# Debug-output level -save_restoreSet_Debug(0) - -# Ok to save/restore save sets with missing values (no CA connection to PV)? -save_restoreSet_IncompleteSetsOk(1) -# Save dated backup files? -save_restoreSet_DatedBackupFiles(1) - -# Number of sequenced backup files to write -save_restoreSet_NumSeqFiles(3) -# Time interval between sequenced backups -save_restoreSet_SeqPeriodInSeconds(300) - -# specify where save files should be -set_savefile_path("$(EPICS_AUTOSAVE_VAR)/$(UNIT_NAME)") - -# specify what save files should be restored. Note these files must be -# in the directory specified in set_savefile_path(), or, if that function -# has not been called, from the directory current when iocInit is invoked - -# Save files associated with the request files 'auto-output.req' and -# 'auto-input.req'. These files are the standard way to use autosave - -set_pass1_restoreFile(".sav") - -# specify directories in which to to search for included request files -set_requestfile_path("./") - -dbLoadRecords("$(EPICS_ROOT)/db/save_restoreStatus.db", "P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM.req b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM.req deleted file mode 100755 index e69de29..0000000 diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPostDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPostDriverConf.cmd deleted file mode 100644 index d223981..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPostDriverConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPreDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPreDriverConf.cmd deleted file mode 100644 index 770f841..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddPreDriverConf.cmd +++ /dev/null @@ -1,86 +0,0 @@ -#====================================================================== -# PLC(s) driver configuration commands -#====================================================================== -# level=-1: no output -# level=0: errors only -# level=1: startup messages -# level=2: + output record processing -# level=3: + input record processing -# level=4: + driver calls -# level=5: + io printout -# be careful using level>1 since many messages may introduce delays - -# var s7plcDebug 2 - -# s7plcConfigure name,IPaddr,port,inSize,outSize,bigEndian,recvTimeout,sendIntervall, configversion -# connects to PLC on address port -# : size of data block PLC -> IOC [bytes] -# : size of data block IOC -> PLC [bytes] -# =1 : motorola format data (MSB first) -# =0 : intel format data (LSB first) -# : receive buffer interval [ms] (Default : 50ms) -# : time to wait before sending new data to PLC [ms] -# : database configuration version - -# s7plcConfigureCmd name,IPaddr,port,outSize,bigEndian,sendIntervall -# connects to PLC on address port -# : size of data block IOC -> PLC [bytes] -# =1 : motorola format data (MSB first) -# =0 : intel format data (LSB first) -# : time to wait before sending new data to PLC [ms] - - - -#============================================================================ -# s7plc asyn driver configuration commands -#============================================================================ - -#============================================================================ -# NI-6259 DAQ I/O Module driver configuration commands -#============================================================================ -# Reference: ITER_D_3DEY52 v1.3 - NI PXI-6259 EPICS Driver User’s Guide - -# For analogue input, analogue output, waveform, initialize using below function -# pxi6259_ai_init(uint8 cardnumber, uint32 range, uint32 clk_source, uint32 clk_edge); -# Example: pxi6259_ai_init(0, 1, 0, 0) - -# For binary input, binary output, multi-bit binary input, multi bit binary output, initialize using below function -# pxi6259init(uint8 cardnumber, uint32 portmask0, uint8 portmask1, uint8 portmask2); -# Example: pxi6259_bio_init(0, 0xFF000000, 0xFF, 0xFF) - - -#============================================================================ -# NI-6682 Timing and Synchronization I/O Module driver configuration commands -#============================================================================ -# Reference ITER_D_33Q5TX v1.7 - NI Sync EPICS Driver User’s Guide - -# nisyncDrvInit(string port, char* type, int cardNumber); -# Example: nisyncDrvInit("S0", "PXI-6682", "0"); -# Example: nisyncDrvInit("S0", "PXI-6683H", "0"); -# nisyncTimeInit(int cardID, char* type, int cardNumber); -# Example: nisyncTimeInit("0", "PXI-6682", "0") -# Example: nisyncTimeInit("0", "PXI-6683H", "0") - - -#============================================================================================ -# NI-6368 X Series - Multifunction Data Acquisition I/O Module driver configuration commands -#============================================================================================ -# Reference ITER_D_3P4N3R v1.2 - NI X Series EPICS Driver User’s Guide - -# nixseriesInit(char *portName, char *nix6368Card); -# Example: nixseriesInit("ni6368_0", "/dev/ni6368.0"); - - -#============================================================================ -# NI-6528 DAQ I/O Module driver configuration commands -#============================================================================ -# Reference ITER_D_433VEW - NI PXI-6528 EPICS Driver User's Manual -# ni6528_init(char *portName, char *ni6528Card); -# Example: pxi6528_init("ni6528_0", "/dev/ni6528.0") -# asynSetTraceMask("",0,255) -# Example: asynSetTraceMask("pxi6528_0",0,255) -# pxi6528_reset(char *portName) -# Example: pxi6528_reset("pxi6528_0") - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddSeqToLoad.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddSeqToLoad.cmd deleted file mode 100644 index a23d75a..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/sddSeqToLoad.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided sequence programs to load -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/seqToLoad.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/seqToLoad.cmd deleted file mode 100644 index 30e4bde..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/seqToLoad.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Sequence programs to load -############################################################################ - -## Start any sequence programs -#seq sncxxx,"user=codac-devHost" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/st.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/st.cmd deleted file mode 100755 index 420177c..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/st.cmd +++ /dev/null @@ -1,67 +0,0 @@ -#!../../bin/linux-x86_64/EC-GN -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericBoot/ioc/st.cmd $ -# $Id: st.cmd 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : ITER ioc template EPICS start up file -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -< envPaths -< envSystem -< envUser - -cd "${TOP}" - -############################################################################ -## Register all support components -############################################################################ - -dbLoadDatabase "dbd/EC-GN.dbd" -EC_GN_registerRecordDeviceDriver pdbbase - -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/sddPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/userPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/threadSchedulingConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/dbToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-preSaveRestore.cmd" - -############################################################################ -## IOC Logging -############################################################################ -iocLogInit -iocLogPrefix "${STY} : " - -############################################################################ -## IOC initialization -############################################################################ -cd "${TOP}/db" -iocInit - -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/iocEC-GN-PCF0SYSM-postSaveRestore.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/sddSeqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/seqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/sddPostDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PCF0SYSM/userPostDriverConf.cmd" - - -dbl > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbl" -dbla > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbla" -dbior > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbior" -dbhcr > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbhcr" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/threadSchedulingConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/threadSchedulingConf.cmd deleted file mode 100644 index 29d9b00..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/threadSchedulingConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## Thread scheduling configuration for real-time tuning -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPostDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPostDriverConf.cmd deleted file mode 100644 index 8786feb..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPostDriverConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPreDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPreDriverConf.cmd deleted file mode 100644 index 6c9a40e..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PCF0SYSM/userPreDriverConf.cmd +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver pre configuration -############################################################################ - -# Enable parallel callback threads to improve 'I/O Intr' record scanning -# see https://bugzilla.iter.org/codac/show_bug.cgi?id=10413 -callbackParallelThreads - -callbackSetQueueSize(100000) -scanOnceSetQueueSize(100000) - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/Makefile b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/Makefile deleted file mode 100644 index 79c4ce6..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -TOP = ../.. -include $(TOP)/configure/CONFIG -ARCH = linux-x86_64 -TARGETS = envPaths -include $(TOP)/configure/RULES.ioc diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/dbToLoad.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/dbToLoad.cmd deleted file mode 100755 index ef13828..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/dbToLoad.cmd +++ /dev/null @@ -1,25 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=À)ú, IDX=0, IOCTYPE=CUB, PP=, PPPP=, NNNN=, TTT=") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/envPaths b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/envPaths deleted file mode 100644 index bb3dfe0..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/envPaths +++ /dev/null @@ -1,3 +0,0 @@ -epicsEnvSet("IOC","iocEC-GN-PSH0CUB") -epicsEnvSet("TOP","/mnt/ITER/ferrog/MARTe2Project/GIT/ec-gn-ja-pcf/EC-GN-JA-PCF/target/main/epics") -epicsEnvSet("EPICS_BASE","/opt/codac-6.3/epics") diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/envSystem b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/envSystem deleted file mode 100755 index 39d71cf..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/envSystem +++ /dev/null @@ -1,8 +0,0 @@ -epicsEnvSet("AUTOSAVE_SYSM_PV_PREFIX", "EC-GN-SYSM:PSH0CUB-") -epicsEnvSet("IOCSH_PS1", "${IOC}> ") -epicsEnvSet("STREAM_PROTOCOL_PATH", "$(TOP)/db:$(EPICS_ROOT)/db") -epicsEnvSet("IPPort_priority","0") -epicsEnvSet("IPPort_noAutoConnect", "0") -epicsEnvSet("IPPort_noProcessEos", "0") - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/envUser b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/envUser deleted file mode 100644 index 90ddfc7..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/envUser +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################ -## User provided environment variables -############################################################################ - -#epicsEnvSet("EPICS_CA_SERVER_PORT", "5064") -#epicsEnvSet("EPICS_CA_ADDR_LIST", "") -#epicsEnvSet("EPICS_CA_AUTO_ADDR_LIST", "YES") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-postSaveRestore.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-postSaveRestore.cmd deleted file mode 100755 index 864013e..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-postSaveRestore.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Autosave monitor post setup -############################################################################ - -cd "${TOP}/iocBoot/$(IOC)" -create_monitor_set(".req",30,"P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-preSaveRestore.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-preSaveRestore.cmd deleted file mode 100755 index 114fba6..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-preSaveRestore.cmd +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################ -## Save and restore -############################################################################ - -### save_restore setup -# status-PV prefix -save_restoreSet_status_prefix("$(AUTOSAVE_SYSM_PV_PREFIX)") - -# Use status-PV -save_restoreSet_UseStatusPVs(1) - -# Debug-output level -save_restoreSet_Debug(0) - -# Ok to save/restore save sets with missing values (no CA connection to PV)? -save_restoreSet_IncompleteSetsOk(1) -# Save dated backup files? -save_restoreSet_DatedBackupFiles(1) - -# Number of sequenced backup files to write -save_restoreSet_NumSeqFiles(3) -# Time interval between sequenced backups -save_restoreSet_SeqPeriodInSeconds(300) - -# specify where save files should be -set_savefile_path("$(EPICS_AUTOSAVE_VAR)/$(UNIT_NAME)") - -# specify what save files should be restored. Note these files must be -# in the directory specified in set_savefile_path(), or, if that function -# has not been called, from the directory current when iocInit is invoked - -# Save files associated with the request files 'auto-output.req' and -# 'auto-input.req'. These files are the standard way to use autosave - -set_pass1_restoreFile(".sav") - -# specify directories in which to to search for included request files -set_requestfile_path("./") - -dbLoadRecords("$(EPICS_ROOT)/db/save_restoreStatus.db", "P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPostDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPostDriverConf.cmd deleted file mode 100644 index d223981..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPostDriverConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPreDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPreDriverConf.cmd deleted file mode 100644 index 770f841..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddPreDriverConf.cmd +++ /dev/null @@ -1,86 +0,0 @@ -#====================================================================== -# PLC(s) driver configuration commands -#====================================================================== -# level=-1: no output -# level=0: errors only -# level=1: startup messages -# level=2: + output record processing -# level=3: + input record processing -# level=4: + driver calls -# level=5: + io printout -# be careful using level>1 since many messages may introduce delays - -# var s7plcDebug 2 - -# s7plcConfigure name,IPaddr,port,inSize,outSize,bigEndian,recvTimeout,sendIntervall, configversion -# connects to PLC on address port -# : size of data block PLC -> IOC [bytes] -# : size of data block IOC -> PLC [bytes] -# =1 : motorola format data (MSB first) -# =0 : intel format data (LSB first) -# : receive buffer interval [ms] (Default : 50ms) -# : time to wait before sending new data to PLC [ms] -# : database configuration version - -# s7plcConfigureCmd name,IPaddr,port,outSize,bigEndian,sendIntervall -# connects to PLC on address port -# : size of data block IOC -> PLC [bytes] -# =1 : motorola format data (MSB first) -# =0 : intel format data (LSB first) -# : time to wait before sending new data to PLC [ms] - - - -#============================================================================ -# s7plc asyn driver configuration commands -#============================================================================ - -#============================================================================ -# NI-6259 DAQ I/O Module driver configuration commands -#============================================================================ -# Reference: ITER_D_3DEY52 v1.3 - NI PXI-6259 EPICS Driver User’s Guide - -# For analogue input, analogue output, waveform, initialize using below function -# pxi6259_ai_init(uint8 cardnumber, uint32 range, uint32 clk_source, uint32 clk_edge); -# Example: pxi6259_ai_init(0, 1, 0, 0) - -# For binary input, binary output, multi-bit binary input, multi bit binary output, initialize using below function -# pxi6259init(uint8 cardnumber, uint32 portmask0, uint8 portmask1, uint8 portmask2); -# Example: pxi6259_bio_init(0, 0xFF000000, 0xFF, 0xFF) - - -#============================================================================ -# NI-6682 Timing and Synchronization I/O Module driver configuration commands -#============================================================================ -# Reference ITER_D_33Q5TX v1.7 - NI Sync EPICS Driver User’s Guide - -# nisyncDrvInit(string port, char* type, int cardNumber); -# Example: nisyncDrvInit("S0", "PXI-6682", "0"); -# Example: nisyncDrvInit("S0", "PXI-6683H", "0"); -# nisyncTimeInit(int cardID, char* type, int cardNumber); -# Example: nisyncTimeInit("0", "PXI-6682", "0") -# Example: nisyncTimeInit("0", "PXI-6683H", "0") - - -#============================================================================================ -# NI-6368 X Series - Multifunction Data Acquisition I/O Module driver configuration commands -#============================================================================================ -# Reference ITER_D_3P4N3R v1.2 - NI X Series EPICS Driver User’s Guide - -# nixseriesInit(char *portName, char *nix6368Card); -# Example: nixseriesInit("ni6368_0", "/dev/ni6368.0"); - - -#============================================================================ -# NI-6528 DAQ I/O Module driver configuration commands -#============================================================================ -# Reference ITER_D_433VEW - NI PXI-6528 EPICS Driver User's Manual -# ni6528_init(char *portName, char *ni6528Card); -# Example: pxi6528_init("ni6528_0", "/dev/ni6528.0") -# asynSetTraceMask("",0,255) -# Example: asynSetTraceMask("pxi6528_0",0,255) -# pxi6528_reset(char *portName) -# Example: pxi6528_reset("pxi6528_0") - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddSeqToLoad.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddSeqToLoad.cmd deleted file mode 100644 index a23d75a..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/sddSeqToLoad.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided sequence programs to load -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/seqToLoad.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/seqToLoad.cmd deleted file mode 100644 index 30e4bde..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/seqToLoad.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Sequence programs to load -############################################################################ - -## Start any sequence programs -#seq sncxxx,"user=codac-devHost" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/st.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/st.cmd deleted file mode 100755 index 443faa9..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/st.cmd +++ /dev/null @@ -1,67 +0,0 @@ -#!../../bin/linux-x86_64/EC-GN -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericBoot/ioc/st.cmd $ -# $Id: st.cmd 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : ITER ioc template EPICS start up file -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -< envPaths -< envSystem -< envUser - -cd "${TOP}" - -############################################################################ -## Register all support components -############################################################################ - -dbLoadDatabase "dbd/CUB.dbd" -EC_GN_registerRecordDeviceDriver pdbbase - -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/sddPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/userPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/threadSchedulingConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/dbToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-preSaveRestore.cmd" - -############################################################################ -## IOC Logging -############################################################################ -iocLogInit -iocLogPrefix "${STY} : " - -############################################################################ -## IOC initialization -############################################################################ -cd "${TOP}/db" -iocInit - -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/iocEC-GN-PSH0CUB-postSaveRestore.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/sddSeqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/seqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/sddPostDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0CUB/userPostDriverConf.cmd" - - -dbl > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbl" -dbla > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbla" -dbior > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbior" -dbhcr > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbhcr" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/threadSchedulingConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/threadSchedulingConf.cmd deleted file mode 100644 index 29d9b00..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/threadSchedulingConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## Thread scheduling configuration for real-time tuning -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPostDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPostDriverConf.cmd deleted file mode 100644 index 8786feb..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPostDriverConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPreDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPreDriverConf.cmd deleted file mode 100644 index 6c9a40e..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0CUB/userPreDriverConf.cmd +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver pre configuration -############################################################################ - -# Enable parallel callback threads to improve 'I/O Intr' record scanning -# see https://bugzilla.iter.org/codac/show_bug.cgi?id=10413 -callbackParallelThreads - -callbackSetQueueSize(100000) -scanOnceSetQueueSize(100000) - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/Makefile b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/Makefile deleted file mode 100644 index 79c4ce6..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -TOP = ../.. -include $(TOP)/configure/CONFIG -ARCH = linux-x86_64 -TARGETS = envPaths -include $(TOP)/configure/RULES.ioc diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/dbToLoad.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/dbToLoad.cmd deleted file mode 100755 index 9a1eb6b..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/dbToLoad.cmd +++ /dev/null @@ -1,45 +0,0 @@ -#====================================================================== -# Loading DBs -#====================================================================== -cd $(TOP)/db -dbLoadRecords("PCF0-EC-GN-HWCF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-CCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-FHPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-GCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAF-MCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GAFP-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-CCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-FHPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-GCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBF-MCPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GBFP-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GPF-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-GPS-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PA1F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PA2F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PB1F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PB2F-iocEC-GN-PSH0PCF.db") -dbLoadRecords("PCF0-EC-GN-P01-PMF-iocEC-GN-PSH0PCF.db") - - -#====================================================================== -# Loading Substitution Files -#====================================================================== -cd $(TOP)/iocBoot/$(IOC) - - -#====================================================================== -# PLC Communication Monitoring PVs DB Loading -#====================================================================== -cd $(EPICS_ROOT)/db - - -#====================================================================== -# IOC Monitor -#====================================================================== -cd $(EPICS_ROOT)/db -#dbLoadRecords("iocmon.db","CBS=EC-GN-SYSM, CTRLTYPE=F, IDX=0, IOCTYPE=CORE, PP=01, PPPP=52RF, NNNN=4210, TTT=PCF") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/envPaths b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/envPaths deleted file mode 100644 index 8a3ebab..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/envPaths +++ /dev/null @@ -1,3 +0,0 @@ -epicsEnvSet("IOC","iocEC-GN-PSH0PCF") -epicsEnvSet("TOP","/mnt/ITER/ferrog/MARTe2Project/GIT/ec-gn-ja-pcf/EC-GN-JA-PCF/target/main/epics") -epicsEnvSet("EPICS_BASE","/opt/codac-6.3/epics") diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/envSystem b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/envSystem deleted file mode 100755 index 5dc56ee..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/envSystem +++ /dev/null @@ -1,10 +0,0 @@ -############################################################################ -## CODAC specific environment variables -############################################################################ - -epicsEnvSet("AUTOSAVE_SYSM_PV_PREFIX","EC-GN-SYSM:PCF0CORE-") -epicsEnvSet("IOCSH_PS1","${IOC}> ") -epicsEnvSet("STREAM_PROTOCOL_PATH","$(TOP)/db:$(EPICS_ROOT)/db") - - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/envUser b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/envUser deleted file mode 100644 index 90ddfc7..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/envUser +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################ -## User provided environment variables -############################################################################ - -#epicsEnvSet("EPICS_CA_SERVER_PORT", "5064") -#epicsEnvSet("EPICS_CA_ADDR_LIST", "") -#epicsEnvSet("EPICS_CA_AUTO_ADDR_LIST", "YES") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-postSaveRestore.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-postSaveRestore.cmd deleted file mode 100755 index d5356be..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-postSaveRestore.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Autosave monitor post setup -############################################################################ - -cd "${TOP}/iocBoot/$(IOC)" -create_monitor_set("iocEC-GN-PSH0PCF.req",30,"P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-preSaveRestore.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-preSaveRestore.cmd deleted file mode 100755 index bb00d97..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-preSaveRestore.cmd +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################ -## Save and restore -############################################################################ - -### save_restore setup -# status-PV prefix -save_restoreSet_status_prefix("$(AUTOSAVE_SYSM_PV_PREFIX)") - -# Use status-PV -save_restoreSet_UseStatusPVs(1) - -# Debug-output level -save_restoreSet_Debug(0) - -# Ok to save/restore save sets with missing values (no CA connection to PV)? -save_restoreSet_IncompleteSetsOk(1) -# Save dated backup files? -save_restoreSet_DatedBackupFiles(1) - -# Number of sequenced backup files to write -save_restoreSet_NumSeqFiles(3) -# Time interval between sequenced backups -save_restoreSet_SeqPeriodInSeconds(300) - -# specify where save files should be -set_savefile_path("$(EPICS_AUTOSAVE_VAR)/$(UNIT_NAME)") - -# specify what save files should be restored. Note these files must be -# in the directory specified in set_savefile_path(), or, if that function -# has not been called, from the directory current when iocInit is invoked - -# Save files associated with the request files 'auto-output.req' and -# 'auto-input.req'. These files are the standard way to use autosave - -set_pass1_restoreFile("iocEC-GN-PSH0PCF.sav") - -# specify directories in which to to search for included request files -set_requestfile_path("./") - -dbLoadRecords("$(EPICS_ROOT)/db/save_restoreStatus.db", "P=$(AUTOSAVE_SYSM_PV_PREFIX)") - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF.req b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF.req deleted file mode 100755 index e69de29..0000000 diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPostDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPostDriverConf.cmd deleted file mode 100755 index 2340b6e..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPostDriverConf.cmd +++ /dev/null @@ -1,2 +0,0 @@ - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPreDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPreDriverConf.cmd deleted file mode 100755 index 2340b6e..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddPreDriverConf.cmd +++ /dev/null @@ -1,2 +0,0 @@ - -#- End-of-file marker - do not delete or add lines below! \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddSeqToLoad.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddSeqToLoad.cmd deleted file mode 100644 index a23d75a..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/sddSeqToLoad.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## SDD provided sequence programs to load -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/seqToLoad.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/seqToLoad.cmd deleted file mode 100644 index 30e4bde..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/seqToLoad.cmd +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################ -## Sequence programs to load -############################################################################ - -## Start any sequence programs -#seq sncxxx,"user=codac-devHost" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/st.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/st.cmd deleted file mode 100755 index 60517bb..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/st.cmd +++ /dev/null @@ -1,67 +0,0 @@ -#!../../bin/linux-x86_64/EC-GN -#+====================================================================== -# $HeadURL: https://svnpub.codac.iter.org/codac/iter/codac/dev/units/m-epics-iter-templates/branches/codac-core-6.1/templates/genericBoot/ioc/st.cmd $ -# $Id: st.cmd 96475 2019-01-09 13:47:38Z sivecm $ -# -# Project : CODAC Core System -# -# Description : ITER ioc template EPICS start up file -# -# Author(s) : This file was generated by CODAC development toolkit -# -# Copyright (c) : 2010-2019 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -< envPaths -< envSystem -< envUser - -cd "${TOP}" - -############################################################################ -## Register all support components -############################################################################ - -dbLoadDatabase "dbd/EC-GN.dbd" -EC_GN_registerRecordDeviceDriver pdbbase - -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/sddPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/userPreDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/threadSchedulingConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/dbToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-preSaveRestore.cmd" - -############################################################################ -## IOC Logging -############################################################################ -iocLogInit -iocLogPrefix "${STY} : " - -############################################################################ -## IOC initialization -############################################################################ -cd "${TOP}/db" -iocInit - -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/iocEC-GN-PSH0PCF-postSaveRestore.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/sddSeqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/seqToLoad.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/sddPostDriverConf.cmd" -< "${TOP}/iocBoot/iocEC-GN-PSH0PCF/userPostDriverConf.cmd" - - -dbl > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbl" -dbla > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbla" -dbior > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbior" -dbhcr > "${CODAC_VAR}/iocdump/${UNIT_NAME}/${IOC_NAME}-${IOC_BOOT_TIME}.dbhcr" - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/threadSchedulingConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/threadSchedulingConf.cmd deleted file mode 100644 index 29d9b00..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/threadSchedulingConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## Thread scheduling configuration for real-time tuning -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPostDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPostDriverConf.cmd deleted file mode 100644 index 8786feb..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPostDriverConf.cmd +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver post configuration -############################################################################ - - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPreDriverConf.cmd b/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPreDriverConf.cmd deleted file mode 100644 index 6c9a40e..0000000 --- a/EC-GN-JA-PCF/target/main/epics/iocBoot/iocEC-GN-PSH0PCF/userPreDriverConf.cmd +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################ -## User provided PLC or fast controller driver pre configuration -############################################################################ - -# Enable parallel callback threads to improve 'I/O Intr' record scanning -# see https://bugzilla.iter.org/codac/show_bug.cgi?id=10413 -callbackParallelThreads - -callbackSetQueueSize(100000) -scanOnceSetQueueSize(100000) - -#- End-of-file marker - do not delete or add lines below! diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/.gitignore b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/.gitignore deleted file mode 100644 index 5eba449..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -Build/ - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s.csv deleted file mode 100644 index 98fb573..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s.csv +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,9,9,9,9 -20,50,35,8,8,8,8 -30,45,30,7,7,7,7 -40,40,25,6,6,6,6 -50,35,20,5,5,5,5 -60,30,15,4,4,4,4 -70,25,10,3,3,3,3 -80,20,5,2,2,2,2 -90,15,0,1,1,1,1 -100,10,-5,0,0,0,0 -110,5,0,1,1,1,1 -120,0,5,2,2,2,2 -130,-5,10,3,3,3,3 -140,0,15,4,4,4,4 -150,5,20,5,5,5,5 -160,10,25,6,6,6,6 -170,15,30,7,7,7,7 -180,20,35,8,8,8,8 -190,25,40,9,9,9,9 -200,30,45,10,10,10,10 -210,35,40,11,9,9,9 -220,40,35,12,8,8,8 -230,45,30,11,7,7,7 -240,50,25,10,6,6,6 -250,55,20,9,5,5,5 -260,60,15,8,4,4,4 -270,55,10,7,3,3,3 -280,50,5,6,2,2,2 -290,45,0,5,1,1,1 -300,40,-5,4,0,0,0 -310,35,0,3,1,1,1 -320,30,5,2,2,2,2 -330,25,10,1,3,3,3 -340,20,15,0,4,4,4 -350,15,20,1,5,5,5 -360,10,25,2,6,6,6 -370,5,30,3,7,7,7 -380,0,35,4,8,8,8 -390,-5,40,5,9,9,9 -400,0,45,6,10,10,10 -410,5,40,7,9,9,9 -420,10,35,8,8,8,8 -430,15,30,9,7,7,7 -440,20,25,10,6,6,6 -450,25,20,11,5,5,5 -460,30,15,12,4,4,4 -470,35,10,11,3,3,3 -480,40,5,10,2,2,2 -490,45,0,9,1,1,1 -500,50,-5,8,0,0,0 -510,55,0,7,1,1,1 -520,60,5,6,2,2,2 -530,55,10,5,3,3,3 -540,50,15,4,4,4,4 -550,45,20,3,5,5,5 -560,40,25,2,6,6,6 -570,35,30,1,7,7,7 -580,30,35,0,8,8,8 -590,25,40,1,9,9,9 -600,20,45,2,10,10,10 -610,15,40,3,9,9,9 -620,10,35,4,8,8,8 -630,5,30,5,7,7,7 -640,0,25,6,6,6,6 -650,-5,20,7,5,5,5 -660,0,15,8,4,4,4 -670,5,10,9,3,3,3 -680,10,5,10,2,2,2 -690,15,0,11,1,1,1 -700,20,-5,12,0,0,0 -710,25,0,11,1,1,1 -720,30,5,10,2,2,2 -730,35,10,9,3,3,3 -740,40,15,8,4,4,4 -750,45,20,7,5,5,5 -760,50,25,6,6,6,6 -770,55,30,5,7,7,7 -780,60,35,4,8,8,8 -790,55,40,3,9,9,9 -800,50,45,2,10,10,10 -810,45,40,1,9,9,9 -820,40,35,0,8,8,8 -830,35,30,1,7,7,7 -840,30,25,2,6,6,6 -850,25,20,3,5,5,5 -860,20,15,4,4,4,4 -870,15,10,5,3,3,3 -880,10,5,6,2,2,2 -890,5,0,7,1,1,1 -900,0,-5,8,0,0,0 -910,-5,0,9,1,1,1 -920,0,5,10,2,2,2 -930,5,10,11,3,3,3 -940,10,15,12,4,4,4 -950,15,20,11,5,5,5 -960,20,25,10,6,6,6 -970,25,30,9,7,7,7 -980,30,35,8,8,8,8 -990,35,40,7,9,9,9 -1000,40,45,6,10,10,10 -1010,30,20,10,10,10,10 -1020,30,20,10,10,10,10 -1030,30,20,10,10,10,10 -1040,30,20,10,10,10,10 -1050,30,20,10,10,10,10 -1060,30,20,10,10,10,10 -1070,30,20,10,10,10,10 -1080,30,20,10,10,10,10 -1090,30,20,10,10,10,10 -1100,30,20,10,10,10,10 -1110,30,20,10,10,10,10 -1120,30,20,10,10,10,10 -1130,30,20,10,10,10,10 -1140,30,20,10,10,10,10 -1150,30,20,10,10,10,10 -1160,30,20,10,10,10,10 -1170,30,20,10,10,10,10 -1180,30,20,10,10,10,10 -1190,30,20,10,10,10,10 -1200,30,20,10,10,10,10 -1210,30,20,10,10,10,10 -1220,30,20,10,10,10,10 -1230,30,20,10,10,10,10 -1240,30,20,10,10,10,10 -1250,30,20,10,10,10,10 -1260,30,20,10,10,10,10 -1270,30,20,10,10,10,10 -1280,30,20,10,10,10,10 -1290,30,20,10,10,10,10 -1300,30,20,10,10,10,10 -1310,30,20,10,10,10,10 -1320,30,20,10,10,10,10 -1330,30,20,10,10,10,10 -1340,30,20,10,10,10,10 -1350,30,20,10,10,10,10 -1360,30,20,10,10,10,10 -1370,30,20,10,10,10,10 -1380,30,20,10,10,10,10 -1390,30,20,10,10,10,10 -1400,30,20,10,10,10,10 -1410,30,20,10,10,10,10 -1420,30,20,10,10,10,10 -1430,30,20,10,10,10,10 -1440,30,20,10,10,10,10 -1450,30,20,10,10,10,10 -1460,30,20,10,10,10,10 -1470,30,20,10,10,10,10 -1480,30,20,10,10,10,10 -1490,30,20,10,10,10,10 -1500,30,20,10,10,10,10 -1510,30,20,10,10,10,10 -1520,30,20,10,10,10,10 -1530,30,20,10,10,10,10 -1540,30,20,10,10,10,10 -1550,30,20,10,10,10,10 -1560,30,20,10,10,10,10 -1570,30,20,10,10,10,10 -1580,30,20,10,10,10,10 -1590,30,20,10,10,10,10 -1600,30,20,10,10,10,10 -1610,30,20,10,10,10,10 -1620,30,20,10,10,10,10 -1630,30,20,10,10,10,10 -1640,30,20,10,10,10,10 -1650,30,20,10,10,10,10 -1660,30,20,10,10,10,10 -1670,30,20,10,10,10,10 -1680,30,20,10,10,10,10 -1690,30,20,10,10,10,10 -1700,30,20,10,10,10,10 -1710,30,20,10,10,10,10 -1720,30,20,10,10,10,10 -1730,30,20,10,10,10,10 -1740,30,20,10,10,10,10 -1750,30,20,10,10,10,10 -1760,30,20,10,10,10,10 -1770,30,20,10,10,10,10 -1780,30,20,10,10,10,10 -1790,30,20,10,10,10,10 -1800,30,20,10,10,10,10 -1810,30,20,10,10,10,10 -1820,30,20,10,10,10,10 -1830,30,20,10,10,10,10 -1840,30,20,10,10,10,10 -1850,30,20,10,10,10,10 -1860,30,20,10,10,10,10 -1870,30,20,10,10,10,10 -1880,30,20,10,10,10,10 -1890,30,20,10,10,10,10 -1900,30,20,10,10,10,10 -1910,30,20,10,10,10,10 -1920,30,20,10,10,10,10 -1930,30,20,10,10,10,10 -1940,30,20,10,10,10,10 -1950,30,20,10,10,10,10 -1960,30,20,10,10,10,10 -1970,30,20,10,10,10,10 -1980,30,20,10,10,10,10 -1990,30,20,10,10,10,10 -2000,30,20,10,10,10,10 -2010,30,20,10,10,10,10 -2020,30,20,10,10,10,10 -2030,30,20,10,10,10,10 -2040,30,20,10,10,10,10 -2050,30,20,10,10,10,10 -2060,30,20,10,10,10,10 -2070,30,20,10,10,10,10 -2080,30,20,10,10,10,10 -2090,30,20,10,10,10,10 -2100,30,20,10,10,10,10 -2110,30,20,10,10,10,10 -2120,30,20,10,10,10,10 -2130,30,20,10,10,10,10 -2140,30,20,10,10,10,10 -2150,30,20,10,10,10,10 -2160,30,20,10,10,10,10 -2170,30,20,10,10,10,10 -2180,30,20,10,10,10,10 -2190,30,20,10,10,10,10 -2200,30,20,10,10,10,10 -2210,30,20,10,10,10,10 -2220,30,20,10,10,10,10 -2230,30,20,10,10,10,10 -2240,30,20,10,10,10,10 -2250,30,20,10,10,10,10 -2260,30,20,10,10,10,10 -2270,30,20,10,10,10,10 -2280,30,20,10,10,10,10 -2290,30,20,10,10,10,10 -2300,30,20,10,10,10,10 -2310,30,20,10,10,10,10 -2320,30,20,10,10,10,10 -2330,30,20,10,10,10,10 -2340,30,20,10,10,10,10 -2350,30,20,10,10,10,10 -2360,30,20,10,10,10,10 -2370,30,20,10,10,10,10 -2380,30,20,10,10,10,10 -2390,30,20,10,10,10,10 -2400,30,20,10,10,10,10 -2410,30,20,10,10,10,10 -2420,30,20,10,10,10,10 -2430,30,20,10,10,10,10 -2440,30,20,10,10,10,10 -2450,30,20,10,10,10,10 -2460,30,20,10,10,10,10 -2470,30,20,10,10,10,10 -2480,30,20,10,10,10,10 -2490,30,20,10,10,10,10 -2500,30,20,10,10,10,10 -2510,30,20,10,10,10,10 -2520,30,20,10,10,10,10 -2530,30,20,10,10,10,10 -2540,30,20,10,10,10,10 -2550,30,20,10,10,10,10 -2560,30,20,10,10,10,10 -2570,30,20,10,10,10,10 -2580,30,20,10,10,10,10 -2590,30,20,10,10,10,10 -2600,30,20,10,10,10,10 -2610,30,20,10,10,10,10 -2620,30,20,10,10,10,10 -2630,30,20,10,10,10,10 -2640,30,20,10,10,10,10 -2650,30,20,10,10,10,10 -2660,30,20,10,10,10,10 -2670,30,20,10,10,10,10 -2680,30,20,10,10,10,10 -2690,30,20,10,10,10,10 -2700,30,20,10,10,10,10 -2710,30,20,10,10,10,10 -2720,30,20,10,10,10,10 -2730,30,20,10,10,10,10 -2740,30,20,10,10,10,10 -2750,30,20,10,10,10,10 -2760,30,20,10,10,10,10 -2770,30,20,10,10,10,10 -2780,30,20,10,10,10,10 -2790,30,20,10,10,10,10 -2800,30,20,10,10,10,10 -2810,30,20,10,10,10,10 -2820,30,20,10,10,10,10 -2830,30,20,10,10,10,10 -2840,30,20,10,10,10,10 -2850,30,20,10,10,10,10 -2860,30,20,10,10,10,10 -2870,30,20,10,10,10,10 -2880,30,20,10,10,10,10 -2890,30,20,10,10,10,10 -2900,30,20,10,10,10,10 -2910,30,20,10,10,10,10 -2920,30,20,10,10,10,10 -2930,30,20,10,10,10,10 -2940,30,20,10,10,10,10 -2950,30,20,10,10,10,10 -2960,30,20,10,10,10,10 -2970,30,20,10,10,10,10 -2980,30,20,10,10,10,10 -2990,30,20,10,10,10,10 -3000,30,20,10,10,10,10 -3010,30,20,10,10,10,10 -3020,30,20,10,10,10,10 -3030,30,20,10,10,10,10 -3040,30,20,10,10,10,10 -3050,30,20,10,10,10,10 -3060,30,20,10,10,10,10 -3070,30,20,10,10,10,10 -3080,30,20,10,10,10,10 -3090,30,20,10,10,10,10 -3100,30,20,10,10,10,10 -3110,30,20,10,10,10,10 -3120,30,20,10,10,10,10 -3130,30,20,10,10,10,10 -3140,30,20,10,10,10,10 -3150,30,20,10,10,10,10 -3160,30,20,10,10,10,10 -3170,30,20,10,10,10,10 -3180,30,20,10,10,10,10 -3190,30,20,10,10,10,10 -3200,30,20,10,10,10,10 -3210,30,20,10,10,10,10 -3220,30,20,10,10,10,10 -3230,30,20,10,10,10,10 -3240,30,20,10,10,10,10 -3250,30,20,10,10,10,10 -3260,30,20,10,10,10,10 -3270,30,20,10,10,10,10 -3280,30,20,10,10,10,10 -3290,30,20,10,10,10,10 -3300,30,20,10,10,10,10 -3310,30,20,10,10,10,10 -3320,30,20,10,10,10,10 -3330,30,20,10,10,10,10 -3340,30,20,10,10,10,10 -3350,30,20,10,10,10,10 -3360,30,20,10,10,10,10 -3370,30,20,10,10,10,10 -3380,30,20,10,10,10,10 -3390,30,20,10,10,10,10 -3400,30,20,10,10,10,10 -3410,30,20,10,10,10,10 -3420,30,20,10,10,10,10 -3430,30,20,10,10,10,10 -3440,30,20,10,10,10,10 -3450,30,20,10,10,10,10 -3460,30,20,10,10,10,10 -3470,30,20,10,10,10,10 -3480,30,20,10,10,10,10 -3490,30,20,10,10,10,10 -3500,30,20,10,10,10,10 -3510,30,20,10,10,10,10 -3520,30,20,10,10,10,10 -3530,30,20,10,10,10,10 -3540,30,20,10,10,10,10 -3550,30,20,10,10,10,10 -3560,30,20,10,10,10,10 -3570,30,20,10,10,10,10 -3580,30,20,10,10,10,10 -3590,30,20,10,10,10,10 -3600,30,20,10,10,10,10 -3610,30,20,10,10,10,10 -3620,30,20,10,10,10,10 -3630,30,20,10,10,10,10 -3640,30,20,10,10,10,10 -3650,30,20,10,10,10,10 -3660,30,20,10,10,10,10 -3670,30,20,10,10,10,10 -3680,30,20,10,10,10,10 -3690,30,20,10,10,10,10 -3700,30,20,10,10,10,10 -3710,30,20,10,10,10,10 -3720,30,20,10,10,10,10 -3730,30,20,10,10,10,10 -3740,30,20,10,10,10,10 -3750,30,20,10,10,10,10 -3760,30,20,10,10,10,10 -3770,30,20,10,10,10,10 -3780,30,20,10,10,10,10 -3790,30,20,10,10,10,10 -3800,30,20,10,10,10,10 -3810,30,20,10,10,10,10 -3820,30,20,10,10,10,10 -3830,30,20,10,10,10,10 -3840,30,20,10,10,10,10 -3850,30,20,10,10,10,10 -3860,30,20,10,10,10,10 -3870,30,20,10,10,10,10 -3880,30,20,10,10,10,10 -3890,30,20,10,10,10,10 -3900,30,20,10,10,10,10 -3910,30,20,10,10,10,10 -3920,30,20,10,10,10,10 -3930,30,20,10,10,10,10 -3940,30,20,10,10,10,10 -3950,30,20,10,10,10,10 -3960,30,20,10,10,10,10 -3970,30,20,10,10,10,10 -3980,30,20,10,10,10,10 -3990,30,20,10,10,10,10 -4000,30,20,10,10,10,10 -4010,30,20,10,10,10,10 -4020,30,20,10,10,10,10 -4030,30,20,10,10,10,10 -4040,30,20,10,10,10,10 -4050,30,20,10,10,10,10 -4060,30,20,10,10,10,10 -4070,30,20,10,10,10,10 -4080,30,20,10,10,10,10 -4090,30,20,10,10,10,10 -4100,30,20,10,10,10,10 -4110,30,20,10,10,10,10 -4120,30,20,10,10,10,10 -4130,30,20,10,10,10,10 -4140,30,20,10,10,10,10 -4150,30,20,10,10,10,10 -4160,30,20,10,10,10,10 -4170,30,20,10,10,10,10 -4180,30,20,10,10,10,10 -4190,30,20,10,10,10,10 -4200,30,20,10,10,10,10 -4210,30,20,10,10,10,10 -4220,30,20,10,10,10,10 -4230,30,20,10,10,10,10 -4240,30,20,10,10,10,10 -4250,30,20,10,10,10,10 -4260,30,20,10,10,10,10 -4270,30,20,10,10,10,10 -4280,30,20,10,10,10,10 -4290,30,20,10,10,10,10 -4300,30,20,10,10,10,10 -4310,30,20,10,10,10,10 -4320,30,20,10,10,10,10 -4330,30,20,10,10,10,10 -4340,30,20,10,10,10,10 -4350,30,20,10,10,10,10 -4360,30,20,10,10,10,10 -4370,30,20,10,10,10,10 -4380,30,20,10,10,10,10 -4390,30,20,10,10,10,10 -4400,30,20,10,10,10,10 -4410,30,20,10,10,10,10 -4420,30,20,10,10,10,10 -4430,30,20,10,10,10,10 -4440,30,20,10,10,10,10 -4450,30,20,10,10,10,10 -4460,30,20,10,10,10,10 -4470,30,20,10,10,10,10 -4480,30,20,10,10,10,10 -4490,30,20,10,10,10,10 -4500,30,20,10,10,10,10 -4510,30,20,10,10,10,10 -4520,30,20,10,10,10,10 -4530,30,20,10,10,10,10 -4540,30,20,10,10,10,10 -4550,30,20,10,10,10,10 -4560,30,20,10,10,10,10 -4570,30,20,10,10,10,10 -4580,30,20,10,10,10,10 -4590,30,20,10,10,10,10 -4600,30,20,10,10,10,10 -4610,30,20,10,10,10,10 -4620,30,20,10,10,10,10 -4630,30,20,10,10,10,10 -4640,30,20,10,10,10,10 -4650,30,20,10,10,10,10 -4660,30,20,10,10,10,10 -4670,30,20,10,10,10,10 -4680,30,20,10,10,10,10 -4690,30,20,10,10,10,10 -4700,30,20,10,10,10,10 -4710,30,20,10,10,10,10 -4720,30,20,10,10,10,10 -4730,30,20,10,10,10,10 -4740,30,20,10,10,10,10 -4750,30,20,10,10,10,10 -4760,30,20,10,10,10,10 -4770,30,20,10,10,10,10 -4780,30,20,10,10,10,10 -4790,30,20,10,10,10,10 -4800,30,20,10,10,10,10 -4810,30,20,10,10,10,10 -4820,30,20,10,10,10,10 -4830,30,20,10,10,10,10 -4840,30,20,10,10,10,10 -4850,30,20,10,10,10,10 -4860,30,20,10,10,10,10 -4870,30,20,10,10,10,10 -4880,30,20,10,10,10,10 -4890,30,20,10,10,10,10 -4900,30,20,10,10,10,10 -4910,30,20,10,10,10,10 -4920,30,20,10,10,10,10 -4930,30,20,10,10,10,10 -4940,30,20,10,10,10,10 -4950,30,20,10,10,10,10 -4960,30,20,10,10,10,10 -4970,30,20,10,10,10,10 -4980,30,20,10,10,10,10 -4990,30,20,10,10,10,10 -5000,30,20,10,10,10,10 -5010,30,20,10,10,10,10 -5020,30,20,10,10,10,10 -5030,30,20,10,10,10,10 -5040,30,20,10,10,10,10 -5050,30,20,10,10,10,10 -5060,30,20,10,10,10,10 -5070,30,20,10,10,10,10 -5080,30,20,10,10,10,10 -5090,30,20,10,10,10,10 -5100,30,20,10,10,10,10 -5110,30,20,10,10,10,10 -5120,30,20,10,10,10,10 -5130,30,20,10,10,10,10 -5140,30,20,10,10,10,10 -5150,30,20,10,10,10,10 -5160,30,20,10,10,10,10 -5170,30,20,10,10,10,10 -5180,30,20,10,10,10,10 -5190,30,20,10,10,10,10 -5200,30,20,10,10,10,10 -5210,30,20,10,10,10,10 -5220,30,20,10,10,10,10 -5230,30,20,10,10,10,10 -5240,30,20,10,10,10,10 -5250,30,20,10,10,10,10 -5260,30,20,10,10,10,10 -5270,30,20,10,10,10,10 -5280,30,20,10,10,10,10 -5290,30,20,10,10,10,10 -5300,30,20,10,10,10,10 -5310,30,20,10,10,10,10 -5320,30,20,10,10,10,10 -5330,30,20,10,10,10,10 -5340,30,20,10,10,10,10 -5350,30,20,10,10,10,10 -5360,30,20,10,10,10,10 -5370,30,20,10,10,10,10 -5380,30,20,10,10,10,10 -5390,30,20,10,10,10,10 -5400,30,20,10,10,10,10 -5410,30,20,10,10,10,10 -5420,30,20,10,10,10,10 -5430,30,20,10,10,10,10 -5440,30,20,10,10,10,10 -5450,30,20,10,10,10,10 -5460,30,20,10,10,10,10 -5470,30,20,10,10,10,10 -5480,30,20,10,10,10,10 -5490,30,20,10,10,10,10 -5500,30,20,10,10,10,10 -5510,30,20,10,10,10,10 -5520,30,20,10,10,10,10 -5530,30,20,10,10,10,10 -5540,30,20,10,10,10,10 -5550,30,20,10,10,10,10 -5560,30,20,10,10,10,10 -5570,30,20,10,10,10,10 -5580,30,20,10,10,10,10 -5590,30,20,10,10,10,10 -5600,30,20,10,10,10,10 -5610,30,20,10,10,10,10 -5620,30,20,10,10,10,10 -5630,30,20,10,10,10,10 -5640,30,20,10,10,10,10 -5650,30,20,10,10,10,10 -5660,30,20,10,10,10,10 -5670,30,20,10,10,10,10 -5680,30,20,10,10,10,10 -5690,30,20,10,10,10,10 -5700,30,20,10,10,10,10 -5710,30,20,10,10,10,10 -5720,30,20,10,10,10,10 -5730,30,20,10,10,10,10 -5740,30,20,10,10,10,10 -5750,30,20,10,10,10,10 -5760,30,20,10,10,10,10 -5770,30,20,10,10,10,10 -5780,30,20,10,10,10,10 -5790,30,20,10,10,10,10 -5800,30,20,10,10,10,10 -5810,30,20,10,10,10,10 -5820,30,20,10,10,10,10 -5830,30,20,10,10,10,10 -5840,30,20,10,10,10,10 -5850,30,20,10,10,10,10 -5860,30,20,10,10,10,10 -5870,30,20,10,10,10,10 -5880,30,20,10,10,10,10 -5890,30,20,10,10,10,10 -5900,30,20,10,10,10,10 -5910,30,20,10,10,10,10 -5920,30,20,10,10,10,10 -5930,30,20,10,10,10,10 -5940,30,20,10,10,10,10 -5950,30,20,10,10,10,10 -5960,30,20,10,10,10,10 -5970,30,20,10,10,10,10 -5980,30,20,10,10,10,10 -5990,30,20,10,10,10,10 -6000,30,20,10,10,10,10 -6010,30,20,10,10,10,10 -6020,30,20,10,10,10,10 -6030,30,20,10,10,10,10 -6040,30,20,10,10,10,10 -6050,30,20,10,10,10,10 -6060,30,20,10,10,10,10 -6070,30,20,10,10,10,10 -6080,30,20,10,10,10,10 -6090,30,20,10,10,10,10 -6100,30,20,10,10,10,10 -6110,30,20,10,10,10,10 -6120,30,20,10,10,10,10 -6130,30,20,10,10,10,10 -6140,30,20,10,10,10,10 -6150,30,20,10,10,10,10 -6160,30,20,10,10,10,10 -6170,30,20,10,10,10,10 -6180,30,20,10,10,10,10 -6190,30,20,10,10,10,10 -6200,30,20,10,10,10,10 -6210,30,20,10,10,10,10 -6220,30,20,10,10,10,10 -6230,30,20,10,10,10,10 -6240,30,20,10,10,10,10 -6250,30,20,10,10,10,10 -6260,30,20,10,10,10,10 -6270,30,20,10,10,10,10 -6280,30,20,10,10,10,10 -6290,30,20,10,10,10,10 -6300,30,20,10,10,10,10 -6310,30,20,10,10,10,10 -6320,30,20,10,10,10,10 -6330,30,20,10,10,10,10 -6340,30,20,10,10,10,10 -6350,30,20,10,10,10,10 -6360,30,20,10,10,10,10 -6370,30,20,10,10,10,10 -6380,30,20,10,10,10,10 -6390,30,20,10,10,10,10 -6400,30,20,10,10,10,10 -6410,30,20,10,10,10,10 -6420,30,20,10,10,10,10 -6430,30,20,10,10,10,10 -6440,30,20,10,10,10,10 -6450,30,20,10,10,10,10 -6460,30,20,10,10,10,10 -6470,30,20,10,10,10,10 -6480,30,20,10,10,10,10 -6490,30,20,10,10,10,10 -6500,30,20,10,10,10,10 -6510,30,20,10,10,10,10 -6520,30,20,10,10,10,10 -6530,30,20,10,10,10,10 -6540,30,20,10,10,10,10 -6550,30,20,10,10,10,10 -6560,30,20,10,10,10,10 -6570,30,20,10,10,10,10 -6580,30,20,10,10,10,10 -6590,30,20,10,10,10,10 -6600,30,20,10,10,10,10 -6610,30,20,10,10,10,10 -6620,30,20,10,10,10,10 -6630,30,20,10,10,10,10 -6640,30,20,10,10,10,10 -6650,30,20,10,10,10,10 -6660,30,20,10,10,10,10 -6670,30,20,10,10,10,10 -6680,30,20,10,10,10,10 -6690,30,20,10,10,10,10 -6700,30,20,10,10,10,10 -6710,30,20,10,10,10,10 -6720,30,20,10,10,10,10 -6730,30,20,10,10,10,10 -6740,30,20,10,10,10,10 -6750,30,20,10,10,10,10 -6760,30,20,10,10,10,10 -6770,30,20,10,10,10,10 -6780,30,20,10,10,10,10 -6790,30,20,10,10,10,10 -6800,30,20,10,10,10,10 -6810,30,20,10,10,10,10 -6820,30,20,10,10,10,10 -6830,30,20,10,10,10,10 -6840,30,20,10,10,10,10 -6850,30,20,10,10,10,10 -6860,30,20,10,10,10,10 -6870,30,20,10,10,10,10 -6880,30,20,10,10,10,10 -6890,30,20,10,10,10,10 -6900,30,20,10,10,10,10 -6910,30,20,10,10,10,10 -6920,30,20,10,10,10,10 -6930,30,20,10,10,10,10 -6940,30,20,10,10,10,10 -6950,30,20,10,10,10,10 -6960,30,20,10,10,10,10 -6970,30,20,10,10,10,10 -6980,30,20,10,10,10,10 -6990,30,20,10,10,10,10 -7000,30,20,10,10,10,10 -7010,30,20,10,10,10,10 -7020,30,20,10,10,10,10 -7030,30,20,10,10,10,10 -7040,30,20,10,10,10,10 -7050,30,20,10,10,10,10 -7060,30,20,10,10,10,10 -7070,30,20,10,10,10,10 -7080,30,20,10,10,10,10 -7090,30,20,10,10,10,10 -7100,30,20,10,10,10,10 -7110,30,20,10,10,10,10 -7120,30,20,10,10,10,10 -7130,30,20,10,10,10,10 -7140,30,20,10,10,10,10 -7150,30,20,10,10,10,10 -7160,30,20,10,10,10,10 -7170,30,20,10,10,10,10 -7180,30,20,10,10,10,10 -7190,30,20,10,10,10,10 -7200,30,20,10,10,10,10 -7210,30,20,10,10,10,10 -7220,30,20,10,10,10,10 -7230,30,20,10,10,10,10 -7240,30,20,10,10,10,10 -7250,30,20,10,10,10,10 -7260,30,20,10,10,10,10 -7270,30,20,10,10,10,10 -7280,30,20,10,10,10,10 -7290,30,20,10,10,10,10 -7300,30,20,10,10,10,10 -7310,30,20,10,10,10,10 -7320,30,20,10,10,10,10 -7330,30,20,10,10,10,10 -7340,30,20,10,10,10,10 -7350,30,20,10,10,10,10 -7360,30,20,10,10,10,10 -7370,30,20,10,10,10,10 -7380,30,20,10,10,10,10 -7390,30,20,10,10,10,10 -7400,30,20,10,10,10,10 -7410,30,20,10,10,10,10 -7420,30,20,10,10,10,10 -7430,30,20,10,10,10,10 -7440,30,20,10,10,10,10 -7450,30,20,10,10,10,10 -7460,30,20,10,10,10,10 -7470,30,20,10,10,10,10 -7480,30,20,10,10,10,10 -7490,30,20,10,10,10,10 -7500,30,20,10,10,10,10 -7510,30,20,10,10,10,10 -7520,30,20,10,10,10,10 -7530,30,20,10,10,10,10 -7540,30,20,10,10,10,10 -7550,30,20,10,10,10,10 -7560,30,20,10,10,10,10 -7570,30,20,10,10,10,10 -7580,30,20,10,10,10,10 -7590,30,20,10,10,10,10 -7600,30,20,10,10,10,10 -7610,30,20,10,10,10,10 -7620,30,20,10,10,10,10 -7630,30,20,10,10,10,10 -7640,30,20,10,10,10,10 -7650,30,20,10,10,10,10 -7660,30,20,10,10,10,10 -7670,30,20,10,10,10,10 -7680,30,20,10,10,10,10 -7690,30,20,10,10,10,10 -7700,30,20,10,10,10,10 -7710,30,20,10,10,10,10 -7720,30,20,10,10,10,10 -7730,30,20,10,10,10,10 -7740,30,20,10,10,10,10 -7750,30,20,10,10,10,10 -7760,30,20,10,10,10,10 -7770,30,20,10,10,10,10 -7780,30,20,10,10,10,10 -7790,30,20,10,10,10,10 -7800,30,20,10,10,10,10 -7810,30,20,10,10,10,10 -7820,30,20,10,10,10,10 -7830,30,20,10,10,10,10 -7840,30,20,10,10,10,10 -7850,30,20,10,10,10,10 -7860,30,20,10,10,10,10 -7870,30,20,10,10,10,10 -7880,30,20,10,10,10,10 -7890,30,20,10,10,10,10 -7900,30,20,10,10,10,10 -7910,30,20,10,10,10,10 -7920,30,20,10,10,10,10 -7930,30,20,10,10,10,10 -7940,30,20,10,10,10,10 -7950,30,20,10,10,10,10 -7960,30,20,10,10,10,10 -7970,30,20,10,10,10,10 -7980,30,20,10,10,10,10 -7990,30,20,10,10,10,10 -8000,30,20,10,10,10,10 -8010,30,20,10,10,10,10 -8020,30,20,10,10,10,10 -8030,30,20,10,10,10,10 -8040,30,20,10,10,10,10 -8050,30,20,10,10,10,10 -8060,30,20,10,10,10,10 -8070,30,20,10,10,10,10 -8080,30,20,10,10,10,10 -8090,30,20,10,10,10,10 -8100,30,20,10,10,10,10 -8110,30,20,10,10,10,10 -8120,30,20,10,10,10,10 -8130,30,20,10,10,10,10 -8140,30,20,10,10,10,10 -8150,30,20,10,10,10,10 -8160,30,20,10,10,10,10 -8170,30,20,10,10,10,10 -8180,30,20,10,10,10,10 -8190,30,20,10,10,10,10 -8200,30,20,10,10,10,10 -8210,30,20,10,10,10,10 -8220,30,20,10,10,10,10 -8230,30,20,10,10,10,10 -8240,30,20,10,10,10,10 -8250,30,20,10,10,10,10 -8260,30,20,10,10,10,10 -8270,30,20,10,10,10,10 -8280,30,20,10,10,10,10 -8290,30,20,10,10,10,10 -8300,30,20,10,10,10,10 -8310,30,20,10,10,10,10 -8320,30,20,10,10,10,10 -8330,30,20,10,10,10,10 -8340,30,20,10,10,10,10 -8350,30,20,10,10,10,10 -8360,30,20,10,10,10,10 -8370,30,20,10,10,10,10 -8380,30,20,10,10,10,10 -8390,30,20,10,10,10,10 -8400,30,20,10,10,10,10 -8410,30,20,10,10,10,10 -8420,30,20,10,10,10,10 -8430,30,20,10,10,10,10 -8440,30,20,10,10,10,10 -8450,30,20,10,10,10,10 -8460,30,20,10,10,10,10 -8470,30,20,10,10,10,10 -8480,30,20,10,10,10,10 -8490,30,20,10,10,10,10 -8500,30,20,10,10,10,10 -8510,30,20,10,10,10,10 -8520,30,20,10,10,10,10 -8530,30,20,10,10,10,10 -8540,30,20,10,10,10,10 -8550,30,20,10,10,10,10 -8560,30,20,10,10,10,10 -8570,30,20,10,10,10,10 -8580,30,20,10,10,10,10 -8590,30,20,10,10,10,10 -8600,30,20,10,10,10,10 -8610,30,20,10,10,10,10 -8620,30,20,10,10,10,10 -8630,30,20,10,10,10,10 -8640,30,20,10,10,10,10 -8650,30,20,10,10,10,10 -8660,30,20,10,10,10,10 -8670,30,20,10,10,10,10 -8680,30,20,10,10,10,10 -8690,30,20,10,10,10,10 -8700,30,20,10,10,10,10 -8710,30,20,10,10,10,10 -8720,30,20,10,10,10,10 -8730,30,20,10,10,10,10 -8740,30,20,10,10,10,10 -8750,30,20,10,10,10,10 -8760,30,20,10,10,10,10 -8770,30,20,10,10,10,10 -8780,30,20,10,10,10,10 -8790,30,20,10,10,10,10 -8800,30,20,10,10,10,10 -8810,30,20,10,10,10,10 -8820,30,20,10,10,10,10 -8830,30,20,10,10,10,10 -8840,30,20,10,10,10,10 -8850,30,20,10,10,10,10 -8860,30,20,10,10,10,10 -8870,30,20,10,10,10,10 -8880,30,20,10,10,10,10 -8890,30,20,10,10,10,10 -8900,30,20,10,10,10,10 -8910,30,20,10,10,10,10 -8920,30,20,10,10,10,10 -8930,30,20,10,10,10,10 -8940,30,20,10,10,10,10 -8950,30,20,10,10,10,10 -8960,30,20,10,10,10,10 -8970,30,20,10,10,10,10 -8980,30,20,10,10,10,10 -8990,30,20,10,10,10,10 -9000,30,20,10,10,10,10 -9010,30,20,10,10,10,10 -9020,30,20,10,10,10,10 -9030,30,20,10,10,10,10 -9040,30,20,10,10,10,10 -9050,30,20,10,10,10,10 -9060,30,20,10,10,10,10 -9070,30,20,10,10,10,10 -9080,30,20,10,10,10,10 -9090,30,20,10,10,10,10 -9100,30,20,10,10,10,10 -9110,30,20,10,10,10,10 -9120,30,20,10,10,10,10 -9130,30,20,10,10,10,10 -9140,30,20,10,10,10,10 -9150,30,20,10,10,10,10 -9160,30,20,10,10,10,10 -9170,30,20,10,10,10,10 -9180,30,20,10,10,10,10 -9190,30,20,10,10,10,10 -9200,30,20,10,10,10,10 -9210,30,20,10,10,10,10 -9220,30,20,10,10,10,10 -9230,30,20,10,10,10,10 -9240,30,20,10,10,10,10 -9250,30,20,10,10,10,10 -9260,30,20,10,10,10,10 -9270,30,20,10,10,10,10 -9280,30,20,10,10,10,10 -9290,30,20,10,10,10,10 -9300,30,20,10,10,10,10 -9310,30,20,10,10,10,10 -9320,30,20,10,10,10,10 -9330,30,20,10,10,10,10 -9340,30,20,10,10,10,10 -9350,30,20,10,10,10,10 -9360,30,20,10,10,10,10 -9370,30,20,10,10,10,10 -9380,30,20,10,10,10,10 -9390,30,20,10,10,10,10 -9400,30,20,10,10,10,10 -9410,30,20,10,10,10,10 -9420,30,20,10,10,10,10 -9430,30,20,10,10,10,10 -9440,30,20,10,10,10,10 -9450,30,20,10,10,10,10 -9460,30,20,10,10,10,10 -9470,30,20,10,10,10,10 -9480,30,20,10,10,10,10 -9490,30,20,10,10,10,10 -9500,30,20,10,10,10,10 -9510,30,20,10,10,10,10 -9520,30,20,10,10,10,10 -9530,30,20,10,10,10,10 -9540,30,20,10,10,10,10 -9550,30,20,10,10,10,10 -9560,30,20,10,10,10,10 -9570,30,20,10,10,10,10 -9580,30,20,10,10,10,10 -9590,30,20,10,10,10,10 -9600,30,20,10,10,10,10 -9610,30,20,10,10,10,10 -9620,30,20,10,10,10,10 -9630,30,20,10,10,10,10 -9640,30,20,10,10,10,10 -9650,30,20,10,10,10,10 -9660,30,20,10,10,10,10 -9670,30,20,10,10,10,10 -9680,30,20,10,10,10,10 -9690,30,20,10,10,10,10 -9700,30,20,10,10,10,10 -9710,30,20,10,10,10,10 -9720,30,20,10,10,10,10 -9730,30,20,10,10,10,10 -9740,30,20,10,10,10,10 -9750,30,20,10,10,10,10 -9760,30,20,10,10,10,10 -9770,30,20,10,10,10,10 -9780,30,20,10,10,10,10 -9790,30,20,10,10,10,10 -9800,30,20,10,10,10,10 -9810,30,20,10,10,10,10 -9820,30,20,10,10,10,10 -9830,30,20,10,10,10,10 -9840,30,20,10,10,10,10 -9850,30,20,10,10,10,10 -9860,30,20,10,10,10,10 -9870,30,20,10,10,10,10 -9880,30,20,10,10,10,10 -9890,30,20,10,10,10,10 -9900,30,20,10,10,10,10 -9910,30,20,10,10,10,10 -9920,30,20,10,10,10,10 -9930,30,20,10,10,10,10 -9940,30,20,10,10,10,10 -9950,30,20,10,10,10,10 -9960,30,20,10,10,10,10 -9970,30,20,10,10,10,10 -9980,30,20,10,10,10,10 -9990,30,20,10,10,10,10 -10000,30,20,10,10,10,10 -10010,30,20,10,10,10,10 -10020,30,20,10,10,10,10 -10030,30,20,10,10,10,10 -10040,30,20,10,10,10,10 -10050,30,20,10,10,10,10 -10060,30,20,10,10,10,10 -10070,30,20,10,10,10,10 -10080,30,20,10,10,10,10 -10090,30,20,10,10,10,10 -10100,30,20,10,10,10,10 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20201224_fat.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20201224_fat.csv deleted file mode 100644 index e981b6d..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20201224_fat.csv +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,0,1,1,100,1,5 -10,0,1,1,100,1,5 -20,0,1,1,100,1,5 -30,0,1,1,100,1,5 -40,0,1,1,100,1,5 -50,0,1,1,100,1,5 -60,0,1,1,100,1,5 -70,0,1,1,100,1,5 -80,0,1,1,100,1,5 -90,0,1,1,100,1,5 -100,0,1,1,100,1,5 -110,0,1,1,100,1,5 -120,0,1,1,100,1,5 -130,0,1,1,100,1,5 -140,0,1,1,100,1,5 -150,0,1,1,100,1,5 -160,0,1,1,100,1,5 -170,0,1,1,100,1,5 -180,0,1,1,100,1,5 -190,0,1,1,100,1,5 -200,0,1,1,100,1,5 -210,0,1,1,100,1,5 -220,0,1,1,100,1,5 -230,0,1,1,100,1,5 -240,0,1,1,100,1,5 -250,0,1,1,100,1,5 -260,0,1,1,100,1,5 -270,0,1,1,100,1,5 -280,0,1,1,100,1,5 -290,0,1,1,100,1,5 -300,0,1,1,100,1,5 -310,0,1,1,100,1,5 -320,0,1,1,100,1,5 -330,0,1,1,100,1,5 -340,0,1,1,100,1,5 -350,0,1,1,100,1,5 -360,0,1,1,100,1,5 -370,0,1,1,100,1,5 -380,0,1,1,100,1,5 -390,0,1,1,100,1,5 -400,0,1,1,100,1,5 -410,0,1,1,100,1,5 -420,0,1,1,100,1,5 -430,0,1,1,100,1,5 -440,0,1,1,100,1,5 -450,0,1,1,100,1,5 -460,0,1,1,100,1,5 -470,0,1,1,100,1,5 -480,0,1,1,100,1,5 -490,0,1,1,100,1,5 -500,0,1,1,100,1,5 -510,0,1,1,100,1,5 -520,0,1,1,100,1,5 -530,0,1,1,100,1,5 -540,0,1,1,100,1,5 -550,0,1,1,100,1,5 -560,0,1,1,100,1,5 -570,0,1,1,100,1,5 -580,0,1,1,100,1,5 -590,0,1,1,100,1,5 -600,0,1,1,100,1,5 -610,0,1,1,100,1,5 -620,0,1,1,100,1,5 -630,0,1,1,100,1,5 -640,0,1,1,100,1,5 -650,0,1,1,100,1,5 -660,0,1,1,100,1,5 -670,0,1,1,100,1,5 -680,0,1,1,100,1,5 -690,0,1,1,100,1,5 -700,0,1,1,100,1,5 -710,0,1,1,100,1,5 -720,0,1,1,100,1,5 -730,0,1,1,100,1,5 -740,0,1,1,100,1,5 -750,0,1,1,100,1,5 -760,0,1,1,100,1,5 -770,0,1,1,100,1,5 -780,0,1,1,100,1,5 -790,0,1,1,100,1,5 -800,0,1,1,100,1,5 -810,0,1,1,100,1,5 -820,0,1,1,100,1,5 -830,0,1,1,100,1,5 -840,0,1,1,100,1,5 -850,0,1,1,100,1,5 -860,0,1,1,100,1,5 -870,0,1,1,100,1,5 -880,0,1,1,100,1,5 -890,0,1,1,100,1,5 -900,0,1,1,100,1,5 -910,0,1,1,100,1,5 -920,0,1,1,100,1,5 -930,0,1,1,100,1,5 -940,0,1,1,100,1,5 -950,0,1,1,100,1,5 -960,0,1,1,100,1,5 -970,0,1,1,100,1,5 -980,0,1,1,100,1,5 -990,0,1,1,100,1,5 -1000,0,1,1,100,1,5 -1010,0,1,1,100,1,5 -1020,0,1,1,100,1,5 -1030,0,1,1,100,1,5 -1040,0,1,1,100,1,5 -1050,0,1,1,100,1,5 -1060,0,1,1,100,1,5 -1070,0,1,1,100,1,5 -1080,0,1,1,100,1,5 -1090,0,1,1,100,1,5 -1100,0,1,1,100,1,5 -1110,0,1,1,100,1,5 -1120,0,1,1,100,1,5 -1130,0,1,1,100,1,5 -1140,0,1,1,100,1,5 -1150,0,1,1,100,1,5 -1160,0,1,1,100,1,5 -1170,0,1,1,100,1,5 -1180,0,1,1,100,1,5 -1190,0,1,1,100,1,5 -1200,0,1,1,100,1,5 -1210,0,1,1,100,1,5 -1220,0,1,1,100,1,5 -1230,0,1,1,100,1,5 -1240,0,1,1,100,1,5 -1250,0,1,1,100,1,5 -1260,0,1,1,100,1,5 -1270,0,1,1,100,1,5 -1280,0,1,1,100,1,5 -1290,0,1,1,100,1,5 -1300,0,1,1,100,1,5 -1310,0,1,1,100,1,5 -1320,0,1,1,100,1,5 -1330,0,1,1,100,1,5 -1340,0,1,1,100,1,5 -1350,0,1,1,100,1,5 -1360,0,1,1,100,1,5 -1370,0,1,1,100,1,5 -1380,0,1,1,100,1,5 -1390,0,1,1,100,1,5 -1400,0,1,1,100,1,5 -1410,0,1,1,100,1,5 -1420,0,1,1,100,1,5 -1430,0,1,1,100,1,5 -1440,0,1,1,100,1,5 -1450,0,1,1,100,1,5 -1460,0,1,1,100,1,5 -1470,0,1,1,100,1,5 -1480,0,1,1,100,1,5 -1490,0,1,1,100,1,5 -1500,0,1,1,100,1,5 -1510,0,1,1,100,1,5 -1520,0,1,1,100,1,5 -1530,0,1,1,100,1,5 -1540,0,1,1,100,1,5 -1550,0,1,1,100,1,5 -1560,0,1,1,100,1,5 -1570,0,1,1,100,1,5 -1580,0,1,1,100,1,5 -1590,0,1,1,100,1,5 -1600,0,1,1,100,1,5 -1610,0,1,1,100,1,5 -1620,0,1,1,100,1,5 -1630,0,1,1,100,1,5 -1640,0,1,1,100,1,5 -1650,0,1,1,100,1,5 -1660,0,1,1,100,1,5 -1670,0,1,1,100,1,5 -1680,0,1,1,100,1,5 -1690,0,1,1,100,1,5 -1700,0,1,1,100,1,5 -1710,0,1,1,100,1,5 -1720,0,1,1,100,1,5 -1730,0,1,1,100,1,5 -1740,0,1,1,100,1,5 -1750,0,1,1,100,1,5 -1760,0,1,1,100,1,5 -1770,0,1,1,100,1,5 -1780,0,1,1,100,1,5 -1790,0,1,1,100,1,5 -1800,0,1,1,100,1,5 -1810,0,1,1,100,1,5 -1820,0,1,1,100,1,5 -1830,0,1,1,100,1,5 -1840,0,1,1,100,1,5 -1850,0,1,1,100,1,5 -1860,0,1,1,100,1,5 -1870,0,1,1,100,1,5 -1880,0,1,1,100,1,5 -1890,0,1,1,100,1,5 -1900,0,1,1,100,1,5 -1910,0,1,1,100,1,5 -1920,0,1,1,100,1,5 -1930,0,1,1,100,1,5 -1940,0,1,1,100,1,5 -1950,0,1,1,100,1,5 -1960,0,1,1,100,1,5 -1970,0,1,1,100,1,5 -1980,0,1,1,100,1,5 -1990,0,1,1,100,1,5 -2000,0,1,1,100,1,5 -2010,0,1,1,100,1,5 -2020,0,1,1,100,1,5 -2030,0,1,1,100,1,5 -2040,0,1,1,100,1,5 -2050,0,1,1,100,1,5 -2060,0,1,1,100,1,5 -2070,0,1,1,100,1,5 -2080,0,1,1,100,1,5 -2090,0,1,1,100,1,5 -2100,0,1,1,100,1,5 -2110,0,1,1,100,1,5 -2120,0,1,1,100,1,5 -2130,0,1,1,100,1,5 -2140,0,1,1,100,1,5 -2150,0,1,1,100,1,5 -2160,0,1,1,100,1,5 -2170,0,1,1,100,1,5 -2180,0,1,1,100,1,5 -2190,0,1,1,100,1,5 -2200,0,1,1,100,1,5 -2210,0,1,1,100,1,5 -2220,0,1,1,100,1,5 -2230,0,1,1,100,1,5 -2240,0,1,1,100,1,5 -2250,0,1,1,100,1,5 -2260,0,1,1,100,1,5 -2270,0,1,1,100,1,5 -2280,0,1,1,100,1,5 -2290,0,1,1,100,1,5 -2300,0,1,1,100,1,5 -2310,0,1,1,100,1,5 -2320,0,1,1,100,1,5 -2330,0,1,1,100,1,5 -2340,0,1,1,100,1,5 -2350,0,1,1,100,1,5 -2360,0,1,1,100,1,5 -2370,0,1,1,100,1,5 -2380,0,1,1,100,1,5 -2390,0,1,1,100,1,5 -2400,0,1,1,100,1,5 -2410,0,1,1,100,1,5 -2420,0,1,1,100,1,5 -2430,0,1,1,100,1,5 -2440,0,1,1,100,1,5 -2450,0,1,1,100,1,5 -2460,0,1,1,100,1,5 -2470,0,1,1,100,1,5 -2480,0,1,1,100,1,5 -2490,0,1,1,100,1,5 -2500,0,1,1,100,1,5 -2510,0,1,1,100,1,5 -2520,0,1,1,100,1,5 -2530,0,1,1,100,1,5 -2540,0,1,1,100,1,5 -2550,0,1,1,100,1,5 -2560,0,1,1,100,1,5 -2570,0,1,1,100,1,5 -2580,0,1,1,100,1,5 -2590,0,1,1,100,1,5 -2600,0,1,1,100,1,5 -2610,0,1,1,100,1,5 -2620,0,1,1,100,1,5 -2630,0,1,1,100,1,5 -2640,0,1,1,100,1,5 -2650,0,1,1,100,1,5 -2660,0,1,1,100,1,5 -2670,0,1,1,100,1,5 -2680,0,1,1,100,1,5 -2690,0,1,1,100,1,5 -2700,0,1,1,100,1,5 -2710,0,1,1,100,1,5 -2720,0,1,1,100,1,5 -2730,0,1,1,100,1,5 -2740,0,1,1,100,1,5 -2750,0,1,1,100,1,5 -2760,0,1,1,100,1,5 -2770,0,1,1,100,1,5 -2780,0,1,1,100,1,5 -2790,0,1,1,100,1,5 -2800,0,1,1,100,1,5 -2810,0,1,1,100,1,5 -2820,0,1,1,100,1,5 -2830,0,1,1,100,1,5 -2840,0,1,1,100,1,5 -2850,0,1,1,100,1,5 -2860,0,1,1,100,1,5 -2870,0,1,1,100,1,5 -2880,0,1,1,100,1,5 -2890,0,1,1,100,1,5 -2900,0,1,1,100,1,5 -2910,0,1,1,100,1,5 -2920,0,1,1,100,1,5 -2930,0,1,1,100,1,5 -2940,0,1,1,100,1,5 -2950,0,1,1,100,1,5 -2960,0,1,1,100,1,5 -2970,0,1,1,100,1,5 -2980,0,1,1,100,1,5 -2990,0,1,1,100,1,5 -3000,0,1,1,100,1,5 -3010,0,1,1,100,1,5 -3020,0,1,1,100,1,5 -3030,0,1,1,100,1,5 -3040,0,1,1,100,1,5 -3050,0,1,1,100,1,5 -3060,0,1,1,100,1,5 -3070,0,1,1,100,1,5 -3080,0,1,1,100,1,5 -3090,0,1,1,100,1,5 -3100,0,1,1,100,1,5 -3110,0,1,1,100,1,5 -3120,0,1,1,100,1,5 -3130,0,1,1,100,1,5 -3140,0,1,1,100,1,5 -3150,0,1,1,100,1,5 -3160,0,1,1,100,1,5 -3170,0,1,1,100,1,5 -3180,0,1,1,100,1,5 -3190,0,1,1,100,1,5 -3200,0,1,1,100,1,5 -3210,0,1,1,100,1,5 -3220,0,1,1,100,1,5 -3230,0,1,1,100,1,5 -3240,0,1,1,100,1,5 -3250,0,1,1,100,1,5 -3260,0,1,1,100,1,5 -3270,0,1,1,100,1,5 -3280,0,1,1,100,1,5 -3290,0,1,1,100,1,5 -3300,0,1,1,100,1,5 -3310,0,1,1,100,1,5 -3320,0,1,1,100,1,5 -3330,0,1,1,100,1,5 -3340,0,1,1,100,1,5 -3350,0,1,1,100,1,5 -3360,0,1,1,100,1,5 -3370,0,1,1,100,1,5 -3380,0,1,1,100,1,5 -3390,0,1,1,100,1,5 -3400,0,1,1,100,1,5 -3410,0,1,1,100,1,5 -3420,0,1,1,100,1,5 -3430,0,1,1,100,1,5 -3440,0,1,1,100,1,5 -3450,0,1,1,100,1,5 -3460,0,1,1,100,1,5 -3470,0,1,1,100,1,5 -3480,0,1,1,100,1,5 -3490,0,1,1,100,1,5 -3500,0,1,1,100,1,5 -3510,0,1,1,100,1,5 -3520,0,1,1,100,1,5 -3530,0,1,1,100,1,5 -3540,0,1,1,100,1,5 -3550,0,1,1,100,1,5 -3560,0,1,1,100,1,5 -3570,0,1,1,100,1,5 -3580,0,1,1,100,1,5 -3590,0,1,1,100,1,5 -3600,0,1,1,100,1,5 -3610,0,1,1,100,1,5 -3620,0,1,1,100,1,5 -3630,0,1,1,100,1,5 -3640,0,1,1,100,1,5 -3650,0,1,1,100,1,5 -3660,0,1,1,100,1,5 -3670,0,1,1,100,1,5 -3680,0,1,1,100,1,5 -3690,0,1,1,100,1,5 -3700,0,1,1,100,1,5 -3710,0,1,1,100,1,5 -3720,0,1,1,100,1,5 -3730,0,1,1,100,1,5 -3740,0,1,1,100,1,5 -3750,0,1,1,100,1,5 -3760,0,1,1,100,1,5 -3770,0,1,1,100,1,5 -3780,0,1,1,100,1,5 -3790,0,1,1,100,1,5 -3800,0,1,1,100,1,5 -3810,0,1,1,100,1,5 -3820,0,1,1,100,1,5 -3830,0,1,1,100,1,5 -3840,0,1,1,100,1,5 -3850,0,1,1,100,1,5 -3860,0,1,1,100,1,5 -3870,0,1,1,100,1,5 -3880,0,1,1,100,1,5 -3890,0,1,1,100,1,5 -3900,0,1,1,100,1,5 -3910,0,1,1,100,1,5 -3920,0,1,1,100,1,5 -3930,0,1,1,100,1,5 -3940,0,1,1,100,1,5 -3950,0,1,1,100,1,5 -3960,0,1,1,100,1,5 -3970,0,1,1,100,1,5 -3980,0,1,1,100,1,5 -3990,0,1,1,100,1,5 -4000,0,1,1,100,1,5 -4010,0,1,1,100,1,5 -4020,0,1,1,100,1,5 -4030,0,1,1,100,1,5 -4040,0,1,1,100,1,5 -4050,0,1,1,100,1,5 -4060,0,1,1,100,1,5 -4070,0,1,1,100,1,5 -4080,0,1,1,100,1,5 -4090,0,1,1,100,1,5 -4100,0,1,1,100,1,5 -4110,0,1,1,100,1,5 -4120,0,1,1,100,1,5 -4130,0,1,1,100,1,5 -4140,0,1,1,100,1,5 -4150,0,1,1,100,1,5 -4160,0,1,1,100,1,5 -4170,0,1,1,100,1,5 -4180,0,1,1,100,1,5 -4190,0,1,1,100,1,5 -4200,0,1,1,100,1,5 -4210,0,1,1,100,1,5 -4220,0,1,1,100,1,5 -4230,0,1,1,100,1,5 -4240,0,1,1,100,1,5 -4250,0,1,1,100,1,5 -4260,0,1,1,100,1,5 -4270,0,1,1,100,1,5 -4280,0,1,1,100,1,5 -4290,0,1,1,100,1,5 -4300,0,1,1,100,1,5 -4310,0,1,1,100,1,5 -4320,0,1,1,100,1,5 -4330,0,1,1,100,1,5 -4340,0,1,1,100,1,5 -4350,0,1,1,100,1,5 -4360,0,1,1,100,1,5 -4370,0,1,1,100,1,5 -4380,0,1,1,100,1,5 -4390,0,1,1,100,1,5 -4400,0,1,1,100,1,5 -4410,0,1,1,100,1,5 -4420,0,1,1,100,1,5 -4430,0,1,1,100,1,5 -4440,0,1,1,100,1,5 -4450,0,1,1,100,1,5 -4460,0,1,1,100,1,5 -4470,0,1,1,100,1,5 -4480,0,1,1,100,1,5 -4490,0,1,1,100,1,5 -4500,0,1,1,100,1,5 -4510,0,1,1,100,1,5 -4520,0,1,1,100,1,5 -4530,0,1,1,100,1,5 -4540,0,1,1,100,1,5 -4550,0,1,1,100,1,5 -4560,0,1,1,100,1,5 -4570,0,1,1,100,1,5 -4580,0,1,1,100,1,5 -4590,0,1,1,100,1,5 -4600,0,1,1,100,1,5 -4610,0,1,1,100,1,5 -4620,0,1,1,100,1,5 -4630,0,1,1,100,1,5 -4640,0,1,1,100,1,5 -4650,0,1,1,100,1,5 -4660,0,1,1,100,1,5 -4670,0,1,1,100,1,5 -4680,0,1,1,100,1,5 -4690,0,1,1,100,1,5 -4700,0,1,1,100,1,5 -4710,0,1,1,100,1,5 -4720,0,1,1,100,1,5 -4730,0,1,1,100,1,5 -4740,0,1,1,100,1,5 -4750,0,1,1,100,1,5 -4760,0,1,1,100,1,5 -4770,0,1,1,100,1,5 -4780,0,1,1,100,1,5 -4790,0,1,1,100,1,5 -4800,0,1,1,100,1,5 -4810,0,1,1,100,1,5 -4820,0,1,1,100,1,5 -4830,0,1,1,100,1,5 -4840,0,1,1,100,1,5 -4850,0,1,1,100,1,5 -4860,0,1,1,100,1,5 -4870,0,1,1,100,1,5 -4880,0,1,1,100,1,5 -4890,0,1,1,100,1,5 -4900,0,1,1,100,1,5 -4910,0,1,1,100,1,5 -4920,0,1,1,100,1,5 -4930,0,1,1,100,1,5 -4940,0,1,1,100,1,5 -4950,0,1,1,100,1,5 -4960,0,1,1,100,1,5 -4970,0,1,1,100,1,5 -4980,0,1,1,100,1,5 -4990,0,1,1,100,1,5 -5000,0,2,2,100,1,5 -5010,0,2,2,100,1,5 -5020,0,2,2,100,1,5 -5030,0,2,2,100,1,5 -5040,0,2,2,100,1,5 -5050,0,2,2,100,1,5 -5060,0,2,2,100,1,5 -5070,0,2,2,100,1,5 -5080,0,2,2,100,1,5 -5090,0,2,2,100,1,5 -5100,0,2,2,100,1,5 -5110,0,2,2,100,1,5 -5120,0,2,2,100,1,5 -5130,0,2,2,100,1,5 -5140,0,2,2,100,1,5 -5150,0,2,2,100,1,5 -5160,0,2,2,100,1,5 -5170,0,2,2,100,1,5 -5180,0,2,2,100,1,5 -5190,0,2,2,100,1,5 -5200,0,2,2,100,1,5 -5210,0,2,2,100,1,5 -5220,0,2,2,100,1,5 -5230,0,2,2,100,1,5 -5240,0,2,2,100,1,5 -5250,0,2,2,100,1,5 -5260,0,2,2,100,1,5 -5270,0,2,2,100,1,5 -5280,0,2,2,100,1,5 -5290,0,2,2,100,1,5 -5300,0,2,2,100,1,5 -5310,0,2,2,100,1,5 -5320,0,2,2,100,1,5 -5330,0,2,2,100,1,5 -5340,0,2,2,100,1,5 -5350,0,2,2,100,1,5 -5360,0,2,2,100,1,5 -5370,0,2,2,100,1,5 -5380,0,2,2,100,1,5 -5390,0,2,2,100,1,5 -5400,0,2,2,100,1,5 -5410,0,2,2,100,1,5 -5420,0,2,2,100,1,5 -5430,0,2,2,100,1,5 -5440,0,2,2,100,1,5 -5450,0,2,2,100,1,5 -5460,0,2,2,100,1,5 -5470,0,2,2,100,1,5 -5480,0,2,2,100,1,5 -5490,0,2,2,100,1,5 -5500,0,2,2,100,1,5 -5510,0,2,2,100,1,5 -5520,0,2,2,100,1,5 -5530,0,2,2,100,1,5 -5540,0,2,2,100,1,5 -5550,0,2,2,100,1,5 -5560,0,2,2,100,1,5 -5570,0,2,2,100,1,5 -5580,0,2,2,100,1,5 -5590,0,2,2,100,1,5 -5600,0,2,2,100,1,5 -5610,0,2,2,100,1,5 -5620,0,2,2,100,1,5 -5630,0,2,2,100,1,5 -5640,0,2,2,100,1,5 -5650,0,2,2,100,1,5 -5660,0,2,2,100,1,5 -5670,0,2,2,100,1,5 -5680,0,2,2,100,1,5 -5690,0,2,2,100,1,5 -5700,0,2,2,100,1,5 -5710,0,2,2,100,1,5 -5720,0,2,2,100,1,5 -5730,0,2,2,100,1,5 -5740,0,2,2,100,1,5 -5750,0,2,2,100,1,5 -5760,0,2,2,100,1,5 -5770,0,2,2,100,1,5 -5780,0,2,2,100,1,5 -5790,0,2,2,100,1,5 -5800,0,2,2,100,1,5 -5810,0,2,2,100,1,5 -5820,0,2,2,100,1,5 -5830,0,2,2,100,1,5 -5840,0,2,2,100,1,5 -5850,0,2,2,100,1,5 -5860,0,2,2,100,1,5 -5870,0,2,2,100,1,5 -5880,0,2,2,100,1,5 -5890,0,2,2,100,1,5 -5900,0,2,2,100,1,5 -5910,0,2,2,100,1,5 -5920,0,2,2,100,1,5 -5930,0,2,2,100,1,5 -5940,0,2,2,100,1,5 -5950,0,2,2,100,1,5 -5960,0,2,2,100,1,5 -5970,0,2,2,100,1,5 -5980,0,2,2,100,1,5 -5990,0,2,2,100,1,5 -6000,0,2,2,100,1,5 -6010,0,2,2,100,1,5 -6020,0,2,2,100,1,5 -6030,0,2,2,100,1,5 -6040,0,2,2,100,1,5 -6050,0,2,2,100,1,5 -6060,0,2,2,100,1,5 -6070,0,2,2,100,1,5 -6080,0,2,2,100,1,5 -6090,0,2,2,100,1,5 -6100,0,2,2,100,1,5 -6110,0,2,2,100,1,5 -6120,0,2,2,100,1,5 -6130,0,2,2,100,1,5 -6140,0,2,2,100,1,5 -6150,0,2,2,100,1,5 -6160,0,2,2,100,1,5 -6170,0,2,2,100,1,5 -6180,0,2,2,100,1,5 -6190,0,2,2,100,1,5 -6200,0,2,2,100,1,5 -6210,0,2,2,100,1,5 -6220,0,2,2,100,1,5 -6230,0,2,2,100,1,5 -6240,0,2,2,100,1,5 -6250,0,2,2,100,1,5 -6260,0,2,2,100,1,5 -6270,0,2,2,100,1,5 -6280,0,2,2,100,1,5 -6290,0,2,2,100,1,5 -6300,0,2,2,100,1,5 -6310,0,2,2,100,1,5 -6320,0,2,2,100,1,5 -6330,0,2,2,100,1,5 -6340,0,2,2,100,1,5 -6350,0,2,2,100,1,5 -6360,0,2,2,100,1,5 -6370,0,2,2,100,1,5 -6380,0,2,2,100,1,5 -6390,0,2,2,100,1,5 -6400,0,2,2,100,1,5 -6410,0,2,2,100,1,5 -6420,0,2,2,100,1,5 -6430,0,2,2,100,1,5 -6440,0,2,2,100,1,5 -6450,0,2,2,100,1,5 -6460,0,2,2,100,1,5 -6470,0,2,2,100,1,5 -6480,0,2,2,100,1,5 -6490,0,2,2,100,1,5 -6500,0,2,2,100,1,5 -6510,0,2,2,100,1,5 -6520,0,2,2,100,1,5 -6530,0,2,2,100,1,5 -6540,0,2,2,100,1,5 -6550,0,2,2,100,1,5 -6560,0,2,2,100,1,5 -6570,0,2,2,100,1,5 -6580,0,2,2,100,1,5 -6590,0,2,2,100,1,5 -6600,0,2,2,100,1,5 -6610,0,2,2,100,1,5 -6620,0,2,2,100,1,5 -6630,0,2,2,100,1,5 -6640,0,2,2,100,1,5 -6650,0,2,2,100,1,5 -6660,0,2,2,100,1,5 -6670,0,2,2,100,1,5 -6680,0,2,2,100,1,5 -6690,0,2,2,100,1,5 -6700,0,2,2,100,1,5 -6710,0,2,2,100,1,5 -6720,0,2,2,100,1,5 -6730,0,2,2,100,1,5 -6740,0,2,2,100,1,5 -6750,0,2,2,100,1,5 -6760,0,2,2,100,1,5 -6770,0,2,2,100,1,5 -6780,0,2,2,100,1,5 -6790,0,2,2,100,1,5 -6800,0,2,2,100,1,5 -6810,0,2,2,100,1,5 -6820,0,2,2,100,1,5 -6830,0,2,2,100,1,5 -6840,0,2,2,100,1,5 -6850,0,2,2,100,1,5 -6860,0,2,2,100,1,5 -6870,0,2,2,100,1,5 -6880,0,2,2,100,1,5 -6890,0,2,2,100,1,5 -6900,0,2,2,100,1,5 -6910,0,2,2,100,1,5 -6920,0,2,2,100,1,5 -6930,0,2,2,100,1,5 -6940,0,2,2,100,1,5 -6950,0,2,2,100,1,5 -6960,0,2,2,100,1,5 -6970,0,2,2,100,1,5 -6980,0,2,2,100,1,5 -6990,0,2,2,100,1,5 -7000,0,2,2,100,1,5 -7010,0,2,2,100,1,5 -7020,0,2,2,100,1,5 -7030,0,2,2,100,1,5 -7040,0,2,2,100,1,5 -7050,0,2,2,100,1,5 -7060,0,2,2,100,1,5 -7070,0,2,2,100,1,5 -7080,0,2,2,100,1,5 -7090,0,2,2,100,1,5 -7100,0,2,2,100,1,5 -7110,0,2,2,100,1,5 -7120,0,2,2,100,1,5 -7130,0,2,2,100,1,5 -7140,0,2,2,100,1,5 -7150,0,2,2,100,1,5 -7160,0,2,2,100,1,5 -7170,0,2,2,100,1,5 -7180,0,2,2,100,1,5 -7190,0,2,2,100,1,5 -7200,0,2,2,100,1,5 -7210,0,2,2,100,1,5 -7220,0,2,2,100,1,5 -7230,0,2,2,100,1,5 -7240,0,2,2,100,1,5 -7250,0,2,2,100,1,5 -7260,0,2,2,100,1,5 -7270,0,2,2,100,1,5 -7280,0,2,2,100,1,5 -7290,0,2,2,100,1,5 -7300,0,2,2,100,1,5 -7310,0,2,2,100,1,5 -7320,0,2,2,100,1,5 -7330,0,2,2,100,1,5 -7340,0,2,2,100,1,5 -7350,0,2,2,100,1,5 -7360,0,2,2,100,1,5 -7370,0,2,2,100,1,5 -7380,0,2,2,100,1,5 -7390,0,2,2,100,1,5 -7400,0,2,2,100,1,5 -7410,0,2,2,100,1,5 -7420,0,2,2,100,1,5 -7430,0,2,2,100,1,5 -7440,0,2,2,100,1,5 -7450,0,2,2,100,1,5 -7460,0,2,2,100,1,5 -7470,0,2,2,100,1,5 -7480,0,2,2,100,1,5 -7490,0,2,2,100,1,5 -7500,0,2,2,100,1,5 -7510,0,2,2,100,1,5 -7520,0,2,2,100,1,5 -7530,0,2,2,100,1,5 -7540,0,2,2,100,1,5 -7550,0,2,2,100,1,5 -7560,0,2,2,100,1,5 -7570,0,2,2,100,1,5 -7580,0,2,2,100,1,5 -7590,0,2,2,100,1,5 -7600,0,2,2,100,1,5 -7610,0,2,2,100,1,5 -7620,0,2,2,100,1,5 -7630,0,2,2,100,1,5 -7640,0,2,2,100,1,5 -7650,0,2,2,100,1,5 -7660,0,2,2,100,1,5 -7670,0,2,2,100,1,5 -7680,0,2,2,100,1,5 -7690,0,2,2,100,1,5 -7700,0,2,2,100,1,5 -7710,0,2,2,100,1,5 -7720,0,2,2,100,1,5 -7730,0,2,2,100,1,5 -7740,0,2,2,100,1,5 -7750,0,2,2,100,1,5 -7760,0,2,2,100,1,5 -7770,0,2,2,100,1,5 -7780,0,2,2,100,1,5 -7790,0,2,2,100,1,5 -7800,0,2,2,100,1,5 -7810,0,2,2,100,1,5 -7820,0,2,2,100,1,5 -7830,0,2,2,100,1,5 -7840,0,2,2,100,1,5 -7850,0,2,2,100,1,5 -7860,0,2,2,100,1,5 -7870,0,2,2,100,1,5 -7880,0,2,2,100,1,5 -7890,0,2,2,100,1,5 -7900,0,2,2,100,1,5 -7910,0,2,2,100,1,5 -7920,0,2,2,100,1,5 -7930,0,2,2,100,1,5 -7940,0,2,2,100,1,5 -7950,0,2,2,100,1,5 -7960,0,2,2,100,1,5 -7970,0,2,2,100,1,5 -7980,0,2,2,100,1,5 -7990,0,2,2,100,1,5 -8000,0,2,2,100,1,5 -8010,0,2,2,100,1,5 -8020,0,2,2,100,1,5 -8030,0,2,2,100,1,5 -8040,0,2,2,100,1,5 -8050,0,2,2,100,1,5 -8060,0,2,2,100,1,5 -8070,0,2,2,100,1,5 -8080,0,2,2,100,1,5 -8090,0,2,2,100,1,5 -8100,0,2,2,100,1,5 -8110,0,2,2,100,1,5 -8120,0,2,2,100,1,5 -8130,0,2,2,100,1,5 -8140,0,2,2,100,1,5 -8150,0,2,2,100,1,5 -8160,0,2,2,100,1,5 -8170,0,2,2,100,1,5 -8180,0,2,2,100,1,5 -8190,0,2,2,100,1,5 -8200,0,2,2,100,1,5 -8210,0,2,2,100,1,5 -8220,0,2,2,100,1,5 -8230,0,2,2,100,1,5 -8240,0,2,2,100,1,5 -8250,0,2,2,100,1,5 -8260,0,2,2,100,1,5 -8270,0,2,2,100,1,5 -8280,0,2,2,100,1,5 -8290,0,2,2,100,1,5 -8300,0,2,2,100,1,5 -8310,0,2,2,100,1,5 -8320,0,2,2,100,1,5 -8330,0,2,2,100,1,5 -8340,0,2,2,100,1,5 -8350,0,2,2,100,1,5 -8360,0,2,2,100,1,5 -8370,0,2,2,100,1,5 -8380,0,2,2,100,1,5 -8390,0,2,2,100,1,5 -8400,0,2,2,100,1,5 -8410,0,2,2,100,1,5 -8420,0,2,2,100,1,5 -8430,0,2,2,100,1,5 -8440,0,2,2,100,1,5 -8450,0,2,2,100,1,5 -8460,0,2,2,100,1,5 -8470,0,2,2,100,1,5 -8480,0,2,2,100,1,5 -8490,0,2,2,100,1,5 -8500,0,2,2,100,1,5 -8510,0,2,2,100,1,5 -8520,0,2,2,100,1,5 -8530,0,2,2,100,1,5 -8540,0,2,2,100,1,5 -8550,0,2,2,100,1,5 -8560,0,2,2,100,1,5 -8570,0,2,2,100,1,5 -8580,0,2,2,100,1,5 -8590,0,2,2,100,1,5 -8600,0,2,2,100,1,5 -8610,0,2,2,100,1,5 -8620,0,2,2,100,1,5 -8630,0,2,2,100,1,5 -8640,0,2,2,100,1,5 -8650,0,2,2,100,1,5 -8660,0,2,2,100,1,5 -8670,0,2,2,100,1,5 -8680,0,2,2,100,1,5 -8690,0,2,2,100,1,5 -8700,0,2,2,100,1,5 -8710,0,2,2,100,1,5 -8720,0,2,2,100,1,5 -8730,0,2,2,100,1,5 -8740,0,2,2,100,1,5 -8750,0,2,2,100,1,5 -8760,0,2,2,100,1,5 -8770,0,2,2,100,1,5 -8780,0,2,2,100,1,5 -8790,0,2,2,100,1,5 -8800,0,2,2,100,1,5 -8810,0,2,2,100,1,5 -8820,0,2,2,100,1,5 -8830,0,2,2,100,1,5 -8840,0,2,2,100,1,5 -8850,0,2,2,100,1,5 -8860,0,2,2,100,1,5 -8870,0,2,2,100,1,5 -8880,0,2,2,100,1,5 -8890,0,2,2,100,1,5 -8900,0,2,2,100,1,5 -8910,0,2,2,100,1,5 -8920,0,2,2,100,1,5 -8930,0,2,2,100,1,5 -8940,0,2,2,100,1,5 -8950,0,2,2,100,1,5 -8960,0,2,2,100,1,5 -8970,0,2,2,100,1,5 -8980,0,2,2,100,1,5 -8990,0,2,2,100,1,5 -9000,0,2,2,100,1,5 -9010,0,2,2,100,1,5 -9020,0,2,2,100,1,5 -9030,0,2,2,100,1,5 -9040,0,2,2,100,1,5 -9050,0,2,2,100,1,5 -9060,0,2,2,100,1,5 -9070,0,2,2,100,1,5 -9080,0,2,2,100,1,5 -9090,0,2,2,100,1,5 -9100,0,2,2,100,1,5 -9110,0,2,2,100,1,5 -9120,0,2,2,100,1,5 -9130,0,2,2,100,1,5 -9140,0,2,2,100,1,5 -9150,0,2,2,100,1,5 -9160,0,2,2,100,1,5 -9170,0,2,2,100,1,5 -9180,0,2,2,100,1,5 -9190,0,2,2,100,1,5 -9200,0,2,2,100,1,5 -9210,0,2,2,100,1,5 -9220,0,2,2,100,1,5 -9230,0,2,2,100,1,5 -9240,0,2,2,100,1,5 -9250,0,2,2,100,1,5 -9260,0,2,2,100,1,5 -9270,0,2,2,100,1,5 -9280,0,2,2,100,1,5 -9290,0,2,2,100,1,5 -9300,0,2,2,100,1,5 -9310,0,2,2,100,1,5 -9320,0,2,2,100,1,5 -9330,0,2,2,100,1,5 -9340,0,2,2,100,1,5 -9350,0,2,2,100,1,5 -9360,0,2,2,100,1,5 -9370,0,2,2,100,1,5 -9380,0,2,2,100,1,5 -9390,0,2,2,100,1,5 -9400,0,2,2,100,1,5 -9410,0,2,2,100,1,5 -9420,0,2,2,100,1,5 -9430,0,2,2,100,1,5 -9440,0,2,2,100,1,5 -9450,0,2,2,100,1,5 -9460,0,2,2,100,1,5 -9470,0,2,2,100,1,5 -9480,0,2,2,100,1,5 -9490,0,2,2,100,1,5 -9500,0,2,2,100,1,5 -9510,0,2,2,100,1,5 -9520,0,2,2,100,1,5 -9530,0,2,2,100,1,5 -9540,0,2,2,100,1,5 -9550,0,2,2,100,1,5 -9560,0,2,2,100,1,5 -9570,0,2,2,100,1,5 -9580,0,2,2,100,1,5 -9590,0,2,2,100,1,5 -9600,0,2,2,100,1,5 -9610,0,2,2,100,1,5 -9620,0,2,2,100,1,5 -9630,0,2,2,100,1,5 -9640,0,2,2,100,1,5 -9650,0,2,2,100,1,5 -9660,0,2,2,100,1,5 -9670,0,2,2,100,1,5 -9680,0,2,2,100,1,5 -9690,0,2,2,100,1,5 -9700,0,2,2,100,1,5 -9710,0,2,2,100,1,5 -9720,0,2,2,100,1,5 -9730,0,2,2,100,1,5 -9740,0,2,2,100,1,5 -9750,0,2,2,100,1,5 -9760,0,2,2,100,1,5 -9770,0,2,2,100,1,5 -9780,0,2,2,100,1,5 -9790,0,2,2,100,1,5 -9800,0,2,2,100,1,5 -9810,0,2,2,100,1,5 -9820,0,2,2,100,1,5 -9830,0,2,2,100,1,5 -9840,0,2,2,100,1,5 -9850,0,2,2,100,1,5 -9860,0,2,2,100,1,5 -9870,0,2,2,100,1,5 -9880,0,2,2,100,1,5 -9890,0,2,2,100,1,5 -9900,0,2,2,100,1,5 -9910,0,2,2,100,1,5 -9920,0,2,2,100,1,5 -9930,0,2,2,100,1,5 -9940,0,2,2,100,1,5 -9950,0,2,2,100,1,5 -9960,0,2,2,100,1,5 -9970,0,2,2,100,1,5 -9980,0,2,2,100,1,5 -9990,0,2,2,100,1,5 -10000,0,2,2,100,1,5 -10010,0,2,2,100,1,5 -10020,0,2,2,100,1,5 -10030,0,2,2,100,1,5 -10040,0,2,2,100,1,5 -10050,0,2,2,100,1,5 -10060,0,2,2,100,1,5 -10070,0,2,2,100,1,5 -10080,0,2,2,100,1,5 -10090,0,2,2,100,1,5 -10100,0,2,2,100,1,5 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210105_fat.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210105_fat.csv deleted file mode 100644 index fda3c4d..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210105_fat.csv +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,0,0.5,0.5,100,1,5 -10,0,0.5,0.5,100,1,5 -20,0,0.5,0.5,100,1,5 -30,0,0.5,0.5,100,1,5 -40,0,0.5,0.5,100,1,5 -50,0,0.5,0.5,100,1,5 -60,0,0.5,0.5,100,1,5 -70,0,0.5,0.5,100,1,5 -80,0,0.5,0.5,100,1,5 -90,0,0.5,0.5,100,1,5 -100,0,0.5,0.5,100,1,5 -110,0,0.5,0.5,100,1,5 -120,0,0.5,0.5,100,1,5 -130,0,0.5,0.5,100,1,5 -140,0,0.5,0.5,100,1,5 -150,0,0.5,0.5,100,1,5 -160,0,0.5,0.5,100,1,5 -170,0,0.5,0.5,100,1,5 -180,0,0.5,0.5,100,1,5 -190,0,0.5,0.5,100,1,5 -200,0,0.5,0.5,100,1,5 -210,0,0.5,0.5,100,1,5 -220,0,0.5,0.5,100,1,5 -230,0,0.5,0.5,100,1,5 -240,0,0.5,0.5,100,1,5 -250,0,0.5,0.5,100,1,5 -260,0,0.5,0.5,100,1,5 -270,0,0.5,0.5,100,1,5 -280,0,0.5,0.5,100,1,5 -290,0,0.5,0.5,100,1,5 -300,0,0.5,0.5,100,1,5 -310,0,0.5,0.5,100,1,5 -320,0,0.5,0.5,100,1,5 -330,0,0.5,0.5,100,1,5 -340,0,0.5,0.5,100,1,5 -350,0,0.5,0.5,100,1,5 -360,0,0.5,0.5,100,1,5 -370,0,0.5,0.5,100,1,5 -380,0,0.5,0.5,100,1,5 -390,0,0.5,0.5,100,1,5 -400,0,0.5,0.5,100,1,5 -410,0,0.5,0.5,100,1,5 -420,0,0.5,0.5,100,1,5 -430,0,0.5,0.5,100,1,5 -440,0,0.5,0.5,100,1,5 -450,0,0.5,0.5,100,1,5 -460,0,0.5,0.5,100,1,5 -470,0,0.5,0.5,100,1,5 -480,0,0.5,0.5,100,1,5 -490,0,0.5,0.5,100,1,5 -500,0,0.5,0.5,100,1,5 -510,0,0.5,0.5,100,1,5 -520,0,0.5,0.5,100,1,5 -530,0,0.5,0.5,100,1,5 -540,0,0.5,0.5,100,1,5 -550,0,0.5,0.5,100,1,5 -560,0,0.5,0.5,100,1,5 -570,0,0.5,0.5,100,1,5 -580,0,0.5,0.5,100,1,5 -590,0,0.5,0.5,100,1,5 -600,0,0.5,0.5,100,1,5 -610,0,0.5,0.5,100,1,5 -620,0,0.5,0.5,100,1,5 -630,0,0.5,0.5,100,1,5 -640,0,0.5,0.5,100,1,5 -650,0,0.5,0.5,100,1,5 -660,0,0.5,0.5,100,1,5 -670,0,0.5,0.5,100,1,5 -680,0,0.5,0.5,100,1,5 -690,0,0.5,0.5,100,1,5 -700,0,0.5,0.5,100,1,5 -710,0,0.5,0.5,100,1,5 -720,0,0.5,0.5,100,1,5 -730,0,0.5,0.5,100,1,5 -740,0,0.5,0.5,100,1,5 -750,0,0.5,0.5,100,1,5 -760,0,0.5,0.5,100,1,5 -770,0,0.5,0.5,100,1,5 -780,0,0.5,0.5,100,1,5 -790,0,0.5,0.5,100,1,5 -800,0,0.5,0.5,100,1,5 -810,0,0.5,0.5,100,1,5 -820,0,0.5,0.5,100,1,5 -830,0,0.5,0.5,100,1,5 -840,0,0.5,0.5,100,1,5 -850,0,0.5,0.5,100,1,5 -860,0,0.5,0.5,100,1,5 -870,0,0.5,0.5,100,1,5 -880,0,0.5,0.5,100,1,5 -890,0,0.5,0.5,100,1,5 -900,0,0.5,0.5,100,1,5 -910,0,0.5,0.5,100,1,5 -920,0,0.5,0.5,100,1,5 -930,0,0.5,0.5,100,1,5 -940,0,0.5,0.5,100,1,5 -950,0,0.5,0.5,100,1,5 -960,0,0.5,0.5,100,1,5 -970,0,0.5,0.5,100,1,5 -980,0,0.5,0.5,100,1,5 -990,0,0.5,0.5,100,1,5 -1000,0,0.5,0.5,100,1,5 -1010,0,1,1,100,1,5 -1020,0,1,1,100,1,5 -1030,0,1,1,100,1,5 -1040,0,1,1,100,1,5 -1050,0,1,1,100,1,5 -1060,0,1,1,100,1,5 -1070,0,1,1,100,1,5 -1080,0,1,1,100,1,5 -1090,0,1,1,100,1,5 -1100,0,1,1,100,1,5 -1110,0,1,1,100,1,5 -1120,0,1,1,100,1,5 -1130,0,1,1,100,1,5 -1140,0,1,1,100,1,5 -1150,0,1,1,100,1,5 -1160,0,1,1,100,1,5 -1170,0,1,1,100,1,5 -1180,0,1,1,100,1,5 -1190,0,1,1,100,1,5 -1200,0,1,1,100,1,5 -1210,0,1,1,100,1,5 -1220,0,1,1,100,1,5 -1230,0,1,1,100,1,5 -1240,0,1,1,100,1,5 -1250,0,1,1,100,1,5 -1260,0,1,1,100,1,5 -1270,0,1,1,100,1,5 -1280,0,1,1,100,1,5 -1290,0,1,1,100,1,5 -1300,0,1,1,100,1,5 -1310,0,1,1,100,1,5 -1320,0,1,1,100,1,5 -1330,0,1,1,100,1,5 -1340,0,1,1,100,1,5 -1350,0,1,1,100,1,5 -1360,0,1,1,100,1,5 -1370,0,1,1,100,1,5 -1380,0,1,1,100,1,5 -1390,0,1,1,100,1,5 -1400,0,1,1,100,1,5 -1410,0,1,1,100,1,5 -1420,0,1,1,100,1,5 -1430,0,1,1,100,1,5 -1440,0,1,1,100,1,5 -1450,0,1,1,100,1,5 -1460,0,1,1,100,1,5 -1470,0,1,1,100,1,5 -1480,0,1,1,100,1,5 -1490,0,1,1,100,1,5 -1500,0,1,1,100,1,5 -1510,0,1,1,100,1,5 -1520,0,1,1,100,1,5 -1530,0,1,1,100,1,5 -1540,0,1,1,100,1,5 -1550,0,1,1,100,1,5 -1560,0,1,1,100,1,5 -1570,0,1,1,100,1,5 -1580,0,1,1,100,1,5 -1590,0,1,1,100,1,5 -1600,0,1,1,100,1,5 -1610,0,1,1,100,1,5 -1620,0,1,1,100,1,5 -1630,0,1,1,100,1,5 -1640,0,1,1,100,1,5 -1650,0,1,1,100,1,5 -1660,0,1,1,100,1,5 -1670,0,1,1,100,1,5 -1680,0,1,1,100,1,5 -1690,0,1,1,100,1,5 -1700,0,1,1,100,1,5 -1710,0,1,1,100,1,5 -1720,0,1,1,100,1,5 -1730,0,1,1,100,1,5 -1740,0,1,1,100,1,5 -1750,0,1,1,100,1,5 -1760,0,1,1,100,1,5 -1770,0,1,1,100,1,5 -1780,0,1,1,100,1,5 -1790,0,1,1,100,1,5 -1800,0,1,1,100,1,5 -1810,0,1,1,100,1,5 -1820,0,1,1,100,1,5 -1830,0,1,1,100,1,5 -1840,0,1,1,100,1,5 -1850,0,1,1,100,1,5 -1860,0,1,1,100,1,5 -1870,0,1,1,100,1,5 -1880,0,1,1,100,1,5 -1890,0,1,1,100,1,5 -1900,0,1,1,100,1,5 -1910,0,1,1,100,1,5 -1920,0,1,1,100,1,5 -1930,0,1,1,100,1,5 -1940,0,1,1,100,1,5 -1950,0,1,1,100,1,5 -1960,0,1,1,100,1,5 -1970,0,1,1,100,1,5 -1980,0,1,1,100,1,5 -1990,0,1,1,100,1,5 -2000,0,1,1,100,1,5 -2010,0,1,1,100,1,5 -2020,0,1,1,100,1,5 -2030,0,1,1,100,1,5 -2040,0,1,1,100,1,5 -2050,0,1,1,100,1,5 -2060,0,1,1,100,1,5 -2070,0,1,1,100,1,5 -2080,0,1,1,100,1,5 -2090,0,1,1,100,1,5 -2100,0,1,1,100,1,5 -2110,0,1,1,100,1,5 -2120,0,1,1,100,1,5 -2130,0,1,1,100,1,5 -2140,0,1,1,100,1,5 -2150,0,1,1,100,1,5 -2160,0,1,1,100,1,5 -2170,0,1,1,100,1,5 -2180,0,1,1,100,1,5 -2190,0,1,1,100,1,5 -2200,0,1,1,100,1,5 -2210,0,1,1,100,1,5 -2220,0,1,1,100,1,5 -2230,0,1,1,100,1,5 -2240,0,1,1,100,1,5 -2250,0,1,1,100,1,5 -2260,0,1,1,100,1,5 -2270,0,1,1,100,1,5 -2280,0,1,1,100,1,5 -2290,0,1,1,100,1,5 -2300,0,1,1,100,1,5 -2310,0,1,1,100,1,5 -2320,0,1,1,100,1,5 -2330,0,1,1,100,1,5 -2340,0,1,1,100,1,5 -2350,0,1,1,100,1,5 -2360,0,1,1,100,1,5 -2370,0,1,1,100,1,5 -2380,0,1,1,100,1,5 -2390,0,1,1,100,1,5 -2400,0,1,1,100,1,5 -2410,0,1,1,100,1,5 -2420,0,1,1,100,1,5 -2430,0,1,1,100,1,5 -2440,0,1,1,100,1,5 -2450,0,1,1,100,1,5 -2460,0,1,1,100,1,5 -2470,0,1,1,100,1,5 -2480,0,1,1,100,1,5 -2490,0,1,1,100,1,5 -2500,0,1,1,100,1,5 -2510,0,1,1,100,1,5 -2520,0,1,1,100,1,5 -2530,0,1,1,100,1,5 -2540,0,1,1,100,1,5 -2550,0,1,1,100,1,5 -2560,0,1,1,100,1,5 -2570,0,1,1,100,1,5 -2580,0,1,1,100,1,5 -2590,0,1,1,100,1,5 -2600,0,1,1,100,1,5 -2610,0,1,1,100,1,5 -2620,0,1,1,100,1,5 -2630,0,1,1,100,1,5 -2640,0,1,1,100,1,5 -2650,0,1,1,100,1,5 -2660,0,1,1,100,1,5 -2670,0,1,1,100,1,5 -2680,0,1,1,100,1,5 -2690,0,1,1,100,1,5 -2700,0,1,1,100,1,5 -2710,0,1,1,100,1,5 -2720,0,1,1,100,1,5 -2730,0,1,1,100,1,5 -2740,0,1,1,100,1,5 -2750,0,1,1,100,1,5 -2760,0,1,1,100,1,5 -2770,0,1,1,100,1,5 -2780,0,1,1,100,1,5 -2790,0,1,1,100,1,5 -2800,0,1,1,100,1,5 -2810,0,1,1,100,1,5 -2820,0,1,1,100,1,5 -2830,0,1,1,100,1,5 -2840,0,1,1,100,1,5 -2850,0,1,1,100,1,5 -2860,0,1,1,100,1,5 -2870,0,1,1,100,1,5 -2880,0,1,1,100,1,5 -2890,0,1,1,100,1,5 -2900,0,1,1,100,1,5 -2910,0,1,1,100,1,5 -2920,0,1,1,100,1,5 -2930,0,1,1,100,1,5 -2940,0,1,1,100,1,5 -2950,0,1,1,100,1,5 -2960,0,1,1,100,1,5 -2970,0,1,1,100,1,5 -2980,0,1,1,100,1,5 -2990,0,1,1,100,1,5 -3000,0,1,1,100,1,5 -3010,0,1,1,100,1,5 -3020,0,1,1,100,1,5 -3030,0,1,1,100,1,5 -3040,0,1,1,100,1,5 -3050,0,1,1,100,1,5 -3060,0,1,1,100,1,5 -3070,0,1,1,100,1,5 -3080,0,1,1,100,1,5 -3090,0,1,1,100,1,5 -3100,0,1,1,100,1,5 -3110,0,1,1,100,1,5 -3120,0,1,1,100,1,5 -3130,0,1,1,100,1,5 -3140,0,1,1,100,1,5 -3150,0,1,1,100,1,5 -3160,0,1,1,100,1,5 -3170,0,1,1,100,1,5 -3180,0,1,1,100,1,5 -3190,0,1,1,100,1,5 -3200,0,1,1,100,1,5 -3210,0,1,1,100,1,5 -3220,0,1,1,100,1,5 -3230,0,1,1,100,1,5 -3240,0,1,1,100,1,5 -3250,0,1,1,100,1,5 -3260,0,1,1,100,1,5 -3270,0,1,1,100,1,5 -3280,0,1,1,100,1,5 -3290,0,1,1,100,1,5 -3300,0,1,1,100,1,5 -3310,0,1,1,100,1,5 -3320,0,1,1,100,1,5 -3330,0,1,1,100,1,5 -3340,0,1,1,100,1,5 -3350,0,1,1,100,1,5 -3360,0,1,1,100,1,5 -3370,0,1,1,100,1,5 -3380,0,1,1,100,1,5 -3390,0,1,1,100,1,5 -3400,0,1,1,100,1,5 -3410,0,1,1,100,1,5 -3420,0,1,1,100,1,5 -3430,0,1,1,100,1,5 -3440,0,1,1,100,1,5 -3450,0,1,1,100,1,5 -3460,0,1,1,100,1,5 -3470,0,1,1,100,1,5 -3480,0,1,1,100,1,5 -3490,0,1,1,100,1,5 -3500,0,1,1,100,1,5 -3510,0,1,1,100,1,5 -3520,0,1,1,100,1,5 -3530,0,1,1,100,1,5 -3540,0,1,1,100,1,5 -3550,0,1,1,100,1,5 -3560,0,1,1,100,1,5 -3570,0,1,1,100,1,5 -3580,0,1,1,100,1,5 -3590,0,1,1,100,1,5 -3600,0,1,1,100,1,5 -3610,0,1,1,100,1,5 -3620,0,1,1,100,1,5 -3630,0,1,1,100,1,5 -3640,0,1,1,100,1,5 -3650,0,1,1,100,1,5 -3660,0,1,1,100,1,5 -3670,0,1,1,100,1,5 -3680,0,1,1,100,1,5 -3690,0,1,1,100,1,5 -3700,0,1,1,100,1,5 -3710,0,1,1,100,1,5 -3720,0,1,1,100,1,5 -3730,0,1,1,100,1,5 -3740,0,1,1,100,1,5 -3750,0,1,1,100,1,5 -3760,0,1,1,100,1,5 -3770,0,1,1,100,1,5 -3780,0,1,1,100,1,5 -3790,0,1,1,100,1,5 -3800,0,1,1,100,1,5 -3810,0,1,1,100,1,5 -3820,0,1,1,100,1,5 -3830,0,1,1,100,1,5 -3840,0,1,1,100,1,5 -3850,0,1,1,100,1,5 -3860,0,1,1,100,1,5 -3870,0,1,1,100,1,5 -3880,0,1,1,100,1,5 -3890,0,1,1,100,1,5 -3900,0,1,1,100,1,5 -3910,0,1,1,100,1,5 -3920,0,1,1,100,1,5 -3930,0,1,1,100,1,5 -3940,0,1,1,100,1,5 -3950,0,1,1,100,1,5 -3960,0,1,1,100,1,5 -3970,0,1,1,100,1,5 -3980,0,1,1,100,1,5 -3990,0,1,1,100,1,5 -4000,0,1,1,100,1,5 -4010,0,1,1,100,1,5 -4020,0,1,1,100,1,5 -4030,0,1,1,100,1,5 -4040,0,1,1,100,1,5 -4050,0,1,1,100,1,5 -4060,0,1,1,100,1,5 -4070,0,1,1,100,1,5 -4080,0,1,1,100,1,5 -4090,0,1,1,100,1,5 -4100,0,1,1,100,1,5 -4110,0,1,1,100,1,5 -4120,0,1,1,100,1,5 -4130,0,1,1,100,1,5 -4140,0,1,1,100,1,5 -4150,0,1,1,100,1,5 -4160,0,1,1,100,1,5 -4170,0,1,1,100,1,5 -4180,0,1,1,100,1,5 -4190,0,1,1,100,1,5 -4200,0,1,1,100,1,5 -4210,0,1,1,100,1,5 -4220,0,1,1,100,1,5 -4230,0,1,1,100,1,5 -4240,0,1,1,100,1,5 -4250,0,1,1,100,1,5 -4260,0,1,1,100,1,5 -4270,0,1,1,100,1,5 -4280,0,1,1,100,1,5 -4290,0,1,1,100,1,5 -4300,0,1,1,100,1,5 -4310,0,1,1,100,1,5 -4320,0,1,1,100,1,5 -4330,0,1,1,100,1,5 -4340,0,1,1,100,1,5 -4350,0,1,1,100,1,5 -4360,0,1,1,100,1,5 -4370,0,1,1,100,1,5 -4380,0,1,1,100,1,5 -4390,0,1,1,100,1,5 -4400,0,1,1,100,1,5 -4410,0,1,1,100,1,5 -4420,0,1,1,100,1,5 -4430,0,1,1,100,1,5 -4440,0,1,1,100,1,5 -4450,0,1,1,100,1,5 -4460,0,1,1,100,1,5 -4470,0,1,1,100,1,5 -4480,0,1,1,100,1,5 -4490,0,1,1,100,1,5 -4500,0,1,1,100,1,5 -4510,0,1,1,100,1,5 -4520,0,1,1,100,1,5 -4530,0,1,1,100,1,5 -4540,0,1,1,100,1,5 -4550,0,1,1,100,1,5 -4560,0,1,1,100,1,5 -4570,0,1,1,100,1,5 -4580,0,1,1,100,1,5 -4590,0,1,1,100,1,5 -4600,0,1,1,100,1,5 -4610,0,1,1,100,1,5 -4620,0,1,1,100,1,5 -4630,0,1,1,100,1,5 -4640,0,1,1,100,1,5 -4650,0,1,1,100,1,5 -4660,0,1,1,100,1,5 -4670,0,1,1,100,1,5 -4680,0,1,1,100,1,5 -4690,0,1,1,100,1,5 -4700,0,1,1,100,1,5 -4710,0,1,1,100,1,5 -4720,0,1,1,100,1,5 -4730,0,1,1,100,1,5 -4740,0,1,1,100,1,5 -4750,0,1,1,100,1,5 -4760,0,1,1,100,1,5 -4770,0,1,1,100,1,5 -4780,0,1,1,100,1,5 -4790,0,1,1,100,1,5 -4800,0,1,1,100,1,5 -4810,0,1,1,100,1,5 -4820,0,1,1,100,1,5 -4830,0,1,1,100,1,5 -4840,0,1,1,100,1,5 -4850,0,1,1,100,1,5 -4860,0,1,1,100,1,5 -4870,0,1,1,100,1,5 -4880,0,1,1,100,1,5 -4890,0,1,1,100,1,5 -4900,0,1,1,100,1,5 -4910,0,1,1,100,1,5 -4920,0,1,1,100,1,5 -4930,0,1,1,100,1,5 -4940,0,1,1,100,1,5 -4950,0,1,1,100,1,5 -4960,0,1,1,100,1,5 -4970,0,1,1,100,1,5 -4980,0,1,1,100,1,5 -4990,0,1,1,100,1,5 -5000,0,2,2,100,1,5 -5010,0,2,2,100,1,5 -5020,0,2,2,100,1,5 -5030,0,2,2,100,1,5 -5040,0,2,2,100,1,5 -5050,0,2,2,100,1,5 -5060,0,2,2,100,1,5 -5070,0,2,2,100,1,5 -5080,0,2,2,100,1,5 -5090,0,2,2,100,1,5 -5100,0,2,2,100,1,5 -5110,0,2,2,100,1,5 -5120,0,2,2,100,1,5 -5130,0,2,2,100,1,5 -5140,0,2,2,100,1,5 -5150,0,2,2,100,1,5 -5160,0,2,2,100,1,5 -5170,0,2,2,100,1,5 -5180,0,2,2,100,1,5 -5190,0,2,2,100,1,5 -5200,0,2,2,100,1,5 -5210,0,2,2,100,1,5 -5220,0,2,2,100,1,5 -5230,0,2,2,100,1,5 -5240,0,2,2,100,1,5 -5250,0,2,2,100,1,5 -5260,0,2,2,100,1,5 -5270,0,2,2,100,1,5 -5280,0,2,2,100,1,5 -5290,0,2,2,100,1,5 -5300,0,2,2,100,1,5 -5310,0,2,2,100,1,5 -5320,0,2,2,100,1,5 -5330,0,2,2,100,1,5 -5340,0,2,2,100,1,5 -5350,0,2,2,100,1,5 -5360,0,2,2,100,1,5 -5370,0,2,2,100,1,5 -5380,0,2,2,100,1,5 -5390,0,2,2,100,1,5 -5400,0,2,2,100,1,5 -5410,0,2,2,100,1,5 -5420,0,2,2,100,1,5 -5430,0,2,2,100,1,5 -5440,0,2,2,100,1,5 -5450,0,2,2,100,1,5 -5460,0,2,2,100,1,5 -5470,0,2,2,100,1,5 -5480,0,2,2,100,1,5 -5490,0,2,2,100,1,5 -5500,0,2,2,100,1,5 -5510,0,2,2,100,1,5 -5520,0,2,2,100,1,5 -5530,0,2,2,100,1,5 -5540,0,2,2,100,1,5 -5550,0,2,2,100,1,5 -5560,0,2,2,100,1,5 -5570,0,2,2,100,1,5 -5580,0,2,2,100,1,5 -5590,0,2,2,100,1,5 -5600,0,2,2,100,1,5 -5610,0,2,2,100,1,5 -5620,0,2,2,100,1,5 -5630,0,2,2,100,1,5 -5640,0,2,2,100,1,5 -5650,0,2,2,100,1,5 -5660,0,2,2,100,1,5 -5670,0,2,2,100,1,5 -5680,0,2,2,100,1,5 -5690,0,2,2,100,1,5 -5700,0,2,2,100,1,5 -5710,0,2,2,100,1,5 -5720,0,2,2,100,1,5 -5730,0,2,2,100,1,5 -5740,0,2,2,100,1,5 -5750,0,2,2,100,1,5 -5760,0,2,2,100,1,5 -5770,0,2,2,100,1,5 -5780,0,2,2,100,1,5 -5790,0,2,2,100,1,5 -5800,0,2,2,100,1,5 -5810,0,2,2,100,1,5 -5820,0,2,2,100,1,5 -5830,0,2,2,100,1,5 -5840,0,2,2,100,1,5 -5850,0,2,2,100,1,5 -5860,0,2,2,100,1,5 -5870,0,2,2,100,1,5 -5880,0,2,2,100,1,5 -5890,0,2,2,100,1,5 -5900,0,2,2,100,1,5 -5910,0,2,2,100,1,5 -5920,0,2,2,100,1,5 -5930,0,2,2,100,1,5 -5940,0,2,2,100,1,5 -5950,0,2,2,100,1,5 -5960,0,2,2,100,1,5 -5970,0,2,2,100,1,5 -5980,0,2,2,100,1,5 -5990,0,2,2,100,1,5 -6000,0,2,2,100,1,5 -6010,0,2,2,100,1,5 -6020,0,2,2,100,1,5 -6030,0,2,2,100,1,5 -6040,0,2,2,100,1,5 -6050,0,2,2,100,1,5 -6060,0,2,2,100,1,5 -6070,0,2,2,100,1,5 -6080,0,2,2,100,1,5 -6090,0,2,2,100,1,5 -6100,0,2,2,100,1,5 -6110,0,2,2,100,1,5 -6120,0,2,2,100,1,5 -6130,0,2,2,100,1,5 -6140,0,2,2,100,1,5 -6150,0,2,2,100,1,5 -6160,0,2,2,100,1,5 -6170,0,2,2,100,1,5 -6180,0,2,2,100,1,5 -6190,0,2,2,100,1,5 -6200,0,2,2,100,1,5 -6210,0,2,2,100,1,5 -6220,0,2,2,100,1,5 -6230,0,2,2,100,1,5 -6240,0,2,2,100,1,5 -6250,0,2,2,100,1,5 -6260,0,2,2,100,1,5 -6270,0,2,2,100,1,5 -6280,0,2,2,100,1,5 -6290,0,2,2,100,1,5 -6300,0,2,2,100,1,5 -6310,0,2,2,100,1,5 -6320,0,2,2,100,1,5 -6330,0,2,2,100,1,5 -6340,0,2,2,100,1,5 -6350,0,2,2,100,1,5 -6360,0,2,2,100,1,5 -6370,0,2,2,100,1,5 -6380,0,2,2,100,1,5 -6390,0,2,2,100,1,5 -6400,0,2,2,100,1,5 -6410,0,2,2,100,1,5 -6420,0,2,2,100,1,5 -6430,0,2,2,100,1,5 -6440,0,2,2,100,1,5 -6450,0,2,2,100,1,5 -6460,0,2,2,100,1,5 -6470,0,2,2,100,1,5 -6480,0,2,2,100,1,5 -6490,0,2,2,100,1,5 -6500,0,2,2,100,1,5 -6510,0,2,2,100,1,5 -6520,0,2,2,100,1,5 -6530,0,2,2,100,1,5 -6540,0,2,2,100,1,5 -6550,0,2,2,100,1,5 -6560,0,2,2,100,1,5 -6570,0,2,2,100,1,5 -6580,0,2,2,100,1,5 -6590,0,2,2,100,1,5 -6600,0,2,2,100,1,5 -6610,0,2,2,100,1,5 -6620,0,2,2,100,1,5 -6630,0,2,2,100,1,5 -6640,0,2,2,100,1,5 -6650,0,2,2,100,1,5 -6660,0,2,2,100,1,5 -6670,0,2,2,100,1,5 -6680,0,2,2,100,1,5 -6690,0,2,2,100,1,5 -6700,0,2,2,100,1,5 -6710,0,2,2,100,1,5 -6720,0,2,2,100,1,5 -6730,0,2,2,100,1,5 -6740,0,2,2,100,1,5 -6750,0,2,2,100,1,5 -6760,0,2,2,100,1,5 -6770,0,2,2,100,1,5 -6780,0,2,2,100,1,5 -6790,0,2,2,100,1,5 -6800,0,2,2,100,1,5 -6810,0,2,2,100,1,5 -6820,0,2,2,100,1,5 -6830,0,2,2,100,1,5 -6840,0,2,2,100,1,5 -6850,0,2,2,100,1,5 -6860,0,2,2,100,1,5 -6870,0,2,2,100,1,5 -6880,0,2,2,100,1,5 -6890,0,2,2,100,1,5 -6900,0,2,2,100,1,5 -6910,0,2,2,100,1,5 -6920,0,2,2,100,1,5 -6930,0,2,2,100,1,5 -6940,0,2,2,100,1,5 -6950,0,2,2,100,1,5 -6960,0,2,2,100,1,5 -6970,0,2,2,100,1,5 -6980,0,2,2,100,1,5 -6990,0,2,2,100,1,5 -7000,0,2,2,100,1,5 -7010,0,2,2,100,1,5 -7020,0,2,2,100,1,5 -7030,0,2,2,100,1,5 -7040,0,2,2,100,1,5 -7050,0,2,2,100,1,5 -7060,0,2,2,100,1,5 -7070,0,2,2,100,1,5 -7080,0,2,2,100,1,5 -7090,0,2,2,100,1,5 -7100,0,2,2,100,1,5 -7110,0,2,2,100,1,5 -7120,0,2,2,100,1,5 -7130,0,2,2,100,1,5 -7140,0,2,2,100,1,5 -7150,0,2,2,100,1,5 -7160,0,2,2,100,1,5 -7170,0,2,2,100,1,5 -7180,0,2,2,100,1,5 -7190,0,2,2,100,1,5 -7200,0,2,2,100,1,5 -7210,0,2,2,100,1,5 -7220,0,2,2,100,1,5 -7230,0,2,2,100,1,5 -7240,0,2,2,100,1,5 -7250,0,2,2,100,1,5 -7260,0,2,2,100,1,5 -7270,0,2,2,100,1,5 -7280,0,2,2,100,1,5 -7290,0,2,2,100,1,5 -7300,0,2,2,100,1,5 -7310,0,2,2,100,1,5 -7320,0,2,2,100,1,5 -7330,0,2,2,100,1,5 -7340,0,2,2,100,1,5 -7350,0,2,2,100,1,5 -7360,0,2,2,100,1,5 -7370,0,2,2,100,1,5 -7380,0,2,2,100,1,5 -7390,0,2,2,100,1,5 -7400,0,2,2,100,1,5 -7410,0,2,2,100,1,5 -7420,0,2,2,100,1,5 -7430,0,2,2,100,1,5 -7440,0,2,2,100,1,5 -7450,0,2,2,100,1,5 -7460,0,2,2,100,1,5 -7470,0,2,2,100,1,5 -7480,0,2,2,100,1,5 -7490,0,2,2,100,1,5 -7500,0,2,2,100,1,5 -7510,0,2,2,100,1,5 -7520,0,2,2,100,1,5 -7530,0,2,2,100,1,5 -7540,0,2,2,100,1,5 -7550,0,2,2,100,1,5 -7560,0,2,2,100,1,5 -7570,0,2,2,100,1,5 -7580,0,2,2,100,1,5 -7590,0,2,2,100,1,5 -7600,0,2,2,100,1,5 -7610,0,2,2,100,1,5 -7620,0,2,2,100,1,5 -7630,0,2,2,100,1,5 -7640,0,2,2,100,1,5 -7650,0,2,2,100,1,5 -7660,0,2,2,100,1,5 -7670,0,2,2,100,1,5 -7680,0,2,2,100,1,5 -7690,0,2,2,100,1,5 -7700,0,2,2,100,1,5 -7710,0,2,2,100,1,5 -7720,0,2,2,100,1,5 -7730,0,2,2,100,1,5 -7740,0,2,2,100,1,5 -7750,0,2,2,100,1,5 -7760,0,2,2,100,1,5 -7770,0,2,2,100,1,5 -7780,0,2,2,100,1,5 -7790,0,2,2,100,1,5 -7800,0,2,2,100,1,5 -7810,0,2,2,100,1,5 -7820,0,2,2,100,1,5 -7830,0,2,2,100,1,5 -7840,0,2,2,100,1,5 -7850,0,2,2,100,1,5 -7860,0,2,2,100,1,5 -7870,0,2,2,100,1,5 -7880,0,2,2,100,1,5 -7890,0,2,2,100,1,5 -7900,0,2,2,100,1,5 -7910,0,2,2,100,1,5 -7920,0,2,2,100,1,5 -7930,0,2,2,100,1,5 -7940,0,2,2,100,1,5 -7950,0,2,2,100,1,5 -7960,0,2,2,100,1,5 -7970,0,2,2,100,1,5 -7980,0,2,2,100,1,5 -7990,0,2,2,100,1,5 -8000,0,2,2,100,1,5 -8010,0,2,2,100,1,5 -8020,0,2,2,100,1,5 -8030,0,2,2,100,1,5 -8040,0,2,2,100,1,5 -8050,0,2,2,100,1,5 -8060,0,2,2,100,1,5 -8070,0,2,2,100,1,5 -8080,0,2,2,100,1,5 -8090,0,2,2,100,1,5 -8100,0,2,2,100,1,5 -8110,0,2,2,100,1,5 -8120,0,2,2,100,1,5 -8130,0,2,2,100,1,5 -8140,0,2,2,100,1,5 -8150,0,2,2,100,1,5 -8160,0,2,2,100,1,5 -8170,0,2,2,100,1,5 -8180,0,2,2,100,1,5 -8190,0,2,2,100,1,5 -8200,0,2,2,100,1,5 -8210,0,2,2,100,1,5 -8220,0,2,2,100,1,5 -8230,0,2,2,100,1,5 -8240,0,2,2,100,1,5 -8250,0,2,2,100,1,5 -8260,0,2,2,100,1,5 -8270,0,2,2,100,1,5 -8280,0,2,2,100,1,5 -8290,0,2,2,100,1,5 -8300,0,2,2,100,1,5 -8310,0,2,2,100,1,5 -8320,0,2,2,100,1,5 -8330,0,2,2,100,1,5 -8340,0,2,2,100,1,5 -8350,0,2,2,100,1,5 -8360,0,2,2,100,1,5 -8370,0,2,2,100,1,5 -8380,0,2,2,100,1,5 -8390,0,2,2,100,1,5 -8400,0,2,2,100,1,5 -8410,0,2,2,100,1,5 -8420,0,2,2,100,1,5 -8430,0,2,2,100,1,5 -8440,0,2,2,100,1,5 -8450,0,2,2,100,1,5 -8460,0,2,2,100,1,5 -8470,0,2,2,100,1,5 -8480,0,2,2,100,1,5 -8490,0,2,2,100,1,5 -8500,0,2,2,100,1,5 -8510,0,2,2,100,1,5 -8520,0,2,2,100,1,5 -8530,0,2,2,100,1,5 -8540,0,2,2,100,1,5 -8550,0,2,2,100,1,5 -8560,0,2,2,100,1,5 -8570,0,2,2,100,1,5 -8580,0,2,2,100,1,5 -8590,0,2,2,100,1,5 -8600,0,2,2,100,1,5 -8610,0,2,2,100,1,5 -8620,0,2,2,100,1,5 -8630,0,2,2,100,1,5 -8640,0,2,2,100,1,5 -8650,0,2,2,100,1,5 -8660,0,2,2,100,1,5 -8670,0,2,2,100,1,5 -8680,0,2,2,100,1,5 -8690,0,2,2,100,1,5 -8700,0,2,2,100,1,5 -8710,0,2,2,100,1,5 -8720,0,2,2,100,1,5 -8730,0,2,2,100,1,5 -8740,0,2,2,100,1,5 -8750,0,2,2,100,1,5 -8760,0,2,2,100,1,5 -8770,0,2,2,100,1,5 -8780,0,2,2,100,1,5 -8790,0,2,2,100,1,5 -8800,0,2,2,100,1,5 -8810,0,2,2,100,1,5 -8820,0,2,2,100,1,5 -8830,0,2,2,100,1,5 -8840,0,2,2,100,1,5 -8850,0,2,2,100,1,5 -8860,0,2,2,100,1,5 -8870,0,2,2,100,1,5 -8880,0,2,2,100,1,5 -8890,0,2,2,100,1,5 -8900,0,2,2,100,1,5 -8910,0,2,2,100,1,5 -8920,0,2,2,100,1,5 -8930,0,2,2,100,1,5 -8940,0,2,2,100,1,5 -8950,0,2,2,100,1,5 -8960,0,2,2,100,1,5 -8970,0,2,2,100,1,5 -8980,0,2,2,100,1,5 -8990,0,2,2,100,1,5 -9000,0,2,2,100,1,5 -9010,0,2,2,100,1,5 -9020,0,2,2,100,1,5 -9030,0,2,2,100,1,5 -9040,0,2,2,100,1,5 -9050,0,2,2,100,1,5 -9060,0,2,2,100,1,5 -9070,0,2,2,100,1,5 -9080,0,2,2,100,1,5 -9090,0,2,2,100,1,5 -9100,0,2,2,100,1,5 -9110,0,2,2,100,1,5 -9120,0,2,2,100,1,5 -9130,0,2,2,100,1,5 -9140,0,2,2,100,1,5 -9150,0,2,2,100,1,5 -9160,0,2,2,100,1,5 -9170,0,2,2,100,1,5 -9180,0,2,2,100,1,5 -9190,0,2,2,100,1,5 -9200,0,2,2,100,1,5 -9210,0,2,2,100,1,5 -9220,0,2,2,100,1,5 -9230,0,2,2,100,1,5 -9240,0,2,2,100,1,5 -9250,0,2,2,100,1,5 -9260,0,2,2,100,1,5 -9270,0,2,2,100,1,5 -9280,0,2,2,100,1,5 -9290,0,2,2,100,1,5 -9300,0,2,2,100,1,5 -9310,0,2,2,100,1,5 -9320,0,2,2,100,1,5 -9330,0,2,2,100,1,5 -9340,0,2,2,100,1,5 -9350,0,2,2,100,1,5 -9360,0,2,2,100,1,5 -9370,0,2,2,100,1,5 -9380,0,2,2,100,1,5 -9390,0,2,2,100,1,5 -9400,0,2,2,100,1,5 -9410,0,2,2,100,1,5 -9420,0,2,2,100,1,5 -9430,0,2,2,100,1,5 -9440,0,2,2,100,1,5 -9450,0,2,2,100,1,5 -9460,0,2,2,100,1,5 -9470,0,2,2,100,1,5 -9480,0,2,2,100,1,5 -9490,0,2,2,100,1,5 -9500,0,2,2,100,1,5 -9510,0,2,2,100,1,5 -9520,0,2,2,100,1,5 -9530,0,2,2,100,1,5 -9540,0,2,2,100,1,5 -9550,0,2,2,100,1,5 -9560,0,2,2,100,1,5 -9570,0,2,2,100,1,5 -9580,0,2,2,100,1,5 -9590,0,2,2,100,1,5 -9600,0,2,2,100,1,5 -9610,0,2,2,100,1,5 -9620,0,2,2,100,1,5 -9630,0,2,2,100,1,5 -9640,0,2,2,100,1,5 -9650,0,2,2,100,1,5 -9660,0,2,2,100,1,5 -9670,0,2,2,100,1,5 -9680,0,2,2,100,1,5 -9690,0,2,2,100,1,5 -9700,0,2,2,100,1,5 -9710,0,2,2,100,1,5 -9720,0,2,2,100,1,5 -9730,0,2,2,100,1,5 -9740,0,2,2,100,1,5 -9750,0,2,2,100,1,5 -9760,0,2,2,100,1,5 -9770,0,2,2,100,1,5 -9780,0,2,2,100,1,5 -9790,0,2,2,100,1,5 -9800,0,2,2,100,1,5 -9810,0,2,2,100,1,5 -9820,0,2,2,100,1,5 -9830,0,2,2,100,1,5 -9840,0,2,2,100,1,5 -9850,0,2,2,100,1,5 -9860,0,2,2,100,1,5 -9870,0,2,2,100,1,5 -9880,0,2,2,100,1,5 -9890,0,2,2,100,1,5 -9900,0,2,2,100,1,5 -9910,0,2,2,100,1,5 -9920,0,2,2,100,1,5 -9930,0,2,2,100,1,5 -9940,0,2,2,100,1,5 -9950,0,2,2,100,1,5 -9960,0,2,2,100,1,5 -9970,0,2,2,100,1,5 -9980,0,2,2,100,1,5 -9990,0,2,2,100,1,5 -10000,0,2,2,100,1,5 -10010,0,2,2,100,1,5 -10020,0,2,2,100,1,5 -10030,0,2,2,100,1,5 -10040,0,2,2,100,1,5 -10050,0,2,2,100,1,5 -10060,0,2,2,100,1,5 -10070,0,2,2,100,1,5 -10080,0,2,2,100,1,5 -10090,0,2,2,100,1,5 -10100,0,2,2,100,1,5 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210120_fat.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210120_fat.csv deleted file mode 100644 index 832aa45..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/100s_20210120_fat.csv +++ /dev/null @@ -1,1013 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,0,0.5,0.5,1,1,5 -10,0,0.5,0.5,1,1,5 -20,0,0.5,0.5,1,1,5 -30,0,0.5,0.5,1,1,5 -40,0,0.5,0.5,1,1,5 -50,0,0.5,0.5,1,1,5 -60,0,0.5,0.5,1,1,5 -70,0,0.5,0.5,1,1,5 -80,0,0.5,0.5,1,1,5 -90,0,0.5,0.5,1,1,5 -100,0,0.5,0.5,1,1,5 -110,0,0.5,0.5,1,1,5 -120,0,0.5,0.5,1,1,5 -130,0,0.5,0.5,1,1,5 -140,0,0.5,0.5,1,1,5 -150,0,0.5,0.5,1,1,5 -160,0,0.5,0.5,1,1,5 -170,0,0.5,0.5,1,1,5 -180,0,0.5,0.5,1,1,5 -190,0,0.5,0.5,1,1,5 -200,0,0.5,0.5,1,1,5 -210,0,0.5,0.5,1,1,5 -220,0,0.5,0.5,1,1,5 -230,0,0.5,0.5,1,1,5 -240,0,0.5,0.5,1,1,5 -250,0,0.5,0.5,1,1,5 -260,0,0.5,0.5,1,1,5 -270,0,0.5,0.5,1,1,5 -280,0,0.5,0.5,1,1,5 -290,0,0.5,0.5,1,1,5 -300,0,0.5,0.5,1,1,5 -310,0,0.5,0.5,1,1,5 -320,0,0.5,0.5,1,1,5 -330,0,0.5,0.5,1,1,5 -340,0,0.5,0.5,1,1,5 -350,0,0.5,0.5,1,1,5 -360,0,0.5,0.5,1,1,5 -370,0,0.5,0.5,1,1,5 -380,0,0.5,0.5,1,1,5 -390,0,0.5,0.5,1,1,5 -400,0,0.5,0.5,1,1,5 -410,0,0.5,0.5,1,1,5 -420,0,0.5,0.5,1,1,5 -430,0,0.5,0.5,1,1,5 -440,0,0.5,0.5,1,1,5 -450,0,0.5,0.5,1,1,5 -460,0,0.5,0.5,1,1,5 -470,0,0.5,0.5,1,1,5 -480,0,0.5,0.5,1,1,5 -490,0,0.5,0.5,1,1,5 -500,0,0.5,0.5,1,1,5 -510,0,0.5,0.5,1,1,5 -520,0,0.5,0.5,1,1,5 -530,0,0.5,0.5,1,1,5 -540,0,0.5,0.5,1,1,5 -550,0,0.5,0.5,1,1,5 -560,0,0.5,0.5,1,1,5 -570,0,0.5,0.5,1,1,5 -580,0,0.5,0.5,1,1,5 -590,0,0.5,0.5,1,1,5 -600,0,0.5,0.5,1,1,5 -610,0,0.5,0.5,1,1,5 -620,0,0.5,0.5,1,1,5 -630,0,0.5,0.5,1,1,5 -640,0,0.5,0.5,1,1,5 -650,0,0.5,0.5,1,1,5 -660,0,0.5,0.5,1,1,5 -670,0,0.5,0.5,1,1,5 -680,0,0.5,0.5,1,1,5 -690,0,0.5,0.5,1,1,5 -700,0,0.5,0.5,1,1,5 -710,0,0.5,0.5,1,1,5 -720,0,0.5,0.5,1,1,5 -730,0,0.5,0.5,1,1,5 -740,0,0.5,0.5,1,1,5 -750,0,0.5,0.5,1,1,5 -760,0,0.5,0.5,1,1,5 -770,0,0.5,0.5,1,1,5 -780,0,0.5,0.5,1,1,5 -790,0,0.5,0.5,1,1,5 -800,0,0.5,0.5,1,1,5 -810,0,0.5,0.5,1,1,5 -820,0,0.5,0.5,1,1,5 -830,0,0.5,0.5,1,1,5 -840,0,0.5,0.5,1,1,5 -850,0,0.5,0.5,1,1,5 -860,0,0.5,0.5,1,1,5 -870,0,0.5,0.5,1,1,5 -880,0,0.5,0.5,1,1,5 -890,0,0.5,0.5,1,1,5 -900,0,0.5,0.5,1,1,5 -910,0,0.5,0.5,1,1,5 -920,0,0.5,0.5,1,1,5 -930,0,0.5,0.5,1,1,5 -940,0,0.5,0.5,1,1,5 -950,0,0.5,0.5,1,1,5 -960,0,0.5,0.5,1,1,5 -970,0,0.5,0.5,1,1,5 -980,0,0.5,0.5,1,1,5 -990,0,0.5,0.5,1,1,5 -1000,0,0.5,0.5,1,1,5 -1010,0,1,1,1,1,5 -1020,0,1,1,1,1,5 -1030,0,1,1,1,1,5 -1040,0,1,1,1,1,5 -1050,0,1,1,1,1,5 -1060,0,1,1,1,1,5 -1070,0,1,1,1,1,5 -1080,0,1,1,1,1,5 -1090,0,1,1,1,1,5 -1100,0,1,1,1,1,5 -1110,0,1,1,1,1,5 -1120,0,1,1,1,1,5 -1130,0,1,1,1,1,5 -1140,0,1,1,1,1,5 -1150,0,1,1,1,1,5 -1160,0,1,1,1,1,5 -1170,0,1,1,1,1,5 -1180,0,1,1,1,1,5 -1190,0,1,1,1,1,5 -1200,0,1,1,1,1,5 -1210,0,1,1,1,1,5 -1220,0,1,1,1,1,5 -1230,0,1,1,1,1,5 -1240,0,1,1,1,1,5 -1250,0,1,1,1,1,5 -1260,0,1,1,1,1,5 -1270,0,1,1,1,1,5 -1280,0,1,1,1,1,5 -1290,0,1,1,1,1,5 -1300,0,1,1,1,1,5 -1310,0,1,1,1,1,5 -1320,0,1,1,1,1,5 -1330,0,1,1,1,1,5 -1340,0,1,1,1,1,5 -1350,0,1,1,1,1,5 -1360,0,1,1,1,1,5 -1370,0,1,1,1,1,5 -1380,0,1,1,1,1,5 -1390,0,1,1,1,1,5 -1400,0,1,1,1,1,5 -1410,0,1,1,1,1,5 -1420,0,1,1,1,1,5 -1430,0,1,1,1,1,5 -1440,0,1,1,1,1,5 -1450,0,1,1,1,1,5 -1460,0,1,1,1,1,5 -1470,0,1,1,1,1,5 -1480,0,1,1,1,1,5 -1490,0,1,1,1,1,5 -1500,0,1,1,1,1,5 -1510,0,1,1,1,1,5 -1520,0,1,1,1,1,5 -1530,0,1,1,1,1,5 -1540,0,1,1,1,1,5 -1550,0,1,1,1,1,5 -1560,0,1,1,1,1,5 -1570,0,1,1,1,1,5 -1580,0,1,1,1,1,5 -1590,0,1,1,1,1,5 -1600,0,1,1,1,1,5 -1610,0,1,1,1,1,5 -1620,0,1,1,1,1,5 -1630,0,1,1,1,1,5 -1640,0,1,1,1,1,5 -1650,0,1,1,1,1,5 -1660,0,1,1,1,1,5 -1670,0,1,1,1,1,5 -1680,0,1,1,1,1,5 -1690,0,1,1,1,1,5 -1700,0,1,1,1,1,5 -1710,0,1,1,1,1,5 -1720,0,1,1,1,1,5 -1730,0,1,1,1,1,5 -1740,0,1,1,1,1,5 -1750,0,1,1,1,1,5 -1760,0,1,1,1,1,5 -1770,0,1,1,1,1,5 -1780,0,1,1,1,1,5 -1790,0,1,1,1,1,5 -1800,0,1,1,1,1,5 -1810,0,1,1,1,1,5 -1820,0,1,1,1,1,5 -1830,0,1,1,1,1,5 -1840,0,1,1,1,1,5 -1850,0,1,1,1,1,5 -1860,0,1,1,1,1,5 -1870,0,1,1,1,1,5 -1880,0,1,1,1,1,5 -1890,0,1,1,1,1,5 -1900,0,1,1,1,1,5 -1910,0,1,1,1,1,5 -1920,0,1,1,1,1,5 -1930,0,1,1,1,1,5 -1940,0,1,1,1,1,5 -1950,0,1,1,1,1,5 -1960,0,1,1,1,1,5 -1970,0,1,1,1,1,5 -1980,0,1,1,1,1,5 -1990,0,1,1,1,1,5 -2000,0,1,1,1,1,5 -2010,0,1,1,1,1,5 -2020,0,1,1,1,1,5 -2030,0,1,1,1,1,5 -2040,0,1,1,1,1,5 -2050,0,1,1,1,1,5 -2060,0,1,1,1,1,5 -2070,0,1,1,1,1,5 -2080,0,1,1,1,1,5 -2090,0,1,1,1,1,5 -2100,0,1,1,1,1,5 -2110,0,1,1,1,1,5 -2120,0,1,1,1,1,5 -2130,0,1,1,1,1,5 -2140,0,1,1,1,1,5 -2150,0,1,1,1,1,5 -2160,0,1,1,1,1,5 -2170,0,1,1,1,1,5 -2180,0,1,1,1,1,5 -2190,0,1,1,1,1,5 -2200,0,1,1,1,1,5 -2210,0,1,1,1,1,5 -2220,0,1,1,1,1,5 -2230,0,1,1,1,1,5 -2240,0,1,1,1,1,5 -2250,0,1,1,1,1,5 -2260,0,1,1,1,1,5 -2270,0,1,1,1,1,5 -2280,0,1,1,1,1,5 -2290,0,1,1,1,1,5 -2300,0,1,1,1,1,5 -2310,0,1,1,1,1,5 -2320,0,1,1,1,1,5 -2330,0,1,1,1,1,5 -2340,0,1,1,1,1,5 -2350,0,1,1,1,1,5 -2360,0,1,1,1,1,5 -2370,0,1,1,1,1,5 -2380,0,1,1,1,1,5 -2390,0,1,1,1,1,5 -2400,0,1,1,1,1,5 -2410,0,1,1,1,1,5 -2420,0,1,1,1,1,5 -2430,0,1,1,1,1,5 -2440,0,1,1,1,1,5 -2450,0,1,1,1,1,5 -2460,0,1,1,1,1,5 -2470,0,1,1,1,1,5 -2480,0,1,1,1,1,5 -2490,0,1,1,1,1,5 -2500,0,1,1,1,1,5 -2510,0,1,1,1,1,5 -2520,0,1,1,1,1,5 -2530,0,1,1,1,1,5 -2540,0,1,1,1,1,5 -2550,0,1,1,1,1,5 -2560,0,1,1,1,1,5 -2570,0,1,1,1,1,5 -2580,0,1,1,1,1,5 -2590,0,1,1,1,1,5 -2600,0,1,1,1,1,5 -2610,0,1,1,1,1,5 -2620,0,1,1,1,1,5 -2630,0,1,1,1,1,5 -2640,0,1,1,1,1,5 -2650,0,1,1,1,1,5 -2660,0,1,1,1,1,5 -2670,0,1,1,1,1,5 -2680,0,1,1,1,1,5 -2690,0,1,1,1,1,5 -2700,0,1,1,1,1,5 -2710,0,1,1,1,1,5 -2720,0,1,1,1,1,5 -2730,0,1,1,1,1,5 -2740,0,1,1,1,1,5 -2750,0,1,1,1,1,5 -2760,0,1,1,1,1,5 -2770,0,1,1,1,1,5 -2780,0,1,1,1,1,5 -2790,0,1,1,1,1,5 -2800,0,1,1,1,1,5 -2810,0,1,1,1,1,5 -2820,0,1,1,1,1,5 -2830,0,1,1,1,1,5 -2840,0,1,1,1,1,5 -2850,0,1,1,1,1,5 -2860,0,1,1,1,1,5 -2870,0,1,1,1,1,5 -2880,0,1,1,1,1,5 -2890,0,1,1,1,1,5 -2900,0,1,1,1,1,5 -2910,0,1,1,1,1,5 -2920,0,1,1,1,1,5 -2930,0,1,1,1,1,5 -2940,0,1,1,1,1,5 -2950,0,1,1,1,1,5 -2960,0,1,1,1,1,5 -2970,0,1,1,1,1,5 -2980,0,1,1,1,1,5 -2990,0,1,1,1,1,5 -3000,0,1,1,1,1,5 -3010,0,1,1,1,1,5 -3020,0,1,1,1,1,5 -3030,0,1,1,1,1,5 -3040,0,1,1,1,1,5 -3050,0,1,1,1,1,5 -3060,0,1,1,1,1,5 -3070,0,1,1,1,1,5 -3080,0,1,1,1,1,5 -3090,0,1,1,1,1,5 -3100,0,1,1,1,1,5 -3110,0,1,1,1,1,5 -3120,0,1,1,1,1,5 -3130,0,1,1,1,1,5 -3140,0,1,1,1,1,5 -3150,0,1,1,1,1,5 -3160,0,1,1,1,1,5 -3170,0,1,1,1,1,5 -3180,0,1,1,1,1,5 -3190,0,1,1,1,1,5 -3200,0,1,1,1,1,5 -3210,0,1,1,1,1,5 -3220,0,1,1,1,1,5 -3230,0,1,1,1,1,5 -3240,0,1,1,1,1,5 -3250,0,1,1,1,1,5 -3260,0,1,1,1,1,5 -3270,0,1,1,1,1,5 -3280,0,1,1,1,1,5 -3290,0,1,1,1,1,5 -3300,0,1,1,1,1,5 -3310,0,1,1,1,1,5 -3320,0,1,1,1,1,5 -3330,0,1,1,1,1,5 -3340,0,1,1,1,1,5 -3350,0,1,1,1,1,5 -3360,0,1,1,1,1,5 -3370,0,1,1,1,1,5 -3380,0,1,1,1,1,5 -3390,0,1,1,1,1,5 -3400,0,1,1,1,1,5 -3410,0,1,1,1,1,5 -3420,0,1,1,1,1,5 -3430,0,1,1,1,1,5 -3440,0,1,1,1,1,5 -3450,0,1,1,1,1,5 -3460,0,1,1,1,1,5 -3470,0,1,1,1,1,5 -3480,0,1,1,1,1,5 -3490,0,1,1,1,1,5 -3500,0,1,1,1,1,5 -3510,0,1,1,1,1,5 -3520,0,1,1,1,1,5 -3530,0,1,1,1,1,5 -3540,0,1,1,1,1,5 -3550,0,1,1,1,1,5 -3560,0,1,1,1,1,5 -3570,0,1,1,1,1,5 -3580,0,1,1,1,1,5 -3590,0,1,1,1,1,5 -3600,0,1,1,1,1,5 -3610,0,1,1,1,1,5 -3620,0,1,1,1,1,5 -3630,0,1,1,1,1,5 -3640,0,1,1,1,1,5 -3650,0,1,1,1,1,5 -3660,0,1,1,1,1,5 -3670,0,1,1,1,1,5 -3680,0,1,1,1,1,5 -3690,0,1,1,1,1,5 -3700,0,1,1,1,1,5 -3710,0,1,1,1,1,5 -3720,0,1,1,1,1,5 -3730,0,1,1,1,1,5 -3740,0,1,1,1,1,5 -3750,0,1,1,1,1,5 -3760,0,1,1,1,1,5 -3770,0,1,1,1,1,5 -3780,0,1,1,1,1,5 -3790,0,1,1,1,1,5 -3800,0,1,1,1,1,5 -3810,0,1,1,1,1,5 -3820,0,1,1,1,1,5 -3830,0,1,1,1,1,5 -3840,0,1,1,1,1,5 -3850,0,1,1,1,1,5 -3860,0,1,1,1,1,5 -3870,0,1,1,1,1,5 -3880,0,1,1,1,1,5 -3890,0,1,1,1,1,5 -3900,0,1,1,1,1,5 -3910,0,1,1,1,1,5 -3920,0,1,1,1,1,5 -3930,0,1,1,1,1,5 -3940,0,1,1,1,1,5 -3950,0,1,1,1,1,5 -3960,0,1,1,1,1,5 -3970,0,1,1,1,1,5 -3980,0,1,1,1,1,5 -3990,0,1,1,1,1,5 -4000,0,1,1,1,1,5 -4010,0,1,1,1,1,5 -4020,0,1,1,1,1,5 -4030,0,1,1,1,1,5 -4040,0,1,1,1,1,5 -4050,0,1,1,1,1,5 -4060,0,1,1,1,1,5 -4070,0,1,1,1,1,5 -4080,0,1,1,1,1,5 -4090,0,1,1,1,1,5 -4100,0,1,1,1,1,5 -4110,0,1,1,1,1,5 -4120,0,1,1,1,1,5 -4130,0,1,1,1,1,5 -4140,0,1,1,1,1,5 -4150,0,1,1,1,1,5 -4160,0,1,1,1,1,5 -4170,0,1,1,1,1,5 -4180,0,1,1,1,1,5 -4190,0,1,1,1,1,5 -4200,0,1,1,1,1,5 -4210,0,1,1,1,1,5 -4220,0,1,1,1,1,5 -4230,0,1,1,1,1,5 -4240,0,1,1,1,1,5 -4250,0,1,1,1,1,5 -4260,0,1,1,1,1,5 -4270,0,1,1,1,1,5 -4280,0,1,1,1,1,5 -4290,0,1,1,1,1,5 -4300,0,1,1,1,1,5 -4310,0,1,1,1,1,5 -4320,0,1,1,1,1,5 -4330,0,1,1,1,1,5 -4340,0,1,1,1,1,5 -4350,0,1,1,1,1,5 -4360,0,1,1,1,1,5 -4370,0,1,1,1,1,5 -4380,0,1,1,1,1,5 -4390,0,1,1,1,1,5 -4400,0,1,1,1,1,5 -4410,0,1,1,1,1,5 -4420,0,1,1,1,1,5 -4430,0,1,1,1,1,5 -4440,0,1,1,1,1,5 -4450,0,1,1,1,1,5 -4460,0,1,1,1,1,5 -4470,0,1,1,1,1,5 -4480,0,1,1,1,1,5 -4490,0,1,1,1,1,5 -4500,0,1,1,1,1,5 -4510,0,1,1,1,1,5 -4520,0,1,1,1,1,5 -4530,0,1,1,1,1,5 -4540,0,1,1,1,1,5 -4550,0,1,1,1,1,5 -4560,0,1,1,1,1,5 -4570,0,1,1,1,1,5 -4580,0,1,1,1,1,5 -4590,0,1,1,1,1,5 -4600,0,1,1,1,1,5 -4610,0,1,1,1,1,5 -4620,0,1,1,1,1,5 -4630,0,1,1,1,1,5 -4640,0,1,1,1,1,5 -4650,0,1,1,1,1,5 -4660,0,1,1,1,1,5 -4670,0,1,1,1,1,5 -4680,0,1,1,1,1,5 -4690,0,1,1,1,1,5 -4700,0,1,1,1,1,5 -4710,0,1,1,1,1,5 -4720,0,1,1,1,1,5 -4730,0,1,1,1,1,5 -4740,0,1,1,1,1,5 -4750,0,1,1,1,1,5 -4760,0,1,1,1,1,5 -4770,0,1,1,1,1,5 -4780,0,1,1,1,1,5 -4790,0,1,1,1,1,5 -4800,0,1,1,1,1,5 -4810,0,1,1,1,1,5 -4820,0,1,1,1,1,5 -4830,0,1,1,1,1,5 -4840,0,1,1,1,1,5 -4850,0,1,1,1,1,5 -4860,0,1,1,1,1,5 -4870,0,1,1,1,1,5 -4880,0,1,1,1,1,5 -4890,0,1,1,1,1,5 -4900,0,1,1,1,1,5 -4910,0,1,1,1,1,5 -4920,0,1,1,1,1,5 -4930,0,1,1,1,1,5 -4940,0,1,1,1,1,5 -4950,0,1,1,1,1,5 -4960,0,1,1,1,1,5 -4970,0,1,1,1,1,5 -4980,0,1,1,1,1,5 -4990,0,1,1,1,1,5 -5000,0,2,2,1,1,5 -5010,0,2,2,1,1,5 -5020,0,2,2,1,1,5 -5030,0,2,2,1,1,5 -5040,0,2,2,1,1,5 -5050,0,2,2,1,1,5 -5060,0,2,2,1,1,5 -5070,0,2,2,1,1,5 -5080,0,2,2,1,1,5 -5090,0,2,2,1,1,5 -5100,0,2,2,1,1,5 -5110,0,2,2,1,1,5 -5120,0,2,2,1,1,5 -5130,0,2,2,1,1,5 -5140,0,2,2,1,1,5 -5150,0,2,2,1,1,5 -5160,0,2,2,1,1,5 -5170,0,2,2,1,1,5 -5180,0,2,2,1,1,5 -5190,0,2,2,1,1,5 -5200,0,2,2,1,1,5 -5210,0,2,2,1,1,5 -5220,0,2,2,1,1,5 -5230,0,2,2,1,1,5 -5240,0,2,2,1,1,5 -5250,0,2,2,1,1,5 -5260,0,2,2,1,1,5 -5270,0,2,2,1,1,5 -5280,0,2,2,1,1,5 -5290,0,2,2,1,1,5 -5300,0,2,2,1,1,5 -5310,0,2,2,1,1,5 -5320,0,2,2,1,1,5 -5330,0,2,2,1,1,5 -5340,0,2,2,1,1,5 -5350,0,2,2,1,1,5 -5360,0,2,2,1,1,5 -5370,0,2,2,1,1,5 -5380,0,2,2,1,1,5 -5390,0,2,2,1,1,5 -5400,0,2,2,1,1,5 -5410,0,2,2,1,1,5 -5420,0,2,2,1,1,5 -5430,0,2,2,1,1,5 -5440,0,2,2,1,1,5 -5450,0,2,2,1,1,5 -5460,0,2,2,1,1,5 -5470,0,2,2,1,1,5 -5480,0,2,2,1,1,5 -5490,0,2,2,1,1,5 -5500,0,2,2,1,1,5 -5510,0,2,2,1,1,5 -5520,0,2,2,1,1,5 -5530,0,2,2,1,1,5 -5540,0,2,2,1,1,5 -5550,0,2,2,1,1,5 -5560,0,2,2,1,1,5 -5570,0,2,2,1,1,5 -5580,0,2,2,1,1,5 -5590,0,2,2,1,1,5 -5600,0,2,2,1,1,5 -5610,0,2,2,1,1,5 -5620,0,2,2,1,1,5 -5630,0,2,2,1,1,5 -5640,0,2,2,1,1,5 -5650,0,2,2,1,1,5 -5660,0,2,2,1,1,5 -5670,0,2,2,1,1,5 -5680,0,2,2,1,1,5 -5690,0,2,2,1,1,5 -5700,0,2,2,1,1,5 -5710,0,2,2,1,1,5 -5720,0,2,2,1,1,5 -5730,0,2,2,1,1,5 -5740,0,2,2,1,1,5 -5750,0,2,2,1,1,5 -5760,0,2,2,1,1,5 -5770,0,2,2,1,1,5 -5780,0,2,2,1,1,5 -5790,0,2,2,1,1,5 -5800,0,2,2,1,1,5 -5810,0,2,2,1,1,5 -5820,0,2,2,1,1,5 -5830,0,2,2,1,1,5 -5840,0,2,2,1,1,5 -5850,0,2,2,1,1,5 -5860,0,2,2,1,1,5 -5870,0,2,2,1,1,5 -5880,0,2,2,1,1,5 -5890,0,2,2,1,1,5 -5900,0,2,2,1,1,5 -5910,0,2,2,1,1,5 -5920,0,2,2,1,1,5 -5930,0,2,2,1,1,5 -5940,0,2,2,1,1,5 -5950,0,2,2,1,1,5 -5960,0,2,2,1,1,5 -5970,0,2,2,1,1,5 -5980,0,2,2,1,1,5 -5990,0,2,2,1,1,5 -6000,0,2,2,1,1,5 -6010,0,2,2,1,1,5 -6020,0,2,2,1,1,5 -6030,0,2,2,1,1,5 -6040,0,2,2,1,1,5 -6050,0,2,2,1,1,5 -6060,0,2,2,1,1,5 -6070,0,2,2,1,1,5 -6080,0,2,2,1,1,5 -6090,0,2,2,1,1,5 -6100,0,2,2,1,1,5 -6110,0,2,2,1,1,5 -6120,0,2,2,1,1,5 -6130,0,2,2,1,1,5 -6140,0,2,2,1,1,5 -6150,0,2,2,1,1,5 -6160,0,2,2,1,1,5 -6170,0,2,2,1,1,5 -6180,0,2,2,1,1,5 -6190,0,2,2,1,1,5 -6200,0,2,2,1,1,5 -6210,0,2,2,1,1,5 -6220,0,2,2,1,1,5 -6230,0,2,2,1,1,5 -6240,0,2,2,1,1,5 -6250,0,2,2,1,1,5 -6260,0,2,2,1,1,5 -6270,0,2,2,1,1,5 -6280,0,2,2,1,1,5 -6290,0,2,2,1,1,5 -6300,0,2,2,1,1,5 -6310,0,2,2,1,1,5 -6320,0,2,2,1,1,5 -6330,0,2,2,1,1,5 -6340,0,2,2,1,1,5 -6350,0,2,2,1,1,5 -6360,0,2,2,1,1,5 -6370,0,2,2,1,1,5 -6380,0,2,2,1,1,5 -6390,0,2,2,1,1,5 -6400,0,2,2,1,1,5 -6410,0,2,2,1,1,5 -6420,0,2,2,1,1,5 -6430,0,2,2,1,1,5 -6440,0,2,2,1,1,5 -6450,0,2,2,1,1,5 -6460,0,2,2,1,1,5 -6470,0,2,2,1,1,5 -6480,0,2,2,1,1,5 -6490,0,2,2,1,1,5 -6500,0,2,2,1,1,5 -6510,0,2,2,1,1,5 -6520,0,2,2,1,1,5 -6530,0,2,2,1,1,5 -6540,0,2,2,1,1,5 -6550,0,2,2,1,1,5 -6560,0,2,2,1,1,5 -6570,0,2,2,1,1,5 -6580,0,2,2,1,1,5 -6590,0,2,2,1,1,5 -6600,0,2,2,1,1,5 -6610,0,2,2,1,1,5 -6620,0,2,2,1,1,5 -6630,0,2,2,1,1,5 -6640,0,2,2,1,1,5 -6650,0,2,2,1,1,5 -6660,0,2,2,1,1,5 -6670,0,2,2,1,1,5 -6680,0,2,2,1,1,5 -6690,0,2,2,1,1,5 -6700,0,2,2,1,1,5 -6710,0,2,2,1,1,5 -6720,0,2,2,1,1,5 -6730,0,2,2,1,1,5 -6740,0,2,2,1,1,5 -6750,0,2,2,1,1,5 -6760,0,2,2,1,1,5 -6770,0,2,2,1,1,5 -6780,0,2,2,1,1,5 -6790,0,2,2,1,1,5 -6800,0,2,2,1,1,5 -6810,0,2,2,1,1,5 -6820,0,2,2,1,1,5 -6830,0,2,2,1,1,5 -6840,0,2,2,1,1,5 -6850,0,2,2,1,1,5 -6860,0,2,2,1,1,5 -6870,0,2,2,1,1,5 -6880,0,2,2,1,1,5 -6890,0,2,2,1,1,5 -6900,0,2,2,1,1,5 -6910,0,2,2,1,1,5 -6920,0,2,2,1,1,5 -6930,0,2,2,1,1,5 -6940,0,2,2,1,1,5 -6950,0,2,2,1,1,5 -6960,0,2,2,1,1,5 -6970,0,2,2,1,1,5 -6980,0,2,2,1,1,5 -6990,0,2,2,1,1,5 -7000,0,2,2,1,1,5 -7010,0,2,2,1,1,5 -7020,0,2,2,1,1,5 -7030,0,2,2,1,1,5 -7040,0,2,2,1,1,5 -7050,0,2,2,1,1,5 -7060,0,2,2,1,1,5 -7070,0,2,2,1,1,5 -7080,0,2,2,1,1,5 -7090,0,2,2,1,1,5 -7100,0,2,2,1,1,5 -7110,0,2,2,1,1,5 -7120,0,2,2,1,1,5 -7130,0,2,2,1,1,5 -7140,0,2,2,1,1,5 -7150,0,2,2,1,1,5 -7160,0,2,2,1,1,5 -7170,0,2,2,1,1,5 -7180,0,2,2,1,1,5 -7190,0,2,2,1,1,5 -7200,0,2,2,1,1,5 -7210,0,2,2,1,1,5 -7220,0,2,2,1,1,5 -7230,0,2,2,1,1,5 -7240,0,2,2,1,1,5 -7250,0,2,2,1,1,5 -7260,0,2,2,1,1,5 -7270,0,2,2,1,1,5 -7280,0,2,2,1,1,5 -7290,0,2,2,1,1,5 -7300,0,2,2,1,1,5 -7310,0,2,2,1,1,5 -7320,0,2,2,1,1,5 -7330,0,2,2,1,1,5 -7340,0,2,2,1,1,5 -7350,0,2,2,1,1,5 -7360,0,2,2,1,1,5 -7370,0,2,2,1,1,5 -7380,0,2,2,1,1,5 -7390,0,2,2,1,1,5 -7400,0,2,2,1,1,5 -7410,0,2,2,1,1,5 -7420,0,2,2,1,1,5 -7430,0,2,2,1,1,5 -7440,0,2,2,1,1,5 -7450,0,2,2,1,1,5 -7460,0,2,2,1,1,5 -7470,0,2,2,1,1,5 -7480,0,2,2,1,1,5 -7490,0,2,2,1,1,5 -7500,0,2,2,1,1,5 -7510,0,2,2,1,1,5 -7520,0,2,2,1,1,5 -7530,0,2,2,1,1,5 -7540,0,2,2,1,1,5 -7550,0,2,2,1,1,5 -7560,0,2,2,1,1,5 -7570,0,2,2,1,1,5 -7580,0,2,2,1,1,5 -7590,0,2,2,1,1,5 -7600,0,2,2,1,1,5 -7610,0,2,2,1,1,5 -7620,0,2,2,1,1,5 -7630,0,2,2,1,1,5 -7640,0,2,2,1,1,5 -7650,0,2,2,1,1,5 -7660,0,2,2,1,1,5 -7670,0,2,2,1,1,5 -7680,0,2,2,1,1,5 -7690,0,2,2,1,1,5 -7700,0,2,2,1,1,5 -7710,0,2,2,1,1,5 -7720,0,2,2,1,1,5 -7730,0,2,2,1,1,5 -7740,0,2,2,1,1,5 -7750,0,2,2,1,1,5 -7760,0,2,2,1,1,5 -7770,0,2,2,1,1,5 -7780,0,2,2,1,1,5 -7790,0,2,2,1,1,5 -7800,0,2,2,1,1,5 -7810,0,2,2,1,1,5 -7820,0,2,2,1,1,5 -7830,0,2,2,1,1,5 -7840,0,2,2,1,1,5 -7850,0,2,2,1,1,5 -7860,0,2,2,1,1,5 -7870,0,2,2,1,1,5 -7880,0,2,2,1,1,5 -7890,0,2,2,1,1,5 -7900,0,2,2,1,1,5 -7910,0,2,2,1,1,5 -7920,0,2,2,1,1,5 -7930,0,2,2,1,1,5 -7940,0,2,2,1,1,5 -7950,0,2,2,1,1,5 -7960,0,2,2,1,1,5 -7970,0,2,2,1,1,5 -7980,0,2,2,1,1,5 -7990,0,2,2,1,1,5 -8000,0,2,2,1,1,5 -8010,0,2,2,1,1,5 -8020,0,2,2,1,1,5 -8030,0,2,2,1,1,5 -8040,0,2,2,1,1,5 -8050,0,2,2,1,1,5 -8060,0,2,2,1,1,5 -8070,0,2,2,1,1,5 -8080,0,2,2,1,1,5 -8090,0,2,2,1,1,5 -8100,0,2,2,1,1,5 -8110,0,2,2,1,1,5 -8120,0,2,2,1,1,5 -8130,0,2,2,1,1,5 -8140,0,2,2,1,1,5 -8150,0,2,2,1,1,5 -8160,0,2,2,1,1,5 -8170,0,2,2,1,1,5 -8180,0,2,2,1,1,5 -8190,0,2,2,1,1,5 -8200,0,2,2,1,1,5 -8210,0,2,2,1,1,5 -8220,0,2,2,1,1,5 -8230,0,2,2,1,1,5 -8240,0,2,2,1,1,5 -8250,0,2,2,1,1,5 -8260,0,2,2,1,1,5 -8270,0,2,2,1,1,5 -8280,0,2,2,1,1,5 -8290,0,2,2,1,1,5 -8300,0,2,2,1,1,5 -8310,0,2,2,1,1,5 -8320,0,2,2,1,1,5 -8330,0,2,2,1,1,5 -8340,0,2,2,1,1,5 -8350,0,2,2,1,1,5 -8360,0,2,2,1,1,5 -8370,0,2,2,1,1,5 -8380,0,2,2,1,1,5 -8390,0,2,2,1,1,5 -8400,0,2,2,1,1,5 -8410,0,2,2,1,1,5 -8420,0,2,2,1,1,5 -8430,0,2,2,1,1,5 -8440,0,2,2,1,1,5 -8450,0,2,2,1,1,5 -8460,0,2,2,1,1,5 -8470,0,2,2,1,1,5 -8480,0,2,2,1,1,5 -8490,0,2,2,1,1,5 -8500,0,2,2,1,1,5 -8510,0,2,2,1,1,5 -8520,0,2,2,1,1,5 -8530,0,2,2,1,1,5 -8540,0,2,2,1,1,5 -8550,0,2,2,1,1,5 -8560,0,2,2,1,1,5 -8570,0,2,2,1,1,5 -8580,0,2,2,1,1,5 -8590,0,2,2,1,1,5 -8600,0,2,2,1,1,5 -8610,0,2,2,1,1,5 -8620,0,2,2,1,1,5 -8630,0,2,2,1,1,5 -8640,0,2,2,1,1,5 -8650,0,2,2,1,1,5 -8660,0,2,2,1,1,5 -8670,0,2,2,1,1,5 -8680,0,2,2,1,1,5 -8690,0,2,2,1,1,5 -8700,0,2,2,1,1,5 -8710,0,2,2,1,1,5 -8720,0,2,2,1,1,5 -8730,0,2,2,1,1,5 -8740,0,2,2,1,1,5 -8750,0,2,2,1,1,5 -8760,0,2,2,1,1,5 -8770,0,2,2,1,1,5 -8780,0,2,2,1,1,5 -8790,0,2,2,1,1,5 -8800,0,2,2,1,1,5 -8810,0,2,2,1,1,5 -8820,0,2,2,1,1,5 -8830,0,2,2,1,1,5 -8840,0,2,2,1,1,5 -8850,0,2,2,1,1,5 -8860,0,2,2,1,1,5 -8870,0,2,2,1,1,5 -8880,0,2,2,1,1,5 -8890,0,2,2,1,1,5 -8900,0,2,2,1,1,5 -8910,0,2,2,1,1,5 -8920,0,2,2,1,1,5 -8930,0,2,2,1,1,5 -8940,0,2,2,1,1,5 -8950,0,2,2,1,1,5 -8960,0,2,2,1,1,5 -8970,0,2,2,1,1,5 -8980,0,2,2,1,1,5 -8990,0,2,2,1,1,5 -9000,0,2,2,1,1,5 -9010,0,2,2,1,1,5 -9020,0,2,2,1,1,5 -9030,0,2,2,1,1,5 -9040,0,2,2,1,1,5 -9050,0,2,2,1,1,5 -9060,0,2,2,1,1,5 -9070,0,2,2,1,1,5 -9080,0,2,2,1,1,5 -9090,0,2,2,1,1,5 -9100,0,2,2,1,1,5 -9110,0,2,2,1,1,5 -9120,0,2,2,1,1,5 -9130,0,2,2,1,1,5 -9140,0,2,2,1,1,5 -9150,0,2,2,1,1,5 -9160,0,2,2,1,1,5 -9170,0,2,2,1,1,5 -9180,0,2,2,1,1,5 -9190,0,2,2,1,1,5 -9200,0,2,2,1,1,5 -9210,0,2,2,1,1,5 -9220,0,2,2,1,1,5 -9230,0,2,2,1,1,5 -9240,0,2,2,1,1,5 -9250,0,2,2,1,1,5 -9260,0,2,2,1,1,5 -9270,0,2,2,1,1,5 -9280,0,2,2,1,1,5 -9290,0,2,2,1,1,5 -9300,0,2,2,1,1,5 -9310,0,2,2,1,1,5 -9320,0,2,2,1,1,5 -9330,0,2,2,1,1,5 -9340,0,2,2,1,1,5 -9350,0,2,2,1,1,5 -9360,0,2,2,1,1,5 -9370,0,2,2,1,1,5 -9380,0,2,2,1,1,5 -9390,0,2,2,1,1,5 -9400,0,2,2,1,1,5 -9410,0,2,2,1,1,5 -9420,0,2,2,1,1,5 -9430,0,2,2,1,1,5 -9440,0,2,2,1,1,5 -9450,0,2,2,1,1,5 -9460,0,2,2,1,1,5 -9470,0,2,2,1,1,5 -9480,0,2,2,1,1,5 -9490,0,2,2,1,1,5 -9500,0,2,2,1,1,5 -9510,0,2,2,1,1,5 -9520,0,2,2,1,1,5 -9530,0,2,2,1,1,5 -9540,0,2,2,1,1,5 -9550,0,2,2,1,1,5 -9560,0,2,2,1,1,5 -9570,0,2,2,1,1,5 -9580,0,2,2,1,1,5 -9590,0,2,2,1,1,5 -9600,0,2,2,1,1,5 -9610,0,2,2,1,1,5 -9620,0,2,2,1,1,5 -9630,0,2,2,1,1,5 -9640,0,2,2,1,1,5 -9650,0,2,2,1,1,5 -9660,0,2,2,1,1,5 -9670,0,2,2,1,1,5 -9680,0,2,2,1,1,5 -9690,0,2,2,1,1,5 -9700,0,2,2,1,1,5 -9710,0,2,2,1,1,5 -9720,0,2,2,1,1,5 -9730,0,2,2,1,1,5 -9740,0,2,2,1,1,5 -9750,0,2,2,1,1,5 -9760,0,2,2,1,1,5 -9770,0,2,2,1,1,5 -9780,0,2,2,1,1,5 -9790,0,2,2,1,1,5 -9800,0,2,2,1,1,5 -9810,0,2,2,1,1,5 -9820,0,2,2,1,1,5 -9830,0,2,2,1,1,5 -9840,0,2,2,1,1,5 -9850,0,2,2,1,1,5 -9860,0,2,2,1,1,5 -9870,0,2,2,1,1,5 -9880,0,2,2,1,1,5 -9890,0,2,2,1,1,5 -9900,0,2,2,1,1,5 -9910,0,2,2,1,1,5 -9920,0,2,2,1,1,5 -9930,0,2,2,1,1,5 -9940,0,2,2,1,1,5 -9950,0,2,2,1,1,5 -9960,0,2,2,1,1,5 -9970,0,2,2,1,1,5 -9980,0,2,2,1,1,5 -9990,0,2,2,1,1,5 -10000,0,2,2,1,1,5 -10010,0,2,2,1,1,5 -10020,0,2,2,1,1,5 -10030,0,2,2,1,1,5 -10040,0,2,2,1,1,5 -10050,0,2,2,1,1,5 -10060,0,2,2,1,1,5 -10070,0,2,2,1,1,5 -10080,0,2,2,1,1,5 -10090,0,2,2,1,1,5 -10100,0,2,2,1,1,5 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-minus.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-minus.csv deleted file mode 100644 index 954c588..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-minus.csv +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,0,10,10,10 -10,55,40,-2,9,9,9 -20,50,35,-4,8,8,8 -30,45,30,-6,7,7,7 -40,40,25,-8,6,6,6 -50,35,20,-10,5,5,5 -60,30,15,-12,4,4,4 -70,25,10,-14,3,3,3 -80,20,5,-16,2,2,2 -90,15,0,-18,1,1,1 -100,10,-5,-20,0,0,0 -110,5,0,-22,1,1,1 -120,0,5,-20,2,2,2 -130,-5,10,-18,3,3,3 -140,0,15,-16,4,4,4 -150,5,20,-14,5,5,5 -160,10,25,-12,6,6,6 -170,15,30,-10,7,7,7 -180,20,35,-8,8,8,8 -190,25,40,-6,9,9,9 -200,30,45,-4,10,10,10 -210,35,40,-2,9,9,9 -220,40,35,0,8,8,8 -230,45,30,-2,7,7,7 -240,50,25,-4,6,6,6 -250,55,20,-6,5,5,5 -260,60,15,-8,4,4,4 -270,55,10,-10,3,3,3 -280,50,5,-12,2,2,2 -290,45,0,-14,1,1,1 -300,40,-5,-16,0,0,0 -310,35,0,-18,1,1,1 -320,30,5,-20,2,2,2 -330,25,10,-25,3,3,3 -340,20,15,-20,4,4,4 -350,15,20,-18,5,5,5 -360,10,25,-16,6,6,6 -370,5,30,-14,7,7,7 -380,0,35,-12,8,8,8 -390,-5,40,-10,9,9,9 -400,0,45,-8,10,10,10 -410,5,40,-6,9,9,9 -420,10,35,-4,8,8,8 -430,15,30,-2,7,7,7 -440,20,25,0,6,6,6 -450,25,20,-2,5,5,5 -460,30,15,-4,4,4,4 -470,35,10,-6,3,3,3 -480,40,5,-8,2,2,2 -490,45,0,-10,1,1,1 -500,50,-5,-12,0,0,0 -510,55,0,-14,1,1,1 -520,60,5,-16,2,2,2 -530,55,10,-18,3,3,3 -540,50,15,-20,4,4,4 -550,45,20,-30,5,5,5 -560,40,25,-20,6,6,6 -570,35,30,-18,7,7,7 -580,30,35,-16,8,8,8 -590,25,40,-14,9,9,9 -600,20,45,-12,10,10,10 -610,15,40,-10,9,9,9 -620,10,35,-8,8,8,8 -630,5,30,-6,7,7,7 -640,0,25,-4,6,6,6 -650,-5,20,-2,5,5,5 -660,0,15,0,4,4,4 -670,5,10,-2,3,3,3 -680,10,5,-4,2,2,2 -690,15,0,-6,1,1,1 -700,20,-5,-8,0,0,0 -710,25,0,-10,1,1,1 -720,30,5,-12,2,2,2 -730,35,10,-14,3,3,3 -740,40,15,-16,4,4,4 -750,45,20,-18,5,5,5 -760,50,25,-20,6,6,6 -770,55,30,-22,7,7,7 -780,60,35,-20,8,8,8 -790,55,40,-18,9,9,9 -800,50,45,-16,10,10,10 -810,45,40,-14,9,9,9 -820,40,35,-12,8,8,8 -830,35,30,-10,7,7,7 -840,30,25,-8,6,6,6 -850,25,20,-6,5,5,5 -860,20,15,-4,4,4,4 -870,15,10,-2,3,3,3 -880,10,5,0,2,2,2 -890,5,0,-2,1,1,1 -900,0,-5,-4,0,0,0 -910,-5,0,-6,1,1,1 -920,0,5,-8,2,2,2 -930,5,10,-10,3,3,3 -940,10,15,-12,4,4,4 -950,15,20,-14,5,5,5 -960,20,25,-16,6,6,6 -970,25,30,-18,7,7,7 -980,30,35,-20,8,8,8 -990,35,40,-22,9,9,9 -1000,40,45,-20,10,10,10 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-plus.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-plus.csv deleted file mode 100644 index 9ae00ed..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/1ms-plus.csv +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,9,9,9,9 -20,50,35,8,8,8,8 -30,45,30,7,7,7,7 -40,40,25,6,6,6,6 -50,35,20,5,5,5,5 -60,30,15,4,4,4,4 -70,25,10,3,3,3,3 -80,20,5,2,2,2,2 -90,15,0,1,1,1,1 -100,10,-5,0,0,0,0 -110,5,0,1,1,1,1 -120,0,5,2,2,2,2 -130,-5,10,3,3,3,3 -140,0,15,4,4,4,4 -150,5,20,5,5,5,5 -160,10,25,6,6,6,6 -170,15,30,7,7,7,7 -180,20,35,8,8,8,8 -190,25,40,9,9,9,9 -200,30,45,10,10,10,10 -210,35,40,11,9,9,9 -220,40,35,12,8,8,8 -230,45,30,11,7,7,7 -240,50,25,10,6,6,6 -250,55,20,9,5,5,5 -260,60,15,8,4,4,4 -270,55,10,7,3,3,3 -280,50,5,6,2,2,2 -290,45,0,5,1,1,1 -300,40,-5,4,0,0,0 -310,35,0,3,1,1,1 -320,30,5,2,2,2,2 -330,25,10,1,3,3,3 -340,20,15,0,4,4,4 -350,15,20,1,5,5,5 -360,10,25,2,6,6,6 -370,5,30,3,7,7,7 -380,0,35,4,8,8,8 -390,-5,40,5,9,9,9 -400,0,45,6,10,10,10 -410,5,40,7,9,9,9 -420,10,35,8,8,8,8 -430,15,30,9,7,7,7 -440,20,25,10,6,6,6 -450,25,20,11,5,5,5 -460,30,15,12,4,4,4 -470,35,10,11,3,3,3 -480,40,5,10,2,2,2 -490,45,0,9,1,1,1 -500,50,-5,8,0,0,0 -510,55,0,7,1,1,1 -520,60,5,6,2,2,2 -530,55,10,5,3,3,3 -540,50,15,4,4,4,4 -550,45,20,3,5,5,5 -560,40,25,2,6,6,6 -570,35,30,1,7,7,7 -580,30,35,0,8,8,8 -590,25,40,1,9,9,9 -600,20,45,2,10,10,10 -610,15,40,3,9,9,9 -620,10,35,4,8,8,8 -630,5,30,5,7,7,7 -640,0,25,6,6,6,6 -650,-5,20,7,5,5,5 -660,0,15,8,4,4,4 -670,5,10,9,3,3,3 -680,10,5,10,2,2,2 -690,15,0,11,1,1,1 -700,20,-5,12,0,0,0 -710,25,0,11,1,1,1 -720,30,5,10,2,2,2 -730,35,10,9,3,3,3 -740,40,15,8,4,4,4 -750,45,20,7,5,5,5 -760,50,25,6,6,6,6 -770,55,30,5,7,7,7 -780,60,35,4,8,8,8 -790,55,40,3,9,9,9 -800,50,45,2,10,10,10 -810,45,40,1,9,9,9 -820,40,35,0,8,8,8 -830,35,30,1,7,7,7 -840,30,25,2,6,6,6 -850,25,20,3,5,5,5 -860,20,15,4,4,4,4 -870,15,10,5,3,3,3 -880,10,5,6,2,2,2 -890,5,0,7,1,1,1 -900,0,-5,8,0,0,0 -910,-5,0,9,1,1,1 -920,0,5,10,2,2,2 -930,5,10,11,3,3,3 -940,10,15,12,4,4,4 -950,15,20,11,5,5,5 -960,20,25,10,6,6,6 -970,25,30,9,7,7,7 -980,30,35,8,8,8,8 -990,35,40,7,9,9,9 -1000,40,45,6,10,10,10 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/1ms.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/1ms.csv deleted file mode 100644 index 1fa4757..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/1ms.csv +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,7,9,9,9 -20,50,35,4,8,8,8 -30,45,30,1,7,7,7 -40,40,25,-2,6,6,6 -50,35,20,-5,5,5,5 -60,30,15,-8,4,4,4 -70,25,10,-11,3,3,3 -80,20,5,-14,2,2,2 -90,15,0,-17,1,1,1 -100,10,-5,-20,0,0,0 -110,5,0,-23,1,1,1 -120,0,5,-20,2,2,2 -130,-5,10,-17,3,3,3 -140,0,15,-14,4,4,4 -150,5,20,-11,5,5,5 -160,10,25,-8,6,6,6 -170,15,30,-5,7,7,7 -180,20,35,-2,8,8,8 -190,25,40,1,9,9,9 -200,30,45,4,10,10,10 -210,35,40,7,9,9,9 -220,40,35,10,8,8,8 -230,45,30,13,7,7,7 -240,50,25,10,6,6,6 -250,55,20,7,5,5,5 -260,60,15,4,4,4,4 -270,55,10,1,3,3,3 -280,50,5,-2,2,2,2 -290,45,0,-5,1,1,1 -300,40,-5,-8,0,0,0 -310,35,0,-11,1,1,1 -320,30,5,-14,2,2,2 -330,25,10,-17,3,3,3 -340,20,15,-20,4,4,4 -350,15,20,-23,5,5,5 -360,10,25,-20,6,6,6 -370,5,30,-17,7,7,7 -380,0,35,-14,8,8,8 -390,-5,40,-11,9,9,9 -400,0,45,-8,10,10,10 -410,5,40,-5,9,9,9 -420,10,35,-2,8,8,8 -430,15,30,1,7,7,7 -440,20,25,4,6,6,6 -450,25,20,7,5,5,5 -460,30,15,10,4,4,4 -470,35,10,13,3,3,3 -480,40,5,10,2,2,2 -490,45,0,7,1,1,1 -500,50,-5,4,0,0,0 -510,55,0,1,1,1,1 -520,60,5,-2,2,2,2 -530,55,10,-5,3,3,3 -540,50,15,-8,4,4,4 -550,45,20,-11,5,5,5 -560,40,25,-14,6,6,6 -570,35,30,-17,7,7,7 -580,30,35,-20,8,8,8 -590,25,40,-23,9,9,9 -600,20,45,-20,10,10,10 -610,15,40,-17,9,9,9 -620,10,35,-14,8,8,8 -630,5,30,-11,7,7,7 -640,0,25,-8,6,6,6 -650,-5,20,-5,5,5,5 -660,0,15,-2,4,4,4 -670,5,10,1,3,3,3 -680,10,5,4,2,2,2 -690,15,0,7,1,1,1 -700,20,-5,10,0,0,0 -710,25,0,13,1,1,1 -720,30,5,10,2,2,2 -730,35,10,7,3,3,3 -740,40,15,4,4,4,4 -750,45,20,1,5,5,5 -760,50,25,-2,6,6,6 -770,55,30,-5,7,7,7 -780,60,35,-8,8,8,8 -790,55,40,-11,9,9,9 -800,50,45,-14,10,10,10 -810,45,40,-17,9,9,9 -820,40,35,-20,8,8,8 -830,35,30,-23,7,7,7 -840,30,25,-20,6,6,6 -850,25,20,-17,5,5,5 -860,20,15,-14,4,4,4 -870,15,10,-11,3,3,3 -880,10,5,-8,2,2,2 -890,5,0,-5,1,1,1 -900,0,-5,-2,0,0,0 -910,-5,0,1,1,1,1 -920,0,5,4,2,2,2 -930,5,10,7,3,3,3 -940,10,15,10,4,4,4 -950,15,20,13,5,5,5 -960,20,25,10,6,6,6 -970,25,30,7,7,7,7 -980,30,35,4,8,8,8 -990,35,40,1,9,9,9 -1000,40,45,-2,10,10,10 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronA_FY19_P1.cfg b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronA_FY19_P1.cfg deleted file mode 100644 index a4cf645..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronA_FY19_P1.cfg +++ /dev/null @@ -1,4981 +0,0 @@ -// LoggerService node: See /var/log/messages file. -// +LoggerService = { -// Class = LoggerService -// CPUs = 0x800 -// StackSize = 32768 -// NumberOfLogPages = 128 -// +SysLogger = { -// Class = SysLogger -// Format = "EtOoFmC" -// PrintKeys = 1 -// Ident = "JAGyA" -// } -// } - -// 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 - } - } - } -} - -// RealTime Application node -+JAGyrotronRTApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - //Timer GAM for thread 1. - +Timer1kHzGAM = { - Class = IOGAM - InputSignals = { - Counter = { - DataSource = Timer1kHz - Type = uint32 - Frequency = 1000 //Hz - } - Time = { - DataSource = Timer1kHz - Type = uint32 - } - } - OutputSignals = { - Counter1kHz = { - DataSource = DDB1 - Type = uint32 - } - Time1kHz = { - DataSource = DDB1 - Type = uint32 - } - } - } - +Timer10HzGAM = { - Class = IOGAM - InputSignals = { - Counter = { - DataSource = Timer10Hz - Type = uint32 - Frequency = 1 //Hz - } - Time = { - DataSource = Timer10Hz - Type = uint32 - } - } - OutputSignals = { - Counter10Hz = { - DataSource = DDB1 - Type = uint32 - } - Time1Hz = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM to update PCF state-machine state - +InErrorGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 1 - } - } - } - +InDisabledGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 2 - } - } - } - +InWaitStandbyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 3 - } - } - } - +InWaitReadyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 4 - } - } - } - +InWaitPermitGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 5 - } - } - } - +InWaitHVONGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 6 - } - } - } - +InWaitHVON_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 7 - } - } - } - +InWaitHVON_SDNGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 8 - } - } - } - +InWaitHVON_SDN_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 9 - } - } - } - - // Copy data from DDB1 to EPICSCAOutput DataSource. - +EPICSOutputGAM = { - Class = IOGAM - InputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - PREP_TIME_WF = { - DataSource = DDB1 - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - APS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - SHOT_ID = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - //Add 20201117 - 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 - } - } - OutputSignals = { - PCF_STATE = { - DataSource = EPICSCAOutput - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - APS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - FHPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - CSV_LOADED = { - DataSource = EPICSCAOutput - Type = uint32 - } - CSV_ERR = { - DataSource = EPICSCAOutput - Type = uint32 - } - ELAPSED_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVARMED = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVINJECTION = { - DataSource = EPICSCAOutput - Type = uint32 - } - RFON = { - DataSource = EPICSCAOutput - Type = uint32 - } - - MHVPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - PREP_TIME_WF = { - DataSource = EPICSCAOutput - } - MHVPS_PREP_WF = { - DataSource = EPICSCAOutput - } - BPS_PREP_WF = { - DataSource = EPICSCAOutput - } - APS_PREP_WF = { - DataSource = EPICSCAOutput - } - MCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - GCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - FHPS_PREP_WF = { - DataSource = EPICSCAOutput - } - CCPS_REF = { - DataSource = EPICSCAOutput - } - MHVPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAOutput - } - BEAM_ON_STAT = { - DataSource = EPICSCAOutput - } - SHOT_ID = { - DataSource = EPICSCAOutput - } - FHPS_AUTO_STAT = { - DataSource = EPICSCAOutput - } - //Added 20201117 - APS_HVON = { - DataSource = EPICSCAOutput - } - APS_SWON = { - DataSource = EPICSCAOutput - } - BPS_HVON = { - DataSource = EPICSCAOutput - } - BPS_SWON = { - DataSource = EPICSCAOutput - } - MHVPS_HVON = { - DataSource = EPICSCAOutput - } - } - } - - // Message GAM in Disabled state. - +GoWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - +GoWaitStandbyFromReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - - // MCPS, GCPS PV to DDB1 - +GCPSGAM = { - Class = IOGAM - InputSignals = { - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - +MCPSGAM = { - Class = IOGAM - InputSignals = { - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - // Message GAM in Standby state. - +GoDisabledGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoDisabled - } - } - - //GAM in WaitReady state. Check MCPS,GCPS,FHPS state for state transition. - +GoWaitReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {3 3 1} - ExpectedFloatValues = {0 0 0} - Comparators = {EQUALS GREATER EQUALS GREATER EQUALS GREATER} - InputSignals = { - MCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYA_MCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYA_GCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_MEAS_ACV = { - DataSource = EPICSCAInput - Type = float32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - - //GAM for prepro - +WFRecordGAM = { - Class = JAWFRecordGAM - Directory = "../Configurations" //TODO: Enter directory path for prepro files. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - } - OutputSignals = { - PREP_TIME_WF = { - DataSource = DDB1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - } - BPS_PREP_WF = { - DataSource = DDB1 - } - APS_PREP_WF = { - DataSource = DDB1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - } - } - } - +PreProgrammedGAM = { - Class = JAPreProgrammedGAM - Directory = "../Configurations" // TODO: Enter the directory path for prepro files. - PreProgrammedPeriodMs = 1 // Parameter update periods in ms. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - FHPS_REF = { - Alias = FHPS_AUTO_TAGV - DataSource = EPICSCAInput - Type = float32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - GYA_PREPRO_TIME = { - DataSource = DDB1 - Type = int32 - } - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_REF = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM in WaitReady state. Check PLC_READY and CCPS_IN_OPERATION status. - +GoWaitPermitGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1} //20201222 modified. In the past, 0 1. - Comparators = {EQUALS EQUALS} - InputSignals = { - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - //GAM in WaitPermit state. Check Permit and States of Operation Modes. - +GoWaitReadyFromWaitPermitGAM = { - Class = JAMessageGAM - Operation = OR - ExpectedIntValues = {0 0} - Comparators = {EQUALS EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - +GoWaitHVONGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON - } - } - +GoWaitHVON_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_PREP - } - } - +GoWaitHVON_SDN_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN - } - } - +GoWaitHVON_SDN_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN_PREP - } - } - - //GAM in WaitHVON_xx states. If PLC_READY is zero, goto WaitStandby. - +FromWaitHVONToWaitStandby = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - //GAM in WaitHVON_xx states. If PLC_PERMIT is zero, goto WaitPermit. - +FromWaitHVONToWaitPermit = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 0 0 0 0} //modified 20201222 - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} //modified 20201222 - InputSignals = { - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - //add 20201222 - APS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - MHVPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - APS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - }//20201222 - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - // Check the selected mode, and check maximum pulse length. Use with a StateMachineGAM - +ModeLimitGAM = { - Class = JAModeControlGAM - InputSignals = { - PLC_MODE1 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD1_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE2 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD2_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE3 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD3_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE4 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD4_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - Time = { - DataSource = DDB1 - Type = uint32 - } - HVInjection = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - MODE_SHOTLEN_FLAG = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // State notify GAMs. These GAMs are in all WaitHVON states. - +writeBeamONStateGAM = { - Class = IOGAM - InputSignals = { - BEAM_ON_STAT = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVArmedStateGAM = { - Class = IOGAM - InputSignals = { - HVARMED = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVInjectionStateGAM = { - Class = IOGAM - InputSignals = { - HVINJECTION = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONStateGAM = { - Class = IOGAM - InputSignals = { - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeBeamONTimeGAM = { - Class = IOGAM - InputSignals = { - BeamONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONTimeGAM = { - Class = IOGAM - InputSignals = { - RFONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for trianguler waveform generation. - +CCPSWaveformGAM = { - Class = JATriangleWaveGAM - InputSignals = { - Frequency = { - Alias = CCPS_OUTPUT_FREQ - DataSource = EPICSCAInput - Type = float32 - } - Amplitude = { - Alias = CCPS_OUTPUT_AMP - DataSource = EPICSCAInput - Type = float32 - } - Offset = { - Alias = CCPS_OUTPUT_OFFS - DataSource = EPICSCAInput - Type = float32 - } - PLCSTANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - } - } - //GAM for FHPS ramping up operation. - +FHPSSetpointGAM = { - Class = IOGAM - InputSignals = { - FHPS_AUTO_TAGV = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - FHPS_TAGV = { - DataSource = DDB1 - Type = float32 - } - } - } - +FHPSRampupGAM = { - Class = JARampupGAM - InputSignals = { - Currspv = { - Alias = FHPS_REF - DataSource = DDB1 - Type = float32 - } - Targetv = { - Alias = FHPS_TAGV - DataSource = DDB1 - Type = float32 - } - Time = { - Alias = FHPS_AUTO_TIME - DataSource = EPICSCAInput - Type = float32 - } - Start = { - Alias = FHPS_AUTO_START - DataSource = EPICSCAInput - Type = uint32 - } - PLC_STANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - MANUAL_AUTO = { - Alias = FHPS_MANM - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - } - OutputSignals = { - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - //GAM for error handling. - // GAM that sets ERROR and STOP FLAGS for APS, BPS and MHVPS when we enter Error state and resets them when we leave Error state - +ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = AND - ExpectedValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {0 0 0} - InputSignals = { - // Conditional signals - 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 - } - // Default values - MHVPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - } - } - +StopRequestGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {1 1 1 1 1 1 1 1 1 1} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {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 - } - StopRequest_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - StopRequest = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //Test whether board status are stable - +GAMDisplayDebug = { - Class = IOGAM - InputSignals = { - RESET_FLT = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - RESET_FLT_DISP = { - DataSource = Display - Type = uint32 - } - } - } - //Check PXI board status. - +PXI6259ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0 0} - Comparators = {GREATER GREATER GREATER GREATER} - Values = {1} - InputSignals = { - // Conditional signals - PXI6259_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6259_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6259_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error03GAM = {// detect Hardware error (status number 3) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {3 3} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_03_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error04GAM = {// detect No board error (status number 4) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {4 4} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_04_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXIErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0} - Comparators = {GREATER GREATER GREATER} - Values = {1} - InputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - // Default values - PCF_FLT_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - } - } - - - +FromErrorToWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - InputSignals = { - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - // From any state to Error state. - +GoErrorGAM = { - Class = JAMessageGAM - Operation = OR - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoError - } - } - // Reset HVPS outputs. ToDo: Fix to access NI d.s. - +ResetPSsGAM = { - Class = ConstantGAM - OutputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - //here - } - } - // Update status. ToDo: Fix to access NI d.s. - +ExitedHVArmedInjectionRFONGAM = { - Class = JAConditionalSignalUpdateGAM - Values = {0 0 0} - InputSignals = { - // Condition signals - // Default output values - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //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 = RealTimeThreadAsyncBridge - Type = uint16 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - } - } - +debugSDNGAM = {//for debug - Class = IOGAM - InputSignals = { - Command = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - Command_DISP = { - DataSource = Display - Type = float32 - } - ESDNTime_DISP = { - DataSource = Display - Type = uint32 - } - } - } - +SDNReplyGAM = { - Class = IOGAM - InputSignals = { - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - WaveformPacketID = { - DataSource = DDB1 - Type = uint16 - } - GYA_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYB_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYA_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - GYB_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - } - 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 - } - } - } - //Write SDN waveform data into PS setpoint PV. - - // 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 - } - } - OutputSignals = { - TimeSDN = { - DataSource = DDB1 - Type = uint32 - } - CounterSDN = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for realtime statemachine - +Timer100kHzGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 200000 //operation:10k(=100us cyc) - //Frequency = 100000 //operation:100k(=10us cyc) - } - RTThreadPerf = { - DataSource = Timings - Alias = "WaitHVON.Thread3_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Digital Output port access. - // EPICS PV to one uint8 variable - +NI6528P3GAM = { - Class = JABitSumGAM - InputSignals = { - APS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV5 = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GAM = { - Class = JABitSumGAM - InputSignals = { - DO_REV6 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV7 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV8 = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAInput - Type = uint32 - } - HVARMED = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5GAM = { - Class = JABitSumGAM - InputSignals = { - HVINJECTION = { - DataSource = EPICSCAInput - Type = uint32 - } - RFON = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - SCM_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - SCM_RD = { - DataSource = EPICSCAInput - Type = uint32 - } - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - NONE1 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - NONE2 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - // reversed uint8 variable (value to write on port.) - +NI6528P3PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P5PortValue = { - DataSource = NI6528P5 - Type = uint8 - } - } - } - // write a uint8 port value to PXI data source. - +NI6528P3WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3Value = { - DataSource = NI6528P3 - Type = uint8 - } - } - } - +NI6528P4WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4Value = { - DataSource = NI6528P4 - Type = uint8 - } - } - } - - //Thread3 pulse parameter EPICS PVs read. - +GAMEPICSCA = { - Class = IOGAM - InputSignals = { - MHVPS_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - SHOTLEN = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_ON = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - 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 - } - PLC_ON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Real-Time state machine GAMs - +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 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210120 - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210121 - DO_REV6 = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - RTSMValue = { - 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 - } - //Added 20201117 - 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 - } - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4Value = { - DataSource = NI6528P4 - //DataSource = DDB1 - Type = uint8 - } - } - } - +GAMSDNRealTimeStateMachine = { - Class = JASDNRTStateMachineGAM - 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 - } - Command = { - DataSource = RealTimeThreadAsyncBridge - Type = uint16 - } - - } - OutputSignals = { - RTSMValue = { - DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - BeamON = { - 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 - } - } - } - - //Terminal Interface reads three inputs. - // INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value - // OUTPUTs: Each NIxxx data sources. - +terminalInterfaceGAM = { - Class = JATerminalInterfaceGAM - mhvps_hvon_term = 4 - aps_hvon_term = 1 - aps_swon_term = 16 - bps_hvon_term = 2 - bps_swon_term = 8 - InputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Input signals about HW terminal. - RTSMValue = { - DataSource = DDB1 - Type = uint32 - } - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4Value = { - DataSource = NI6528P4 - //DataSource = DDB1 - Type = uint8 - } - } - } - - // Switching AO port source between internal variable and EPICS PV. - +choiseGAM = { - Class = JASourceChoiseGAM - numberOfPVs = 5 - InputSignals = { - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - BPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - APS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - APS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MHVPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - } - } - - //debug - +debugTimerGAM = { - Class = IOGAM - InputSignals = { - Time1kHz = { - DataSource = DDB1 - Type = uint32 - } - TimeSDN = { - DataSource = DDB1 - Type = uint32 - } - Time = { - DataSource = DDB1 - Type = uint32 - } - Time1Hz = { - DataSource = DDB1 - Type = uint32 - } - - } - OutputSignals = { - T1_time = { - DataSource = Display - Type = uint32 - } - T2_time = { - DataSource = Display - Type = uint32 - } - T3_time = { - DataSource = Display - Type = uint32 - } - T4_time = { - DataSource = Display - 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 - } - } - } - - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +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 - } - } - } - +TimerSDN = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x200 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +Timer10Hz = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x800 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - // 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 - } - } - } - - +Timings = { - Class = TimingDataSource - } - +Display = { - Class = LoggerDataSource - } - // for data exechange between threads. - +RealTimeThreadAsyncBridge = { - Class = RealTimeThreadAsyncBridge - NumberOfBuffers = 20 - } - // for access ECPIS PV. - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "0x100" //change from 200 - StackSize = "10000000" - Signals = { - // PV for manually setting - 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 - } - // 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 - } - - //Digital Input PVs in Signal-Variable tab. - APS_READY = { - PVName = "EC-GN-P01-PA1F:PSU3000-YSTA" - 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 - } - BPS_READY = { - PVName = "EC-GN-P01-PB1F:PSU1000-YSTA" - 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 - } - MHVPS_READY = { - PVName = "EC-GN-P01-PMF:PSU0000-TYSTA" - Type = uint32 - } - MHVPS_MODON = { - PVName = "EC-GN-P01-GPF:PSU0000-YSTA-MOD" - 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_STANDBY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST1R" - Type = uint32 - } - PLC_READY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST2R" - Type = uint32 - } - PLC_ON = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST3R" - 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 - } - PLC_PERMIT = { - PVName = "EC-GN-P01-GPS:PLC4110-CON-GY1PRM" - 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_CCPSON = { - PVName = "EC-GN-P01-GPS:PLC4110-YON-CCPS1" - Type = uint32 - } - EXT_TRIG = { - PVName = "EC-GN-P01-GAF:DIO4900-YON" - Type = uint32 - } - - //Digital Output PVs in Variables-signal tab - 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_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - 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 - } - 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 - } - 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 - } - //Input PVs in Variables-Operation tab. - PREP_MODE = { - PVName = "EC-GN-P01-GAF:STAT-PREP-MODE" - Type = uint32 - } - SHORT_PULSE_MODE = { - PVName = "EC-GN-P01-GAF:STAT-SHORT-PULSE" - Type = uint32 - } - - 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 - } - - 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 - } - - FHPS_MANM = { - PVName = "EC-GN-P01-GAF-FHPS:STAT-MANM" - Type = uint32 - } - - 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 - } - RESET_FLT = { - PVName = "EC-GN-P01-GPF:STAT-RST-FLT" - //PVName = "EC-GN-P01-GPS-MEM:CMD-CONALARMRESET-HMI" - Type = uint32 - } - - //Input PVs in Variables-JASTEC tab. - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SET-MI" - Type = uint32 - } - MCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI" - Type = float32 - } - MCPS_ACT_RB = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB" - Type = uint32 - } - MCPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB" - Type = uint32 - } - GYA_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - GYB_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - MCPS_VOLT_MON = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON" - Type = uint32 - } - MCPS_SWP_RB = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB" - Type = uint32 - } - MCPS_SWP_LIM = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM" - Type = uint32 - } - MCPS_ERR = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ERR" - Type = uint32 - } - MCPS_MM = { - PVName = "EC-GN-P01-GAF-MCPS:STAT-MANM" - Type = uint32 - } - //GCPS PVs - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MI" - Type = uint32 - } - GCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI" - Type = float32 - } - GCPS_ACT_RB = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB" - Type = uint32 - } - GCPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB" - Type = uint32 - } - GYA_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GYB_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GCPS_VOLT_MON = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON" - Type = uint32 - } - GCPS_SWP_RB = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB" - Type = uint32 - } - GCPS_SWP_LIM = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM" - Type = uint32 - } - GCPS_ERR = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ERR" - Type = uint32 - } - GCPS_MM = { - PVName = "EC-GN-P01-GAF-GCPS:STAT-MANM" - Type = uint32 - } - //Input PVs in Variables-kikusui tab. - FHPS_REM_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-REM-RB" - Type = uint32 - } - FHPS_OUTON_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB" - Type = uint32 - } - FHPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB" - Type = uint32 - } - FHPS_ACV_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB" - Type = uint32 - } - FHPS_FRQ_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB" - Type = uint32 - } - FHPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB" - Type = uint32 - } - FHPS_MEAS_ACV = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV" - 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 - } - FHPS_MEAS_ACP = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP" - Type = uint32 - } - FHPS_MEAS_FRQ = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ" - Type = uint32 - } - FHPS_ERR = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-ERROR" - Type = uint32 - } - 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 - } - - CCPS_REMLOC_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB" - Type = uint32 - } - CCPS_OUTON_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB" - Type = uint32 - } - CCPS_CURR_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB" - Type = uint32 - } - CCPS_DCV_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB" - Type = uint32 - } - CCPS_RANG_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-RANG-RB" - Type = uint32 - } - CCPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB" - Type = uint32 - } - CCPS_MEAS_DCV = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV" - Type = uint32 - } - 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 - } - CCPS_MEAS_DCP = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCP" - Type = uint32 - } - CCPS_ERR = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-ERROR" - Type = uint32 - } - CCPS_OUTPUT_AMP = { - PVName = "EC-GN-P01-GAF-CCPS:STAT-AMP" - Type = float32 - } - CCPS_OUTPUT_FREQ = { - PVName = "EC-GN-P01-GAF-CCPS:STAT-FREQ" - Type = float32 - } - CCPS_OUTPUT_OFFS = { - PVName = "EC-GN-P01-GAF-CCPS:STAT-OFFS" - Type = float32 - } - //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 - } - } - } - +EPICSCAOutput = { - Class = "EPICSCA::EPICSCAOutput" - CPUMask = "0x100" //change from 0x200 - StackSize = "10000000" - NumberOfBuffers = 2 - Signals = { - PCF_STATE = { - PVName = "EC-GN-P01-GAF:STAT-SM" - Type = uint32 - } - //Analog Output PVs in Variables-signal tab. - FHPS_REF = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-EREF" - Type = float32 - } - BPS_REF = { - PVName = "EC-GN-P01-PB1F:PSU1000-EREF" - Type = float32 - } - APS_REF = { - PVName = "EC-GN-P01-PA1F:STAT-EREF-CONV.A" - Type = float32 - } - MHVPS_REF = { - PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.A" - Type = float32 - } - - //Digital Output PVs in Variables-signal tab. - APS_STOP = { - PVName = "EC-GN-P01-PA1F:PSU3000-CTRP" - 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 - } - - MHVPS_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - Type = uint32 - } - PCF_FLT = { - PVName = "EC-GN-P01-GPF:PCF4210-CTRP" - 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 - } - - //Output PVs in Variables-operation tab. - 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 - } - FHPS_PREP_WF = { - PVName = "EC-GN-P01-GAF-FHPS: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 - } - PREP_TIME_WF = { - PVName = "EC-GN-P01-GAF:STAT-PREP-TIME-WF" - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BEAM_ON_TIME = { - PVName = "EC-GN-P01-GAF:STAT-BEAMON-TIME" - Type = uint32 - } - ELAPSED_TIME = { - PVName = "EC-GN-P01-GAF:STAT-ELAPSED" - Type = uint32 - } - SHOT_ID = { - PVName = "EC-GN-P01-GAF:STAT-SHOT-ID" - Type = uint32 - } - - CSV_LOADED = { - PVName = "EC-GN-P01-GAF:STAT-CSV-LOADED" - Type = uint32 - } - CSV_ERR = { - PVName = "EC-GN-P01-GAF:STAT-CSV-ERR" - Type = uint32 - } - - //Output PVs in Variables-jastec tab. - MCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MO" - Type = float32 - } - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP-MO" - Type = uint32 - } - GCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MO" - Type = float32 - } - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP-MO" - Type = uint32 - } - - //Output PVs in Variables-kikusui tab. - CCPS_REF = { - PVName = "EC-GN-P01-GAF-CCPS:PSU2320-EREF" - Type = float32 - } - FHPS_AUTO_STAT = { - PVName = "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT" - Type = uint32 - } - //Add 20201117 - 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 - } - } - } - // for ESDN packet subscription/publication. - +SDNSubCommands = { - Class = SDN::SDNSubscriber - Topic = ECPC2SCUJA - Interface = enp27s0f0 - 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 = enp27s0f0 - 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 - } - } - } - - // 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 - - } - +States = { - Class = ReferenceContainer - +Disabled = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM GoErrorGAM InDisabledGAM - GoWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM} - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - +WaitStandby = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitStandbyGAM - choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoDisabledGAM GoWaitReadyGAM GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - +WaitReady = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitReadyGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - +WaitPermit = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitPermitGAM - choiseGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - - //Real-Time state for HVPS sequence timing control. - +WaitHVON = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitHVONGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } -// +Thread4 = { -// Class = RealTimeThread -// Functions = {Timer10HzGAM GAMExecTime } -// CPUs = 0x800 -// } - } - } - +WaitHVON_SDN = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSRampupGAM InWaitHVON_SDNGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } - } - } - +WaitHVON_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } - } - } - +WaitHVON_SDN_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_SDN_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM} - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x400 - } - } - } - - +Error = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM InErrorGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - ExitedHVArmedInjectionRFONGAM ResetPSsGAM - FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM} - CPUs = 0x100 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x200 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM } - CPUs = 0x400 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronB_FY19_P1.cfg b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronB_FY19_P1.cfg deleted file mode 100644 index 6fb3d04..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronB_FY19_P1.cfg +++ /dev/null @@ -1,4946 +0,0 @@ -// 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" -// } -// } - -// 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 - } - } - } -} - -// RealTime Application node -+JAGyrotronRTApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - //Timer GAM for thread 1. - +Timer1kHzGAM = { - Class = IOGAM - InputSignals = { - Counter = { - DataSource = Timer1kHz - Type = uint32 - Frequency = 1000 //Hz - } - Time = { - DataSource = Timer1kHz - Type = uint32 - } - } - OutputSignals = { - Counter1kHz = { - DataSource = DDB1 - Type = uint32 - } - Time1kHz = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM to update PCF state-machine state - +InErrorGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 1 - } - } - } - +InDisabledGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 2 - } - } - } - +InWaitStandbyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 3 - } - } - } - +InWaitReadyGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 4 - } - } - } - +InWaitPermitGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 5 - } - } - } - +InWaitHVONGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 6 - } - } - } - +InWaitHVON_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 7 - } - } - } - +InWaitHVON_SDNGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 8 - } - } - } - +InWaitHVON_SDN_PREPGAM = { - Class = ConstantGAM - OutputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - Default = 9 - } - } - } - - // Copy data from DDB1 to EPICSCAOutput DataSource. - +EPICSOutputGAM = { - Class = IOGAM - InputSignals = { - PCF_STATE = { - DataSource = DDB1 - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = DDB1 - Type = uint32 - } - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - PREP_TIME_WF = { - DataSource = DDB1 - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - APS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - SHOT_ID = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - //Add 20201117 - 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 - } - } - OutputSignals = { - PCF_STATE = { - DataSource = EPICSCAOutput - Type = uint32 - } - MCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - GCPS_ACT_SP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - APS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = EPICSCAOutput - Type = float32 - } - FHPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - CSV_LOADED = { - DataSource = EPICSCAOutput - Type = uint32 - } - CSV_ERR = { - DataSource = EPICSCAOutput - Type = uint32 - } - ELAPSED_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVARMED = { - DataSource = EPICSCAOutput - Type = uint32 - } - HVINJECTION = { - DataSource = EPICSCAOutput - Type = uint32 - } - RFON = { - DataSource = EPICSCAOutput - Type = uint32 - } - - MHVPS_REF = { - DataSource = EPICSCAOutput - Type = float32 - } - PREP_TIME_WF = { - DataSource = EPICSCAOutput - } - MHVPS_PREP_WF = { - DataSource = EPICSCAOutput - } - BPS_PREP_WF = { - DataSource = EPICSCAOutput - } - APS_PREP_WF = { - DataSource = EPICSCAOutput - } - MCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - GCPS_PREP_WF = { - DataSource = EPICSCAOutput - } - FHPS_PREP_WF = { - DataSource = EPICSCAOutput - } - CCPS_REF = { - DataSource = EPICSCAOutput - } - MHVPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAOutput - Type = uint32 - } - BEAM_ON_TIME = { - DataSource = EPICSCAOutput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAOutput - } - BEAM_ON_STAT = { - DataSource = EPICSCAOutput - } - SHOT_ID = { - DataSource = EPICSCAOutput - } - FHPS_AUTO_STAT = { - DataSource = EPICSCAOutput - } - //Added 20201117 - APS_HVON = { - DataSource = EPICSCAOutput - } - APS_SWON = { - DataSource = EPICSCAOutput - } - BPS_HVON = { - DataSource = EPICSCAOutput - } - BPS_SWON = { - DataSource = EPICSCAOutput - } - MHVPS_HVON = { - DataSource = EPICSCAOutput - } - } - } - - // Message GAM in Disabled state. - +GoWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - +GoWaitStandbyFromReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - - // MCPS, GCPS PV to DDB1 - +GCPSGAM = { - Class = IOGAM - InputSignals = { - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - +MCPSGAM = { - Class = IOGAM - InputSignals = { - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - } - } - // Message GAM in Standby state. - +GoDisabledGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_SELECT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoDisabled - } - } - - //GAM in WaitReady state. Check MCPS,GCPS,FHPS state for state transition. - +GoWaitReadyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {3 3 1} - ExpectedFloatValues = {0 0 0} - Comparators = {EQUALS GREATER EQUALS GREATER EQUALS GREATER} - InputSignals = { - MCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYB_MCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_ACT_RB = { - DataSource = EPICSCAInput - Type = uint32 - } - GYB_GCPS_CURR_MON = { - DataSource = EPICSCAInput - Type = float32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_MEAS_ACV = { - DataSource = EPICSCAInput - Type = float32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - - //GAM for prepro - +WFRecordGAM = { - Class = JAWFRecordGAM - Directory = "../Configurations" //TODO: Enter directory path for prepro files. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - } - OutputSignals = { - PREP_TIME_WF = { - DataSource = DDB1 - } - MHVPS_PREP_WF = { - DataSource = DDB1 - } - BPS_PREP_WF = { - DataSource = DDB1 - } - APS_PREP_WF = { - DataSource = DDB1 - } - MCPS_PREP_WF = { - DataSource = DDB1 - } - GCPS_PREP_WF = { - DataSource = DDB1 - } - FHPS_PREP_WF = { - DataSource = DDB1 - } - } - } - +PreProgrammedGAM = { - Class = JAPreProgrammedGAM - Directory = "../Configurations" // TODO: Enter the directory path for prepro files. - PreProgrammedPeriodMs = 1 // Parameter update periods in ms. - InputSignals = { - CSV_LOAD = { - DataSource = EPICSCAInput - Type = uint32 - } - Filename = { - Alias = CSV_NAME - DataSource = EPICSCAInput - } - FHPS_REF = { - Alias = FHPS_AUTO_TAGV - DataSource = EPICSCAInput - Type = float32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - GYA_PREPRO_TIME = { - DataSource = DDB1 - Type = int32 - } - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_REF = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - CSV_LOADED = { - DataSource = DDB1 - Type = uint32 - } - CSV_ERR = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM in WaitReady state. Check PLC_READY and CCPS_IN_OPERATION status. - +GoWaitPermitGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1} //20201222 modified. In the past, 0 1. - Comparators = {EQUALS EQUALS} - InputSignals = { - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - //GAM in WaitPermit state. Check Permit and States of Operation Modes. - +GoWaitReadyFromWaitPermitGAM = { - Class = JAMessageGAM - Operation = OR - ExpectedIntValues = {0 0} - Comparators = {EQUALS EQUALS} - InputSignals = { - PLC_STANDBY = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitReady - } - } - +GoWaitHVONGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON - } - } - +GoWaitHVON_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_PREP - } - } - +GoWaitHVON_SDN_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN - } - } - +GoWaitHVON_SDN_PREP_GAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 1 1} - Comparators = {EQUALS EQUALS EQUALS} - InputSignals = { - PLC_SYNCMODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PREP_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitHVON_SDN_PREP - } - } - - //GAM in WaitHVON_xx states. If PLC_READY is zero, goto WaitStandby. - +FromWaitHVONToWaitStandby = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0} - Comparators = {EQUALS} - InputSignals = { - PLC_READY = { - DataSource = EPICSCAInput - Type = uint32 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - //GAM in WaitHVON_xx states. If PLC_PERMIT is zero, goto WaitPermit. - +FromWaitHVONToWaitPermit = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {0 0 0 0 0 0} //modified 20201222 - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} //modified 20201222 - InputSignals = { - PLC_PERMIT = { - DataSource = EPICSCAInput - Type = uint32 - } - //add 20201222 - APS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - MHVPS_HVON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - BPS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - APS_SWON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - }//20201222 - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitPermit - } - } - - // Check the selected mode, and check maximum pulse length. Use with a StateMachineGAM - +ModeLimitGAM = { - Class = JAModeControlGAM - InputSignals = { - PLC_MODE1 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD1_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE2 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD2_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE3 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD3_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_MODE4 = { - DataSource = EPICSCAInput - Type = uint32 - } - MD4_SHOTLEN_LIM = { - DataSource = EPICSCAInput - Type = uint32 - } - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - Time = { - DataSource = DDB1 - Type = uint32 - } - HVInjection = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - MODE_SHOTLEN_FLAG = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // State notify GAMs. These GAMs are in all WaitHVON states. - +writeBeamONStateGAM = { - Class = IOGAM - InputSignals = { - BEAM_ON_STAT = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVArmedStateGAM = { - Class = IOGAM - InputSignals = { - HVARMED = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeHVInjectionStateGAM = { - Class = IOGAM - InputSignals = { - HVINJECTION = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONStateGAM = { - Class = IOGAM - InputSignals = { - RFON = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeBeamONTimeGAM = { - Class = IOGAM - InputSignals = { - BeamONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - ELAPSED_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - +writeRFONTimeGAM = { - Class = IOGAM - InputSignals = { - RFONTime = { - DataSource = RealTimeThreadAsyncBridge - Type = uint32 - } - } - OutputSignals = { - BEAM_ON_TIME = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for trianguler waveform generation. - +CCPSWaveformGAM = { - Class = JATriangleWaveGAM - InputSignals = { - Frequency = { - Alias = CCPS_OUTPUT_FREQ - DataSource = EPICSCAInput - Type = float32 - } - Amplitude = { - Alias = CCPS_OUTPUT_AMP - DataSource = EPICSCAInput - Type = float32 - } - Offset = { - Alias = CCPS_OUTPUT_OFFS - DataSource = EPICSCAInput - Type = float32 - } - PLCSTANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - CCPS_REF = { - DataSource = DDB1 - Type = float32 - } - } - } - //GAM for FHPS ramping up operation. - +FHPSSetpointGAM = { - Class = IOGAM - InputSignals = { - FHPS_AUTO_TAGV = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - FHPS_TAGV = { - DataSource = DDB1 - Type = float32 - } - } - } - +FHPSRampupGAM = { - Class = JARampupGAM - InputSignals = { - Currspv = { - Alias = FHPS_REF - DataSource = DDB1 - Type = float32 - } - Targetv = { - Alias = FHPS_TAGV - DataSource = DDB1 - Type = float32 - } - Time = { - Alias = FHPS_AUTO_TIME - DataSource = EPICSCAInput - Type = float32 - } - Start = { - Alias = FHPS_AUTO_START - DataSource = EPICSCAInput - Type = uint32 - } - PLC_STANDBY = { - Alias = PLC_STANDBY - DataSource = EPICSCAInput - Type = uint32 - } - MANUAL_AUTO = { - Alias = FHPS_MANM - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_PrePro = { - DataSource = DDB1 - Type = float32 - } - } - OutputSignals = { - FHPS_REF = { - DataSource = DDB1 - Type = float32 - } - FHPS_AUTO_STAT = { - DataSource = DDB1 - Type = uint32 - } - } - } - //GAM for error handling. - // GAM that sets ERROR and STOP FLAGS for APS, BPS and MHVPS when we enter Error state and resets them when we leave Error state - +ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = AND - ExpectedValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {0 0 0} - InputSignals = { - // Conditional signals - 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 - } - // Default values - MHVPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_STOP_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - MHVPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - APS_STOP = { - DataSource = DDB1 - Type = uint32 - } - BPS_STOP = { - DataSource = DDB1 - Type = uint32 - } - } - } - +StopRequestGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {1 1 1 1 1 1 1 1 1 1} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - Values = {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 - } - StopRequest_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - StopRequest = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //Test whether board status are stable - +GAMDisplayBoardStatus = { - Class = IOGAM - InputSignals = { - CCPS_OUTPUT_OFFS = { - DataSource = EPICSCAInput - Type = float32 - } - } - OutputSignals = { - CCPS_OUTPUT_FREQ_DISP = { - DataSource = Display - Type = float32 - } - } - } - //Check PXI board status. - +PXI6259ErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0 0} - Comparators = {GREATER GREATER GREATER GREATER} - Values = {1} - InputSignals = { - // Conditional signals - PXI6259_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6259_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6528_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6259_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error03GAM = {// detect Hardware error (status number 3) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {3 3} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_03_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXI6368Error04GAM = {// detect No board error (status number 4) for PXI6368 boards. - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {4 4} - Comparators = {EQUALS EQUALS} - Values = {1} - InputSignals = { - PXI6368_0 = { - DataSource = EPICSCAInput - Type = uint32 - } - PXI6368_1 = { - DataSource = EPICSCAInput - Type = uint32 - } - // Default values - PCF_FLT_6368_ERRNO_04_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PXIErrorGAM = { - Class = JAConditionalSignalUpdateGAM - Operation = OR - ExpectedValues = {0 0 0} - Comparators = {GREATER GREATER GREATER} - Values = {1} - InputSignals = { - PCF_FLT_6368_ERRNO_03 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6368_ERRNO_04 = { - DataSource = DDB1 - Type = uint32 - } - PCF_FLT_6259 = { - DataSource = DDB1 - Type = uint32 - } - // Default values - PCF_FLT_DEFAULT = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - PCF_FLT = { - DataSource = DDB1 - Type = uint32 - } - } - } - - - +FromErrorToWaitStandbyGAM = { - Class = JAMessageGAM - Operation = AND - ExpectedIntValues = {1 0 0 0 0 0 0 0 0 0 0} - Comparators = {EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS EQUALS} - InputSignals = { - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoWaitStandby - } - } - // From any state to Error state. - +GoErrorGAM = { - Class = JAMessageGAM - Operation = OR - 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 - } - } - +Event = { - Class = Message - Destination = StateMachine - Function = GoError - } - } - // Reset HVPS outputs. ToDo: Fix to access NI d.s. - +ResetPSsGAM = { - Class = ConstantGAM - OutputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - } - // Update status. ToDo: Fix to access NI d.s. - +ExitedHVArmedInjectionRFONGAM = { - Class = JAConditionalSignalUpdateGAM - Values = {0 0 0} - InputSignals = { - // Condition signals - // Default output values - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - HVARMED = { - DataSource = DDB1 - Type = uint32 - } - HVINJECTION = { - DataSource = DDB1 - Type = uint32 - } - RFON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //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 = RealTimeThreadAsyncBridge - Type = uint16 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - } - } - - +SDNReplyGAM = { - Class = IOGAM - InputSignals = { - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - WaveformPacketID = { - DataSource = DDB1 - Type = uint16 - } - GYA_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_BPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_APS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC1_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_ARC2_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESVOLT = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYB_MHVPS_MESCURR = { - DataSource = EPICSCAInput - Ranges = {{0 0}} - } - GYA_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_MCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYB_GCPS_CURR_MON = { - DataSource = EPICSCAInput - } - GYA_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYB_FHPS_MEAS_ACI = { - DataSource = EPICSCAInput - } - GYA_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - GYB_CCPS_MEAS_DCI = { - DataSource = EPICSCAInput - } - } - 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 - } - } - } - //Write SDN waveform data into PS setpoint PV. - - // 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 - } - RTThreadPerf = { - DataSource = Timings - Alias = "WaitHVON.Thread3_CycleTime" - Type = uint32 - } - } - OutputSignals = { - TimeSDN = { - DataSource = DDB1 - Type = uint32 - } - CounterSDN = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerfSDN = { - DataSource = DDB1 - Type = uint32 - } - } - } - - //GAM for realtime statemachine - +Timer100kHzGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 200000 //operation:100k(=10us cyc), debug:10 - } - RTThreadPerf = { - DataSource = Timings - Alias = "WaitHVON.Thread3_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Digital Output port access. (These GAMs are different from GYA.) - // EPICS PV to one uint8 variable - +NI6528P3GAM = { - Class = JABitSumGAM - InputSignals = { - APS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - BEAM_ON_STAT = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV5 = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GAM = { - Class = JABitSumGAM - InputSignals = { - DO_REV6 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV7 = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV8 = { - DataSource = EPICSCAInput - Type = uint32 - } - None1 = { - DataSource = DDB1 - Type = uint32 - Defualt = 0 - } - None2 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - None3 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - HVARMED = { - DataSource = EPICSCAInput - Type = uint32 - } - HVINJECTION = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GYAGAM = { - Class = JABitSumGAM - InputSignals = { - DO_REV6_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV7_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - DO_REV8_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_HVON = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_STOP = { - DataSource = EPICSCAInput - Type = uint32 - } - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - PCF_FLT = { - DataSource = EPICSCAInput - Type = uint32 - } - HVARMED_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - NI6528P4GYACurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5GAM = { - Class = JABitSumGAM - InputSignals = { - RFON = { - DataSource = EPICSCAInput - Type = uint32 - } - FHPS_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - SCM_RU = { - DataSource = EPICSCAInput - Type = uint32 - } - CCPS_IN_OPERATION = { - DataSource = EPICSCAInput - Type = uint32 - } - REV2_PLC = { - DataSource = EPICSCAInput - Type = uint32 - } - REV3_PLC = { - DataSource = EPICSCAInput - Type = uint32 - } - None4 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - None5 = { - DataSource = DDB1 - Type = uint32 - Default = 0 - } - } - OutputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - // reversed uint8 variable (value to write on port.) - +NI6528P3PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P4CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P4GYAPV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P4GYACurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4GYAPortValue = { - DataSource = DDB1 - Type = uint8 - } - } - } - +NI6528P5PV2PortGAM = { - Class = JABitReverseGAM - InputSignals = { - NI6528P5CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P5PortValue = { - DataSource = NI6528P5 - Type = uint8 - } - } - } - // write a uint8 port value to PXI data source. - +NI6528P3WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P3PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P3Value = { - DataSource = NI6528P3 - Type = uint8 - } - } - } - +NI6528P4WriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P4PortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4Value = { - DataSource = NI6528P4 - Type = uint8 - } - } - } - +NI6528P4GYAWriteGAM = { - Class = IOGAM - InputSignals = { - NI6528P4GYAPortValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6528P4GYAValue = { - DataSource = NI6528P4GYA - Type = uint8 - } - } - } - - //Thread3 pulse parameter EPICS PVs read. - +GAMEPICSCA = { - Class = IOGAM - InputSignals = { - MHVPS_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - APS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_HVON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - BPS_SWON_DT = { - DataSource = EPICSCAInput - Type = uint32 - } - SHOTLEN = { - DataSource = EPICSCAInput - Type = uint32 - } - PLC_ON = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - 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 - } - PLC_ON = { - DataSource = DDB1 - Type = uint32 - } - } - } - - // Real-Time state machine GAMs - +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 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210120 - MHVPS_MODSW = { - DataSource = EPICSCAInput - Type = uint32 - } - //Add 20210120 - DO_REV6_GYA = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - RTSMValue = { - 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 - } - //Added 20201117 - 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 - } - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4GYAValue = { - DataSource = NI6528P4GYA - //DataSource = DDB1 - Type = uint8 - } - } - } - +GAMSDNRealTimeStateMachine = { - Class = JASDNRTStateMachineGAM - 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 - } - Command = { - DataSource = RealTimeThreadAsyncBridge - Type = uint16 - } - - } - OutputSignals = { - RTSMValue = { - DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - BeamON = { - 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 - } - } - } - - //Terminal Interface reads three inputs. - // INPUTs: StateMahine Value, NI6528P3Value and NI6528P4Value - // OUTPUTs: Each NIxxx data sources. - +terminalInterfaceGAM = { - Class = JATerminalInterfaceGAM - mhvps_hvon_term = 4 - aps_hvon_term = 1 - aps_swon_term = 16 - bps_hvon_term = 2 - bps_swon_term = 8 - InputSignals = { - MHVPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_HVON = { - DataSource = DDB1 - Type = uint32 - } - APS_SWON = { - DataSource = DDB1 - Type = uint32 - } - BPS_HVON = { - DataSource = DDB1 - Type = uint32 - } - BPS_SWON = { - DataSource = DDB1 - Type = uint32 - } - SHORT_PULSE_MODE = { - DataSource = EPICSCAInput - Type = uint32 - } - //Input signals about HW terminal. - RTSMValue = { - DataSource = DDB1 - Type = uint32 - } - NI6528P3CurrentValue = { - DataSource = DDB1 - Type = uint8 - } - NI6528P4GYACurrentValue = { - DataSource = DDB1 - Type = uint8 - } - } - OutputSignals = { - NI6259Value = { - DataSource = NI6259 - //DataSource = DDB1 - Type = uint32 - Trigger = 1 - } - NI6528P3Value = { - DataSource = NI6528P3 - //DataSource = DDB1 - Type = uint8 - } - NI6528P4GYAValue = { - DataSource = NI6528P4GYA - //DataSource = DDB1 - Type = uint8 - } - } - } - - // Switching AO port source between internal variable and EPICS PV. - +choiseGAM = { - Class = JASourceChoiseGAM - numberOfPVs = 5 - InputSignals = { - BPS_REF = { - DataSource = DDB1 - Type = float32 - } - BPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - BPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - APS_REF = { - DataSource = DDB1 - Type = float32 - } - APS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - APS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MHVPS_REF = { - DataSource = DDB1 - Type = float32 - } - MHVPS_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MHVPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - MCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - MCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - MCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - GCPS_TRG_CURR_SET = { - DataSource = DDB1 - Type = float32 - } - GCPS_TRG_CURR_MANUAL = { - DataSource = EPICSCAInput - Type = float32 - } - GCPS_MM = { - DataSource = EPICSCAInput - Type = uint32 - } - - } - OutputSignals = { - BPS_OUT = { - DataSource = DDB1 - Type = float32 - } - APS_OUT = { - DataSource = DDB1 - Type = float32 - } - MHVPS_OUT = { - DataSource = DDB1 - Type = float32 - } - MCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - GCPS_OUT = { - DataSource = DDB1 - Type = float32 - } - } - } - - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +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 = 0x1000 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +TimerSDN = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x2000 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - // Timer for thread 3 (RTStateMachineGAM execution cycle.) - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 40 - ExecutionMode = RealTimeThread - CPUMask = 0x4000 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - - +Timings = { - Class = TimingDataSource - } - +Display = { - Class = LoggerDataSource - } - // for data exechange between threads. - +RealTimeThreadAsyncBridge = { - Class = RealTimeThreadAsyncBridge - NumberOfBuffers = 20 - } - // for access ECPIS PV. - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "0x1000" //change from 200 - StackSize = "10000000" - Signals = { - // PV for GYA(6528.1 port4) - DO_REV6_GYA = { - PVName = "EC-GN-P01-GAFP:FMC4310-RV6" - Type = uint32 - } - DO_REV7_GYA = { - PVName = "EC-GN-P01-GAFP:FMC4310-RV7" - Type = uint32 - } - DO_REV8_GYA = { - PVName = "EC-GN-P01-GAFP:FMC4310-RV8" - Type = uint32 - } - HVARMED_GYA = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GA1" - Type = uint32 - } - // PV for DO - REV2_PLC = { - PVName = "EC-GN-P01-GPS:PLC4110-RV2" - Type = uint32 - } - REV3_PLC = { - PVName = "EC-GN-P01-GPS:PLC4110-RV3" - Type = uint32 - } - // PV for manually setting - BPS_MM = { - PVName = "EC-GN-P01-PB2F:STAT-MANM" - Type = uint32 - } - BPS_MANUAL = { - PVName = "EC-GN-P01-PB2F:PSU2000-EREF-MSP" - Type = float32 - } - APS_MM = { - PVName = "EC-GN-P01-PA2F:STAT-MANM" - Type = uint32 - } - APS_MANUAL = { - PVName = "EC-GN-P01-PA2F:PSU4000-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 - } - // 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 - } - - //Digital Input PVs in Signal-Variable tab. - APS_READY = { - PVName = "EC-GN-P01-PA2F:PSU4000-YSTA" - 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 - } - BPS_READY = { - PVName = "EC-GN-P01-PB2F:PSU2000-YSTA" - 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 - } - MHVPS_READY = { - PVName = "EC-GN-P01-PMF:PSU0000-TYSTA" - Type = uint32 - } - MHVPS_MODON = { - PVName = "EC-GN-P01-GPF:PSU0000-YSTA-MOD" - 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_STANDBY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST1R" - Type = uint32 - } - PLC_READY = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST2R" - Type = uint32 - } - PLC_ON = { - PVName = "EC-GN-P01-GPS:PLC4110-YTS-ST3R" - 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 - } - PLC_PERMIT = { - PVName = "EC-GN-P01-GPS:PLC4110-CON-GY2PRM" - Type = uint32 - } - PLC_SELECT = { - PVName = "EC-GN-P01-GPS:PLC4110-CON-OPGY2" - Type = uint32 - } - PLC_SYNCMODE = { - PVName = "EC-GN-P01-GPS:PLC4110-YSTA-MPSS" - Type = uint32 - } - PLC_CCPSON = { - PVName = "EC-GN-P01-GPS:PLC4110-YON-CCPS2" - Type = uint32 - } - EXT_TRIG = { - PVName = "EC-GN-P01-GBF:DIO4900-YON" - Type = uint32 - } - - //Digital Output PVs in Variables-signal tab - APS_HVON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-HV" - Type = uint32 - } - APS_SWON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-SW" - Type = uint32 - } - APS_STOP = { - PVName = "EC-GN-P01-PA2F:PSU4000-CTRP" - Type = uint32 - } - BPS_HVON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-HV" - Type = uint32 - } - BPS_SWON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-SW" - Type = uint32 - } - BPS_STOP = { - PVName = "EC-GN-P01-PB2F:PSU2000-CTRP" - Type = uint32 - } - BEAM_ON_STAT = { - PVName = "EC-GN-P01-GBFP:FMC4310-YSTA-GBOP" - Type = uint32 - } - DO_REV5 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV5" - Type = uint32 - } - DO_REV6 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV6" - Type = uint32 - } - DO_REV7 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV7" - Type = uint32 - } - DO_REV8 = { - PVName = "EC-GN-P01-GBFP:FMC4310-RV8" - Type = uint32 - } - MHVPS_HVON = { - PVName = "EC-GN-P01-PMF:PSU0000-CON-SW" - Type = uint32 - } - MHVPS_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - 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 - } - HVARMED = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB1" - Type = uint32 - } - HVINJECTION = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB2" - Type = uint32 - } - RFON = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB3" - Type = uint32 - } - FHPS_RU = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP" - Type = uint32 - } - SCM_RU = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP" - Type = uint32 - } - SCM_RD = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RDOWN" - Type = uint32 - } - CCPS_IN_OPERATION = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-TR" - Type = uint32 - } - //Input PVs in Variables-Operation tab. - PREP_MODE = { - PVName = "EC-GN-P01-GBF:STAT-PREP-MODE" - Type = uint32 - } - SHORT_PULSE_MODE = { - PVName = "EC-GN-P01-GBF:STAT-SHORT-PULSE" - Type = uint32 - } - - MHVPS_DT = { - PVName = "EC-GN-P01-PMF:STAT-DT-HVON" - Type = uint32 - } - APS_HVON_DT = { - PVName = "EC-GN-P01-PA2F:STAT-DT-HVON" - Type = uint32 - } - APS_SWON_DT = { - PVName = "EC-GN-P01-PA2F:STAT-DT-SWON" - Type = uint32 - } - BPS_HVON_DT = { - PVName = "EC-GN-P01-PB2F:STAT-DT-HVON" - Type = uint32 - } - BPS_SWON_DT = { - PVName = "EC-GN-P01-PB2F:STAT-DT-SWON" - Type = uint32 - } - SHOTLEN = { - PVName = "EC-GN-P01-GBF:STAT-DT-SHOTLEN" - 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 - } - - FHPS_MANM = { - PVName = "EC-GN-P01-GBF-FHPS:STAT-MANM" - Type = uint32 - } - - CSV_LOAD = { - PVName = "EC-GN-P01-GBF:STAT-CSV-LOAD" - Type = uint32 - } - CSV_NAME = { - PVName = "EC-GN-P01-GBF:STAT-CSV-NAME" - Type = char8 - NumberOfElements = 40 - } - RESET_FLT = { - PVName = "EC-GN-P01-GPF:STAT-RST-FLT" - //PVName = "EC-GN-P01-GPS-MEM:CMD-CONALARMRESET-HMI" - Type = uint32 - } - - //Input PVs in Variables-JASTEC tab. - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SET-MI" - Type = uint32 - } - MCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI" - Type = float32 - } - MCPS_ACT_RB = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB" - Type = uint32 - } - MCPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB" - Type = uint32 - } - GYA_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - GYB_MCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON" - Type = float32 - } - MCPS_VOLT_MON = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON" - Type = uint32 - } - MCPS_SWP_RB = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB" - Type = uint32 - } - MCPS_SWP_LIM = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM" - Type = uint32 - } - MCPS_ERR = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ERR" - Type = uint32 - } - MCPS_MM = { - PVName = "EC-GN-P01-GBF-MCPS:STAT-MANM" - Type = uint32 - } - //GCPS PVs - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MI" - Type = uint32 - } - GCPS_TRG_CURR_MANUAL = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI" - Type = float32 - } - GCPS_ACT_RB = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB" - Type = uint32 - } - GCPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB" - Type = uint32 - } - GYA_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GYB_GCPS_CURR_MON = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON" - Type = float32 - } - GCPS_VOLT_MON = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON" - Type = uint32 - } - GCPS_SWP_RB = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB" - Type = uint32 - } - GCPS_SWP_LIM = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM" - Type = uint32 - } - GCPS_ERR = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ERR" - Type = uint32 - } - GCPS_MM = { - PVName = "EC-GN-P01-GBF-GCPS:STAT-MANM" - Type = uint32 - } - //Input PVs in Variables-kikusui tab. - FHPS_REM_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-REM-RB" - Type = uint32 - } - FHPS_OUTON_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB" - Type = uint32 - } - FHPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB" - Type = uint32 - } - FHPS_ACV_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB" - Type = uint32 - } - FHPS_FRQ_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB" - Type = uint32 - } - FHPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB" - Type = uint32 - } - FHPS_MEAS_ACV = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV" - 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 - } - FHPS_MEAS_ACP = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP" - Type = uint32 - } - FHPS_MEAS_FRQ = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ" - Type = uint32 - } - FHPS_ERR = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-ERROR" - Type = uint32 - } - FHPS_AUTO_TAGV = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV" - Type = float32 - } - FHPS_AUTO_TIME = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME" - Type = float32 - } - FHPS_AUTO_START = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START" - Type = uint32 - } - - CCPS_REMLOC_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB" - Type = uint32 - } - CCPS_OUTON_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB" - Type = uint32 - } - CCPS_CURR_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB" - Type = uint32 - } - CCPS_DCV_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB" - Type = uint32 - } - CCPS_RANG_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-RANG-RB" - Type = uint32 - } - CCPS_SOUR_ON_RB = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB" - Type = uint32 - } - CCPS_MEAS_DCV = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV" - Type = uint32 - } - 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 - } - CCPS_MEAS_DCP = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCP" - Type = uint32 - } - CCPS_ERR = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-ERROR" - Type = uint32 - } - CCPS_OUTPUT_AMP = { - PVName = "EC-GN-P01-GBF-CCPS:STAT-AMP" - Type = float32 - } - CCPS_OUTPUT_FREQ = { - PVName = "EC-GN-P01-GBF-CCPS:STAT-FREQ" - Type = float32 - } - CCPS_OUTPUT_OFFS = { - PVName = "EC-GN-P01-GBF-CCPS:STAT-OFFS" - Type = float32 - } - //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 - } - } - } - +EPICSCAOutput = { - Class = "EPICSCA::EPICSCAOutput" - CPUMask = "0x1000" //change from 0x200 - StackSize = "10000000" - NumberOfBuffers = 2 - Signals = { - PCF_STATE = { - PVName = "EC-GN-P01-GBF:STAT-SM" - Type = uint32 - } - //Analog Output PVs in Variables-signal tab. - FHPS_REF = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-EREF" - Type = float32 - } - BPS_REF = { - PVName = "EC-GN-P01-PB2F:PSU2000-EREF" - Type = float32 - } - APS_REF = { - PVName = "EC-GN-P01-PA2F:STAT-EREF-CONV.A" - Type = float32 - } - MHVPS_REF = { - PVName = "EC-GN-P01-PMF:STAT-EREF-CALC.B" - Type = float32 - } - - //Digital Output PVs in Variables-signal tab. - APS_STOP = { - PVName = "EC-GN-P01-PA2F:PSU4000-CTRP" - Type = uint32 - } - - BPS_STOP = { - PVName = "EC-GN-P01-PB2F:PSU2000-CTRP" - Type = uint32 - } - - BEAM_ON_STAT = { - PVName = "EC-GN-P01-GBFP:FMC4310-YSTA-GBOP" - Type = uint32 - } - - MHVPS_STOP = { - PVName = "EC-GN-P01-PMF:PSU0000-COFF" - Type = uint32 - } - PCF_FLT = { - PVName = "EC-GN-P01-GPF:PCF4210-CTRP" - Type = uint32 - } - HVARMED = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB1" - Type = uint32 - } - HVINJECTION = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB2" - Type = uint32 - } - RFON = { - PVName = "EC-GN-P01-GPF:PCF4210-YTS-GB3" - Type = uint32 - } - - //Output PVs in Variables-operation tab. - MHVPS_PREP_WF = { - PVName = "EC-GN-P01-PB2F:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - - NumberOfDimensions = 1 - } - BPS_PREP_WF = { - PVName = "EC-GN-P01-PB2F:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - APS_PREP_WF = { - PVName = "EC-GN-P01-PA2F:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - FHPS_PREP_WF = { - PVName = "EC-GN-P01-GBF-FHPS:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - MCPS_PREP_WF = { - PVName = "EC-GN-P01-GBF-MCPS:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - GCPS_PREP_WF = { - PVName = "EC-GN-P01-GBF-GCPS:STAT-PREP-WF" - Type = float32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - PREP_TIME_WF = { - PVName = "EC-GN-P01-GBF:STAT-PREP-TIME-WF" - Type = int32 - NumberOfElements = 8000 - NumberOfDimensions = 1 - } - BEAM_ON_TIME = { - PVName = "EC-GN-P01-GBF:STAT-BEAMON-TIME" - Type = uint32 - } - ELAPSED_TIME = { - PVName = "EC-GN-P01-GBF:STAT-ELAPSED" - Type = uint32 - } - SHOT_ID = { - PVName = "EC-GN-P01-GBF:STAT-SHOT-ID" - Type = uint32 - } - - CSV_LOADED = { - PVName = "EC-GN-P01-GBF:STAT-CSV-LOADED" - Type = uint32 - } - CSV_ERR = { - PVName = "EC-GN-P01-GBF:STAT-CSV-ERR" - Type = uint32 - } - - //Output PVs in Variables-jastec tab. - MCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MO" - Type = float32 - } - MCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP-MO" - Type = uint32 - } - GCPS_TRG_CURR_SET = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MO" - Type = float32 - } - GCPS_ACT_SP = { - PVName = "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP-MO" - Type = uint32 - } - - //Output PVs in Variables-kikusui tab. - CCPS_REF = { - PVName = "EC-GN-P01-GBF-CCPS:PSU2320-EREF" - Type = float32 - } - FHPS_AUTO_STAT = { - PVName = "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT" - Type = uint32 - } - //Add 20201117 - APS_HVON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-HV" - Type = uint32 - } - APS_SWON = { - PVName = "EC-GN-P01-PA2F:PSU4000-CON-SW" - Type = uint32 - } - BPS_HVON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-HV" - Type = uint32 - } - BPS_SWON = { - PVName = "EC-GN-P01-PB2F:PSU2000-CON-SW" - Type = uint32 - } - MHVPS_HVON = { - PVName = "EC-GN-P01-PMF:STAT-HVON-CALC.B" - Type = uint32 - } - } - } - // for ESDN packet subscription/publication. - +SDNSubCommands = { - 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 - } - } - } - +SDNReply = { - Class = SDN::SDNPublisher - //Topic = SCUJAB2ECPC - Topic = SCUJA2ECPC - Interface = enp27s0f0 - CPUs = 0x2000 - 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 - } - } - } - - // 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 = 0 - 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.0" - 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.0" - Port = 4 - NI6528P4Value = { - NI6528P4Value = { - Type = uint8 - } - } - } - //P4.0 RV6 _cRIO - //P4.1 RV7 _cRIO - //P4.2 RV8 _cRIO - //P4.3 emp - //P4.4 emp - //P4.5 emp - //P4.6 HVArmed - //P4.7 HVInjection - - +NI6528P5 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 5 - NI6528P5Value = { - NI6528P5Value = { - Type = uint8 - } - } - } - //P5.0 RFON - //P5.1 FHPS_Rampup_complete - //P5.2 SCM_RU_Complete - //P5.3 CCPS_IN_OPERATION - //P5.4 REV2 _PLC - //P5.5 REV3 _PLC - //P5.6 None - //P5.7 None - - +NI6528P4GYA = { - Class = NI6528 - DeviceName = "/dev/pxi6528.1" - Port = 4 - NI6528P4GYAValue = { - NI6528P4GYAValue = { - 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_GYA - - } - +States = { - Class = ReferenceContainer - +Disabled = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM GoErrorGAM InDisabledGAM - GoWaitStandbyGAM choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM} - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - +WaitStandby = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitStandbyGAM - choiseGAM MCPSGAM GCPSGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoDisabledGAM GoWaitReadyGAM GoErrorGAM CCPSWaveformGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - +WaitReady = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitReadyGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitPermitGAM GoWaitStandbyFromReadyGAM GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - +WaitPermit = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM WFRecordGAM PreProgrammedGAM FHPSSetpointGAM FHPSRampupGAM InWaitPermitGAM - choiseGAM EPICSOutputGAM GoWaitReadyFromWaitPermitGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - GoWaitHVONGAM GoWaitHVON_PREP_GAM GoWaitHVON_SDN_GAM GoWaitHVON_SDN_PREP_GAM GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - - //Real-Time state for HVPS sequence timing control. - +WaitHVON = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSSetpointGAM FHPSRampupGAM InWaitHVONGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - +WaitHVON_SDN = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM FHPSRampupGAM InWaitHVON_SDNGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - +WaitHVON_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM } - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMRealTimeStateMachine NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - +WaitHVON_SDN_PREP = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM CCPSWaveformGAM PreProgrammedGAM FHPSRampupGAM InWaitHVON_SDN_PREPGAM - choiseGAM EPICSOutputGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - writeBeamONStateGAM writeHVArmedStateGAM writeHVInjectionStateGAM writeRFONStateGAM - writeBeamONTimeGAM writeRFONTimeGAM - FromWaitHVONToWaitStandby FromWaitHVONToWaitPermit GoErrorGAM} - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM GAMEPICSCA StopRequestGAM ModeLimitGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P4PV2PortGAM NI6528P4WriteGAM - GAMSDNRealTimeStateMachine terminalInterfaceGAM NI6528P5GAM NI6528P5PV2PortGAM} - CPUs = 0x4000 - } - } - } - - +Error = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {Timer1kHzGAM InErrorGAM PXI6368Error03GAM PXI6368Error04GAM PXI6259ErrorGAM PXIErrorGAM - ExitedHVArmedInjectionRFONGAM ResetPSsGAM - FromErrorToWaitStandbyGAM ErrorGAM choiseGAM EPICSOutputGAM FHPSSetpointGAM FHPSRampupGAM CCPSWaveformGAM} - CPUs = 0x1000 - } - +Thread2 = { - Class = RealTimeThread - Functions = {TimeSDNGAM SDNCommandGAM SDNReplyGAM} - CPUs = 0x2000 - } - +Thread3 = { - Class = RealTimeThread - Functions = {Timer100kHzGAM - NI6528P3GAM NI6528P4GAM NI6528P4GYAGAM NI6528P5GAM - NI6528P3PV2PortGAM NI6528P4PV2PortGAM NI6528P4GYAPV2PortGAM NI6528P5PV2PortGAM - NI6528P3WriteGAM NI6528P4WriteGAM NI6528P4GYAWriteGAM} - CPUs = 0x4000 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronIOC.db b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronIOC.db deleted file mode 100644 index 3bb3f94..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/JAGyrotronIOC.db +++ /dev/null @@ -1,1384 +0,0 @@ - -record(bo, "EC-GN-P01-GAF:STAT-SHORT-PULSE"){ - field(SCAN, "Passive") - field(ONAM, "SHORT MODE") - field(ZNAM, "LONG MODE") -} - -record(ao, "EC-GN-P01-GAF-FHPS:PSU2320-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2610-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2320-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2610-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PB1F:PSU1000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA1F:PSU3000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA1F:PSU3000-EREF-P"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PMF:PSU0000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PB2F:PSU2000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA2F:PSU4000-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-PA2F:PSU4000-EREF-P"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-EREF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-MCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB1F:PSU1000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB1F:PSU1000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PA1F:PSU3000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PA1F:PSU3000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MOE2810-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MOE2820-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MOE2830-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:MRF2910-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PMF:PSU0000-ET-GA"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PMF:PSU0000-IT-GA"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB2F:PSU2000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PB2F:PSU2000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PA2F:PSU4000-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PA2F:PSU4000-IT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MOE2810-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MOE2820-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MOE2830-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:MRF2910-ET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PMF:PSU0000-ET-GB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PMF:PSU0000-IT-GB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:PSU3000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:PSU3000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:PSU3000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:PSU1000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:PSU1000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:PSU1000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-YSTA-GAOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV5"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV6"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV7"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAFP:FMC4310-RV8"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:PSU0000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:PSU0000-COFF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:PSU0000-CON-MOD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GA1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GA2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GA3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-MCPS:PSU2120-YTS-RDOWN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-TR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:PSU4000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:PSU4000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:PSU4000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:PSU2000-CON-HV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:PSU2000-CON-SW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:PSU2000-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-YSTA-GBOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV5"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV6"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV7"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBFP:FMC4310-RV8"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GB1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GB2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:PCF4210-YTS-GB3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-MCPS:PSU2120-YTS-RUP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-TR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPS:PLC4110-RV2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPS:PLC4110-RV3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:PCF4210-CTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA1F:PSU3000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA1F:PSU3000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB1F:PSU1000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB1F:PSU1000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YFLT-OC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YFLT-OV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:PSU0000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:PSU0000-TYSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPF:PSU0000-YSTA-MOD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-YTRP2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-RV1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-RV2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAFP:FMC4310-RV3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-ST1R"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-ST2R"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-ST3R"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-GY1PRM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-OPGY1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YON-CCPS1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YSTA-MPSS"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF:DIO4900-YON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA2F:PSU4000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PA2F:PSU4000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB2F:PSU2000-YSTA"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PB2F:PSU2000-YFLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-YTRP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-YTRP2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-RV1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-RV2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBFP:FMC4310-RV3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD3"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YTS-MD4"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-GY2PRM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-CON-OPGY2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-YON-CCPS2"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GPS:PLC4110-RV1"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF:DIO4900-YON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PMF:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA1F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA1F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB1F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB1F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA2F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PA2F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB2F:STAT-DT-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-PB2F:STAT-DT-SWON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF:STAT-DT-SHOTLEN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF:STAT-DT-SHOTLEN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF:STAT-BEAMON-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF:STAT-BEAMON-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF:STAT-ELAPSED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF:STAT-ELAPSED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GPF:STAT-RDY-TOUT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PMF:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB1F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PB2F:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-MCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-GCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-MCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-GCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:STAT-MANM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-TRIG-SOUR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-TRIG-SOUR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STAT-MD1-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STAT-MD2-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STST-MD3-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GPF:STAT-MD4-LIM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-SIMM-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-SIMM-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-PREP-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-PREP-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-MST-TRIG"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-MST-TRIG"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-RST-FLT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GAF:STAT-SHOT-ID"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF:STAT-FC-SUBSTATE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GAF:STAT-PREHEAT-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GBF:STAT-SHOT-ID"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF:STAT-FC-SUBSTATE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longin, "EC-GN-P01-GBF:STAT-PREHEAT-TIME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA1F:STAT-POLSW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-PA2F:STAT-POLSW"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-CSV-LOAD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF:STAT-CSV-LOADED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringout, "EC-GN-P01-GAF:STAT-CSV-NAME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF:STAT-CSV-ERR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-CSV-LOAD"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF:STAT-CSV-LOADED"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringout, "EC-GN-P01-GBF:STAT-CSV-NAME"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF:STAT-CSV-ERR"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GPF:STAT-DAQ-MODE"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-DAQ-SW-TRIG"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GPF:STAT-DAQ-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-DAQ-CONF-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-LEN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GPF:STAT-DAQ-RECONF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-PUB-DLY"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(longout, "EC-GN-P01-GPF:STAT-DAQ-SMPL-RATE-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GPF:STAT-DAQ-MODE-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-SMPL-ST-DLY-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-LEN-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GPF:STAT-DAQ-PUB-DLY-RB"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PB1F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PA1F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF-FHPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF-CCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-MCPS:STATPREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF-GCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "FLOAT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-GAF:STAT-PREP-TIME-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") - field(FTVL, "SHORT") - field(NELM, 8000) -} -record(waveform, "EC-GN-P01-PB2F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-PA2F:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-FHPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-CCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-MCPS:STATPREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-GCPS:STAT-PREP-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF:STAT-PREP-TIME-WF"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-MCPS:PSU2120-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-MCPS:PSU2120-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-GCPS:PSU2130-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GAF-GCPS:PSU2130-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-MCPS:PSU2120-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-MCPS:PSU2120-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbi, "EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-VOLT-MON"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-SWP-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-GCPS:PSU2130-SWP-LIM"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(waveform, "EC-GN-P01-GBF-GCPS:PSU2130-ERR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-FHPS:PSU2610-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-REM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-ACV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-FRQ-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-FHPS:PSU2610-REM-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-ACV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-FRQ-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-FHPS:PSU2610-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-FHPS:PSU2610-MEAS-FRQ"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-FHPS:PSU2610-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-FHPS:PSU2610-AUTO-STOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-CCPS:PSU2320-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-DCV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GAF-CCPS:PSU2320-RANG-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-REMLOC-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-DCV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-RANG-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:PSU2320-MEAS-DCP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GAF-CCPS:PSU2320-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:STAT-AMP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GAF-CCPS:STAT-FREQ"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-FHPS:PSU2610-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-REM"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-ACV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-FRQ-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-FHPS:PSU2610-REM-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-ACV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-FRQ-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-FHPS:PSU2610-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-FHPS:PSU2610-MEAS-FRQ"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-FHPS:PSU2610-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(mbbo, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STAT"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-FHPS:PSU2610-AUTO-STOP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-CCPS:PSU2320-IDN"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-RST"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2320-CURR-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2320-DCV-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ao, "EC-GN-P01-GBF-CCPS:PSU2320-RANG-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bo, "EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-SP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-REMLOC-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-OUTON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-CURR-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-DCV-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-RANG-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-SOUR-ON-RB"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCV"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCI"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:PSU2320-MEAS-DCP"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(stringin, "EC-GN-P01-GBF-CCPS:PSU2320-ERROR"){ - field(SCAN, "1 second") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:STAT-AMP"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(ai, "EC-GN-P01-GBF-CCPS:STAT-FREQ"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:STAT-GYA-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(bi, "EC-GN-P01-PMF:STAT-GYB-HVON"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(calcout, "EC-GN-P01-PMF:STAT-HVON-CALC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(calcout, "EC-GN-P01-GAF:STAT-MST-TRIG-CALC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} -record(calcout, "EC-GN-P01-GBF:STAT-MST-TRIG-CALC"){ - field(SCAN, "Passive") - field(PINI, "YES") -} - -record(bi, "EC-GN-P01-GAF-CCPS:PSU2320-STAT"){ - field(SCAN, "Passive") -} -record(bi, "EC-GN-P01-GBF-CCPS:PSU2320-STAT"){ - field(SCAN, "Passive") -} diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/shot0001.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/shot0001.csv deleted file mode 100644 index e69de29..0000000 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv deleted file mode 100644 index e7ba9e5..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv +++ /dev/null @@ -1,41 +0,0 @@ --100,0,0,0,0,0,0 --90,1,1,1,1,1,1 --80,2,2,2,2,2,2 --70,3,3,3,3,3,3 --60,4,4,4,4,4,4 --50,5,5,5,5,5,5 --40,6,6,6,6,6,6 --30,7,7,7,7,7,7 --20,8,8,8,8,8,8 --10,9,9,9,9,9,9 -0,10,10,10,10,10,10 -10,9,9,9,9,9,9 -20,8,8,8,8,8,8 -30,7,7,7,7,7,7 -40,6,6,6,6,6,6 -50,5,5,5,5,5,5 -60,4,4,4,4,4,4 -70,3,3,3,3,3,3 -80,2,2,2,2,2,2 -90,1,1,1,1,1,1 -100,0,0,0,0,0,0 -110,1,1,1,1,1,1 -120,2,2,2,2,2,2 -130,3,3,3,3,3,3 -140,4,4,4,4,4,4 -150,5,5,5,5,5,5 -160,6,6,6,6,6,6 -170,7,7,7,7,7,7 -180,8,8,8,8,8,8 -190,9,9,9,9,9,9 -200,10,10,10,10,10,10 -210,9,9,9,9,9,9 -220,8,8,8,8,8,8 -230,7,7,7,7,7,7 -240,6,6,6,6,6,6 -250,5,5,5,5,5,5 -260,4,4,4,4,4,4 -270,3,3,3,3,3,3 -280,2,2,2,2,2,2 -290,1,1,1,1,1,1 -300,0,0,0,0,0,0 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv.original b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv.original deleted file mode 100644 index c942204..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test.csv.original +++ /dev/null @@ -1,41 +0,0 @@ --100,0,0,0,0,0 --90,1,1,1,1,1 --80,2,2,2,2,2 --70,3,3,3,3,3 --60,4,4,4,4,4 --50,5,5,5,5,5 --40,6,6,6,6,6 --30,7,7,7,7,7 --20,8,8,8,8,8 --10,9,9,9,9,9 -0,10,10,10,10,10 -10,9,9,9,9,9 -20,8,8,8,8,8 -30,7,7,7,7,7 -40,6,6,6,6,6 -50,5,5,5,5,5 -60,4,4,4,4,4 -70,3,3,3,3,3 -80,2,2,2,2,2 -90,1,1,1,1,1 -100,0,0,0,0,0 -110,1,1,1,1,1 -120,2,2,2,2,2 -130,3,3,3,3,3 -140,4,4,4,4,4 -150,5,5,5,5,5 -160,6,6,6,6,6 -170,7,7,7,7,7 -180,8,8,8,8,8 -190,9,9,9,9,9 -200,10,10,10,10,10 -210,9,9,9,9,9 -220,8,8,8,8,8 -230,7,7,7,7,7 -240,6,6,6,6,6 -250,5,5,5,5,5 -260,4,4,4,4,4 -270,3,3,3,3,3 -280,2,2,2,2,2 -290,1,1,1,1,1 -300,0,0,0,0,0 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv deleted file mode 100644 index d05acb7..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,10,10,10,10,10,10 -10,9,9,9,9,9,9 -20,8,8,8,8,8,8 -30,7,7,7,7,7,7 -40,6,6,6,6,6,6 -50,5,5,5,5,5,5 -60,4,4,4,4,4,4 -70,3,3,3,3,3,3 -80,2,2,2,2,2,2 -90,1,1,1,1,1,1 -100,0,0,0,0,0,0 -110,1,1,1,1,1,1 -120,2,2,2,2,2,2 -130,3,3,3,3,3,3 -140,4,4,4,4,4,4 -150,5,5,5,5,5,5 -160,6,6,6,6,6,6 -170,7,7,7,7,7,7 -180,8,8,8,8,8,8 -190,9,9,9,9,9,9 -200,10,10,10,10,10,10 -210,9,9,9,9,9,9 -220,8,8,8,8,8,8 -230,7,7,7,7,7,7 -240,6,6,6,6,6,6 -250,5,5,5,5,5,5 -260,4,4,4,4,4,4 -270,3,3,3,3,3,3 -280,2,2,2,2,2,2 -290,1,1,1,1,1,1 -300,0,0,0,0,0,0 -310,1,1,1,1,1,1 -320,2,2,2,2,2,2 -330,3,3,3,3,3,3 -340,4,4,4,4,4,4 -350,5,5,5,5,5,5 -360,6,6,6,6,6,6 -370,7,7,7,7,7,7 -380,8,8,8,8,8,8 -390,9,9,9,9,9,9 -400,10,10,10,10,10,10 -410,9,9,9,9,9,9 -420,8,8,8,8,8,8 -430,7,7,7,7,7,7 -440,6,6,6,6,6,6 -450,5,5,5,5,5,5 -460,4,4,4,4,4,4 -470,3,3,3,3,3,3 -480,2,2,2,2,2,2 -490,1,1,1,1,1,1 -500,0,0,0,0,0,0 -510,1,1,1,1,1,1 -520,2,2,2,2,2,2 -530,3,3,3,3,3,3 -540,4,4,4,4,4,4 -550,5,5,5,5,5,5 -560,6,6,6,6,6,6 -570,7,7,7,7,7,7 -580,8,8,8,8,8,8 -590,9,9,9,9,9,9 -600,10,10,10,10,10,10 -610,9,9,9,9,9,9 -620,8,8,8,8,8,8 -630,7,7,7,7,7,7 -640,6,6,6,6,6,6 -650,5,5,5,5,5,5 -660,4,4,4,4,4,4 -670,3,3,3,3,3,3 -680,2,2,2,2,2,2 -690,1,1,1,1,1,1 -700,0,0,0,0,0,0 -710,1,1,1,1,1,1 -720,2,2,2,2,2,2 -730,3,3,3,3,3,3 -740,4,4,4,4,4,4 -750,5,5,5,5,5,5 -760,6,6,6,6,6,6 -770,7,7,7,7,7,7 -780,8,8,8,8,8,8 -790,9,9,9,9,9,9 -800,10,10,10,10,10,10 -810,9,9,9,9,9,9 -820,8,8,8,8,8,8 -830,7,7,7,7,7,7 -840,6,6,6,6,6,6 -850,5,5,5,5,5,5 -860,4,4,4,4,4,4 -870,3,3,3,3,3,3 -880,2,2,2,2,2,2 -890,1,1,1,1,1,1 -900,0,0,0,0,0,0 -910,1,1,1,1,1,1 -920,2,2,2,2,2,2 -930,3,3,3,3,3,3 -940,4,4,4,4,4,4 -950,5,5,5,5,5,5 -960,6,6,6,6,6,6 -970,7,7,7,7,7,7 -980,8,8,8,8,8,8 -990,9,9,9,9,9,9 -1000,10,10,10,10,10,10 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv.original b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv.original deleted file mode 100644 index 07d2393..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test2.csv.original +++ /dev/null @@ -1,103 +0,0 @@ -#test configuration file2 -#Time,BPS,APS,MC,GC,FHPS -0,10,10,10,10,10 -10,9,9,9,9,9 -20,8,8,8,8,8 -30,7,7,7,7,7 -40,6,6,6,6,6 -50,5,5,5,5,5 -60,4,4,4,4,4 -70,3,3,3,3,3 -80,2,2,2,2,2 -90,1,1,1,1,1 -100,0,0,0,0,0 -110,1,1,1,1,1 -120,2,2,2,2,2 -130,3,3,3,3,3 -140,4,4,4,4,4 -150,5,5,5,5,5 -160,6,6,6,6,6 -170,7,7,7,7,7 -180,8,8,8,8,8 -190,9,9,9,9,9 -200,10,10,10,10,10 -210,9,9,9,9,9 -220,8,8,8,8,8 -230,7,7,7,7,7 -240,6,6,6,6,6 -250,5,5,5,5,5 -260,4,4,4,4,4 -270,3,3,3,3,3 -280,2,2,2,2,2 -290,1,1,1,1,1 -300,0,0,0,0,0 -310,1,1,1,1,1 -320,2,2,2,2,2 -330,3,3,3,3,3 -340,4,4,4,4,4 -350,5,5,5,5,5 -360,6,6,6,6,6 -370,7,7,7,7,7 -380,8,8,8,8,8 -390,9,9,9,9,9 -400,10,10,10,10,10 -410,9,9,9,9,9 -420,8,8,8,8,8 -430,7,7,7,7,7 -440,6,6,6,6,6 -450,5,5,5,5,5 -460,4,4,4,4,4 -470,3,3,3,3,3 -480,2,2,2,2,2 -490,1,1,1,1,1 -500,0,0,0,0,0 -510,1,1,1,1,1 -520,2,2,2,2,2 -530,3,3,3,3,3 -540,4,4,4,4,4 -550,5,5,5,5,5 -560,6,6,6,6,6 -570,7,7,7,7,7 -580,8,8,8,8,8 -590,9,9,9,9,9 -600,10,10,10,10,10 -610,9,9,9,9,9 -620,8,8,8,8,8 -630,7,7,7,7,7 -640,6,6,6,6,6 -650,5,5,5,5,5 -660,4,4,4,4,4 -670,3,3,3,3,3 -680,2,2,2,2,2 -690,1,1,1,1,1 -700,0,0,0,0,0 -710,1,1,1,1,1 -720,2,2,2,2,2 -730,3,3,3,3,3 -740,4,4,4,4,4 -750,5,5,5,5,5 -760,6,6,6,6,6 -770,7,7,7,7,7 -780,8,8,8,8,8 -790,9,9,9,9,9 -800,10,10,10,10,10 -810,9,9,9,9,9 -820,8,8,8,8,8 -830,7,7,7,7,7 -840,6,6,6,6,6 -850,5,5,5,5,5 -860,4,4,4,4,4 -870,3,3,3,3,3 -880,2,2,2,2,2 -890,1,1,1,1,1 -900,0,0,0,0,0 -910,1,1,1,1,1 -920,2,2,2,2,2 -930,3,3,3,3,3 -940,4,4,4,4,4 -950,5,5,5,5,5 -960,6,6,6,6,6 -970,7,7,7,7,7 -980,8,8,8,8,8 -990,9,9,9,9,9 -1000,10,10,10,10,10 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv deleted file mode 100644 index 6751924..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv +++ /dev/null @@ -1,6002 +0,0 @@ -t (100ms),EW6-Voset (kV),EW2-Voset (kV),EW3-VOset (kV),EW101-MC-Ioset (A),EW101-GC-Ioset (A),FPS101-Voset (V) -0,46,20,15,111.3,1.7,53.2 -1,46,20.5,14.5,111.3,1.7,62 -2,46,21,14,111.3,1.7,62 -3,46,21.5,13.5,111.3,1.7,62 -4,46,22,13,111.3,1.7,62 -5,46,22.5,12.5,111.3,1.7,62 -6,46,23,12,111.3,1.7,62 -7,46,23.5,11.5,111.3,1.7,62 -8,46,24,11,111.3,1.7,62 -9,46,24.5,10.5,111.3,1.7,62 -10,46,25,10,111.3,1.7,62 -11,46,25.5,9.5,111.3,1.7,62 -12,46,26,9,111.3,1.7,62 -13,46,26.5,8.5,111.3,1.7,62 -14,46,27,8,111.3,1.7,62 -15,46,27.5,7.5,111.3,1.7,62 -16,46,28,7,111.3,1.7,62 -17,46,28.5,6.5,111.3,1.7,62 -18,46,29,6,111.3,1.7,62 -19,46,29.5,5.5,111.3,1.7,62 -20,46,30,5,111.3,1.7,62 -21,46,30,4.5,111.3,1.7,62 -22,46,30,4,111.3,1.7,62 -23,46,30,4,111.3,1.7,62 -24,46,30,4,111.3,1.7,62 -25,46,30,4,111.3,1.7,62 -26,46,30,4,111.3,1.7,62 -27,46,30,4,111.3,1.7,62 -28,46,30,4,111.3,1.7,62 -29,46,30,4,111.3,1.7,62 -30,46,30,4,111.3,1.7,62 -31,46,30,3.4,111.3,1.7,62 -32,46,30,3.4,111.3,1.7,62 -33,46,30,3.4,111.3,1.7,62 -34,46,30,3.4,111.3,1.7,62 -35,46,30,3.4,111.3,1.7,62 -36,46,30,3.4,111.3,1.7,62 -37,46,30,3.4,111.3,1.7,62 -38,46,30,3.4,111.3,1.7,62 -39,46,30,3.4,111.3,1.7,62 -40,46,30,3.4,111.3,1.7,62 -41,46,30,3.4,111.3,1.7,62 -42,46,30,3.4,111.3,1.7,62 -43,46,30,3.4,111.3,1.7,62 -44,46,30,3.4,111.3,1.7,62 -45,46,30,3.4,111.3,1.7,62 -46,46,30,3.4,111.3,1.7,62 -47,46,30,3.4,111.3,1.7,62 -48,46,30,3.4,111.3,1.7,62 -49,46,30,3.4,111.3,1.7,62 -50,46,30,3.4,111.3,1.7,62 -51,46,30,3.4,111.3,1.7,62.1 -52,46,30,3.4,111.3,1.7,62.2 -53,46,30,3.4,111.3,1.7,62.3 -54,46,30,3.4,111.3,1.7,62.4 -55,46,30,3.4,111.3,1.7,62.5 -56,46,30,3.4,111.3,1.7,62.6 -57,46,30,3.4,111.3,1.7,62.7 -58,46,30,3.4,111.3,1.7,62.8 -59,46,30,3.4,111.3,1.7,62.9 -60,46,30,3.4,111.3,1.7,63 -61,46,30,3,111.3,1.7,63.1 -62,46,30,3,111.3,1.7,63.2 -63,46,30,3,111.3,1.7,63.3 -64,46,30,3,111.3,1.7,63.4 -65,46,30,3,111.3,1.7,63.5 -66,46,30,3,111.3,1.7,63.6 -67,46,30,3,111.3,1.7,63.7 -68,46,30,3,111.3,1.7,63.8 -69,46,30,3,111.3,1.7,63.9 -70,46,30,3,111.3,1.7,64 -71,46,30,3,111.3,1.7,64.1 -72,46,30,3,111.3,1.7,64.2 -73,46,30,3,111.3,1.7,64.3 -74,46,30,3,111.3,1.7,64.4 -75,46,30,3,111.3,1.7,64.5 -76,46,30,3,111.3,1.7,64.6 -77,46,30,3,111.3,1.7,64.7 -78,46,30,3,111.3,1.7,64.8 -79,46,30,3,111.3,1.7,64.9 -80,46,30,3,111.3,1.7,65 -81,46,30,3,111.3,1.7,65.1 -82,46,30,3,111.3,1.7,65.2 -83,46,30,3,111.3,1.7,65.3 -84,46,30,3,111.3,1.7,65.4 -85,46,30,3,111.3,1.7,65.5 -86,46,30,3,111.3,1.7,65.6 -87,46,30,3,111.3,1.7,65.7 -88,46,30,3,111.3,1.7,65.8 -89,46,30,3,111.3,1.7,65.9 -90,46,30,3,111.3,1.7,66 -91,46,30,3,111.3,1.7,66.1 -92,46,30,3,111.3,1.7,66.2 -93,46,30,3,111.3,1.7,66.3 -94,46,30,3,111.3,1.7,66.4 -95,46,30,3,111.3,1.7,66.5 -96,46,30,3,111.3,1.7,66.6 -97,46,30,3,111.3,1.7,66.7 -98,46,30,3,111.3,1.7,66.8 -99,46,30,3,111.3,1.7,66.9 -100,46,30,3,111.3,1.7,67 -101,46,30,3,111.3,1.7,67 -102,46,30,3,111.3,1.7,67 -103,46,30,3,111.3,1.7,67 -104,46,30,3,111.3,1.7,67 -105,46,30,3,111.3,1.7,67 -106,46,30,3,111.3,1.7,67 -107,46,30,3,111.3,1.7,67 -108,46,30,3,111.3,1.7,67 -109,46,30,3,111.3,1.7,67 -110,46,30,3,111.3,1.7,67 -111,46,30,3,111.3,1.7,67 -112,46,30,3,111.3,1.7,67 -113,46,30,3,111.3,1.7,67 -114,46,30,3,111.3,1.7,67 -115,46,30,3,111.3,1.7,67 -116,46,30,3,111.3,1.7,67 -117,46,30,3,111.3,1.7,67 -118,46,30,3,111.3,1.7,67 -119,46,30,3,111.3,1.7,67 -120,46,30,3,111.3,1.7,67 -121,46,30,3,111.3,1.7,67 -122,46,30,3,111.3,1.7,67 -123,46,30,3,111.3,1.7,67 -124,46,30,3,111.3,1.7,67 -125,46,30,3,111.3,1.7,67 -126,46,30,3,111.3,1.7,67 -127,46,30,3,111.3,1.7,67 -128,46,30,3,111.3,1.7,67 -129,46,30,3,111.3,1.7,67 -130,46,30,3,111.3,1.7,67 -131,46,30,3,111.3,1.7,67 -132,46,30,3,111.3,1.7,67 -133,46,30,3,111.3,1.7,67 -134,46,30,3,111.3,1.7,67 -135,46,30,3,111.3,1.7,67 -136,46,30,3,111.3,1.7,67 -137,46,30,3,111.3,1.7,67 -138,46,30,3,111.3,1.7,67 -139,46,30,3,111.3,1.7,67 -140,46,30,3,111.3,1.7,67 -141,46,30,3,111.3,1.7,67 -142,46,30,3,111.3,1.7,67 -143,46,30,3,111.3,1.7,67 -144,46,30,3,111.3,1.7,67 -145,46,30,3,111.3,1.7,67 -146,46,30,3,111.3,1.7,67 -147,46,30,3,111.3,1.7,67 -148,46,30,3,111.3,1.7,67 -149,46,30,3,111.3,1.7,67 -150,46,30,3,111.3,1.7,67 -151,46,30,3,111.3,1.7,67 -152,46,30,3,111.3,1.7,67 -153,46,30,3,111.3,1.7,67 -154,46,30,3,111.3,1.7,67 -155,46,30,3,111.3,1.7,67 -156,46,30,3,111.3,1.7,67 -157,46,30,3,111.3,1.7,67 -158,46,30,3,111.3,1.7,67 -159,46,30,3,111.3,1.7,67 -160,46,30,3,111.3,1.7,67 -161,46,30,3,111.3,1.7,67 -162,46,30,3,111.3,1.7,67 -163,46,30,3,111.3,1.7,67 -164,46,30,3,111.3,1.7,67 -165,46,30,3,111.3,1.7,67 -166,46,30,3,111.3,1.7,67 -167,46,30,3,111.3,1.7,67 -168,46,30,3,111.3,1.7,67 -169,46,30,3,111.3,1.7,67 -170,46,30,3,111.3,1.7,67 -171,46,30,3,111.3,1.7,67 -172,46,30,3,111.3,1.7,67 -173,46,30,3,111.3,1.7,67 -174,46,30,3,111.3,1.7,67 -175,46,30,3,111.3,1.7,67 -176,46,30,3,111.3,1.7,67 -177,46,30,3,111.3,1.7,67 -178,46,30,3,111.3,1.7,67 -179,46,30,3,111.3,1.7,67 -180,46,30,3,111.3,1.7,67 -181,46,30,3,111.3,1.7,67 -182,46,30,3,111.3,1.7,67 -183,46,30,3,111.3,1.7,67 -184,46,30,3,111.3,1.7,67 -185,46,30,3,111.3,1.7,67 -186,46,30,3,111.3,1.7,67 -187,46,30,3,111.3,1.7,67 -188,46,30,3,111.3,1.7,67 -189,46,30,3,111.3,1.7,67 -190,46,30,3,111.3,1.7,67 -191,46,30,3,111.3,1.7,67 -192,46,30,3,111.3,1.7,67 -193,46,30,3,111.3,1.7,67 -194,46,30,3,111.3,1.7,67 -195,46,30,3,111.3,1.7,67 -196,46,30,3,111.3,1.7,67 -197,46,30,3,111.3,1.7,67 -198,46,30,3,111.3,1.7,67 -199,46,30,3,111.3,1.7,67 -200,46,30,2.9,111.3,1.7,67 -201,46,30,2.9,111.05,1.7,67 -202,46,30,2.9,111.05,1.7,67 -203,46,30,2.9,111.05,1.7,67 -204,46,30,2.9,111.05,1.7,67 -205,46,30,2.9,111.05,1.7,67 -206,46,30,2.9,111.05,1.7,67 -207,46,30,2.9,111.05,1.7,67 -208,46,30,2.9,111.05,1.7,67 -209,46,30,2.9,111.05,1.7,67 -210,46,30,2.9,111.05,1.7,67 -211,46,30,2.9,111.05,1.7,67 -212,46,30,2.9,111.05,1.7,67 -213,46,30,2.9,111.05,1.7,67 -214,46,30,2.9,111.05,1.7,67 -215,46,30,2.9,111.05,1.7,67 -216,46,30,2.9,111.05,1.7,67 -217,46,30,2.9,111.05,1.7,67 -218,46,30,2.9,111.05,1.7,67 -219,46,30,2.9,111.05,1.7,67 -220,46,30,2.9,111.05,1.7,67 -221,46,30,2.9,111.05,1.7,67 -222,46,30,2.9,111.05,1.7,67 -223,46,30,2.9,111.05,1.7,67 -224,46,30,2.9,111.05,1.7,67 -225,46,30,2.9,111.05,1.7,67 -226,46,30,2.9,111.05,1.7,67 -227,46,30,2.9,111.05,1.7,67 -228,46,30,2.9,111.05,1.7,67 -229,46,30,2.9,111.05,1.7,67 -230,46,30,2.9,111.05,1.7,67 -231,46,30,2.9,111.05,1.7,67 -232,46,30,2.9,111.05,1.7,67 -233,46,30,2.9,111.05,1.7,67 -234,46,30,2.9,111.05,1.7,67 -235,46,30,2.9,111.05,1.7,67 -236,46,30,2.9,111.05,1.7,67 -237,46,30,2.9,111.05,1.7,67 -238,46,30,2.9,111.05,1.7,67 -239,46,30,2.9,111.05,1.7,67 -240,46,30,2.9,111.05,1.7,67 -241,46,30,2.9,111.05,1.7,67 -242,46,30,2.9,111.05,1.7,67 -243,46,30,2.9,111.05,1.7,67 -244,46,30,2.9,111.05,1.7,67 -245,46,30,2.9,111.05,1.7,67 -246,46,30,2.9,111.05,1.7,67 -247,46,30,2.9,111.05,1.7,67 -248,46,30,2.9,111.05,1.7,67 -249,46,30,2.9,111.05,1.7,67 -250,46,30,2.8,111.05,1.7,67 -251,46,30,2.8,111.05,1.7,67 -252,46,30,2.8,111.05,1.7,67 -253,46,30,2.8,111.05,1.7,67 -254,46,30,2.8,111.05,1.7,67 -255,46,30,2.8,111.05,1.7,67 -256,46,30,2.8,111.05,1.7,67 -257,46,30,2.8,111.05,1.7,67 -258,46,30,2.8,111.05,1.7,67 -259,46,30,2.8,111.05,1.7,67 -260,46,30,2.8,111.05,1.7,67 -261,46,30,2.8,111.05,1.7,67 -262,46,30,2.8,111.05,1.7,67 -263,46,30,2.8,111.05,1.7,67 -264,46,30,2.8,111.05,1.7,67 -265,46,30,2.8,111.05,1.7,67 -266,46,30,2.8,111.05,1.7,67 -267,46,30,2.8,111.05,1.7,67 -268,46,30,2.8,111.05,1.7,67 -269,46,30,2.8,111.05,1.7,67 -270,46,30,2.8,111.05,1.7,67 -271,46,30,2.8,111.05,1.7,67 -272,46,30,2.8,111.05,1.7,67 -273,46,30,2.8,111.05,1.7,67 -274,46,30,2.8,111.05,1.7,67 -275,46,30,2.8,111.05,1.7,67 -276,46,30,2.8,111.05,1.7,67 -277,46,30,2.8,111.05,1.7,67 -278,46,30,2.8,111.05,1.7,67 -279,46,30,2.8,111.05,1.7,67 -280,46,30,2.8,111.05,1.7,67 -281,46,30,2.8,111.05,1.7,67 -282,46,30,2.8,111.05,1.7,67 -283,46,30,2.8,111.05,1.7,67 -284,46,30,2.8,111.05,1.7,67 -285,46,30,2.8,111.05,1.7,67 -286,46,30,2.8,111.05,1.7,67 -287,46,30,2.8,111.05,1.7,67 -288,46,30,2.8,111.05,1.7,67 -289,46,30,2.8,111.05,1.7,67 -290,46,30,2.8,111.05,1.7,67 -291,46,30,2.8,111.05,1.7,67 -292,46,30,2.8,111.05,1.7,67 -293,46,30,2.8,111.05,1.7,67 -294,46,30,2.8,111.05,1.7,67 -295,46,30,2.8,111.05,1.7,67 -296,46,30,2.8,111.05,1.7,67 -297,46,30,2.8,111.05,1.7,67 -298,46,30,2.8,111.05,1.7,67 -299,46,30,2.8,111.05,1.7,67 -300,46,30,2.7,111.05,1.7,67 -301,46,30,2.7,111.05,1.7,67 -302,46,30,2.7,111.05,1.7,67 -303,46,30,2.7,111.05,1.7,67 -304,46,30,2.7,111.05,1.7,67 -305,46,30,2.7,111.05,1.7,67 -306,46,30,2.7,111.05,1.7,67 -307,46,30,2.7,111.05,1.7,67 -308,46,30,2.7,111.05,1.7,67 -309,46,30,2.7,111.05,1.7,67 -310,46,30,2.7,111.05,1.7,67 -311,46,30,2.7,111.05,1.7,67 -312,46,30,2.7,111.05,1.7,67 -313,46,30,2.7,111.05,1.7,67 -314,46,30,2.7,111.05,1.7,67 -315,46,30,2.7,111.05,1.7,67 -316,46,30,2.7,111.05,1.7,67 -317,46,30,2.7,111.05,1.7,67 -318,46,30,2.7,111.05,1.7,67 -319,46,30,2.7,111.05,1.7,67 -320,46,30,2.7,111.05,1.7,67 -321,46,30,2.7,111.05,1.7,67 -322,46,30,2.7,111.05,1.7,67 -323,46,30,2.7,111.05,1.7,67 -324,46,30,2.7,111.05,1.7,67 -325,46,30,2.7,111.05,1.7,67 -326,46,30,2.7,111.05,1.7,67 -327,46,30,2.7,111.05,1.7,67 -328,46,30,2.7,111.05,1.7,67 -329,46,30,2.7,111.05,1.7,67 -330,46,30,2.7,111.05,1.7,67 -331,46,30,2.7,111.05,1.7,67 -332,46,30,2.7,111.05,1.7,67 -333,46,30,2.7,111.05,1.7,67 -334,46,30,2.7,111.05,1.7,67 -335,46,30,2.7,111.05,1.7,67 -336,46,30,2.7,111.05,1.7,67 -337,46,30,2.7,111.05,1.7,67 -338,46,30,2.7,111.05,1.7,67 -339,46,30,2.7,111.05,1.7,67 -340,46,30,2.7,111.05,1.7,67 -341,46,30,2.7,111.05,1.7,67 -342,46,30,2.7,111.05,1.7,67 -343,46,30,2.7,111.05,1.7,67 -344,46,30,2.7,111.05,1.7,67 -345,46,30,2.7,111.05,1.7,67 -346,46,30,2.7,111.05,1.7,67 -347,46,30,2.7,111.05,1.7,67 -348,46,30,2.7,111.05,1.7,67 -349,46,30,2.7,111.05,1.7,67 -350,46,30,2.7,111.05,1.7,67 -351,46,30,2.7,111.05,1.7,67 -352,46,30,2.7,111.05,1.7,67 -353,46,30,2.7,111.05,1.7,67 -354,46,30,2.7,111.05,1.7,67 -355,46,30,2.7,111.05,1.7,67 -356,46,30,2.7,111.05,1.7,67 -357,46,30,2.7,111.05,1.7,67 -358,46,30,2.7,111.05,1.7,67 -359,46,30,2.7,111.05,1.7,67 -360,46,30,2.7,111.05,1.7,67 -361,46,30,2.7,111.05,1.7,67 -362,46,30,2.7,111.05,1.7,67 -363,46,30,2.7,111.05,1.7,67 -364,46,30,2.7,111.05,1.7,67 -365,46,30,2.7,111.05,1.7,67 -366,46,30,2.7,111.05,1.7,67 -367,46,30,2.7,111.05,1.7,67 -368,46,30,2.7,111.05,1.7,67 -369,46,30,2.7,111.05,1.7,67 -370,46,30,2.7,111.05,1.7,67 -371,46,30,2.7,111.05,1.7,67 -372,46,30,2.7,111.05,1.7,67 -373,46,30,2.7,111.05,1.7,67 -374,46,30,2.7,111.05,1.7,67 -375,46,30,2.7,111.05,1.7,67 -376,46,30,2.7,111.05,1.7,67 -377,46,30,2.7,111.05,1.7,67 -378,46,30,2.7,111.05,1.7,67 -379,46,30,2.7,111.05,1.7,67 -380,46,30,2.7,111.05,1.7,67 -381,46,30,2.7,111.05,1.7,67 -382,46,30,2.7,111.05,1.7,67 -383,46,30,2.7,111.05,1.7,67 -384,46,30,2.7,111.05,1.7,67 -385,46,30,2.7,111.05,1.7,67 -386,46,30,2.7,111.05,1.7,67 -387,46,30,2.7,111.05,1.7,67 -388,46,30,2.7,111.05,1.7,67 -389,46,30,2.7,111.05,1.7,67 -390,46,30,2.7,111.05,1.7,67 -391,46,30,2.7,111.05,1.7,67 -392,46,30,2.7,111.05,1.7,67 -393,46,30,2.7,111.05,1.7,67 -394,46,30,2.7,111.05,1.7,67 -395,46,30,2.7,111.05,1.7,67 -396,46,30,2.7,111.05,1.7,67 -397,46,30,2.7,111.05,1.7,67 -398,46,30,2.7,111.05,1.7,67 -399,46,30,2.7,111.05,1.7,67 -400,46,30,2.7,111.05,1.7,67 -401,46,30,2.7,111.05,1.7,66.9975 -402,46,30,2.7,111.05,1.7,66.995 -403,46,30,2.7,111.05,1.7,66.9925 -404,46,30,2.7,111.05,1.7,66.99 -405,46,30,2.7,111.05,1.7,66.9875 -406,46,30,2.7,111.05,1.7,66.985 -407,46,30,2.7,111.05,1.7,66.9825 -408,46,30,2.7,111.05,1.7,66.98 -409,46,30,2.7,111.05,1.7,66.9775 -410,46,30,2.7,111.05,1.7,66.975 -411,46,30,2.7,111.05,1.7,66.9725 -412,46,30,2.7,111.05,1.7,66.97 -413,46,30,2.7,111.05,1.7,66.9675 -414,46,30,2.7,111.05,1.7,66.965 -415,46,30,2.7,111.05,1.7,66.9625 -416,46,30,2.7,111.05,1.7,66.96 -417,46,30,2.7,111.05,1.7,66.9575 -418,46,30,2.7,111.05,1.7,66.955 -419,46,30,2.7,111.05,1.7,66.9525 -420,46,30,2.7,111.05,1.7,66.95 -421,46,30,2.7,111.05,1.7,66.9475 -422,46,30,2.7,111.05,1.7,66.945 -423,46,30,2.7,111.05,1.7,66.9425 -424,46,30,2.7,111.05,1.7,66.94 -425,46,30,2.7,111.05,1.7,66.9375 -426,46,30,2.7,111.05,1.7,66.935 -427,46,30,2.7,111.05,1.7,66.9325 -428,46,30,2.7,111.05,1.7,66.93 -429,46,30,2.7,111.05,1.7,66.9275 -430,46,30,2.7,111.05,1.7,66.925 -431,46,30,2.7,111.05,1.7,66.9225 -432,46,30,2.7,111.05,1.7,66.92 -433,46,30,2.7,111.05,1.7,66.9175 -434,46,30,2.7,111.05,1.7,66.915 -435,46,30,2.7,111.05,1.7,66.9125 -436,46,30,2.7,111.05,1.7,66.91 -437,46,30,2.7,111.05,1.7,66.9075 -438,46,30,2.7,111.05,1.7,66.905 -439,46,30,2.7,111.05,1.7,66.9025 -440,46,30,2.7,111.05,1.7,66.9 -441,46,30,2.7,111.05,1.7,66.8975 -442,46,30,2.7,111.05,1.7,66.895 -443,46,30,2.7,111.05,1.7,66.8925 -444,46,30,2.7,111.05,1.7,66.89 -445,46,30,2.7,111.05,1.7,66.8875 -446,46,30,2.7,111.05,1.7,66.885 -447,46,30,2.7,111.05,1.7,66.8825 -448,46,30,2.7,111.05,1.7,66.88 -449,46,30,2.7,111.05,1.7,66.8775 -450,46,30,2.7,111.05,1.7,66.875 -451,46,30,2.7,111.05,1.7,66.8725 -452,46,30,2.7,111.05,1.7,66.87 -453,46,30,2.7,111.05,1.7,66.8675 -454,46,30,2.7,111.05,1.7,66.865 -455,46,30,2.7,111.05,1.7,66.8625 -456,46,30,2.7,111.05,1.7,66.86 -457,46,30,2.7,111.05,1.7,66.8575 -458,46,30,2.7,111.05,1.7,66.855 -459,46,30,2.7,111.05,1.7,66.8525 -460,46,30,2.7,111.05,1.7,66.85 -461,46,30,2.7,111.05,1.7,66.8475 -462,46,30,2.7,111.05,1.7,66.845 -463,46,30,2.7,111.05,1.7,66.8425 -464,46,30,2.7,111.05,1.7,66.84 -465,46,30,2.7,111.05,1.7,66.8375 -466,46,30,2.7,111.05,1.7,66.835 -467,46,30,2.7,111.05,1.7,66.8325 -468,46,30,2.7,111.05,1.7,66.83 -469,46,30,2.7,111.05,1.7,66.8275 -470,46,30,2.7,111.05,1.7,66.825 -471,46,30,2.7,111.05,1.7,66.8225 -472,46,30,2.7,111.05,1.7,66.82 -473,46,30,2.7,111.05,1.7,66.8175 -474,46,30,2.7,111.05,1.7,66.815 -475,46,30,2.7,111.05,1.7,66.8125 -476,46,30,2.7,111.05,1.7,66.81 -477,46,30,2.7,111.05,1.7,66.8075 -478,46,30,2.7,111.05,1.7,66.805 -479,46,30,2.7,111.05,1.7,66.8025 -480,46,30,2.7,111.05,1.7,66.8 -481,46,30,2.7,111.05,1.7,66.7975 -482,46,30,2.7,111.05,1.7,66.795 -483,46,30,2.7,111.05,1.7,66.7925 -484,46,30,2.7,111.05,1.7,66.79 -485,46,30,2.7,111.05,1.7,66.7875 -486,46,30,2.7,111.05,1.7,66.785 -487,46,30,2.7,111.05,1.7,66.7825 -488,46,30,2.7,111.05,1.7,66.78 -489,46,30,2.7,111.05,1.7,66.7775 -490,46,30,2.7,111.05,1.7,66.775 -491,46,30,2.7,111.05,1.7,66.7725 -492,46,30,2.7,111.05,1.7,66.77 -493,46,30,2.7,111.05,1.7,66.7675 -494,46,30,2.7,111.05,1.7,66.765 -495,46,30,2.7,111.05,1.7,66.7625 -496,46,30,2.7,111.05,1.7,66.76 -497,46,30,2.7,111.05,1.7,66.7575 -498,46,30,2.7,111.05,1.7,66.755 -499,46,30,2.7,111.05,1.7,66.7525 -500,46,30,2.7,111.05,1.7,66.75 -501,46,30,2.7,111.05,1.7,66.7475 -502,46,30,2.7,111.05,1.7,66.745 -503,46,30,2.7,111.05,1.7,66.7425 -504,46,30,2.7,111.05,1.7,66.74 -505,46,30,2.7,111.05,1.7,66.7375 -506,46,30,2.7,111.05,1.7,66.735 -507,46,30,2.7,111.05,1.7,66.7325 -508,46,30,2.7,111.05,1.7,66.73 -509,46,30,2.7,111.05,1.7,66.7275 -510,46,30,2.7,111.05,1.7,66.725 -511,46,30,2.7,111.05,1.7,66.7225 -512,46,30,2.7,111.05,1.7,66.72 -513,46,30,2.7,111.05,1.7,66.7175 -514,46,30,2.7,111.05,1.7,66.715 -515,46,30,2.7,111.05,1.7,66.7125 -516,46,30,2.7,111.05,1.7,66.71 -517,46,30,2.7,111.05,1.7,66.7075 -518,46,30,2.7,111.05,1.7,66.705 -519,46,30,2.7,111.05,1.7,66.7025 -520,46,30,2.7,111.05,1.7,66.7 -521,46,30,2.7,111.05,1.7,66.6975 -522,46,30,2.7,111.05,1.7,66.695 -523,46,30,2.7,111.05,1.7,66.6925 -524,46,30,2.7,111.05,1.7,66.69 -525,46,30,2.7,111.05,1.7,66.6875 -526,46,30,2.7,111.05,1.7,66.685 -527,46,30,2.7,111.05,1.7,66.6825 -528,46,30,2.7,111.05,1.7,66.68 -529,46,30,2.7,111.05,1.7,66.6775 -530,46,30,2.7,111.05,1.7,66.675 -531,46,30,2.7,111.05,1.7,66.6725 -532,46,30,2.7,111.05,1.7,66.67 -533,46,30,2.7,111.05,1.7,66.6675 -534,46,30,2.7,111.05,1.7,66.665 -535,46,30,2.7,111.05,1.7,66.6625 -536,46,30,2.7,111.05,1.7,66.66 -537,46,30,2.7,111.05,1.7,66.6575 -538,46,30,2.7,111.05,1.7,66.655 -539,46,30,2.7,111.05,1.7,66.6525 -540,46,30,2.7,111.05,1.7,66.65 -541,46,30,2.7,111.05,1.7,66.6475 -542,46,30,2.7,111.05,1.7,66.645 -543,46,30,2.7,111.05,1.7,66.6425 -544,46,30,2.7,111.05,1.7,66.64 -545,46,30,2.7,111.05,1.7,66.6375 -546,46,30,2.7,111.05,1.7,66.635 -547,46,30,2.7,111.05,1.7,66.6325 -548,46,30,2.7,111.05,1.7,66.63 -549,46,30,2.7,111.05,1.7,66.6275 -550,46,30,2.7,111.05,1.7,66.625 -551,46,30,2.7,111.05,1.7,66.6225 -552,46,30,2.7,111.05,1.7,66.62 -553,46,30,2.7,111.05,1.7,66.6175 -554,46,30,2.7,111.05,1.7,66.615 -555,46,30,2.7,111.05,1.7,66.6125 -556,46,30,2.7,111.05,1.7,66.61 -557,46,30,2.7,111.05,1.7,66.6075 -558,46,30,2.7,111.05,1.7,66.605 -559,46,30,2.7,111.05,1.7,66.6025 -560,46,30,2.7,111.05,1.7,66.6 -561,46,30,2.7,111.05,1.7,66.5975 -562,46,30,2.7,111.05,1.7,66.595 -563,46,30,2.7,111.05,1.7,66.5925 -564,46,30,2.7,111.05,1.7,66.59 -565,46,30,2.7,111.05,1.7,66.5875 -566,46,30,2.7,111.05,1.7,66.585 -567,46,30,2.7,111.05,1.7,66.5825 -568,46,30,2.7,111.05,1.7,66.58 -569,46,30,2.7,111.05,1.7,66.5775 -570,46,30,2.7,111.05,1.7,66.575 -571,46,30,2.7,111.05,1.7,66.5725 -572,46,30,2.7,111.05,1.7,66.57 -573,46,30,2.7,111.05,1.7,66.5675 -574,46,30,2.7,111.05,1.7,66.565 -575,46,30,2.7,111.05,1.7,66.5625 -576,46,30,2.7,111.05,1.7,66.56 -577,46,30,2.7,111.05,1.7,66.5575 -578,46,30,2.7,111.05,1.7,66.555 -579,46,30,2.7,111.05,1.7,66.5525 -580,46,30,2.7,111.05,1.7,66.55 -581,46,30,2.7,111.05,1.7,66.5475 -582,46,30,2.7,111.05,1.7,66.545 -583,46,30,2.7,111.05,1.7,66.5425 -584,46,30,2.7,111.05,1.7,66.54 -585,46,30,2.7,111.05,1.7,66.5375 -586,46,30,2.7,111.05,1.7,66.535 -587,46,30,2.7,111.05,1.7,66.5325 -588,46,30,2.7,111.05,1.7,66.53 -589,46,30,2.7,111.05,1.7,66.5275 -590,46,30,2.7,111.05,1.7,66.525 -591,46,30,2.7,111.05,1.7,66.5225 -592,46,30,2.7,111.05,1.7,66.52 -593,46,30,2.7,111.05,1.7,66.5175 -594,46,30,2.7,111.05,1.7,66.515 -595,46,30,2.7,111.05,1.7,66.5125 -596,46,30,2.7,111.05,1.7,66.51 -597,46,30,2.7,111.05,1.7,66.5075 -598,46,30,2.7,111.05,1.7,66.505 -599,46,30,2.7,111.05,1.7,66.5025 -600,46,30,2.7,111.05,1.7,66.5 -601,46,30,2.7,111.05,1.7,66.495 -602,46,30,2.7,111.05,1.7,66.49 -603,46,30,2.7,111.05,1.7,66.485 -604,46,30,2.7,111.05,1.7,66.48 -605,46,30,2.7,111.05,1.7,66.475 -606,46,30,2.7,111.05,1.7,66.47 -607,46,30,2.7,111.05,1.7,66.465 -608,46,30,2.7,111.05,1.7,66.46 -609,46,30,2.7,111.05,1.7,66.455 -610,46,30,2.7,111.05,1.7,66.45 -611,46,30,2.7,111.05,1.7,66.445 -612,46,30,2.7,111.05,1.7,66.44 -613,46,30,2.7,111.05,1.7,66.435 -614,46,30,2.7,111.05,1.7,66.43 -615,46,30,2.7,111.05,1.7,66.425 -616,46,30,2.7,111.05,1.7,66.42 -617,46,30,2.7,111.05,1.7,66.415 -618,46,30,2.7,111.05,1.7,66.41 -619,46,30,2.7,111.05,1.7,66.405 -620,46,30,2.7,111.05,1.7,66.4 -621,46,30,2.7,111.05,1.7,66.395 -622,46,30,2.7,111.05,1.7,66.39 -623,46,30,2.7,111.05,1.7,66.385 -624,46,30,2.7,111.05,1.7,66.38 -625,46,30,2.7,111.05,1.7,66.375 -626,46,30,2.7,111.05,1.7,66.37 -627,46,30,2.7,111.05,1.7,66.365 -628,46,30,2.7,111.05,1.7,66.36 -629,46,30,2.7,111.05,1.7,66.355 -630,46,30,2.7,111.05,1.7,66.35 -631,46,30,2.7,111.05,1.7,66.345 -632,46,30,2.7,111.05,1.7,66.34 -633,46,30,2.7,111.05,1.7,66.335 -634,46,30,2.7,111.05,1.7,66.33 -635,46,30,2.7,111.05,1.7,66.325 -636,46,30,2.7,111.05,1.7,66.32 -637,46,30,2.7,111.05,1.7,66.315 -638,46,30,2.7,111.05,1.7,66.31 -639,46,30,2.7,111.05,1.7,66.305 -640,46,30,2.7,111.05,1.7,66.3 -641,46,30,2.7,111.05,1.7,66.295 -642,46,30,2.7,111.05,1.7,66.29 -643,46,30,2.7,111.05,1.7,66.285 -644,46,30,2.7,111.05,1.7,66.28 -645,46,30,2.7,111.05,1.7,66.275 -646,46,30,2.7,111.05,1.7,66.27 -647,46,30,2.7,111.05,1.7,66.265 -648,46,30,2.7,111.05,1.7,66.26 -649,46,30,2.7,111.05,1.7,66.255 -650,46,30,2.7,111.05,1.7,66.25 -651,46,30,2.7,111.05,1.7,66.245 -652,46,30,2.7,111.05,1.7,66.24 -653,46,30,2.7,111.05,1.7,66.235 -654,46,30,2.7,111.05,1.7,66.23 -655,46,30,2.7,111.05,1.7,66.225 -656,46,30,2.7,111.05,1.7,66.22 -657,46,30,2.7,111.05,1.7,66.215 -658,46,30,2.7,111.05,1.7,66.21 -659,46,30,2.7,111.05,1.7,66.205 -660,46,30,2.7,111.05,1.7,66.2 -661,46,30,2.7,111.05,1.7,66.195 -662,46,30,2.7,111.05,1.7,66.19 -663,46,30,2.7,111.05,1.7,66.185 -664,46,30,2.7,111.05,1.7,66.18 -665,46,30,2.7,111.05,1.7,66.175 -666,46,30,2.7,111.05,1.7,66.17 -667,46,30,2.7,111.05,1.7,66.165 -668,46,30,2.7,111.05,1.7,66.16 -669,46,30,2.7,111.05,1.7,66.155 -670,46,30,2.7,111.05,1.7,66.15 -671,46,30,2.7,111.05,1.7,66.145 -672,46,30,2.7,111.05,1.7,66.14 -673,46,30,2.7,111.05,1.7,66.135 -674,46,30,2.7,111.05,1.7,66.13 -675,46,30,2.7,111.05,1.7,66.125 -676,46,30,2.7,111.05,1.7,66.12 -677,46,30,2.7,111.05,1.7,66.115 -678,46,30,2.7,111.05,1.7,66.11 -679,46,30,2.7,111.05,1.7,66.105 -680,46,30,2.7,111.05,1.7,66.1 -681,46,30,2.7,111.05,1.7,66.095 -682,46,30,2.7,111.05,1.7,66.09 -683,46,30,2.7,111.05,1.7,66.085 -684,46,30,2.7,111.05,1.7,66.08 -685,46,30,2.7,111.05,1.7,66.075 -686,46,30,2.7,111.05,1.7,66.07 -687,46,30,2.7,111.05,1.7,66.065 -688,46,30,2.7,111.05,1.7,66.06 -689,46,30,2.7,111.05,1.7,66.055 -690,46,30,2.7,111.05,1.7,66.05 -691,46,30,2.7,111.05,1.7,66.045 -692,46,30,2.7,111.05,1.7,66.04 -693,46,30,2.7,111.05,1.7,66.035 -694,46,30,2.7,111.05,1.7,66.03 -695,46,30,2.7,111.05,1.7,66.025 -696,46,30,2.7,111.05,1.7,66.02 -697,46,30,2.7,111.05,1.7,66.015 -698,46,30,2.7,111.05,1.7,66.01 -699,46,30,2.7,111.05,1.7,66.005 -700,46,30,2.7,111.05,1.7,66 -701,46,30,2.7,111.05,1.7,65.995 -702,46,30,2.7,111.05,1.7,65.99 -703,46,30,2.7,111.05,1.7,65.985 -704,46,30,2.7,111.05,1.7,65.98 -705,46,30,2.7,111.05,1.7,65.975 -706,46,30,2.7,111.05,1.7,65.97 -707,46,30,2.7,111.05,1.7,65.965 -708,46,30,2.7,111.05,1.7,65.96 -709,46,30,2.7,111.05,1.7,65.955 -710,46,30,2.7,111.05,1.7,65.95 -711,46,30,2.7,111.05,1.7,65.945 -712,46,30,2.7,111.05,1.7,65.94 -713,46,30,2.7,111.05,1.7,65.935 -714,46,30,2.7,111.05,1.7,65.93 -715,46,30,2.7,111.05,1.7,65.925 -716,46,30,2.7,111.05,1.7,65.92 -717,46,30,2.7,111.05,1.7,65.915 -718,46,30,2.7,111.05,1.7,65.91 -719,46,30,2.7,111.05,1.7,65.905 -720,46,30,2.7,111.05,1.7,65.9 -721,46,30,2.7,111.05,1.7,65.895 -722,46,30,2.7,111.05,1.7,65.89 -723,46,30,2.7,111.05,1.7,65.885 -724,46,30,2.7,111.05,1.7,65.88 -725,46,30,2.7,111.05,1.7,65.875 -726,46,30,2.7,111.05,1.7,65.87 -727,46,30,2.7,111.05,1.7,65.865 -728,46,30,2.7,111.05,1.7,65.86 -729,46,30,2.7,111.05,1.7,65.855 -730,46,30,2.7,111.05,1.7,65.85 -731,46,30,2.7,111.05,1.7,65.845 -732,46,30,2.7,111.05,1.7,65.84 -733,46,30,2.7,111.05,1.7,65.835 -734,46,30,2.7,111.05,1.7,65.83 -735,46,30,2.7,111.05,1.7,65.825 -736,46,30,2.7,111.05,1.7,65.82 -737,46,30,2.7,111.05,1.7,65.815 -738,46,30,2.7,111.05,1.7,65.81 -739,46,30,2.7,111.05,1.7,65.805 -740,46,30,2.7,111.05,1.7,65.8 -741,46,30,2.7,111.05,1.7,65.795 -742,46,30,2.7,111.05,1.7,65.79 -743,46,30,2.7,111.05,1.7,65.785 -744,46,30,2.7,111.05,1.7,65.78 -745,46,30,2.7,111.05,1.7,65.775 -746,46,30,2.7,111.05,1.7,65.77 -747,46,30,2.7,111.05,1.7,65.765 -748,46,30,2.7,111.05,1.7,65.76 -749,46,30,2.7,111.05,1.7,65.755 -750,46,30,2.7,111.05,1.7,65.75 -751,46,30,2.7,111.05,1.7,65.745 -752,46,30,2.7,111.05,1.7,65.74 -753,46,30,2.7,111.05,1.7,65.735 -754,46,30,2.7,111.05,1.7,65.73 -755,46,30,2.7,111.05,1.7,65.725 -756,46,30,2.7,111.05,1.7,65.72 -757,46,30,2.7,111.05,1.7,65.715 -758,46,30,2.7,111.05,1.7,65.71 -759,46,30,2.7,111.05,1.7,65.705 -760,46,30,2.7,111.05,1.7,65.7 -761,46,30,2.7,111.05,1.7,65.695 -762,46,30,2.7,111.05,1.7,65.69 -763,46,30,2.7,111.05,1.7,65.685 -764,46,30,2.7,111.05,1.7,65.68 -765,46,30,2.7,111.05,1.7,65.675 -766,46,30,2.7,111.05,1.7,65.67 -767,46,30,2.7,111.05,1.7,65.665 -768,46,30,2.7,111.05,1.7,65.66 -769,46,30,2.7,111.05,1.7,65.655 -770,46,30,2.7,111.05,1.7,65.65 -771,46,30,2.7,111.05,1.7,65.645 -772,46,30,2.7,111.05,1.7,65.64 -773,46,30,2.7,111.05,1.7,65.635 -774,46,30,2.7,111.05,1.7,65.63 -775,46,30,2.7,111.05,1.7,65.625 -776,46,30,2.7,111.05,1.7,65.62 -777,46,30,2.7,111.05,1.7,65.615 -778,46,30,2.7,111.05,1.7,65.61 -779,46,30,2.7,111.05,1.7,65.605 -780,46,30,2.7,111.05,1.7,65.6 -781,46,30,2.7,111.05,1.7,65.595 -782,46,30,2.7,111.05,1.7,65.59 -783,46,30,2.7,111.05,1.7,65.585 -784,46,30,2.7,111.05,1.7,65.58 -785,46,30,2.7,111.05,1.7,65.575 -786,46,30,2.7,111.05,1.7,65.57 -787,46,30,2.7,111.05,1.7,65.565 -788,46,30,2.7,111.05,1.7,65.56 -789,46,30,2.7,111.05,1.7,65.555 -790,46,30,2.7,111.05,1.7,65.55 -791,46,30,2.7,111.05,1.7,65.545 -792,46,30,2.7,111.05,1.7,65.54 -793,46,30,2.7,111.05,1.7,65.535 -794,46,30,2.7,111.05,1.7,65.53 -795,46,30,2.7,111.05,1.7,65.525 -796,46,30,2.7,111.05,1.7,65.52 -797,46,30,2.7,111.05,1.7,65.515 -798,46,30,2.7,111.05,1.7,65.51 -799,46,30,2.7,111.05,1.7,65.505 -800,46,30,2.7,111.05,1.7,65.5 -801,46,30,2.7,111.05,1.7,65.495 -802,46,30,2.7,111.05,1.7,65.49 -803,46,30,2.7,111.05,1.7,65.485 -804,46,30,2.7,111.05,1.7,65.48 -805,46,30,2.7,111.05,1.7,65.475 -806,46,30,2.7,111.05,1.7,65.47 -807,46,30,2.7,111.05,1.7,65.465 -808,46,30,2.7,111.05,1.7,65.46 -809,46,30,2.7,111.05,1.7,65.455 -810,46,30,2.7,111.05,1.7,65.45 -811,46,30,2.7,111.05,1.7,65.445 -812,46,30,2.7,111.05,1.7,65.44 -813,46,30,2.7,111.05,1.7,65.435 -814,46,30,2.7,111.05,1.7,65.43 -815,46,30,2.7,111.05,1.7,65.425 -816,46,30,2.7,111.05,1.7,65.42 -817,46,30,2.7,111.05,1.7,65.415 -818,46,30,2.7,111.05,1.7,65.41 -819,46,30,2.7,111.05,1.7,65.405 -820,46,30,2.7,111.05,1.7,65.4 -821,46,30,2.7,111.05,1.7,65.395 -822,46,30,2.7,111.05,1.7,65.39 -823,46,30,2.7,111.05,1.7,65.385 -824,46,30,2.7,111.05,1.7,65.38 -825,46,30,2.7,111.05,1.7,65.375 -826,46,30,2.7,111.05,1.7,65.37 -827,46,30,2.7,111.05,1.7,65.365 -828,46,30,2.7,111.05,1.7,65.36 -829,46,30,2.7,111.05,1.7,65.355 -830,46,30,2.7,111.05,1.7,65.35 -831,46,30,2.7,111.05,1.7,65.345 -832,46,30,2.7,111.05,1.7,65.34 -833,46,30,2.7,111.05,1.7,65.335 -834,46,30,2.7,111.05,1.7,65.33 -835,46,30,2.7,111.05,1.7,65.325 -836,46,30,2.7,111.05,1.7,65.32 -837,46,30,2.7,111.05,1.7,65.315 -838,46,30,2.7,111.05,1.7,65.31 -839,46,30,2.7,111.05,1.7,65.305 -840,46,30,2.7,111.05,1.7,65.3 -841,46,30,2.7,111.05,1.7,65.295 -842,46,30,2.7,111.05,1.7,65.29 -843,46,30,2.7,111.05,1.7,65.285 -844,46,30,2.7,111.05,1.7,65.28 -845,46,30,2.7,111.05,1.7,65.275 -846,46,30,2.7,111.05,1.7,65.27 -847,46,30,2.7,111.05,1.7,65.265 -848,46,30,2.7,111.05,1.7,65.26 -849,46,30,2.7,111.05,1.7,65.255 -850,46,30,2.7,111.05,1.7,65.25 -851,46,30,2.7,111.05,1.7,65.245 -852,46,30,2.7,111.05,1.7,65.24 -853,46,30,2.7,111.05,1.7,65.235 -854,46,30,2.7,111.05,1.7,65.23 -855,46,30,2.7,111.05,1.7,65.225 -856,46,30,2.7,111.05,1.7,65.22 -857,46,30,2.7,111.05,1.7,65.215 -858,46,30,2.7,111.05,1.7,65.21 -859,46,30,2.7,111.05,1.7,65.205 -860,46,30,2.7,111.05,1.7,65.2 -861,46,30,2.7,111.05,1.7,65.195 -862,46,30,2.7,111.05,1.7,65.19 -863,46,30,2.7,111.05,1.7,65.185 -864,46,30,2.7,111.05,1.7,65.18 -865,46,30,2.7,111.05,1.7,65.175 -866,46,30,2.7,111.05,1.7,65.17 -867,46,30,2.7,111.05,1.7,65.165 -868,46,30,2.7,111.05,1.7,65.16 -869,46,30,2.7,111.05,1.7,65.155 -870,46,30,2.7,111.05,1.7,65.15 -871,46,30,2.7,111.05,1.7,65.145 -872,46,30,2.7,111.05,1.7,65.14 -873,46,30,2.7,111.05,1.7,65.135 -874,46,30,2.7,111.05,1.7,65.13 -875,46,30,2.7,111.05,1.7,65.125 -876,46,30,2.7,111.05,1.7,65.12 -877,46,30,2.7,111.05,1.7,65.115 -878,46,30,2.7,111.05,1.7,65.11 -879,46,30,2.7,111.05,1.7,65.105 -880,46,30,2.7,111.05,1.7,65.1 -881,46,30,2.7,111.05,1.7,65.095 -882,46,30,2.7,111.05,1.7,65.09 -883,46,30,2.7,111.05,1.7,65.085 -884,46,30,2.7,111.05,1.7,65.08 -885,46,30,2.7,111.05,1.7,65.075 -886,46,30,2.7,111.05,1.7,65.07 -887,46,30,2.7,111.05,1.7,65.065 -888,46,30,2.7,111.05,1.7,65.06 -889,46,30,2.7,111.05,1.7,65.055 -890,46,30,2.7,111.05,1.7,65.05 -891,46,30,2.7,111.05,1.7,65.045 -892,46,30,2.7,111.05,1.7,65.04 -893,46,30,2.7,111.05,1.7,65.035 -894,46,30,2.7,111.05,1.7,65.03 -895,46,30,2.7,111.05,1.7,65.025 -896,46,30,2.7,111.05,1.7,65.02 -897,46,30,2.7,111.05,1.7,65.015 -898,46,30,2.7,111.05,1.7,65.01 -899,46,30,2.7,111.05,1.7,65.005 -900,46,30,2.7,111.05,1.7,65 -901,46,30,2.7,111.05,1.7,64.99833333 -902,46,30,2.7,111.05,1.7,64.99666667 -903,46,30,2.7,111.05,1.7,64.995 -904,46,30,2.7,111.05,1.7,64.99333333 -905,46,30,2.7,111.05,1.7,64.99166667 -906,46,30,2.7,111.05,1.7,64.99 -907,46,30,2.7,111.05,1.7,64.98833333 -908,46,30,2.7,111.05,1.7,64.98666667 -909,46,30,2.7,111.05,1.7,64.985 -910,46,30,2.7,111.05,1.7,64.98333333 -911,46,30,2.7,111.05,1.7,64.98166667 -912,46,30,2.7,111.05,1.7,64.98 -913,46,30,2.7,111.05,1.7,64.97833333 -914,46,30,2.7,111.05,1.7,64.97666667 -915,46,30,2.7,111.05,1.7,64.975 -916,46,30,2.7,111.05,1.7,64.97333333 -917,46,30,2.7,111.05,1.7,64.97166667 -918,46,30,2.7,111.05,1.7,64.97 -919,46,30,2.7,111.05,1.7,64.96833333 -920,46,30,2.7,111.05,1.7,64.96666667 -921,46,30,2.7,111.05,1.7,64.965 -922,46,30,2.7,111.05,1.7,64.96333333 -923,46,30,2.7,111.05,1.7,64.96166667 -924,46,30,2.7,111.05,1.7,64.96 -925,46,30,2.7,111.05,1.7,64.95833333 -926,46,30,2.7,111.05,1.7,64.95666667 -927,46,30,2.7,111.05,1.7,64.955 -928,46,30,2.7,111.05,1.7,64.95333333 -929,46,30,2.7,111.05,1.7,64.95166667 -930,46,30,2.7,111.05,1.7,64.95 -931,46,30,2.7,111.05,1.7,64.94833333 -932,46,30,2.7,111.05,1.7,64.94666667 -933,46,30,2.7,111.05,1.7,64.945 -934,46,30,2.7,111.05,1.7,64.94333333 -935,46,30,2.7,111.05,1.7,64.94166667 -936,46,30,2.7,111.05,1.7,64.94 -937,46,30,2.7,111.05,1.7,64.93833333 -938,46,30,2.7,111.05,1.7,64.93666667 -939,46,30,2.7,111.05,1.7,64.935 -940,46,30,2.7,111.05,1.7,64.93333333 -941,46,30,2.7,111.05,1.7,64.93166667 -942,46,30,2.7,111.05,1.7,64.93 -943,46,30,2.7,111.05,1.7,64.92833333 -944,46,30,2.7,111.05,1.7,64.92666667 -945,46,30,2.7,111.05,1.7,64.925 -946,46,30,2.7,111.05,1.7,64.92333333 -947,46,30,2.7,111.05,1.7,64.92166667 -948,46,30,2.7,111.05,1.7,64.92 -949,46,30,2.7,111.05,1.7,64.91833333 -950,46,30,2.7,111.05,1.7,64.91666667 -951,46,30,2.7,111.05,1.7,64.915 -952,46,30,2.7,111.05,1.7,64.91333333 -953,46,30,2.7,111.05,1.7,64.91166666 -954,46,30,2.7,111.05,1.7,64.91 -955,46,30,2.7,111.05,1.7,64.90833333 -956,46,30,2.7,111.05,1.7,64.90666666 -957,46,30,2.7,111.05,1.7,64.905 -958,46,30,2.7,111.05,1.7,64.90333333 -959,46,30,2.7,111.05,1.7,64.90166666 -960,46,30,2.7,111.05,1.7,64.9 -961,46,30,2.7,111.05,1.7,64.89833333 -962,46,30,2.7,111.05,1.7,64.89666666 -963,46,30,2.7,111.05,1.7,64.895 -964,46,30,2.7,111.05,1.7,64.89333333 -965,46,30,2.7,111.05,1.7,64.89166666 -966,46,30,2.7,111.05,1.7,64.89 -967,46,30,2.7,111.05,1.7,64.88833333 -968,46,30,2.7,111.05,1.7,64.88666666 -969,46,30,2.7,111.05,1.7,64.885 -970,46,30,2.7,111.05,1.7,64.88333333 -971,46,30,2.7,111.05,1.7,64.88166666 -972,46,30,2.7,111.05,1.7,64.88 -973,46,30,2.7,111.05,1.7,64.87833333 -974,46,30,2.7,111.05,1.7,64.87666666 -975,46,30,2.7,111.05,1.7,64.875 -976,46,30,2.7,111.05,1.7,64.87333333 -977,46,30,2.7,111.05,1.7,64.87166666 -978,46,30,2.7,111.05,1.7,64.87 -979,46,30,2.7,111.05,1.7,64.86833333 -980,46,30,2.7,111.05,1.7,64.86666666 -981,46,30,2.7,111.05,1.7,64.865 -982,46,30,2.7,111.05,1.7,64.86333333 -983,46,30,2.7,111.05,1.7,64.86166666 -984,46,30,2.7,111.05,1.7,64.86 -985,46,30,2.7,111.05,1.7,64.85833333 -986,46,30,2.7,111.05,1.7,64.85666666 -987,46,30,2.7,111.05,1.7,64.855 -988,46,30,2.7,111.05,1.7,64.85333333 -989,46,30,2.7,111.05,1.7,64.85166666 -990,46,30,2.7,111.05,1.7,64.85 -991,46,30,2.7,111.05,1.7,64.84833333 -992,46,30,2.7,111.05,1.7,64.84666666 -993,46,30,2.7,111.05,1.7,64.845 -994,46,30,2.7,111.05,1.7,64.84333333 -995,46,30,2.7,111.05,1.7,64.84166666 -996,46,30,2.7,111.05,1.7,64.84 -997,46,30,2.7,111.05,1.7,64.83833333 -998,46,30,2.7,111.05,1.7,64.83666666 -999,46,30,2.7,111.05,1.7,64.835 -1000,46,30,2.7,111.05,1.7,64.83333333 -1001,46,30,2.7,111.05,1.7,64.83166666 -1002,46,30,2.7,111.05,1.7,64.83 -1003,46,30,2.7,111.05,1.7,64.82833333 -1004,46,30,2.7,111.05,1.7,64.82666666 -1005,46,30,2.7,111.05,1.7,64.825 -1006,46,30,2.7,111.05,1.7,64.82333333 -1007,46,30,2.7,111.05,1.7,64.82166666 -1008,46,30,2.7,111.05,1.7,64.82 -1009,46,30,2.7,111.05,1.7,64.81833333 -1010,46,30,2.7,111.05,1.7,64.81666666 -1011,46,30,2.7,111.05,1.7,64.815 -1012,46,30,2.7,111.05,1.7,64.81333333 -1013,46,30,2.7,111.05,1.7,64.81166666 -1014,46,30,2.7,111.05,1.7,64.81 -1015,46,30,2.7,111.05,1.7,64.80833333 -1016,46,30,2.7,111.05,1.7,64.80666666 -1017,46,30,2.7,111.05,1.7,64.805 -1018,46,30,2.7,111.05,1.7,64.80333333 -1019,46,30,2.7,111.05,1.7,64.80166666 -1020,46,30,2.7,111.05,1.7,64.8 -1021,46,30,2.7,111.05,1.7,64.79833333 -1022,46,30,2.7,111.05,1.7,64.79666666 -1023,46,30,2.7,111.05,1.7,64.795 -1024,46,30,2.7,111.05,1.7,64.79333333 -1025,46,30,2.7,111.05,1.7,64.79166666 -1026,46,30,2.7,111.05,1.7,64.79 -1027,46,30,2.7,111.05,1.7,64.78833333 -1028,46,30,2.7,111.05,1.7,64.78666666 -1029,46,30,2.7,111.05,1.7,64.785 -1030,46,30,2.7,111.05,1.7,64.78333333 -1031,46,30,2.7,111.05,1.7,64.78166666 -1032,46,30,2.7,111.05,1.7,64.78 -1033,46,30,2.7,111.05,1.7,64.77833333 -1034,46,30,2.7,111.05,1.7,64.77666666 -1035,46,30,2.7,111.05,1.7,64.775 -1036,46,30,2.7,111.05,1.7,64.77333333 -1037,46,30,2.7,111.05,1.7,64.77166666 -1038,46,30,2.7,111.05,1.7,64.77 -1039,46,30,2.7,111.05,1.7,64.76833333 -1040,46,30,2.7,111.05,1.7,64.76666666 -1041,46,30,2.7,111.05,1.7,64.765 -1042,46,30,2.7,111.05,1.7,64.76333333 -1043,46,30,2.7,111.05,1.7,64.76166666 -1044,46,30,2.7,111.05,1.7,64.76 -1045,46,30,2.7,111.05,1.7,64.75833333 -1046,46,30,2.7,111.05,1.7,64.75666666 -1047,46,30,2.7,111.05,1.7,64.755 -1048,46,30,2.7,111.05,1.7,64.75333333 -1049,46,30,2.7,111.05,1.7,64.75166666 -1050,46,30,2.7,111.05,1.7,64.75 -1051,46,30,2.7,111.05,1.7,64.74833333 -1052,46,30,2.7,111.05,1.7,64.74666666 -1053,46,30,2.7,111.05,1.7,64.74499999 -1054,46,30,2.7,111.05,1.7,64.74333333 -1055,46,30,2.7,111.05,1.7,64.74166666 -1056,46,30,2.7,111.05,1.7,64.73999999 -1057,46,30,2.7,111.05,1.7,64.73833333 -1058,46,30,2.7,111.05,1.7,64.73666666 -1059,46,30,2.7,111.05,1.7,64.73499999 -1060,46,30,2.7,111.05,1.7,64.73333333 -1061,46,30,2.7,111.05,1.7,64.73166666 -1062,46,30,2.7,111.05,1.7,64.72999999 -1063,46,30,2.7,111.05,1.7,64.72833333 -1064,46,30,2.7,111.05,1.7,64.72666666 -1065,46,30,2.7,111.05,1.7,64.72499999 -1066,46,30,2.7,111.05,1.7,64.72333333 -1067,46,30,2.7,111.05,1.7,64.72166666 -1068,46,30,2.7,111.05,1.7,64.71999999 -1069,46,30,2.7,111.05,1.7,64.71833333 -1070,46,30,2.7,111.05,1.7,64.71666666 -1071,46,30,2.7,111.05,1.7,64.71499999 -1072,46,30,2.7,111.05,1.7,64.71333333 -1073,46,30,2.7,111.05,1.7,64.71166666 -1074,46,30,2.7,111.05,1.7,64.70999999 -1075,46,30,2.7,111.05,1.7,64.70833333 -1076,46,30,2.7,111.05,1.7,64.70666666 -1077,46,30,2.7,111.05,1.7,64.70499999 -1078,46,30,2.7,111.05,1.7,64.70333333 -1079,46,30,2.7,111.05,1.7,64.70166666 -1080,46,30,2.7,111.05,1.7,64.69999999 -1081,46,30,2.7,111.05,1.7,64.69833333 -1082,46,30,2.7,111.05,1.7,64.69666666 -1083,46,30,2.7,111.05,1.7,64.69499999 -1084,46,30,2.7,111.05,1.7,64.69333333 -1085,46,30,2.7,111.05,1.7,64.69166666 -1086,46,30,2.7,111.05,1.7,64.68999999 -1087,46,30,2.7,111.05,1.7,64.68833333 -1088,46,30,2.7,111.05,1.7,64.68666666 -1089,46,30,2.7,111.05,1.7,64.68499999 -1090,46,30,2.7,111.05,1.7,64.68333333 -1091,46,30,2.7,111.05,1.7,64.68166666 -1092,46,30,2.7,111.05,1.7,64.67999999 -1093,46,30,2.7,111.05,1.7,64.67833333 -1094,46,30,2.7,111.05,1.7,64.67666666 -1095,46,30,2.7,111.05,1.7,64.67499999 -1096,46,30,2.7,111.05,1.7,64.67333333 -1097,46,30,2.7,111.05,1.7,64.67166666 -1098,46,30,2.7,111.05,1.7,64.66999999 -1099,46,30,2.7,111.05,1.7,64.66833333 -1100,46,30,2.7,111.05,1.7,64.66666666 -1101,46,30,2.7,111.05,1.7,64.66499999 -1102,46,30,2.7,111.05,1.7,64.66333333 -1103,46,30,2.7,111.05,1.7,64.66166666 -1104,46,30,2.7,111.05,1.7,64.65999999 -1105,46,30,2.7,111.05,1.7,64.65833333 -1106,46,30,2.7,111.05,1.7,64.65666666 -1107,46,30,2.7,111.05,1.7,64.65499999 -1108,46,30,2.7,111.05,1.7,64.65333333 -1109,46,30,2.7,111.05,1.7,64.65166666 -1110,46,30,2.7,111.05,1.7,64.64999999 -1111,46,30,2.7,111.05,1.7,64.64833333 -1112,46,30,2.7,111.05,1.7,64.64666666 -1113,46,30,2.7,111.05,1.7,64.64499999 -1114,46,30,2.7,111.05,1.7,64.64333333 -1115,46,30,2.7,111.05,1.7,64.64166666 -1116,46,30,2.7,111.05,1.7,64.63999999 -1117,46,30,2.7,111.05,1.7,64.63833333 -1118,46,30,2.7,111.05,1.7,64.63666666 -1119,46,30,2.7,111.05,1.7,64.63499999 -1120,46,30,2.7,111.05,1.7,64.63333333 -1121,46,30,2.7,111.05,1.7,64.63166666 -1122,46,30,2.7,111.05,1.7,64.62999999 -1123,46,30,2.7,111.05,1.7,64.62833333 -1124,46,30,2.7,111.05,1.7,64.62666666 -1125,46,30,2.7,111.05,1.7,64.62499999 -1126,46,30,2.7,111.05,1.7,64.62333333 -1127,46,30,2.7,111.05,1.7,64.62166666 -1128,46,30,2.7,111.05,1.7,64.61999999 -1129,46,30,2.7,111.05,1.7,64.61833333 -1130,46,30,2.7,111.05,1.7,64.61666666 -1131,46,30,2.7,111.05,1.7,64.61499999 -1132,46,30,2.7,111.05,1.7,64.61333333 -1133,46,30,2.7,111.05,1.7,64.61166666 -1134,46,30,2.7,111.05,1.7,64.60999999 -1135,46,30,2.7,111.05,1.7,64.60833333 -1136,46,30,2.7,111.05,1.7,64.60666666 -1137,46,30,2.7,111.05,1.7,64.60499999 -1138,46,30,2.7,111.05,1.7,64.60333333 -1139,46,30,2.7,111.05,1.7,64.60166666 -1140,46,30,2.7,111.05,1.7,64.59999999 -1141,46,30,2.7,111.05,1.7,64.59833333 -1142,46,30,2.7,111.05,1.7,64.59666666 -1143,46,30,2.7,111.05,1.7,64.59499999 -1144,46,30,2.7,111.05,1.7,64.59333333 -1145,46,30,2.7,111.05,1.7,64.59166666 -1146,46,30,2.7,111.05,1.7,64.58999999 -1147,46,30,2.7,111.05,1.7,64.58833333 -1148,46,30,2.7,111.05,1.7,64.58666666 -1149,46,30,2.7,111.05,1.7,64.58499999 -1150,46,30,2.7,111.05,1.7,64.58333333 -1151,46,30,2.7,111.05,1.7,64.58166666 -1152,46,30,2.7,111.05,1.7,64.57999999 -1153,46,30,2.7,111.05,1.7,64.57833332 -1154,46,30,2.7,111.05,1.7,64.57666666 -1155,46,30,2.7,111.05,1.7,64.57499999 -1156,46,30,2.7,111.05,1.7,64.57333332 -1157,46,30,2.7,111.05,1.7,64.57166666 -1158,46,30,2.7,111.05,1.7,64.56999999 -1159,46,30,2.7,111.05,1.7,64.56833332 -1160,46,30,2.7,111.05,1.7,64.56666666 -1161,46,30,2.7,111.05,1.7,64.56499999 -1162,46,30,2.7,111.05,1.7,64.56333332 -1163,46,30,2.7,111.05,1.7,64.56166666 -1164,46,30,2.7,111.05,1.7,64.55999999 -1165,46,30,2.7,111.05,1.7,64.55833332 -1166,46,30,2.7,111.05,1.7,64.55666666 -1167,46,30,2.7,111.05,1.7,64.55499999 -1168,46,30,2.7,111.05,1.7,64.55333332 -1169,46,30,2.7,111.05,1.7,64.55166666 -1170,46,30,2.7,111.05,1.7,64.54999999 -1171,46,30,2.7,111.05,1.7,64.54833332 -1172,46,30,2.7,111.05,1.7,64.54666666 -1173,46,30,2.7,111.05,1.7,64.54499999 -1174,46,30,2.7,111.05,1.7,64.54333332 -1175,46,30,2.7,111.05,1.7,64.54166666 -1176,46,30,2.7,111.05,1.7,64.53999999 -1177,46,30,2.7,111.05,1.7,64.53833332 -1178,46,30,2.7,111.05,1.7,64.53666666 -1179,46,30,2.7,111.05,1.7,64.53499999 -1180,46,30,2.7,111.05,1.7,64.53333332 -1181,46,30,2.7,111.05,1.7,64.53166666 -1182,46,30,2.7,111.05,1.7,64.52999999 -1183,46,30,2.7,111.05,1.7,64.52833332 -1184,46,30,2.7,111.05,1.7,64.52666666 -1185,46,30,2.7,111.05,1.7,64.52499999 -1186,46,30,2.7,111.05,1.7,64.52333332 -1187,46,30,2.7,111.05,1.7,64.52166666 -1188,46,30,2.7,111.05,1.7,64.51999999 -1189,46,30,2.7,111.05,1.7,64.51833332 -1190,46,30,2.7,111.05,1.7,64.51666666 -1191,46,30,2.7,111.05,1.7,64.51499999 -1192,46,30,2.7,111.05,1.7,64.51333332 -1193,46,30,2.7,111.05,1.7,64.51166666 -1194,46,30,2.7,111.05,1.7,64.50999999 -1195,46,30,2.7,111.05,1.7,64.50833332 -1196,46,30,2.7,111.05,1.7,64.50666666 -1197,46,30,2.7,111.05,1.7,64.50499999 -1198,46,30,2.7,111.05,1.7,64.50333332 -1199,46,30,2.7,111.05,1.7,64.50166666 -1200,46,30,2.7,111.05,1.7,64.5 -1201,46,30,2.7,111.05,1.7,64.499375 -1202,46,30,2.7,111.05,1.7,64.49875 -1203,46,30,2.7,111.05,1.7,64.498125 -1204,46,30,2.7,111.05,1.7,64.4975 -1205,46,30,2.7,111.05,1.7,64.496875 -1206,46,30,2.7,111.05,1.7,64.49625 -1207,46,30,2.7,111.05,1.7,64.495625 -1208,46,30,2.7,111.05,1.7,64.495 -1209,46,30,2.7,111.05,1.7,64.494375 -1210,46,30,2.7,111.05,1.7,64.49375 -1211,46,30,2.7,111.05,1.7,64.493125 -1212,46,30,2.7,111.05,1.7,64.4925 -1213,46,30,2.7,111.05,1.7,64.491875 -1214,46,30,2.7,111.05,1.7,64.49125 -1215,46,30,2.7,111.05,1.7,64.490625 -1216,46,30,2.7,111.05,1.7,64.49 -1217,46,30,2.7,111.05,1.7,64.489375 -1218,46,30,2.7,111.05,1.7,64.48875 -1219,46,30,2.7,111.05,1.7,64.488125 -1220,46,30,2.7,111.05,1.7,64.4875 -1221,46,30,2.7,111.05,1.7,64.486875 -1222,46,30,2.7,111.05,1.7,64.48625 -1223,46,30,2.7,111.05,1.7,64.485625 -1224,46,30,2.7,111.05,1.7,64.485 -1225,46,30,2.7,111.05,1.7,64.484375 -1226,46,30,2.7,111.05,1.7,64.48375 -1227,46,30,2.7,111.05,1.7,64.483125 -1228,46,30,2.7,111.05,1.7,64.4825 -1229,46,30,2.7,111.05,1.7,64.481875 -1230,46,30,2.7,111.05,1.7,64.48125 -1231,46,30,2.7,111.05,1.7,64.480625 -1232,46,30,2.7,111.05,1.7,64.48 -1233,46,30,2.7,111.05,1.7,64.479375 -1234,46,30,2.7,111.05,1.7,64.47875 -1235,46,30,2.7,111.05,1.7,64.478125 -1236,46,30,2.7,111.05,1.7,64.4775 -1237,46,30,2.7,111.05,1.7,64.476875 -1238,46,30,2.7,111.05,1.7,64.47625 -1239,46,30,2.7,111.05,1.7,64.475625 -1240,46,30,2.7,111.05,1.7,64.475 -1241,46,30,2.7,111.05,1.7,64.474375 -1242,46,30,2.7,111.05,1.7,64.47375 -1243,46,30,2.7,111.05,1.7,64.473125 -1244,46,30,2.7,111.05,1.7,64.4725 -1245,46,30,2.7,111.05,1.7,64.471875 -1246,46,30,2.7,111.05,1.7,64.47125 -1247,46,30,2.7,111.05,1.7,64.470625 -1248,46,30,2.7,111.05,1.7,64.47 -1249,46,30,2.7,111.05,1.7,64.469375 -1250,46,30,2.7,111.05,1.7,64.46875 -1251,46,30,2.7,111.05,1.7,64.468125 -1252,46,30,2.7,111.05,1.7,64.4675 -1253,46,30,2.7,111.05,1.7,64.466875 -1254,46,30,2.7,111.05,1.7,64.46625 -1255,46,30,2.7,111.05,1.7,64.465625 -1256,46,30,2.7,111.05,1.7,64.465 -1257,46,30,2.7,111.05,1.7,64.464375 -1258,46,30,2.7,111.05,1.7,64.46375 -1259,46,30,2.7,111.05,1.7,64.463125 -1260,46,30,2.7,111.05,1.7,64.4625 -1261,46,30,2.7,111.05,1.7,64.461875 -1262,46,30,2.7,111.05,1.7,64.46125 -1263,46,30,2.7,111.05,1.7,64.460625 -1264,46,30,2.7,111.05,1.7,64.46 -1265,46,30,2.7,111.05,1.7,64.459375 -1266,46,30,2.7,111.05,1.7,64.45875 -1267,46,30,2.7,111.05,1.7,64.458125 -1268,46,30,2.7,111.05,1.7,64.4575 -1269,46,30,2.7,111.05,1.7,64.456875 -1270,46,30,2.7,111.05,1.7,64.45625 -1271,46,30,2.7,111.05,1.7,64.455625 -1272,46,30,2.7,111.05,1.7,64.455 -1273,46,30,2.7,111.05,1.7,64.454375 -1274,46,30,2.7,111.05,1.7,64.45375 -1275,46,30,2.7,111.05,1.7,64.453125 -1276,46,30,2.7,111.05,1.7,64.4525 -1277,46,30,2.7,111.05,1.7,64.451875 -1278,46,30,2.7,111.05,1.7,64.45125 -1279,46,30,2.7,111.05,1.7,64.450625 -1280,46,30,2.7,111.05,1.7,64.45 -1281,46,30,2.7,111.05,1.7,64.449375 -1282,46,30,2.7,111.05,1.7,64.44875 -1283,46,30,2.7,111.05,1.7,64.448125 -1284,46,30,2.7,111.05,1.7,64.4475 -1285,46,30,2.7,111.05,1.7,64.446875 -1286,46,30,2.7,111.05,1.7,64.44625 -1287,46,30,2.7,111.05,1.7,64.445625 -1288,46,30,2.7,111.05,1.7,64.445 -1289,46,30,2.7,111.05,1.7,64.444375 -1290,46,30,2.7,111.05,1.7,64.44375 -1291,46,30,2.7,111.05,1.7,64.443125 -1292,46,30,2.7,111.05,1.7,64.4425 -1293,46,30,2.7,111.05,1.7,64.441875 -1294,46,30,2.7,111.05,1.7,64.44125 -1295,46,30,2.7,111.05,1.7,64.440625 -1296,46,30,2.7,111.05,1.7,64.44 -1297,46,30,2.7,111.05,1.7,64.439375 -1298,46,30,2.7,111.05,1.7,64.43875 -1299,46,30,2.7,111.05,1.7,64.438125 -1300,46,30,2.7,111.05,1.7,64.4375 -1301,46,30,2.7,111.05,1.7,64.436875 -1302,46,30,2.7,111.05,1.7,64.43625 -1303,46,30,2.7,111.05,1.7,64.435625 -1304,46,30,2.7,111.05,1.7,64.435 -1305,46,30,2.7,111.05,1.7,64.434375 -1306,46,30,2.7,111.05,1.7,64.43375 -1307,46,30,2.7,111.05,1.7,64.433125 -1308,46,30,2.7,111.05,1.7,64.4325 -1309,46,30,2.7,111.05,1.7,64.431875 -1310,46,30,2.7,111.05,1.7,64.43125 -1311,46,30,2.7,111.05,1.7,64.430625 -1312,46,30,2.7,111.05,1.7,64.43 -1313,46,30,2.7,111.05,1.7,64.429375 -1314,46,30,2.7,111.05,1.7,64.42875 -1315,46,30,2.7,111.05,1.7,64.428125 -1316,46,30,2.7,111.05,1.7,64.4275 -1317,46,30,2.7,111.05,1.7,64.426875 -1318,46,30,2.7,111.05,1.7,64.42625 -1319,46,30,2.7,111.05,1.7,64.425625 -1320,46,30,2.7,111.05,1.7,64.425 -1321,46,30,2.7,111.05,1.7,64.424375 -1322,46,30,2.7,111.05,1.7,64.42375 -1323,46,30,2.7,111.05,1.7,64.423125 -1324,46,30,2.7,111.05,1.7,64.4225 -1325,46,30,2.7,111.05,1.7,64.421875 -1326,46,30,2.7,111.05,1.7,64.42125 -1327,46,30,2.7,111.05,1.7,64.420625 -1328,46,30,2.7,111.05,1.7,64.42 -1329,46,30,2.7,111.05,1.7,64.419375 -1330,46,30,2.7,111.05,1.7,64.41875 -1331,46,30,2.7,111.05,1.7,64.418125 -1332,46,30,2.7,111.05,1.7,64.4175 -1333,46,30,2.7,111.05,1.7,64.416875 -1334,46,30,2.7,111.05,1.7,64.41625 -1335,46,30,2.7,111.05,1.7,64.415625 -1336,46,30,2.7,111.05,1.7,64.415 -1337,46,30,2.7,111.05,1.7,64.414375 -1338,46,30,2.7,111.05,1.7,64.41375 -1339,46,30,2.7,111.05,1.7,64.413125 -1340,46,30,2.7,111.05,1.7,64.4125 -1341,46,30,2.7,111.05,1.7,64.411875 -1342,46,30,2.7,111.05,1.7,64.41125 -1343,46,30,2.7,111.05,1.7,64.410625 -1344,46,30,2.7,111.05,1.7,64.41 -1345,46,30,2.7,111.05,1.7,64.409375 -1346,46,30,2.7,111.05,1.7,64.40875 -1347,46,30,2.7,111.05,1.7,64.408125 -1348,46,30,2.7,111.05,1.7,64.4075 -1349,46,30,2.7,111.05,1.7,64.406875 -1350,46,30,2.7,111.05,1.7,64.40625 -1351,46,30,2.7,111.05,1.7,64.405625 -1352,46,30,2.7,111.05,1.7,64.405 -1353,46,30,2.7,111.05,1.7,64.404375 -1354,46,30,2.7,111.05,1.7,64.40375 -1355,46,30,2.7,111.05,1.7,64.403125 -1356,46,30,2.7,111.05,1.7,64.4025 -1357,46,30,2.7,111.05,1.7,64.401875 -1358,46,30,2.7,111.05,1.7,64.40125 -1359,46,30,2.7,111.05,1.7,64.400625 -1360,46,30,2.7,111.05,1.7,64.4 -1361,46,30,2.7,111.05,1.7,64.399375 -1362,46,30,2.7,111.05,1.7,64.39875 -1363,46,30,2.7,111.05,1.7,64.398125 -1364,46,30,2.7,111.05,1.7,64.3975 -1365,46,30,2.7,111.05,1.7,64.396875 -1366,46,30,2.7,111.05,1.7,64.39625 -1367,46,30,2.7,111.05,1.7,64.395625 -1368,46,30,2.7,111.05,1.7,64.395 -1369,46,30,2.7,111.05,1.7,64.394375 -1370,46,30,2.7,111.05,1.7,64.39375 -1371,46,30,2.7,111.05,1.7,64.393125 -1372,46,30,2.7,111.05,1.7,64.3925 -1373,46,30,2.7,111.05,1.7,64.391875 -1374,46,30,2.7,111.05,1.7,64.39125 -1375,46,30,2.7,111.05,1.7,64.390625 -1376,46,30,2.7,111.05,1.7,64.39 -1377,46,30,2.7,111.05,1.7,64.389375 -1378,46,30,2.7,111.05,1.7,64.38875 -1379,46,30,2.7,111.05,1.7,64.388125 -1380,46,30,2.7,111.05,1.7,64.3875 -1381,46,30,2.7,111.05,1.7,64.386875 -1382,46,30,2.7,111.05,1.7,64.38625 -1383,46,30,2.7,111.05,1.7,64.385625 -1384,46,30,2.7,111.05,1.7,64.385 -1385,46,30,2.7,111.05,1.7,64.384375 -1386,46,30,2.7,111.05,1.7,64.38375 -1387,46,30,2.7,111.05,1.7,64.383125 -1388,46,30,2.7,111.05,1.7,64.3825 -1389,46,30,2.7,111.05,1.7,64.381875 -1390,46,30,2.7,111.05,1.7,64.38125 -1391,46,30,2.7,111.05,1.7,64.380625 -1392,46,30,2.7,111.05,1.7,64.38 -1393,46,30,2.7,111.05,1.7,64.379375 -1394,46,30,2.7,111.05,1.7,64.37875 -1395,46,30,2.7,111.05,1.7,64.378125 -1396,46,30,2.7,111.05,1.7,64.3775 -1397,46,30,2.7,111.05,1.7,64.376875 -1398,46,30,2.7,111.05,1.7,64.37625 -1399,46,30,2.7,111.05,1.7,64.375625 -1400,46,30,2.7,111.05,1.7,64.375 -1401,46,30,2.7,111.05,1.7,64.374375 -1402,46,30,2.7,111.05,1.7,64.37375 -1403,46,30,2.7,111.05,1.7,64.373125 -1404,46,30,2.7,111.05,1.7,64.3725 -1405,46,30,2.7,111.05,1.7,64.371875 -1406,46,30,2.7,111.05,1.7,64.37125 -1407,46,30,2.7,111.05,1.7,64.370625 -1408,46,30,2.7,111.05,1.7,64.37 -1409,46,30,2.7,111.05,1.7,64.369375 -1410,46,30,2.7,111.05,1.7,64.36875 -1411,46,30,2.7,111.05,1.7,64.368125 -1412,46,30,2.7,111.05,1.7,64.3675 -1413,46,30,2.7,111.05,1.7,64.366875 -1414,46,30,2.7,111.05,1.7,64.36625 -1415,46,30,2.7,111.05,1.7,64.365625 -1416,46,30,2.7,111.05,1.7,64.365 -1417,46,30,2.7,111.05,1.7,64.364375 -1418,46,30,2.7,111.05,1.7,64.36375 -1419,46,30,2.7,111.05,1.7,64.363125 -1420,46,30,2.7,111.05,1.7,64.3625 -1421,46,30,2.7,111.05,1.7,64.361875 -1422,46,30,2.7,111.05,1.7,64.36125 -1423,46,30,2.7,111.05,1.7,64.360625 -1424,46,30,2.7,111.05,1.7,64.36 -1425,46,30,2.7,111.05,1.7,64.359375 -1426,46,30,2.7,111.05,1.7,64.35875 -1427,46,30,2.7,111.05,1.7,64.358125 -1428,46,30,2.7,111.05,1.7,64.3575 -1429,46,30,2.7,111.05,1.7,64.356875 -1430,46,30,2.7,111.05,1.7,64.35625 -1431,46,30,2.7,111.05,1.7,64.355625 -1432,46,30,2.7,111.05,1.7,64.355 -1433,46,30,2.7,111.05,1.7,64.354375 -1434,46,30,2.7,111.05,1.7,64.35375 -1435,46,30,2.7,111.05,1.7,64.353125 -1436,46,30,2.7,111.05,1.7,64.3525 -1437,46,30,2.7,111.05,1.7,64.351875 -1438,46,30,2.7,111.05,1.7,64.35125 -1439,46,30,2.7,111.05,1.7,64.350625 -1440,46,30,2.7,111.05,1.7,64.35 -1441,46,30,2.7,111.05,1.7,64.349375 -1442,46,30,2.7,111.05,1.7,64.34875 -1443,46,30,2.7,111.05,1.7,64.348125 -1444,46,30,2.7,111.05,1.7,64.3475 -1445,46,30,2.7,111.05,1.7,64.346875 -1446,46,30,2.7,111.05,1.7,64.34625 -1447,46,30,2.7,111.05,1.7,64.345625 -1448,46,30,2.7,111.05,1.7,64.345 -1449,46,30,2.7,111.05,1.7,64.344375 -1450,46,30,2.7,111.05,1.7,64.34375 -1451,46,30,2.7,111.05,1.7,64.343125 -1452,46,30,2.7,111.05,1.7,64.3425 -1453,46,30,2.7,111.05,1.7,64.341875 -1454,46,30,2.7,111.05,1.7,64.34125 -1455,46,30,2.7,111.05,1.7,64.340625 -1456,46,30,2.7,111.05,1.7,64.34 -1457,46,30,2.7,111.05,1.7,64.339375 -1458,46,30,2.7,111.05,1.7,64.33875 -1459,46,30,2.7,111.05,1.7,64.338125 -1460,46,30,2.7,111.05,1.7,64.3375 -1461,46,30,2.7,111.05,1.7,64.336875 -1462,46,30,2.7,111.05,1.7,64.33625 -1463,46,30,2.7,111.05,1.7,64.335625 -1464,46,30,2.7,111.05,1.7,64.335 -1465,46,30,2.7,111.05,1.7,64.334375 -1466,46,30,2.7,111.05,1.7,64.33375 -1467,46,30,2.7,111.05,1.7,64.333125 -1468,46,30,2.7,111.05,1.7,64.3325 -1469,46,30,2.7,111.05,1.7,64.331875 -1470,46,30,2.7,111.05,1.7,64.33125 -1471,46,30,2.7,111.05,1.7,64.330625 -1472,46,30,2.7,111.05,1.7,64.33 -1473,46,30,2.7,111.05,1.7,64.329375 -1474,46,30,2.7,111.05,1.7,64.32875 -1475,46,30,2.7,111.05,1.7,64.328125 -1476,46,30,2.7,111.05,1.7,64.3275 -1477,46,30,2.7,111.05,1.7,64.326875 -1478,46,30,2.7,111.05,1.7,64.32625 -1479,46,30,2.7,111.05,1.7,64.325625 -1480,46,30,2.7,111.05,1.7,64.325 -1481,46,30,2.7,111.05,1.7,64.324375 -1482,46,30,2.7,111.05,1.7,64.32375 -1483,46,30,2.7,111.05,1.7,64.323125 -1484,46,30,2.7,111.05,1.7,64.3225 -1485,46,30,2.7,111.05,1.7,64.321875 -1486,46,30,2.7,111.05,1.7,64.32125 -1487,46,30,2.7,111.05,1.7,64.320625 -1488,46,30,2.7,111.05,1.7,64.32 -1489,46,30,2.7,111.05,1.7,64.319375 -1490,46,30,2.6,111.05,1.7,64.31875 -1491,46,30,2.6,111.05,1.7,64.318125 -1492,46,30,2.6,111.05,1.7,64.3175 -1493,46,30,2.6,111.05,1.7,64.316875 -1494,46,30,2.6,111.05,1.7,64.31625 -1495,46,30,2.6,111.05,1.7,64.315625 -1496,46,30,2.6,111.05,1.7,64.315 -1497,46,30,2.6,111.05,1.7,64.314375 -1498,46,30,2.6,111.05,1.7,64.31375 -1499,46,30,2.6,111.05,1.7,64.313125 -1500,46,30,2.6,111.05,1.7,64.3125 -1501,46,30,2.6,111.05,1.7,64.311875 -1502,46,30,2.6,111.05,1.7,64.31125 -1503,46,30,2.6,111.05,1.7,64.310625 -1504,46,30,2.6,111.05,1.7,64.31 -1505,46,30,2.6,111.05,1.7,64.309375 -1506,46,30,2.6,111.05,1.7,64.30875 -1507,46,30,2.6,111.05,1.7,64.308125 -1508,46,30,2.6,111.05,1.7,64.3075 -1509,46,30,2.6,111.05,1.7,64.306875 -1510,46,30,2.6,111.05,1.7,64.30625 -1511,46,30,2.6,111.05,1.7,64.305625 -1512,46,30,2.6,111.05,1.7,64.305 -1513,46,30,2.6,111.05,1.7,64.304375 -1514,46,30,2.6,111.05,1.7,64.30375 -1515,46,30,2.6,111.05,1.7,64.303125 -1516,46,30,2.6,111.05,1.7,64.3025 -1517,46,30,2.6,111.05,1.7,64.301875 -1518,46,30,2.6,111.05,1.7,64.30125 -1519,46,30,2.6,111.05,1.7,64.300625 -1520,46,30,2.6,111.05,1.7,64.3 -1521,46,30,2.6,111.05,1.7,64.299375 -1522,46,30,2.6,111.05,1.7,64.29875 -1523,46,30,2.6,111.05,1.7,64.298125 -1524,46,30,2.6,111.05,1.7,64.2975 -1525,46,30,2.6,111.05,1.7,64.296875 -1526,46,30,2.6,111.05,1.7,64.29625 -1527,46,30,2.6,111.05,1.7,64.295625 -1528,46,30,2.6,111.05,1.7,64.295 -1529,46,30,2.6,111.05,1.7,64.294375 -1530,46,30,2.6,111.05,1.7,64.29375 -1531,46,30,2.6,111.05,1.7,64.293125 -1532,46,30,2.6,111.05,1.7,64.2925 -1533,46,30,2.6,111.05,1.7,64.291875 -1534,46,30,2.6,111.05,1.7,64.29125 -1535,46,30,2.6,111.05,1.7,64.290625 -1536,46,30,2.6,111.05,1.7,64.29 -1537,46,30,2.6,111.05,1.7,64.289375 -1538,46,30,2.6,111.05,1.7,64.28875 -1539,46,30,2.6,111.05,1.7,64.288125 -1540,46,30,2.6,111.05,1.7,64.2875 -1541,46,30,2.6,111.05,1.7,64.286875 -1542,46,30,2.6,111.05,1.7,64.28625 -1543,46,30,2.6,111.05,1.7,64.285625 -1544,46,30,2.6,111.05,1.7,64.285 -1545,46,30,2.6,111.05,1.7,64.284375 -1546,46,30,2.6,111.05,1.7,64.28375 -1547,46,30,2.6,111.05,1.7,64.283125 -1548,46,30,2.6,111.05,1.7,64.2825 -1549,46,30,2.6,111.05,1.7,64.281875 -1550,46,30,2.6,111.05,1.7,64.28125 -1551,46,30,2.6,111.05,1.7,64.280625 -1552,46,30,2.6,111.05,1.7,64.28 -1553,46,30,2.6,111.05,1.7,64.279375 -1554,46,30,2.6,111.05,1.7,64.27875 -1555,46,30,2.6,111.05,1.7,64.278125 -1556,46,30,2.6,111.05,1.7,64.2775 -1557,46,30,2.6,111.05,1.7,64.276875 -1558,46,30,2.6,111.05,1.7,64.27625 -1559,46,30,2.6,111.05,1.7,64.275625 -1560,46,30,2.6,111.05,1.7,64.275 -1561,46,30,2.6,111.05,1.7,64.274375 -1562,46,30,2.6,111.05,1.7,64.27375 -1563,46,30,2.6,111.05,1.7,64.273125 -1564,46,30,2.6,111.05,1.7,64.2725 -1565,46,30,2.6,111.05,1.7,64.271875 -1566,46,30,2.6,111.05,1.7,64.27125 -1567,46,30,2.6,111.05,1.7,64.270625 -1568,46,30,2.6,111.05,1.7,64.27 -1569,46,30,2.6,111.05,1.7,64.269375 -1570,46,30,2.6,111.05,1.7,64.26875 -1571,46,30,2.6,111.05,1.7,64.268125 -1572,46,30,2.6,111.05,1.7,64.2675 -1573,46,30,2.6,111.05,1.7,64.266875 -1574,46,30,2.6,111.05,1.7,64.26625 -1575,46,30,2.6,111.05,1.7,64.265625 -1576,46,30,2.6,111.05,1.7,64.265 -1577,46,30,2.6,111.05,1.7,64.264375 -1578,46,30,2.6,111.05,1.7,64.26375 -1579,46,30,2.6,111.05,1.7,64.263125 -1580,46,30,2.6,111.05,1.7,64.2625 -1581,46,30,2.6,111.05,1.7,64.261875 -1582,46,30,2.6,111.05,1.7,64.26125 -1583,46,30,2.6,111.05,1.7,64.260625 -1584,46,30,2.6,111.05,1.7,64.26 -1585,46,30,2.6,111.05,1.7,64.259375 -1586,46,30,2.6,111.05,1.7,64.25875 -1587,46,30,2.6,111.05,1.7,64.258125 -1588,46,30,2.6,111.05,1.7,64.2575 -1589,46,30,2.6,111.05,1.7,64.256875 -1590,46,30,2.6,111.05,1.7,64.25625 -1591,46,30,2.6,111.05,1.7,64.255625 -1592,46,30,2.6,111.05,1.7,64.255 -1593,46,30,2.6,111.05,1.7,64.254375 -1594,46,30,2.6,111.05,1.7,64.25375 -1595,46,30,2.6,111.05,1.7,64.253125 -1596,46,30,2.6,111.05,1.7,64.2525 -1597,46,30,2.6,111.05,1.7,64.251875 -1598,46,30,2.6,111.05,1.7,64.25125 -1599,46,30,2.6,111.05,1.7,64.250625 -1600,46,30,2.6,111.05,1.7,64.25 -1601,46,30,2.6,111.05,1.7,64.249375 -1602,46,30,2.6,111.05,1.7,64.24875 -1603,46,30,2.6,111.05,1.7,64.248125 -1604,46,30,2.6,111.05,1.7,64.2475 -1605,46,30,2.6,111.05,1.7,64.246875 -1606,46,30,2.6,111.05,1.7,64.24625 -1607,46,30,2.6,111.05,1.7,64.245625 -1608,46,30,2.6,111.05,1.7,64.245 -1609,46,30,2.6,111.05,1.7,64.244375 -1610,46,30,2.6,111.05,1.7,64.24375 -1611,46,30,2.6,111.05,1.7,64.243125 -1612,46,30,2.6,111.05,1.7,64.2425 -1613,46,30,2.6,111.05,1.7,64.241875 -1614,46,30,2.6,111.05,1.7,64.24125 -1615,46,30,2.6,111.05,1.7,64.240625 -1616,46,30,2.6,111.05,1.7,64.24 -1617,46,30,2.6,111.05,1.7,64.239375 -1618,46,30,2.6,111.05,1.7,64.23875 -1619,46,30,2.6,111.05,1.7,64.238125 -1620,46,30,2.6,111.05,1.7,64.2375 -1621,46,30,2.6,111.05,1.7,64.236875 -1622,46,30,2.6,111.05,1.7,64.23625 -1623,46,30,2.6,111.05,1.7,64.235625 -1624,46,30,2.6,111.05,1.7,64.235 -1625,46,30,2.6,111.05,1.7,64.234375 -1626,46,30,2.6,111.05,1.7,64.23375 -1627,46,30,2.6,111.05,1.7,64.233125 -1628,46,30,2.6,111.05,1.7,64.2325 -1629,46,30,2.6,111.05,1.7,64.231875 -1630,46,30,2.6,111.05,1.7,64.23125 -1631,46,30,2.6,111.05,1.7,64.230625 -1632,46,30,2.6,111.05,1.7,64.23 -1633,46,30,2.6,111.05,1.7,64.229375 -1634,46,30,2.6,111.05,1.7,64.22875 -1635,46,30,2.6,111.05,1.7,64.228125 -1636,46,30,2.6,111.05,1.7,64.2275 -1637,46,30,2.6,111.05,1.7,64.226875 -1638,46,30,2.6,111.05,1.7,64.22625 -1639,46,30,2.6,111.05,1.7,64.225625 -1640,46,30,2.6,111.05,1.7,64.225 -1641,46,30,2.6,111.05,1.7,64.224375 -1642,46,30,2.6,111.05,1.7,64.22375 -1643,46,30,2.6,111.05,1.7,64.223125 -1644,46,30,2.6,111.05,1.7,64.2225 -1645,46,30,2.6,111.05,1.7,64.221875 -1646,46,30,2.6,111.05,1.7,64.22125 -1647,46,30,2.6,111.05,1.7,64.220625 -1648,46,30,2.6,111.05,1.7,64.22 -1649,46,30,2.6,111.05,1.7,64.219375 -1650,46,30,2.6,111.05,1.7,64.21875 -1651,46,30,2.6,111.05,1.7,64.218125 -1652,46,30,2.6,111.05,1.7,64.2175 -1653,46,30,2.6,111.05,1.7,64.216875 -1654,46,30,2.6,111.05,1.7,64.21625 -1655,46,30,2.6,111.05,1.7,64.215625 -1656,46,30,2.6,111.05,1.7,64.215 -1657,46,30,2.6,111.05,1.7,64.214375 -1658,46,30,2.6,111.05,1.7,64.21375 -1659,46,30,2.6,111.05,1.7,64.213125 -1660,46,30,2.6,111.05,1.7,64.2125 -1661,46,30,2.6,111.05,1.7,64.211875 -1662,46,30,2.6,111.05,1.7,64.21125 -1663,46,30,2.6,111.05,1.7,64.210625 -1664,46,30,2.6,111.05,1.7,64.21 -1665,46,30,2.6,111.05,1.7,64.209375 -1666,46,30,2.6,111.05,1.7,64.20875 -1667,46,30,2.6,111.05,1.7,64.208125 -1668,46,30,2.6,111.05,1.7,64.2075 -1669,46,30,2.6,111.05,1.7,64.206875 -1670,46,30,2.6,111.05,1.7,64.20625 -1671,46,30,2.6,111.05,1.7,64.205625 -1672,46,30,2.6,111.05,1.7,64.205 -1673,46,30,2.6,111.05,1.7,64.204375 -1674,46,30,2.6,111.05,1.7,64.20375 -1675,46,30,2.6,111.05,1.7,64.203125 -1676,46,30,2.6,111.05,1.7,64.2025 -1677,46,30,2.6,111.05,1.7,64.201875 -1678,46,30,2.6,111.05,1.7,64.20125 -1679,46,30,2.6,111.05,1.7,64.200625 -1680,46,30,2.6,111.05,1.7,64.2 -1681,46,30,2.6,111.05,1.7,64.199375 -1682,46,30,2.6,111.05,1.7,64.19875 -1683,46,30,2.6,111.05,1.7,64.198125 -1684,46,30,2.6,111.05,1.7,64.1975 -1685,46,30,2.6,111.05,1.7,64.196875 -1686,46,30,2.6,111.05,1.7,64.19625 -1687,46,30,2.6,111.05,1.7,64.195625 -1688,46,30,2.6,111.05,1.7,64.195 -1689,46,30,2.6,111.05,1.7,64.194375 -1690,46,30,2.6,111.05,1.7,64.19375 -1691,46,30,2.6,111.05,1.7,64.193125 -1692,46,30,2.6,111.05,1.7,64.1925 -1693,46,30,2.6,111.05,1.7,64.191875 -1694,46,30,2.6,111.05,1.7,64.19125 -1695,46,30,2.6,111.05,1.7,64.190625 -1696,46,30,2.6,111.05,1.7,64.19 -1697,46,30,2.6,111.05,1.7,64.189375 -1698,46,30,2.6,111.05,1.7,64.18875 -1699,46,30,2.6,111.05,1.7,64.188125 -1700,46,30,2.6,111.05,1.7,64.1875 -1701,46,30,2.6,111.05,1.7,64.186875 -1702,46,30,2.6,111.05,1.7,64.18625 -1703,46,30,2.6,111.05,1.7,64.185625 -1704,46,30,2.6,111.05,1.7,64.185 -1705,46,30,2.6,111.05,1.7,64.184375 -1706,46,30,2.6,111.05,1.7,64.18375 -1707,46,30,2.6,111.05,1.7,64.183125 -1708,46,30,2.6,111.05,1.7,64.1825 -1709,46,30,2.6,111.05,1.7,64.181875 -1710,46,30,2.6,111.05,1.7,64.18125 -1711,46,30,2.6,111.05,1.7,64.180625 -1712,46,30,2.6,111.05,1.7,64.18 -1713,46,30,2.6,111.05,1.7,64.179375 -1714,46,30,2.6,111.05,1.7,64.17875 -1715,46,30,2.6,111.05,1.7,64.178125 -1716,46,30,2.6,111.05,1.7,64.1775 -1717,46,30,2.6,111.05,1.7,64.176875 -1718,46,30,2.6,111.05,1.7,64.17625 -1719,46,30,2.6,111.05,1.7,64.175625 -1720,46,30,2.6,111.05,1.7,64.175 -1721,46,30,2.6,111.05,1.7,64.174375 -1722,46,30,2.6,111.05,1.7,64.17375 -1723,46,30,2.6,111.05,1.7,64.173125 -1724,46,30,2.6,111.05,1.7,64.1725 -1725,46,30,2.6,111.05,1.7,64.171875 -1726,46,30,2.6,111.05,1.7,64.17125 -1727,46,30,2.6,111.05,1.7,64.170625 -1728,46,30,2.6,111.05,1.7,64.17 -1729,46,30,2.6,111.05,1.7,64.169375 -1730,46,30,2.6,111.05,1.7,64.16875 -1731,46,30,2.6,111.05,1.7,64.168125 -1732,46,30,2.6,111.05,1.7,64.1675 -1733,46,30,2.6,111.05,1.7,64.166875 -1734,46,30,2.6,111.05,1.7,64.16625 -1735,46,30,2.6,111.05,1.7,64.165625 -1736,46,30,2.6,111.05,1.7,64.165 -1737,46,30,2.6,111.05,1.7,64.164375 -1738,46,30,2.6,111.05,1.7,64.16375 -1739,46,30,2.6,111.05,1.7,64.163125 -1740,46,30,2.6,111.05,1.7,64.1625 -1741,46,30,2.6,111.05,1.7,64.161875 -1742,46,30,2.6,111.05,1.7,64.16125 -1743,46,30,2.6,111.05,1.7,64.160625 -1744,46,30,2.6,111.05,1.7,64.16 -1745,46,30,2.6,111.05,1.7,64.159375 -1746,46,30,2.6,111.05,1.7,64.15875 -1747,46,30,2.6,111.05,1.7,64.158125 -1748,46,30,2.6,111.05,1.7,64.1575 -1749,46,30,2.6,111.05,1.7,64.156875 -1750,46,30,2.6,111.05,1.7,64.15625 -1751,46,30,2.6,111.05,1.7,64.155625 -1752,46,30,2.6,111.05,1.7,64.155 -1753,46,30,2.6,111.05,1.7,64.154375 -1754,46,30,2.6,111.05,1.7,64.15375 -1755,46,30,2.6,111.05,1.7,64.153125 -1756,46,30,2.6,111.05,1.7,64.1525 -1757,46,30,2.6,111.05,1.7,64.151875 -1758,46,30,2.6,111.05,1.7,64.15125 -1759,46,30,2.6,111.05,1.7,64.150625 -1760,46,30,2.6,111.05,1.7,64.15 -1761,46,30,2.6,111.05,1.7,64.149375 -1762,46,30,2.6,111.05,1.7,64.14875 -1763,46,30,2.6,111.05,1.7,64.148125 -1764,46,30,2.6,111.05,1.7,64.1475 -1765,46,30,2.6,111.05,1.7,64.146875 -1766,46,30,2.6,111.05,1.7,64.14625 -1767,46,30,2.6,111.05,1.7,64.145625 -1768,46,30,2.6,111.05,1.7,64.145 -1769,46,30,2.6,111.05,1.7,64.144375 -1770,46,30,2.6,111.05,1.7,64.14375 -1771,46,30,2.6,111.05,1.7,64.143125 -1772,46,30,2.6,111.05,1.7,64.1425 -1773,46,30,2.6,111.05,1.7,64.141875 -1774,46,30,2.6,111.05,1.7,64.14125 -1775,46,30,2.6,111.05,1.7,64.140625 -1776,46,30,2.6,111.05,1.7,64.14 -1777,46,30,2.6,111.05,1.7,64.139375 -1778,46,30,2.6,111.05,1.7,64.13875 -1779,46,30,2.6,111.05,1.7,64.138125 -1780,46,30,2.6,111.05,1.7,64.1375 -1781,46,30,2.6,111.05,1.7,64.136875 -1782,46,30,2.6,111.05,1.7,64.13625 -1783,46,30,2.6,111.05,1.7,64.135625 -1784,46,30,2.6,111.05,1.7,64.135 -1785,46,30,2.6,111.05,1.7,64.134375 -1786,46,30,2.6,111.05,1.7,64.13375 -1787,46,30,2.6,111.05,1.7,64.133125 -1788,46,30,2.6,111.05,1.7,64.1325 -1789,46,30,2.6,111.05,1.7,64.131875 -1790,46,30,2.6,111.05,1.7,64.13125 -1791,46,30,2.6,111.05,1.7,64.130625 -1792,46,30,2.6,111.05,1.7,64.13 -1793,46,30,2.6,111.05,1.7,64.129375 -1794,46,30,2.6,111.05,1.7,64.12875 -1795,46,30,2.6,111.05,1.7,64.128125 -1796,46,30,2.6,111.05,1.7,64.1275 -1797,46,30,2.6,111.05,1.7,64.126875 -1798,46,30,2.6,111.05,1.7,64.12625 -1799,46,30,2.6,111.05,1.7,64.125625 -1800,46,30,2.6,111.05,1.7,64.125 -1801,46,30,2.6,111.05,1.7,64.124375 -1802,46,30,2.6,111.05,1.7,64.12375 -1803,46,30,2.6,111.05,1.7,64.123125 -1804,46,30,2.6,111.05,1.7,64.1225 -1805,46,30,2.6,111.05,1.7,64.121875 -1806,46,30,2.6,111.05,1.7,64.12125 -1807,46,30,2.6,111.05,1.7,64.120625 -1808,46,30,2.6,111.05,1.7,64.12 -1809,46,30,2.6,111.05,1.7,64.119375 -1810,46,30,2.6,111.05,1.7,64.11875 -1811,46,30,2.6,111.05,1.7,64.118125 -1812,46,30,2.6,111.05,1.7,64.1175 -1813,46,30,2.6,111.05,1.7,64.116875 -1814,46,30,2.6,111.05,1.7,64.11625 -1815,46,30,2.6,111.05,1.7,64.115625 -1816,46,30,2.6,111.05,1.7,64.115 -1817,46,30,2.6,111.05,1.7,64.114375 -1818,46,30,2.6,111.05,1.7,64.11375 -1819,46,30,2.6,111.05,1.7,64.113125 -1820,46,30,2.6,111.05,1.7,64.1125 -1821,46,30,2.6,111.05,1.7,64.111875 -1822,46,30,2.6,111.05,1.7,64.11125 -1823,46,30,2.6,111.05,1.7,64.110625 -1824,46,30,2.6,111.05,1.7,64.11 -1825,46,30,2.6,111.05,1.7,64.109375 -1826,46,30,2.6,111.05,1.7,64.10875 -1827,46,30,2.6,111.05,1.7,64.108125 -1828,46,30,2.6,111.05,1.7,64.1075 -1829,46,30,2.6,111.05,1.7,64.106875 -1830,46,30,2.6,111.05,1.7,64.10625 -1831,46,30,2.6,111.05,1.7,64.105625 -1832,46,30,2.6,111.05,1.7,64.105 -1833,46,30,2.6,111.05,1.7,64.104375 -1834,46,30,2.6,111.05,1.7,64.10375 -1835,46,30,2.6,111.05,1.7,64.103125 -1836,46,30,2.6,111.05,1.7,64.1025 -1837,46,30,2.6,111.05,1.7,64.101875 -1838,46,30,2.6,111.05,1.7,64.10125 -1839,46,30,2.6,111.05,1.7,64.100625 -1840,46,30,2.6,111.05,1.7,64.1 -1841,46,30,2.6,111.05,1.7,64.099375 -1842,46,30,2.6,111.05,1.7,64.09875 -1843,46,30,2.6,111.05,1.7,64.098125 -1844,46,30,2.6,111.05,1.7,64.0975 -1845,46,30,2.6,111.05,1.7,64.096875 -1846,46,30,2.6,111.05,1.7,64.09625 -1847,46,30,2.6,111.05,1.7,64.095625 -1848,46,30,2.6,111.05,1.7,64.095 -1849,46,30,2.6,111.05,1.7,64.094375 -1850,46,30,2.6,111.05,1.7,64.09375 -1851,46,30,2.6,111.05,1.7,64.093125 -1852,46,30,2.6,111.05,1.7,64.0925 -1853,46,30,2.6,111.05,1.7,64.091875 -1854,46,30,2.6,111.05,1.7,64.09125 -1855,46,30,2.6,111.05,1.7,64.090625 -1856,46,30,2.6,111.05,1.7,64.09 -1857,46,30,2.6,111.05,1.7,64.089375 -1858,46,30,2.6,111.05,1.7,64.08875 -1859,46,30,2.6,111.05,1.7,64.088125 -1860,46,30,2.6,111.05,1.7,64.0875 -1861,46,30,2.6,111.05,1.7,64.086875 -1862,46,30,2.6,111.05,1.7,64.08625 -1863,46,30,2.6,111.05,1.7,64.085625 -1864,46,30,2.6,111.05,1.7,64.085 -1865,46,30,2.6,111.05,1.7,64.084375 -1866,46,30,2.6,111.05,1.7,64.08375 -1867,46,30,2.6,111.05,1.7,64.083125 -1868,46,30,2.6,111.05,1.7,64.0825 -1869,46,30,2.6,111.05,1.7,64.081875 -1870,46,30,2.6,111.05,1.7,64.08125 -1871,46,30,2.6,111.05,1.7,64.080625 -1872,46,30,2.6,111.05,1.7,64.08 -1873,46,30,2.6,111.05,1.7,64.079375 -1874,46,30,2.6,111.05,1.7,64.07875 -1875,46,30,2.6,111.05,1.7,64.078125 -1876,46,30,2.6,111.05,1.7,64.0775 -1877,46,30,2.6,111.05,1.7,64.076875 -1878,46,30,2.6,111.05,1.7,64.07625 -1879,46,30,2.6,111.05,1.7,64.075625 -1880,46,30,2.6,111.05,1.7,64.075 -1881,46,30,2.6,111.05,1.7,64.074375 -1882,46,30,2.6,111.05,1.7,64.07375 -1883,46,30,2.6,111.05,1.7,64.073125 -1884,46,30,2.6,111.05,1.7,64.0725 -1885,46,30,2.6,111.05,1.7,64.071875 -1886,46,30,2.6,111.05,1.7,64.07125 -1887,46,30,2.6,111.05,1.7,64.070625 -1888,46,30,2.6,111.05,1.7,64.07 -1889,46,30,2.6,111.05,1.7,64.069375 -1890,46,30,2.6,111.05,1.7,64.06875 -1891,46,30,2.6,111.05,1.7,64.068125 -1892,46,30,2.6,111.05,1.7,64.0675 -1893,46,30,2.6,111.05,1.7,64.066875 -1894,46,30,2.6,111.05,1.7,64.06625 -1895,46,30,2.6,111.05,1.7,64.065625 -1896,46,30,2.6,111.05,1.7,64.065 -1897,46,30,2.6,111.05,1.7,64.064375 -1898,46,30,2.6,111.05,1.7,64.06375 -1899,46,30,2.6,111.05,1.7,64.063125 -1900,46,30,2.6,111.05,1.7,64.0625 -1901,46,30,2.6,111.05,1.7,64.061875 -1902,46,30,2.6,111.05,1.7,64.06125 -1903,46,30,2.6,111.05,1.7,64.060625 -1904,46,30,2.6,111.05,1.7,64.06 -1905,46,30,2.6,111.05,1.7,64.059375 -1906,46,30,2.6,111.05,1.7,64.05875 -1907,46,30,2.6,111.05,1.7,64.058125 -1908,46,30,2.6,111.05,1.7,64.0575 -1909,46,30,2.6,111.05,1.7,64.056875 -1910,46,30,2.6,111.05,1.7,64.05625 -1911,46,30,2.6,111.05,1.7,64.055625 -1912,46,30,2.6,111.05,1.7,64.055 -1913,46,30,2.6,111.05,1.7,64.054375 -1914,46,30,2.6,111.05,1.7,64.05375 -1915,46,30,2.6,111.05,1.7,64.053125 -1916,46,30,2.6,111.05,1.7,64.0525 -1917,46,30,2.6,111.05,1.7,64.051875 -1918,46,30,2.6,111.05,1.7,64.05125 -1919,46,30,2.6,111.05,1.7,64.050625 -1920,46,30,2.6,111.05,1.7,64.05 -1921,46,30,2.6,111.05,1.7,64.049375 -1922,46,30,2.6,111.05,1.7,64.04875 -1923,46,30,2.6,111.05,1.7,64.048125 -1924,46,30,2.6,111.05,1.7,64.0475 -1925,46,30,2.6,111.05,1.7,64.046875 -1926,46,30,2.6,111.05,1.7,64.04625 -1927,46,30,2.6,111.05,1.7,64.045625 -1928,46,30,2.6,111.05,1.7,64.045 -1929,46,30,2.6,111.05,1.7,64.044375 -1930,46,30,2.6,111.05,1.7,64.04375 -1931,46,30,2.6,111.05,1.7,64.043125 -1932,46,30,2.6,111.05,1.7,64.0425 -1933,46,30,2.6,111.05,1.7,64.041875 -1934,46,30,2.6,111.05,1.7,64.04125 -1935,46,30,2.6,111.05,1.7,64.040625 -1936,46,30,2.6,111.05,1.7,64.04 -1937,46,30,2.6,111.05,1.7,64.039375 -1938,46,30,2.6,111.05,1.7,64.03875 -1939,46,30,2.6,111.05,1.7,64.038125 -1940,46,30,2.6,111.05,1.7,64.0375 -1941,46,30,2.6,111.05,1.7,64.036875 -1942,46,30,2.6,111.05,1.7,64.03625 -1943,46,30,2.6,111.05,1.7,64.035625 -1944,46,30,2.6,111.05,1.7,64.035 -1945,46,30,2.6,111.05,1.7,64.034375 -1946,46,30,2.6,111.05,1.7,64.03375 -1947,46,30,2.6,111.05,1.7,64.033125 -1948,46,30,2.6,111.05,1.7,64.0325 -1949,46,30,2.6,111.05,1.7,64.031875 -1950,46,30,2.6,111.05,1.7,64.03125 -1951,46,30,2.6,111.05,1.7,64.030625 -1952,46,30,2.6,111.05,1.7,64.03 -1953,46,30,2.6,111.05,1.7,64.029375 -1954,46,30,2.6,111.05,1.7,64.02875 -1955,46,30,2.6,111.05,1.7,64.028125 -1956,46,30,2.6,111.05,1.7,64.0275 -1957,46,30,2.6,111.05,1.7,64.026875 -1958,46,30,2.6,111.05,1.7,64.02625 -1959,46,30,2.6,111.05,1.7,64.025625 -1960,46,30,2.6,111.05,1.7,64.025 -1961,46,30,2.6,111.05,1.7,64.024375 -1962,46,30,2.6,111.05,1.7,64.02375 -1963,46,30,2.6,111.05,1.7,64.023125 -1964,46,30,2.6,111.05,1.7,64.0225 -1965,46,30,2.6,111.05,1.7,64.021875 -1966,46,30,2.6,111.05,1.7,64.02125 -1967,46,30,2.6,111.05,1.7,64.020625 -1968,46,30,2.6,111.05,1.7,64.02 -1969,46,30,2.6,111.05,1.7,64.019375 -1970,46,30,2.6,111.05,1.7,64.01875 -1971,46,30,2.6,111.05,1.7,64.018125 -1972,46,30,2.6,111.05,1.7,64.0175 -1973,46,30,2.6,111.05,1.7,64.016875 -1974,46,30,2.6,111.05,1.7,64.01625 -1975,46,30,2.6,111.05,1.7,64.015625 -1976,46,30,2.6,111.05,1.7,64.015 -1977,46,30,2.6,111.05,1.7,64.014375 -1978,46,30,2.6,111.05,1.7,64.01375 -1979,46,30,2.6,111.05,1.7,64.013125 -1980,46,30,2.6,111.05,1.7,64.0125 -1981,46,30,2.6,111.05,1.7,64.011875 -1982,46,30,2.6,111.05,1.7,64.01125 -1983,46,30,2.6,111.05,1.7,64.010625 -1984,46,30,2.6,111.05,1.7,64.01 -1985,46,30,2.6,111.05,1.7,64.009375 -1986,46,30,2.6,111.05,1.7,64.00875 -1987,46,30,2.6,111.05,1.7,64.008125 -1988,46,30,2.6,111.05,1.7,64.0075 -1989,46,30,2.6,111.05,1.7,64.006875 -1990,46,30,2.6,111.05,1.7,64.00625 -1991,46,30,2.6,111.05,1.7,64.005625 -1992,46,30,2.6,111.05,1.7,64.005 -1993,46,30,2.6,111.05,1.7,64.004375 -1994,46,30,2.6,111.05,1.7,64.00375 -1995,46,30,2.6,111.05,1.7,64.003125 -1996,46,30,2.6,111.05,1.7,64.0025 -1997,46,30,2.6,111.05,1.7,64.001875 -1998,46,30,2.6,111.05,1.7,64.00125 -1999,46,30,2.6,111.05,1.7,64.000625 -2000,46,30,2.6,111.05,1.7,64 -2001,46,30,2.6,111.05,1.7,63.99975 -2002,46,30,2.6,111.05,1.7,63.9995 -2003,46,30,2.6,111.05,1.7,63.99925 -2004,46,30,2.6,111.05,1.7,63.999 -2005,46,30,2.6,111.05,1.7,63.99875 -2006,46,30,2.6,111.05,1.7,63.9985 -2007,46,30,2.6,111.05,1.7,63.99825 -2008,46,30,2.6,111.05,1.7,63.998 -2009,46,30,2.6,111.05,1.7,63.99775 -2010,46,30,2.6,111.05,1.7,63.9975 -2011,46,30,2.6,111.05,1.7,63.99725 -2012,46,30,2.6,111.05,1.7,63.997 -2013,46,30,2.6,111.05,1.7,63.99675 -2014,46,30,2.6,111.05,1.7,63.9965 -2015,46,30,2.6,111.05,1.7,63.99625 -2016,46,30,2.6,111.05,1.7,63.996 -2017,46,30,2.6,111.05,1.7,63.99575 -2018,46,30,2.6,111.05,1.7,63.9955 -2019,46,30,2.6,111.05,1.7,63.99525 -2020,46,30,2.6,111.05,1.7,63.995 -2021,46,30,2.6,111.05,1.7,63.99475 -2022,46,30,2.6,111.05,1.7,63.9945 -2023,46,30,2.6,111.05,1.7,63.99425 -2024,46,30,2.6,111.05,1.7,63.994 -2025,46,30,2.6,111.05,1.7,63.99375 -2026,46,30,2.6,111.05,1.7,63.9935 -2027,46,30,2.6,111.05,1.7,63.99325 -2028,46,30,2.6,111.05,1.7,63.993 -2029,46,30,2.6,111.05,1.7,63.99275 -2030,46,30,2.6,111.05,1.7,63.9925 -2031,46,30,2.6,111.05,1.7,63.99225 -2032,46,30,2.6,111.05,1.7,63.992 -2033,46,30,2.6,111.05,1.7,63.99175 -2034,46,30,2.6,111.05,1.7,63.9915 -2035,46,30,2.6,111.05,1.7,63.99125 -2036,46,30,2.6,111.05,1.7,63.991 -2037,46,30,2.6,111.05,1.7,63.99075 -2038,46,30,2.6,111.05,1.7,63.9905 -2039,46,30,2.6,111.05,1.7,63.99025 -2040,46,30,2.6,111.05,1.7,63.99 -2041,46,30,2.6,111.05,1.7,63.98975 -2042,46,30,2.6,111.05,1.7,63.9895 -2043,46,30,2.6,111.05,1.7,63.98925 -2044,46,30,2.6,111.05,1.7,63.989 -2045,46,30,2.6,111.05,1.7,63.98875 -2046,46,30,2.6,111.05,1.7,63.9885 -2047,46,30,2.6,111.05,1.7,63.98825 -2048,46,30,2.6,111.05,1.7,63.988 -2049,46,30,2.6,111.05,1.7,63.98775 -2050,46,30,2.6,111.05,1.7,63.9875 -2051,46,30,2.6,111.05,1.7,63.98725 -2052,46,30,2.6,111.05,1.7,63.987 -2053,46,30,2.6,111.05,1.7,63.98675 -2054,46,30,2.6,111.05,1.7,63.9865 -2055,46,30,2.6,111.05,1.7,63.98625 -2056,46,30,2.6,111.05,1.7,63.986 -2057,46,30,2.6,111.05,1.7,63.98575 -2058,46,30,2.6,111.05,1.7,63.9855 -2059,46,30,2.6,111.05,1.7,63.98525 -2060,46,30,2.6,111.05,1.7,63.985 -2061,46,30,2.6,111.05,1.7,63.98475 -2062,46,30,2.6,111.05,1.7,63.9845 -2063,46,30,2.6,111.05,1.7,63.98425 -2064,46,30,2.6,111.05,1.7,63.984 -2065,46,30,2.6,111.05,1.7,63.98375 -2066,46,30,2.6,111.05,1.7,63.9835 -2067,46,30,2.6,111.05,1.7,63.98325 -2068,46,30,2.6,111.05,1.7,63.983 -2069,46,30,2.6,111.05,1.7,63.98275 -2070,46,30,2.6,111.05,1.7,63.9825 -2071,46,30,2.6,111.05,1.7,63.98225 -2072,46,30,2.6,111.05,1.7,63.982 -2073,46,30,2.6,111.05,1.7,63.98175 -2074,46,30,2.6,111.05,1.7,63.9815 -2075,46,30,2.6,111.05,1.7,63.98125 -2076,46,30,2.6,111.05,1.7,63.981 -2077,46,30,2.6,111.05,1.7,63.98075 -2078,46,30,2.6,111.05,1.7,63.9805 -2079,46,30,2.6,111.05,1.7,63.98025 -2080,46,30,2.6,111.05,1.7,63.98 -2081,46,30,2.6,111.05,1.7,63.97975 -2082,46,30,2.6,111.05,1.7,63.9795 -2083,46,30,2.6,111.05,1.7,63.97925 -2084,46,30,2.6,111.05,1.7,63.979 -2085,46,30,2.6,111.05,1.7,63.97875 -2086,46,30,2.6,111.05,1.7,63.9785 -2087,46,30,2.6,111.05,1.7,63.97825 -2088,46,30,2.6,111.05,1.7,63.978 -2089,46,30,2.6,111.05,1.7,63.97775 -2090,46,30,2.6,111.05,1.7,63.9775 -2091,46,30,2.6,111.05,1.7,63.97725 -2092,46,30,2.6,111.05,1.7,63.977 -2093,46,30,2.6,111.05,1.7,63.97675 -2094,46,30,2.6,111.05,1.7,63.9765 -2095,46,30,2.6,111.05,1.7,63.97625 -2096,46,30,2.6,111.05,1.7,63.976 -2097,46,30,2.6,111.05,1.7,63.97575 -2098,46,30,2.6,111.05,1.7,63.9755 -2099,46,30,2.6,111.05,1.7,63.97525 -2100,46,30,2.6,111.05,1.7,63.975 -2101,46,30,2.6,111.05,1.7,63.97475 -2102,46,30,2.6,111.05,1.7,63.9745 -2103,46,30,2.6,111.05,1.7,63.97425 -2104,46,30,2.6,111.05,1.7,63.974 -2105,46,30,2.6,111.05,1.7,63.97375 -2106,46,30,2.6,111.05,1.7,63.9735 -2107,46,30,2.6,111.05,1.7,63.97325 -2108,46,30,2.6,111.05,1.7,63.973 -2109,46,30,2.6,111.05,1.7,63.97275 -2110,46,30,2.6,111.05,1.7,63.9725 -2111,46,30,2.6,111.05,1.7,63.97225 -2112,46,30,2.6,111.05,1.7,63.972 -2113,46,30,2.6,111.05,1.7,63.97175 -2114,46,30,2.6,111.05,1.7,63.9715 -2115,46,30,2.6,111.05,1.7,63.97125 -2116,46,30,2.6,111.05,1.7,63.971 -2117,46,30,2.6,111.05,1.7,63.97075 -2118,46,30,2.6,111.05,1.7,63.9705 -2119,46,30,2.6,111.05,1.7,63.97025 -2120,46,30,2.6,111.05,1.7,63.97 -2121,46,30,2.6,111.05,1.7,63.96975 -2122,46,30,2.6,111.05,1.7,63.9695 -2123,46,30,2.6,111.05,1.7,63.96925 -2124,46,30,2.6,111.05,1.7,63.969 -2125,46,30,2.6,111.05,1.7,63.96875 -2126,46,30,2.6,111.05,1.7,63.9685 -2127,46,30,2.6,111.05,1.7,63.96825 -2128,46,30,2.6,111.05,1.7,63.968 -2129,46,30,2.6,111.05,1.7,63.96775 -2130,46,30,2.6,111.05,1.7,63.9675 -2131,46,30,2.6,111.05,1.7,63.96725 -2132,46,30,2.6,111.05,1.7,63.967 -2133,46,30,2.6,111.05,1.7,63.96675 -2134,46,30,2.6,111.05,1.7,63.9665 -2135,46,30,2.6,111.05,1.7,63.96625 -2136,46,30,2.6,111.05,1.7,63.966 -2137,46,30,2.6,111.05,1.7,63.96575 -2138,46,30,2.6,111.05,1.7,63.9655 -2139,46,30,2.6,111.05,1.7,63.96525 -2140,46,30,2.6,111.05,1.7,63.965 -2141,46,30,2.6,111.05,1.7,63.96475 -2142,46,30,2.6,111.05,1.7,63.9645 -2143,46,30,2.6,111.05,1.7,63.96425 -2144,46,30,2.6,111.05,1.7,63.964 -2145,46,30,2.6,111.05,1.7,63.96375 -2146,46,30,2.6,111.05,1.7,63.9635 -2147,46,30,2.6,111.05,1.7,63.96325 -2148,46,30,2.6,111.05,1.7,63.963 -2149,46,30,2.6,111.05,1.7,63.96275 -2150,46,30,2.6,111.05,1.7,63.9625 -2151,46,30,2.6,111.05,1.7,63.96225 -2152,46,30,2.6,111.05,1.7,63.962 -2153,46,30,2.6,111.05,1.7,63.96175 -2154,46,30,2.6,111.05,1.7,63.9615 -2155,46,30,2.6,111.05,1.7,63.96125 -2156,46,30,2.6,111.05,1.7,63.961 -2157,46,30,2.6,111.05,1.7,63.96075 -2158,46,30,2.6,111.05,1.7,63.9605 -2159,46,30,2.6,111.05,1.7,63.96025 -2160,46,30,2.6,111.05,1.7,63.96 -2161,46,30,2.6,111.05,1.7,63.95975 -2162,46,30,2.6,111.05,1.7,63.9595 -2163,46,30,2.6,111.05,1.7,63.95925 -2164,46,30,2.6,111.05,1.7,63.959 -2165,46,30,2.6,111.05,1.7,63.95875 -2166,46,30,2.6,111.05,1.7,63.9585 -2167,46,30,2.6,111.05,1.7,63.95825 -2168,46,30,2.6,111.05,1.7,63.958 -2169,46,30,2.6,111.05,1.7,63.95775 -2170,46,30,2.6,111.05,1.7,63.9575 -2171,46,30,2.6,111.05,1.7,63.95725 -2172,46,30,2.6,111.05,1.7,63.957 -2173,46,30,2.6,111.05,1.7,63.95675 -2174,46,30,2.6,111.05,1.7,63.9565 -2175,46,30,2.6,111.05,1.7,63.95625 -2176,46,30,2.6,111.05,1.7,63.956 -2177,46,30,2.6,111.05,1.7,63.95575 -2178,46,30,2.6,111.05,1.7,63.9555 -2179,46,30,2.6,111.05,1.7,63.95525 -2180,46,30,2.6,111.05,1.7,63.955 -2181,46,30,2.6,111.05,1.7,63.95475 -2182,46,30,2.6,111.05,1.7,63.9545 -2183,46,30,2.6,111.05,1.7,63.95425 -2184,46,30,2.6,111.05,1.7,63.954 -2185,46,30,2.6,111.05,1.7,63.95375 -2186,46,30,2.6,111.05,1.7,63.9535 -2187,46,30,2.6,111.05,1.7,63.95325 -2188,46,30,2.6,111.05,1.7,63.953 -2189,46,30,2.6,111.05,1.7,63.95275 -2190,46,30,2.6,111.05,1.7,63.9525 -2191,46,30,2.6,111.05,1.7,63.95225 -2192,46,30,2.6,111.05,1.7,63.952 -2193,46,30,2.6,111.05,1.7,63.95175 -2194,46,30,2.6,111.05,1.7,63.9515 -2195,46,30,2.6,111.05,1.7,63.95125 -2196,46,30,2.6,111.05,1.7,63.951 -2197,46,30,2.6,111.05,1.7,63.95075 -2198,46,30,2.6,111.05,1.7,63.9505 -2199,46,30,2.6,111.05,1.7,63.95025 -2200,46,30,2.6,111.05,1.7,63.95 -2201,46,30,2.6,111.05,1.7,63.94975 -2202,46,30,2.6,111.05,1.7,63.9495 -2203,46,30,2.6,111.05,1.7,63.94925 -2204,46,30,2.6,111.05,1.7,63.949 -2205,46,30,2.6,111.05,1.7,63.94875 -2206,46,30,2.6,111.05,1.7,63.9485 -2207,46,30,2.6,111.05,1.7,63.94825 -2208,46,30,2.6,111.05,1.7,63.948 -2209,46,30,2.6,111.05,1.7,63.94775 -2210,46,30,2.6,111.05,1.7,63.9475 -2211,46,30,2.6,111.05,1.7,63.94725 -2212,46,30,2.6,111.05,1.7,63.947 -2213,46,30,2.6,111.05,1.7,63.94675 -2214,46,30,2.6,111.05,1.7,63.9465 -2215,46,30,2.6,111.05,1.7,63.94625 -2216,46,30,2.6,111.05,1.7,63.946 -2217,46,30,2.6,111.05,1.7,63.94575 -2218,46,30,2.6,111.05,1.7,63.9455 -2219,46,30,2.6,111.05,1.7,63.94525 -2220,46,30,2.6,111.05,1.7,63.945 -2221,46,30,2.6,111.05,1.7,63.94475 -2222,46,30,2.6,111.05,1.7,63.9445 -2223,46,30,2.6,111.05,1.7,63.94425 -2224,46,30,2.6,111.05,1.7,63.944 -2225,46,30,2.6,111.05,1.7,63.94375 -2226,46,30,2.6,111.05,1.7,63.9435 -2227,46,30,2.6,111.05,1.7,63.94325 -2228,46,30,2.6,111.05,1.7,63.943 -2229,46,30,2.6,111.05,1.7,63.94275 -2230,46,30,2.6,111.05,1.7,63.9425 -2231,46,30,2.6,111.05,1.7,63.94225 -2232,46,30,2.6,111.05,1.7,63.942 -2233,46,30,2.6,111.05,1.7,63.94175 -2234,46,30,2.6,111.05,1.7,63.9415 -2235,46,30,2.6,111.05,1.7,63.94125 -2236,46,30,2.6,111.05,1.7,63.941 -2237,46,30,2.6,111.05,1.7,63.94075 -2238,46,30,2.6,111.05,1.7,63.9405 -2239,46,30,2.6,111.05,1.7,63.94025 -2240,46,30,2.6,111.05,1.7,63.94 -2241,46,30,2.6,111.05,1.7,63.93975 -2242,46,30,2.6,111.05,1.7,63.9395 -2243,46,30,2.6,111.05,1.7,63.93925 -2244,46,30,2.6,111.05,1.7,63.939 -2245,46,30,2.6,111.05,1.7,63.93875 -2246,46,30,2.6,111.05,1.7,63.9385 -2247,46,30,2.6,111.05,1.7,63.93825 -2248,46,30,2.6,111.05,1.7,63.938 -2249,46,30,2.6,111.05,1.7,63.93775 -2250,46,30,2.6,111.05,1.7,63.9375 -2251,46,30,2.6,111.05,1.7,63.93725 -2252,46,30,2.6,111.05,1.7,63.937 -2253,46,30,2.6,111.05,1.7,63.93675 -2254,46,30,2.6,111.05,1.7,63.9365 -2255,46,30,2.6,111.05,1.7,63.93625 -2256,46,30,2.6,111.05,1.7,63.936 -2257,46,30,2.6,111.05,1.7,63.93575 -2258,46,30,2.6,111.05,1.7,63.9355 -2259,46,30,2.6,111.05,1.7,63.93525 -2260,46,30,2.6,111.05,1.7,63.935 -2261,46,30,2.6,111.05,1.7,63.93475 -2262,46,30,2.6,111.05,1.7,63.9345 -2263,46,30,2.6,111.05,1.7,63.93425 -2264,46,30,2.6,111.05,1.7,63.934 -2265,46,30,2.6,111.05,1.7,63.93375 -2266,46,30,2.6,111.05,1.7,63.9335 -2267,46,30,2.6,111.05,1.7,63.93325 -2268,46,30,2.6,111.05,1.7,63.933 -2269,46,30,2.6,111.05,1.7,63.93275 -2270,46,30,2.6,111.05,1.7,63.9325 -2271,46,30,2.6,111.05,1.7,63.93225 -2272,46,30,2.6,111.05,1.7,63.932 -2273,46,30,2.6,111.05,1.7,63.93175 -2274,46,30,2.6,111.05,1.7,63.9315 -2275,46,30,2.6,111.05,1.7,63.93125 -2276,46,30,2.6,111.05,1.7,63.931 -2277,46,30,2.6,111.05,1.7,63.93075 -2278,46,30,2.6,111.05,1.7,63.9305 -2279,46,30,2.6,111.05,1.7,63.93025 -2280,46,30,2.6,111.05,1.7,63.93 -2281,46,30,2.6,111.05,1.7,63.92975 -2282,46,30,2.6,111.05,1.7,63.9295 -2283,46,30,2.6,111.05,1.7,63.92925 -2284,46,30,2.6,111.05,1.7,63.929 -2285,46,30,2.6,111.05,1.7,63.92875 -2286,46,30,2.6,111.05,1.7,63.9285 -2287,46,30,2.6,111.05,1.7,63.92825 -2288,46,30,2.6,111.05,1.7,63.928 -2289,46,30,2.6,111.05,1.7,63.92775 -2290,46,30,2.6,111.05,1.7,63.9275 -2291,46,30,2.6,111.05,1.7,63.92725 -2292,46,30,2.6,111.05,1.7,63.927 -2293,46,30,2.6,111.05,1.7,63.92675 -2294,46,30,2.6,111.05,1.7,63.9265 -2295,46,30,2.6,111.05,1.7,63.92625 -2296,46,30,2.6,111.05,1.7,63.926 -2297,46,30,2.6,111.05,1.7,63.92575 -2298,46,30,2.6,111.05,1.7,63.9255 -2299,46,30,2.6,111.05,1.7,63.92525 -2300,46,30,2.6,111.05,1.7,63.925 -2301,46,30,2.6,111.05,1.7,63.92475 -2302,46,30,2.6,111.05,1.7,63.9245 -2303,46,30,2.6,111.05,1.7,63.92425 -2304,46,30,2.6,111.05,1.7,63.924 -2305,46,30,2.6,111.05,1.7,63.92375 -2306,46,30,2.6,111.05,1.7,63.9235 -2307,46,30,2.6,111.05,1.7,63.92325 -2308,46,30,2.6,111.05,1.7,63.923 -2309,46,30,2.6,111.05,1.7,63.92275 -2310,46,30,2.6,111.05,1.7,63.9225 -2311,46,30,2.6,111.05,1.7,63.92225 -2312,46,30,2.6,111.05,1.7,63.922 -2313,46,30,2.6,111.05,1.7,63.92175 -2314,46,30,2.6,111.05,1.7,63.9215 -2315,46,30,2.6,111.05,1.7,63.92125 -2316,46,30,2.6,111.05,1.7,63.921 -2317,46,30,2.6,111.05,1.7,63.92075 -2318,46,30,2.6,111.05,1.7,63.9205 -2319,46,30,2.6,111.05,1.7,63.92025 -2320,46,30,2.6,111.05,1.7,63.92 -2321,46,30,2.6,111.05,1.7,63.91975 -2322,46,30,2.6,111.05,1.7,63.9195 -2323,46,30,2.6,111.05,1.7,63.91925 -2324,46,30,2.6,111.05,1.7,63.919 -2325,46,30,2.6,111.05,1.7,63.91875 -2326,46,30,2.6,111.05,1.7,63.9185 -2327,46,30,2.6,111.05,1.7,63.91825 -2328,46,30,2.6,111.05,1.7,63.918 -2329,46,30,2.6,111.05,1.7,63.91775 -2330,46,30,2.6,111.05,1.7,63.9175 -2331,46,30,2.6,111.05,1.7,63.91725 -2332,46,30,2.6,111.05,1.7,63.917 -2333,46,30,2.6,111.05,1.7,63.91675 -2334,46,30,2.6,111.05,1.7,63.9165 -2335,46,30,2.6,111.05,1.7,63.91625 -2336,46,30,2.6,111.05,1.7,63.916 -2337,46,30,2.6,111.05,1.7,63.91575 -2338,46,30,2.6,111.05,1.7,63.9155 -2339,46,30,2.6,111.05,1.7,63.91525 -2340,46,30,2.6,111.05,1.7,63.915 -2341,46,30,2.6,111.05,1.7,63.91475 -2342,46,30,2.6,111.05,1.7,63.9145 -2343,46,30,2.6,111.05,1.7,63.91425 -2344,46,30,2.6,111.05,1.7,63.914 -2345,46,30,2.6,111.05,1.7,63.91375 -2346,46,30,2.6,111.05,1.7,63.9135 -2347,46,30,2.6,111.05,1.7,63.91325 -2348,46,30,2.6,111.05,1.7,63.913 -2349,46,30,2.6,111.05,1.7,63.91275 -2350,46,30,2.6,111.05,1.7,63.9125 -2351,46,30,2.6,111.05,1.7,63.91225 -2352,46,30,2.6,111.05,1.7,63.912 -2353,46,30,2.6,111.05,1.7,63.91175 -2354,46,30,2.6,111.05,1.7,63.9115 -2355,46,30,2.6,111.05,1.7,63.91125 -2356,46,30,2.6,111.05,1.7,63.911 -2357,46,30,2.6,111.05,1.7,63.91075 -2358,46,30,2.6,111.05,1.7,63.9105 -2359,46,30,2.6,111.05,1.7,63.91025 -2360,46,30,2.6,111.05,1.7,63.91 -2361,46,30,2.6,111.05,1.7,63.90975 -2362,46,30,2.6,111.05,1.7,63.9095 -2363,46,30,2.6,111.05,1.7,63.90925 -2364,46,30,2.6,111.05,1.7,63.909 -2365,46,30,2.6,111.05,1.7,63.90875 -2366,46,30,2.6,111.05,1.7,63.9085 -2367,46,30,2.6,111.05,1.7,63.90825 -2368,46,30,2.6,111.05,1.7,63.908 -2369,46,30,2.6,111.05,1.7,63.90775 -2370,46,30,2.6,111.05,1.7,63.9075 -2371,46,30,2.6,111.05,1.7,63.90725 -2372,46,30,2.6,111.05,1.7,63.907 -2373,46,30,2.6,111.05,1.7,63.90675 -2374,46,30,2.6,111.05,1.7,63.9065 -2375,46,30,2.6,111.05,1.7,63.90625 -2376,46,30,2.6,111.05,1.7,63.906 -2377,46,30,2.6,111.05,1.7,63.90575 -2378,46,30,2.6,111.05,1.7,63.9055 -2379,46,30,2.6,111.05,1.7,63.90525 -2380,46,30,2.6,111.05,1.7,63.905 -2381,46,30,2.6,111.05,1.7,63.90475 -2382,46,30,2.6,111.05,1.7,63.9045 -2383,46,30,2.6,111.05,1.7,63.90425 -2384,46,30,2.6,111.05,1.7,63.904 -2385,46,30,2.6,111.05,1.7,63.90375 -2386,46,30,2.6,111.05,1.7,63.9035 -2387,46,30,2.6,111.05,1.7,63.90325 -2388,46,30,2.6,111.05,1.7,63.903 -2389,46,30,2.6,111.05,1.7,63.90275 -2390,46,30,2.6,111.05,1.7,63.9025 -2391,46,30,2.6,111.05,1.7,63.90225 -2392,46,30,2.6,111.05,1.7,63.902 -2393,46,30,2.6,111.05,1.7,63.90175 -2394,46,30,2.6,111.05,1.7,63.9015 -2395,46,30,2.6,111.05,1.7,63.90125 -2396,46,30,2.6,111.05,1.7,63.901 -2397,46,30,2.6,111.05,1.7,63.90075 -2398,46,30,2.6,111.05,1.7,63.9005 -2399,46,30,2.6,111.05,1.7,63.90025 -2400,46,30,2.6,111.05,1.7,63.9 -2401,46,30,2.6,111.05,1.7,63.89975 -2402,46,30,2.6,111.05,1.7,63.8995 -2403,46,30,2.6,111.05,1.7,63.89925 -2404,46,30,2.6,111.05,1.7,63.899 -2405,46,30,2.6,111.05,1.7,63.89875 -2406,46,30,2.6,111.05,1.7,63.8985 -2407,46,30,2.6,111.05,1.7,63.89825 -2408,46,30,2.6,111.05,1.7,63.898 -2409,46,30,2.6,111.05,1.7,63.89775 -2410,46,30,2.6,111.05,1.7,63.8975 -2411,46,30,2.6,111.05,1.7,63.89725 -2412,46,30,2.6,111.05,1.7,63.897 -2413,46,30,2.6,111.05,1.7,63.89675 -2414,46,30,2.6,111.05,1.7,63.8965 -2415,46,30,2.6,111.05,1.7,63.89625 -2416,46,30,2.6,111.05,1.7,63.896 -2417,46,30,2.6,111.05,1.7,63.89575 -2418,46,30,2.6,111.05,1.7,63.8955 -2419,46,30,2.6,111.05,1.7,63.89525 -2420,46,30,2.6,111.05,1.7,63.895 -2421,46,30,2.6,111.05,1.7,63.89475 -2422,46,30,2.6,111.05,1.7,63.8945 -2423,46,30,2.6,111.05,1.7,63.89425 -2424,46,30,2.6,111.05,1.7,63.894 -2425,46,30,2.6,111.05,1.7,63.89375 -2426,46,30,2.6,111.05,1.7,63.8935 -2427,46,30,2.6,111.05,1.7,63.89325 -2428,46,30,2.6,111.05,1.7,63.893 -2429,46,30,2.6,111.05,1.7,63.89275 -2430,46,30,2.6,111.05,1.7,63.8925 -2431,46,30,2.6,111.05,1.7,63.89225 -2432,46,30,2.6,111.05,1.7,63.892 -2433,46,30,2.6,111.05,1.7,63.89175 -2434,46,30,2.6,111.05,1.7,63.8915 -2435,46,30,2.6,111.05,1.7,63.89125 -2436,46,30,2.6,111.05,1.7,63.891 -2437,46,30,2.6,111.05,1.7,63.89075 -2438,46,30,2.6,111.05,1.7,63.8905 -2439,46,30,2.6,111.05,1.7,63.89025 -2440,46,30,2.6,111.05,1.7,63.89 -2441,46,30,2.6,111.05,1.7,63.88975 -2442,46,30,2.6,111.05,1.7,63.8895 -2443,46,30,2.6,111.05,1.7,63.88925 -2444,46,30,2.6,111.05,1.7,63.889 -2445,46,30,2.6,111.05,1.7,63.88875 -2446,46,30,2.6,111.05,1.7,63.8885 -2447,46,30,2.6,111.05,1.7,63.88825 -2448,46,30,2.6,111.05,1.7,63.888 -2449,46,30,2.6,111.05,1.7,63.88775 -2450,46,30,2.6,111.05,1.7,63.8875 -2451,46,30,2.6,111.05,1.7,63.88725 -2452,46,30,2.6,111.05,1.7,63.887 -2453,46,30,2.6,111.05,1.7,63.88675 -2454,46,30,2.6,111.05,1.7,63.8865 -2455,46,30,2.6,111.05,1.7,63.88625 -2456,46,30,2.6,111.05,1.7,63.886 -2457,46,30,2.6,111.05,1.7,63.88575 -2458,46,30,2.6,111.05,1.7,63.8855 -2459,46,30,2.6,111.05,1.7,63.88525 -2460,46,30,2.6,111.05,1.7,63.885 -2461,46,30,2.6,111.05,1.7,63.88475 -2462,46,30,2.6,111.05,1.7,63.8845 -2463,46,30,2.6,111.05,1.7,63.88425 -2464,46,30,2.6,111.05,1.7,63.884 -2465,46,30,2.6,111.05,1.7,63.88375 -2466,46,30,2.6,111.05,1.7,63.8835 -2467,46,30,2.6,111.05,1.7,63.88325 -2468,46,30,2.6,111.05,1.7,63.883 -2469,46,30,2.6,111.05,1.7,63.88275 -2470,46,30,2.6,111.05,1.7,63.8825 -2471,46,30,2.6,111.05,1.7,63.88225 -2472,46,30,2.6,111.05,1.7,63.882 -2473,46,30,2.6,111.05,1.7,63.88175 -2474,46,30,2.6,111.05,1.7,63.8815 -2475,46,30,2.6,111.05,1.7,63.88125 -2476,46,30,2.6,111.05,1.7,63.881 -2477,46,30,2.6,111.05,1.7,63.88075 -2478,46,30,2.6,111.05,1.7,63.8805 -2479,46,30,2.6,111.05,1.7,63.88025 -2480,46,30,2.6,111.05,1.7,63.88 -2481,46,30,2.6,111.05,1.7,63.87975 -2482,46,30,2.6,111.05,1.7,63.8795 -2483,46,30,2.6,111.05,1.7,63.87925 -2484,46,30,2.6,111.05,1.7,63.879 -2485,46,30,2.6,111.05,1.7,63.87875 -2486,46,30,2.6,111.05,1.7,63.8785 -2487,46,30,2.6,111.05,1.7,63.87825 -2488,46,30,2.6,111.05,1.7,63.878 -2489,46,30,2.6,111.05,1.7,63.87775 -2490,46,30,2.5,111.05,1.7,63.8775 -2491,46,30,2.5,111.05,1.7,63.87725 -2492,46,30,2.5,111.05,1.7,63.877 -2493,46,30,2.5,111.05,1.7,63.87675 -2494,46,30,2.5,111.05,1.7,63.8765 -2495,46,30,2.5,111.05,1.7,63.87625 -2496,46,30,2.5,111.05,1.7,63.876 -2497,46,30,2.5,111.05,1.7,63.87575 -2498,46,30,2.5,111.05,1.7,63.8755 -2499,46,30,2.5,111.05,1.7,63.87525 -2500,46,30,2.5,111.05,1.7,63.875 -2501,46,30,2.5,111.05,1.7,63.87475 -2502,46,30,2.5,111.05,1.7,63.8745 -2503,46,30,2.5,111.05,1.7,63.87425 -2504,46,30,2.5,111.05,1.7,63.874 -2505,46,30,2.5,111.05,1.7,63.87375 -2506,46,30,2.5,111.05,1.7,63.8735 -2507,46,30,2.5,111.05,1.7,63.87325 -2508,46,30,2.5,111.05,1.7,63.873 -2509,46,30,2.5,111.05,1.7,63.87275 -2510,46,30,2.5,111.05,1.7,63.8725 -2511,46,30,2.5,111.05,1.7,63.87225 -2512,46,30,2.5,111.05,1.7,63.872 -2513,46,30,2.5,111.05,1.7,63.87175 -2514,46,30,2.5,111.05,1.7,63.8715 -2515,46,30,2.5,111.05,1.7,63.87125 -2516,46,30,2.5,111.05,1.7,63.871 -2517,46,30,2.5,111.05,1.7,63.87075 -2518,46,30,2.5,111.05,1.7,63.8705 -2519,46,30,2.5,111.05,1.7,63.87025 -2520,46,30,2.5,111.05,1.7,63.87 -2521,46,30,2.5,111.05,1.7,63.86975 -2522,46,30,2.5,111.05,1.7,63.8695 -2523,46,30,2.5,111.05,1.7,63.86925 -2524,46,30,2.5,111.05,1.7,63.869 -2525,46,30,2.5,111.05,1.7,63.86875 -2526,46,30,2.5,111.05,1.7,63.8685 -2527,46,30,2.5,111.05,1.7,63.86825 -2528,46,30,2.5,111.05,1.7,63.868 -2529,46,30,2.5,111.05,1.7,63.86775 -2530,46,30,2.5,111.05,1.7,63.8675 -2531,46,30,2.5,111.05,1.7,63.86725 -2532,46,30,2.5,111.05,1.7,63.867 -2533,46,30,2.5,111.05,1.7,63.86675 -2534,46,30,2.5,111.05,1.7,63.8665 -2535,46,30,2.5,111.05,1.7,63.86625 -2536,46,30,2.5,111.05,1.7,63.866 -2537,46,30,2.5,111.05,1.7,63.86575 -2538,46,30,2.5,111.05,1.7,63.8655 -2539,46,30,2.5,111.05,1.7,63.86525 -2540,46,30,2.5,111.05,1.7,63.865 -2541,46,30,2.5,111.05,1.7,63.86475 -2542,46,30,2.5,111.05,1.7,63.8645 -2543,46,30,2.5,111.05,1.7,63.86425 -2544,46,30,2.5,111.05,1.7,63.864 -2545,46,30,2.5,111.05,1.7,63.86375 -2546,46,30,2.5,111.05,1.7,63.8635 -2547,46,30,2.5,111.05,1.7,63.86325 -2548,46,30,2.5,111.05,1.7,63.863 -2549,46,30,2.5,111.05,1.7,63.86275 -2550,46,30,2.5,111.05,1.7,63.8625 -2551,46,30,2.5,111.05,1.7,63.86225 -2552,46,30,2.5,111.05,1.7,63.862 -2553,46,30,2.5,111.05,1.7,63.86175 -2554,46,30,2.5,111.05,1.7,63.8615 -2555,46,30,2.5,111.05,1.7,63.86125 -2556,46,30,2.5,111.05,1.7,63.861 -2557,46,30,2.5,111.05,1.7,63.86075 -2558,46,30,2.5,111.05,1.7,63.8605 -2559,46,30,2.5,111.05,1.7,63.86025 -2560,46,30,2.5,111.05,1.7,63.86 -2561,46,30,2.5,111.05,1.7,63.85975 -2562,46,30,2.5,111.05,1.7,63.8595 -2563,46,30,2.5,111.05,1.7,63.85925 -2564,46,30,2.5,111.05,1.7,63.859 -2565,46,30,2.5,111.05,1.7,63.85875 -2566,46,30,2.5,111.05,1.7,63.8585 -2567,46,30,2.5,111.05,1.7,63.85825 -2568,46,30,2.5,111.05,1.7,63.858 -2569,46,30,2.5,111.05,1.7,63.85775 -2570,46,30,2.5,111.05,1.7,63.8575 -2571,46,30,2.5,111.05,1.7,63.85725 -2572,46,30,2.5,111.05,1.7,63.857 -2573,46,30,2.5,111.05,1.7,63.85675 -2574,46,30,2.5,111.05,1.7,63.8565 -2575,46,30,2.5,111.05,1.7,63.85625 -2576,46,30,2.5,111.05,1.7,63.856 -2577,46,30,2.5,111.05,1.7,63.85575 -2578,46,30,2.5,111.05,1.7,63.8555 -2579,46,30,2.5,111.05,1.7,63.85525 -2580,46,30,2.5,111.05,1.7,63.855 -2581,46,30,2.5,111.05,1.7,63.85475 -2582,46,30,2.5,111.05,1.7,63.8545 -2583,46,30,2.5,111.05,1.7,63.85425 -2584,46,30,2.5,111.05,1.7,63.854 -2585,46,30,2.5,111.05,1.7,63.85375 -2586,46,30,2.5,111.05,1.7,63.8535 -2587,46,30,2.5,111.05,1.7,63.85325 -2588,46,30,2.5,111.05,1.7,63.853 -2589,46,30,2.5,111.05,1.7,63.85275 -2590,46,30,2.5,111.05,1.7,63.8525 -2591,46,30,2.5,111.05,1.7,63.85225 -2592,46,30,2.5,111.05,1.7,63.852 -2593,46,30,2.5,111.05,1.7,63.85175 -2594,46,30,2.5,111.05,1.7,63.8515 -2595,46,30,2.5,111.05,1.7,63.85125 -2596,46,30,2.5,111.05,1.7,63.851 -2597,46,30,2.5,111.05,1.7,63.85075 -2598,46,30,2.5,111.05,1.7,63.8505 -2599,46,30,2.5,111.05,1.7,63.85025 -2600,46,30,2.5,111.05,1.7,63.85 -2601,46,30,2.5,111.05,1.7,63.84975 -2602,46,30,2.5,111.05,1.7,63.8495 -2603,46,30,2.5,111.05,1.7,63.84925 -2604,46,30,2.5,111.05,1.7,63.849 -2605,46,30,2.5,111.05,1.7,63.84875 -2606,46,30,2.5,111.05,1.7,63.8485 -2607,46,30,2.5,111.05,1.7,63.84825 -2608,46,30,2.5,111.05,1.7,63.848 -2609,46,30,2.5,111.05,1.7,63.84775 -2610,46,30,2.5,111.05,1.7,63.8475 -2611,46,30,2.5,111.05,1.7,63.84725 -2612,46,30,2.5,111.05,1.7,63.847 -2613,46,30,2.5,111.05,1.7,63.84675 -2614,46,30,2.5,111.05,1.7,63.8465 -2615,46,30,2.5,111.05,1.7,63.84625 -2616,46,30,2.5,111.05,1.7,63.846 -2617,46,30,2.5,111.05,1.7,63.84575 -2618,46,30,2.5,111.05,1.7,63.8455 -2619,46,30,2.5,111.05,1.7,63.84525 -2620,46,30,2.5,111.05,1.7,63.845 -2621,46,30,2.5,111.05,1.7,63.84475 -2622,46,30,2.5,111.05,1.7,63.8445 -2623,46,30,2.5,111.05,1.7,63.84425 -2624,46,30,2.5,111.05,1.7,63.844 -2625,46,30,2.5,111.05,1.7,63.84375 -2626,46,30,2.5,111.05,1.7,63.8435 -2627,46,30,2.5,111.05,1.7,63.84325 -2628,46,30,2.5,111.05,1.7,63.843 -2629,46,30,2.5,111.05,1.7,63.84275 -2630,46,30,2.5,111.05,1.7,63.8425 -2631,46,30,2.5,111.05,1.7,63.84225 -2632,46,30,2.5,111.05,1.7,63.842 -2633,46,30,2.5,111.05,1.7,63.84175 -2634,46,30,2.5,111.05,1.7,63.8415 -2635,46,30,2.5,111.05,1.7,63.84125 -2636,46,30,2.5,111.05,1.7,63.841 -2637,46,30,2.5,111.05,1.7,63.84075 -2638,46,30,2.5,111.05,1.7,63.8405 -2639,46,30,2.5,111.05,1.7,63.84025 -2640,46,30,2.5,111.05,1.7,63.84 -2641,46,30,2.5,111.05,1.7,63.83975 -2642,46,30,2.5,111.05,1.7,63.8395 -2643,46,30,2.5,111.05,1.7,63.83925 -2644,46,30,2.5,111.05,1.7,63.839 -2645,46,30,2.5,111.05,1.7,63.83875 -2646,46,30,2.5,111.05,1.7,63.8385 -2647,46,30,2.5,111.05,1.7,63.83825 -2648,46,30,2.5,111.05,1.7,63.838 -2649,46,30,2.5,111.05,1.7,63.83775 -2650,46,30,2.5,111.05,1.7,63.8375 -2651,46,30,2.5,111.05,1.7,63.83725 -2652,46,30,2.5,111.05,1.7,63.837 -2653,46,30,2.5,111.05,1.7,63.83675 -2654,46,30,2.5,111.05,1.7,63.8365 -2655,46,30,2.5,111.05,1.7,63.83625 -2656,46,30,2.5,111.05,1.7,63.836 -2657,46,30,2.5,111.05,1.7,63.83575 -2658,46,30,2.5,111.05,1.7,63.8355 -2659,46,30,2.5,111.05,1.7,63.83525 -2660,46,30,2.5,111.05,1.7,63.835 -2661,46,30,2.5,111.05,1.7,63.83475 -2662,46,30,2.5,111.05,1.7,63.8345 -2663,46,30,2.5,111.05,1.7,63.83425 -2664,46,30,2.5,111.05,1.7,63.834 -2665,46,30,2.5,111.05,1.7,63.83375 -2666,46,30,2.5,111.05,1.7,63.8335 -2667,46,30,2.5,111.05,1.7,63.83325 -2668,46,30,2.5,111.05,1.7,63.833 -2669,46,30,2.5,111.05,1.7,63.83275 -2670,46,30,2.5,111.05,1.7,63.8325 -2671,46,30,2.5,111.05,1.7,63.83225 -2672,46,30,2.5,111.05,1.7,63.832 -2673,46,30,2.5,111.05,1.7,63.83175 -2674,46,30,2.5,111.05,1.7,63.8315 -2675,46,30,2.5,111.05,1.7,63.83125 -2676,46,30,2.5,111.05,1.7,63.831 -2677,46,30,2.5,111.05,1.7,63.83075 -2678,46,30,2.5,111.05,1.7,63.8305 -2679,46,30,2.5,111.05,1.7,63.83025 -2680,46,30,2.5,111.05,1.7,63.83 -2681,46,30,2.5,111.05,1.7,63.82975 -2682,46,30,2.5,111.05,1.7,63.8295 -2683,46,30,2.5,111.05,1.7,63.82925 -2684,46,30,2.5,111.05,1.7,63.829 -2685,46,30,2.5,111.05,1.7,63.82875 -2686,46,30,2.5,111.05,1.7,63.8285 -2687,46,30,2.5,111.05,1.7,63.82825 -2688,46,30,2.5,111.05,1.7,63.828 -2689,46,30,2.5,111.05,1.7,63.82775 -2690,46,30,2.5,111.05,1.7,63.8275 -2691,46,30,2.5,111.05,1.7,63.82725 -2692,46,30,2.5,111.05,1.7,63.827 -2693,46,30,2.5,111.05,1.7,63.82675 -2694,46,30,2.5,111.05,1.7,63.8265 -2695,46,30,2.5,111.05,1.7,63.82625 -2696,46,30,2.5,111.05,1.7,63.826 -2697,46,30,2.5,111.05,1.7,63.82575 -2698,46,30,2.5,111.05,1.7,63.8255 -2699,46,30,2.5,111.05,1.7,63.82525 -2700,46,30,2.5,111.05,1.7,63.825 -2701,46,30,2.5,111.05,1.7,63.82475 -2702,46,30,2.5,111.05,1.7,63.8245 -2703,46,30,2.5,111.05,1.7,63.82425 -2704,46,30,2.5,111.05,1.7,63.824 -2705,46,30,2.5,111.05,1.7,63.82375 -2706,46,30,2.5,111.05,1.7,63.8235 -2707,46,30,2.5,111.05,1.7,63.82325 -2708,46,30,2.5,111.05,1.7,63.823 -2709,46,30,2.5,111.05,1.7,63.82275 -2710,46,30,2.5,111.05,1.7,63.8225 -2711,46,30,2.5,111.05,1.7,63.82225 -2712,46,30,2.5,111.05,1.7,63.822 -2713,46,30,2.5,111.05,1.7,63.82175 -2714,46,30,2.5,111.05,1.7,63.8215 -2715,46,30,2.5,111.05,1.7,63.82125 -2716,46,30,2.5,111.05,1.7,63.821 -2717,46,30,2.5,111.05,1.7,63.82075 -2718,46,30,2.5,111.05,1.7,63.8205 -2719,46,30,2.5,111.05,1.7,63.82025 -2720,46,30,2.5,111.05,1.7,63.82 -2721,46,30,2.5,111.05,1.7,63.81975 -2722,46,30,2.5,111.05,1.7,63.8195 -2723,46,30,2.5,111.05,1.7,63.81925 -2724,46,30,2.5,111.05,1.7,63.819 -2725,46,30,2.5,111.05,1.7,63.81875 -2726,46,30,2.5,111.05,1.7,63.8185 -2727,46,30,2.5,111.05,1.7,63.81825 -2728,46,30,2.5,111.05,1.7,63.818 -2729,46,30,2.5,111.05,1.7,63.81775 -2730,46,30,2.5,111.05,1.7,63.8175 -2731,46,30,2.5,111.05,1.7,63.81725 -2732,46,30,2.5,111.05,1.7,63.817 -2733,46,30,2.5,111.05,1.7,63.81675 -2734,46,30,2.5,111.05,1.7,63.8165 -2735,46,30,2.5,111.05,1.7,63.81625 -2736,46,30,2.5,111.05,1.7,63.816 -2737,46,30,2.5,111.05,1.7,63.81575 -2738,46,30,2.5,111.05,1.7,63.8155 -2739,46,30,2.5,111.05,1.7,63.81525 -2740,46,30,2.5,111.05,1.7,63.815 -2741,46,30,2.5,111.05,1.7,63.81475 -2742,46,30,2.5,111.05,1.7,63.8145 -2743,46,30,2.5,111.05,1.7,63.81425 -2744,46,30,2.5,111.05,1.7,63.814 -2745,46,30,2.5,111.05,1.7,63.81375 -2746,46,30,2.5,111.05,1.7,63.8135 -2747,46,30,2.5,111.05,1.7,63.81325 -2748,46,30,2.5,111.05,1.7,63.813 -2749,46,30,2.5,111.05,1.7,63.81275 -2750,46,30,2.5,111.05,1.7,63.8125 -2751,46,30,2.5,111.05,1.7,63.81225 -2752,46,30,2.5,111.05,1.7,63.812 -2753,46,30,2.5,111.05,1.7,63.81175 -2754,46,30,2.5,111.05,1.7,63.8115 -2755,46,30,2.5,111.05,1.7,63.81125 -2756,46,30,2.5,111.05,1.7,63.811 -2757,46,30,2.5,111.05,1.7,63.81075 -2758,46,30,2.5,111.05,1.7,63.8105 -2759,46,30,2.5,111.05,1.7,63.81025 -2760,46,30,2.5,111.05,1.7,63.81 -2761,46,30,2.5,111.05,1.7,63.80975 -2762,46,30,2.5,111.05,1.7,63.8095 -2763,46,30,2.5,111.05,1.7,63.80925 -2764,46,30,2.5,111.05,1.7,63.809 -2765,46,30,2.5,111.05,1.7,63.80875 -2766,46,30,2.5,111.05,1.7,63.8085 -2767,46,30,2.5,111.05,1.7,63.80825 -2768,46,30,2.5,111.05,1.7,63.808 -2769,46,30,2.5,111.05,1.7,63.80775 -2770,46,30,2.5,111.05,1.7,63.8075 -2771,46,30,2.5,111.05,1.7,63.80725 -2772,46,30,2.5,111.05,1.7,63.807 -2773,46,30,2.5,111.05,1.7,63.80675 -2774,46,30,2.5,111.05,1.7,63.8065 -2775,46,30,2.5,111.05,1.7,63.80625 -2776,46,30,2.5,111.05,1.7,63.806 -2777,46,30,2.5,111.05,1.7,63.80575 -2778,46,30,2.5,111.05,1.7,63.8055 -2779,46,30,2.5,111.05,1.7,63.80525 -2780,46,30,2.5,111.05,1.7,63.805 -2781,46,30,2.5,111.05,1.7,63.80475 -2782,46,30,2.5,111.05,1.7,63.8045 -2783,46,30,2.5,111.05,1.7,63.80425 -2784,46,30,2.5,111.05,1.7,63.804 -2785,46,30,2.5,111.05,1.7,63.80375 -2786,46,30,2.5,111.05,1.7,63.8035 -2787,46,30,2.5,111.05,1.7,63.80325 -2788,46,30,2.5,111.05,1.7,63.803 -2789,46,30,2.5,111.05,1.7,63.80275 -2790,46,30,2.5,111.05,1.7,63.8025 -2791,46,30,2.5,111.05,1.7,63.80225 -2792,46,30,2.5,111.05,1.7,63.802 -2793,46,30,2.5,111.05,1.7,63.80175 -2794,46,30,2.5,111.05,1.7,63.8015 -2795,46,30,2.5,111.05,1.7,63.80125 -2796,46,30,2.5,111.05,1.7,63.801 -2797,46,30,2.5,111.05,1.7,63.80075 -2798,46,30,2.5,111.05,1.7,63.8005 -2799,46,30,2.5,111.05,1.7,63.80025 -2800,46,30,2.5,111.05,1.7,63.8 -2801,46,30,2.5,111.05,1.7,63.79975 -2802,46,30,2.5,111.05,1.7,63.7995 -2803,46,30,2.5,111.05,1.7,63.79925 -2804,46,30,2.5,111.05,1.7,63.799 -2805,46,30,2.5,111.05,1.7,63.79875 -2806,46,30,2.5,111.05,1.7,63.7985 -2807,46,30,2.5,111.05,1.7,63.79825 -2808,46,30,2.5,111.05,1.7,63.798 -2809,46,30,2.5,111.05,1.7,63.79775 -2810,46,30,2.5,111.05,1.7,63.7975 -2811,46,30,2.5,111.05,1.7,63.79725 -2812,46,30,2.5,111.05,1.7,63.797 -2813,46,30,2.5,111.05,1.7,63.79675 -2814,46,30,2.5,111.05,1.7,63.7965 -2815,46,30,2.5,111.05,1.7,63.79625 -2816,46,30,2.5,111.05,1.7,63.796 -2817,46,30,2.5,111.05,1.7,63.79575 -2818,46,30,2.5,111.05,1.7,63.7955 -2819,46,30,2.5,111.05,1.7,63.79525 -2820,46,30,2.5,111.05,1.7,63.795 -2821,46,30,2.5,111.05,1.7,63.79475 -2822,46,30,2.5,111.05,1.7,63.7945 -2823,46,30,2.5,111.05,1.7,63.79425 -2824,46,30,2.5,111.05,1.7,63.794 -2825,46,30,2.5,111.05,1.7,63.79375 -2826,46,30,2.5,111.05,1.7,63.7935 -2827,46,30,2.5,111.05,1.7,63.79325 -2828,46,30,2.5,111.05,1.7,63.793 -2829,46,30,2.5,111.05,1.7,63.79275 -2830,46,30,2.5,111.05,1.7,63.7925 -2831,46,30,2.5,111.05,1.7,63.79225 -2832,46,30,2.5,111.05,1.7,63.792 -2833,46,30,2.5,111.05,1.7,63.79175 -2834,46,30,2.5,111.05,1.7,63.7915 -2835,46,30,2.5,111.05,1.7,63.79125 -2836,46,30,2.5,111.05,1.7,63.791 -2837,46,30,2.5,111.05,1.7,63.79075 -2838,46,30,2.5,111.05,1.7,63.7905 -2839,46,30,2.5,111.05,1.7,63.79025 -2840,46,30,2.5,111.05,1.7,63.79 -2841,46,30,2.5,111.05,1.7,63.78975 -2842,46,30,2.5,111.05,1.7,63.7895 -2843,46,30,2.5,111.05,1.7,63.78925 -2844,46,30,2.5,111.05,1.7,63.789 -2845,46,30,2.5,111.05,1.7,63.78875 -2846,46,30,2.5,111.05,1.7,63.7885 -2847,46,30,2.5,111.05,1.7,63.78825 -2848,46,30,2.5,111.05,1.7,63.788 -2849,46,30,2.5,111.05,1.7,63.78775 -2850,46,30,2.5,111.05,1.7,63.7875 -2851,46,30,2.5,111.05,1.7,63.78725 -2852,46,30,2.5,111.05,1.7,63.787 -2853,46,30,2.5,111.05,1.7,63.78675 -2854,46,30,2.5,111.05,1.7,63.7865 -2855,46,30,2.5,111.05,1.7,63.78625 -2856,46,30,2.5,111.05,1.7,63.786 -2857,46,30,2.5,111.05,1.7,63.78575 -2858,46,30,2.5,111.05,1.7,63.7855 -2859,46,30,2.5,111.05,1.7,63.78525 -2860,46,30,2.5,111.05,1.7,63.785 -2861,46,30,2.5,111.05,1.7,63.78475 -2862,46,30,2.5,111.05,1.7,63.7845 -2863,46,30,2.5,111.05,1.7,63.78425 -2864,46,30,2.5,111.05,1.7,63.784 -2865,46,30,2.5,111.05,1.7,63.78375 -2866,46,30,2.5,111.05,1.7,63.7835 -2867,46,30,2.5,111.05,1.7,63.78325 -2868,46,30,2.5,111.05,1.7,63.783 -2869,46,30,2.5,111.05,1.7,63.78275 -2870,46,30,2.5,111.05,1.7,63.7825 -2871,46,30,2.5,111.05,1.7,63.78225 -2872,46,30,2.5,111.05,1.7,63.782 -2873,46,30,2.5,111.05,1.7,63.78175 -2874,46,30,2.5,111.05,1.7,63.7815 -2875,46,30,2.5,111.05,1.7,63.78125 -2876,46,30,2.5,111.05,1.7,63.781 -2877,46,30,2.5,111.05,1.7,63.78075 -2878,46,30,2.5,111.05,1.7,63.7805 -2879,46,30,2.5,111.05,1.7,63.78025 -2880,46,30,2.5,111.05,1.7,63.78 -2881,46,30,2.5,111.05,1.7,63.77975 -2882,46,30,2.5,111.05,1.7,63.7795 -2883,46,30,2.5,111.05,1.7,63.77925 -2884,46,30,2.5,111.05,1.7,63.779 -2885,46,30,2.5,111.05,1.7,63.77875 -2886,46,30,2.5,111.05,1.7,63.7785 -2887,46,30,2.5,111.05,1.7,63.77825 -2888,46,30,2.5,111.05,1.7,63.778 -2889,46,30,2.5,111.05,1.7,63.77775 -2890,46,30,2.5,111.05,1.7,63.7775 -2891,46,30,2.5,111.05,1.7,63.77725 -2892,46,30,2.5,111.05,1.7,63.777 -2893,46,30,2.5,111.05,1.7,63.77675 -2894,46,30,2.5,111.05,1.7,63.7765 -2895,46,30,2.5,111.05,1.7,63.77625 -2896,46,30,2.5,111.05,1.7,63.776 -2897,46,30,2.5,111.05,1.7,63.77575 -2898,46,30,2.5,111.05,1.7,63.7755 -2899,46,30,2.5,111.05,1.7,63.77525 -2900,46,30,2.5,111.05,1.7,63.775 -2901,46,30,2.5,111.05,1.7,63.77475 -2902,46,30,2.5,111.05,1.7,63.7745 -2903,46,30,2.5,111.05,1.7,63.77425 -2904,46,30,2.5,111.05,1.7,63.774 -2905,46,30,2.5,111.05,1.7,63.77375 -2906,46,30,2.5,111.05,1.7,63.7735 -2907,46,30,2.5,111.05,1.7,63.77325 -2908,46,30,2.5,111.05,1.7,63.773 -2909,46,30,2.5,111.05,1.7,63.77275 -2910,46,30,2.5,111.05,1.7,63.7725 -2911,46,30,2.5,111.05,1.7,63.77225 -2912,46,30,2.5,111.05,1.7,63.772 -2913,46,30,2.5,111.05,1.7,63.77175 -2914,46,30,2.5,111.05,1.7,63.7715 -2915,46,30,2.5,111.05,1.7,63.77125 -2916,46,30,2.5,111.05,1.7,63.771 -2917,46,30,2.5,111.05,1.7,63.77075 -2918,46,30,2.5,111.05,1.7,63.7705 -2919,46,30,2.5,111.05,1.7,63.77025 -2920,46,30,2.5,111.05,1.7,63.77 -2921,46,30,2.5,111.05,1.7,63.76975 -2922,46,30,2.5,111.05,1.7,63.7695 -2923,46,30,2.5,111.05,1.7,63.76925 -2924,46,30,2.5,111.05,1.7,63.769 -2925,46,30,2.5,111.05,1.7,63.76875 -2926,46,30,2.5,111.05,1.7,63.7685 -2927,46,30,2.5,111.05,1.7,63.76825 -2928,46,30,2.5,111.05,1.7,63.768 -2929,46,30,2.5,111.05,1.7,63.76775 -2930,46,30,2.5,111.05,1.7,63.7675 -2931,46,30,2.5,111.05,1.7,63.76725 -2932,46,30,2.5,111.05,1.7,63.767 -2933,46,30,2.5,111.05,1.7,63.76675 -2934,46,30,2.5,111.05,1.7,63.7665 -2935,46,30,2.5,111.05,1.7,63.76625 -2936,46,30,2.5,111.05,1.7,63.766 -2937,46,30,2.5,111.05,1.7,63.76575 -2938,46,30,2.5,111.05,1.7,63.7655 -2939,46,30,2.5,111.05,1.7,63.76525 -2940,46,30,2.5,111.05,1.7,63.765 -2941,46,30,2.5,111.05,1.7,63.76475 -2942,46,30,2.5,111.05,1.7,63.7645 -2943,46,30,2.5,111.05,1.7,63.76425 -2944,46,30,2.5,111.05,1.7,63.764 -2945,46,30,2.5,111.05,1.7,63.76375 -2946,46,30,2.5,111.05,1.7,63.7635 -2947,46,30,2.5,111.05,1.7,63.76325 -2948,46,30,2.5,111.05,1.7,63.763 -2949,46,30,2.5,111.05,1.7,63.76275 -2950,46,30,2.5,111.05,1.7,63.7625 -2951,46,30,2.5,111.05,1.7,63.76225 -2952,46,30,2.5,111.05,1.7,63.762 -2953,46,30,2.5,111.05,1.7,63.76175 -2954,46,30,2.5,111.05,1.7,63.7615 -2955,46,30,2.5,111.05,1.7,63.76125 -2956,46,30,2.5,111.05,1.7,63.761 -2957,46,30,2.5,111.05,1.7,63.76075 -2958,46,30,2.5,111.05,1.7,63.7605 -2959,46,30,2.5,111.05,1.7,63.76025 -2960,46,30,2.5,111.05,1.7,63.76 -2961,46,30,2.5,111.05,1.7,63.75975 -2962,46,30,2.5,111.05,1.7,63.7595 -2963,46,30,2.5,111.05,1.7,63.75925 -2964,46,30,2.5,111.05,1.7,63.759 -2965,46,30,2.5,111.05,1.7,63.75875 -2966,46,30,2.5,111.05,1.7,63.7585 -2967,46,30,2.5,111.05,1.7,63.75825 -2968,46,30,2.5,111.05,1.7,63.758 -2969,46,30,2.5,111.05,1.7,63.75775 -2970,46,30,2.5,111.05,1.7,63.7575 -2971,46,30,2.5,111.05,1.7,63.75725 -2972,46,30,2.5,111.05,1.7,63.757 -2973,46,30,2.5,111.05,1.7,63.75675 -2974,46,30,2.5,111.05,1.7,63.7565 -2975,46,30,2.5,111.05,1.7,63.75625 -2976,46,30,2.5,111.05,1.7,63.756 -2977,46,30,2.5,111.05,1.7,63.75575 -2978,46,30,2.5,111.05,1.7,63.7555 -2979,46,30,2.5,111.05,1.7,63.75525 -2980,46,30,2.5,111.05,1.7,63.755 -2981,46,30,2.5,111.05,1.7,63.75475 -2982,46,30,2.5,111.05,1.7,63.7545 -2983,46,30,2.5,111.05,1.7,63.75425 -2984,46,30,2.5,111.05,1.7,63.754 -2985,46,30,2.5,111.05,1.7,63.75375 -2986,46,30,2.5,111.05,1.7,63.7535 -2987,46,30,2.5,111.05,1.7,63.75325 -2988,46,30,2.5,111.05,1.7,63.753 -2989,46,30,2.5,111.05,1.7,63.75275 -2990,46,30,2.5,111.05,1.7,63.7525 -2991,46,30,2.5,111.05,1.7,63.75225 -2992,46,30,2.5,111.05,1.7,63.752 -2993,46,30,2.5,111.05,1.7,63.75175 -2994,46,30,2.5,111.05,1.7,63.7515 -2995,46,30,2.5,111.05,1.7,63.75125 -2996,46,30,2.5,111.05,1.7,63.751 -2997,46,30,2.5,111.05,1.7,63.75075 -2998,46,30,2.5,111.05,1.7,63.7505 -2999,46,30,2.5,111.05,1.7,63.75025 -3000,46,30,2.5,111.05,1.7,63.75 -3001,46,30,2.5,111.05,1.7,63.75 -3002,46,30,2.5,111.05,1.7,63.75 -3003,46,30,2.5,111.05,1.7,63.75 -3004,46,30,2.5,111.05,1.7,63.75 -3005,46,30,2.5,111.05,1.7,63.75 -3006,46,30,2.5,111.05,1.7,63.75 -3007,46,30,2.5,111.05,1.7,63.75 -3008,46,30,2.5,111.05,1.7,63.75 -3009,46,30,2.5,111.05,1.7,63.75 -3010,46,30,2.5,111.05,1.7,63.75 -3011,46,30,2.5,111.05,1.7,63.75 -3012,46,30,2.5,111.05,1.7,63.75 -3013,46,30,2.5,111.05,1.7,63.75 -3014,46,30,2.5,111.05,1.7,63.75 -3015,46,30,2.5,111.05,1.7,63.75 -3016,46,30,2.5,111.05,1.7,63.75 -3017,46,30,2.5,111.05,1.7,63.75 -3018,46,30,2.5,111.05,1.7,63.75 -3019,46,30,2.5,111.05,1.7,63.75 -3020,46,30,2.5,111.05,1.7,63.75 -3021,46,30,2.5,111.05,1.7,63.75 -3022,46,30,2.5,111.05,1.7,63.75 -3023,46,30,2.5,111.05,1.7,63.75 -3024,46,30,2.5,111.05,1.7,63.75 -3025,46,30,2.5,111.05,1.7,63.75 -3026,46,30,2.5,111.05,1.7,63.75 -3027,46,30,2.5,111.05,1.7,63.75 -3028,46,30,2.5,111.05,1.7,63.75 -3029,46,30,2.5,111.05,1.7,63.75 -3030,46,30,2.5,111.05,1.7,63.75 -3031,46,30,2.5,111.05,1.7,63.75 -3032,46,30,2.5,111.05,1.7,63.75 -3033,46,30,2.5,111.05,1.7,63.75 -3034,46,30,2.5,111.05,1.7,63.75 -3035,46,30,2.5,111.05,1.7,63.75 -3036,46,30,2.5,111.05,1.7,63.75 -3037,46,30,2.5,111.05,1.7,63.75 -3038,46,30,2.5,111.05,1.7,63.75 -3039,46,30,2.5,111.05,1.7,63.75 -3040,46,30,2.5,111.05,1.7,63.75 -3041,46,30,2.5,111.05,1.7,63.75 -3042,46,30,2.5,111.05,1.7,63.75 -3043,46,30,2.5,111.05,1.7,63.75 -3044,46,30,2.5,111.05,1.7,63.75 -3045,46,30,2.5,111.05,1.7,63.75 -3046,46,30,2.5,111.05,1.7,63.75 -3047,46,30,2.5,111.05,1.7,63.75 -3048,46,30,2.5,111.05,1.7,63.75 -3049,46,30,2.5,111.05,1.7,63.75 -3050,46,30,2.5,111.05,1.7,63.75 -3051,46,30,2.5,111.05,1.7,63.75 -3052,46,30,2.5,111.05,1.7,63.75 -3053,46,30,2.5,111.05,1.7,63.75 -3054,46,30,2.5,111.05,1.7,63.75 -3055,46,30,2.5,111.05,1.7,63.75 -3056,46,30,2.5,111.05,1.7,63.75 -3057,46,30,2.5,111.05,1.7,63.75 -3058,46,30,2.5,111.05,1.7,63.75 -3059,46,30,2.5,111.05,1.7,63.75 -3060,46,30,2.5,111.05,1.7,63.75 -3061,46,30,2.5,111.05,1.7,63.75 -3062,46,30,2.5,111.05,1.7,63.75 -3063,46,30,2.5,111.05,1.7,63.75 -3064,46,30,2.5,111.05,1.7,63.75 -3065,46,30,2.5,111.05,1.7,63.75 -3066,46,30,2.5,111.05,1.7,63.75 -3067,46,30,2.5,111.05,1.7,63.75 -3068,46,30,2.5,111.05,1.7,63.75 -3069,46,30,2.5,111.05,1.7,63.75 -3070,46,30,2.5,111.05,1.7,63.75 -3071,46,30,2.5,111.05,1.7,63.75 -3072,46,30,2.5,111.05,1.7,63.75 -3073,46,30,2.5,111.05,1.7,63.75 -3074,46,30,2.5,111.05,1.7,63.75 -3075,46,30,2.5,111.05,1.7,63.75 -3076,46,30,2.5,111.05,1.7,63.75 -3077,46,30,2.5,111.05,1.7,63.75 -3078,46,30,2.5,111.05,1.7,63.75 -3079,46,30,2.5,111.05,1.7,63.75 -3080,46,30,2.5,111.05,1.7,63.75 -3081,46,30,2.5,111.05,1.7,63.75 -3082,46,30,2.5,111.05,1.7,63.75 -3083,46,30,2.5,111.05,1.7,63.75 -3084,46,30,2.5,111.05,1.7,63.75 -3085,46,30,2.5,111.05,1.7,63.75 -3086,46,30,2.5,111.05,1.7,63.75 -3087,46,30,2.5,111.05,1.7,63.75 -3088,46,30,2.5,111.05,1.7,63.75 -3089,46,30,2.5,111.05,1.7,63.75 -3090,46,30,2.5,111.05,1.7,63.75 -3091,46,30,2.5,111.05,1.7,63.75 -3092,46,30,2.5,111.05,1.7,63.75 -3093,46,30,2.5,111.05,1.7,63.75 -3094,46,30,2.5,111.05,1.7,63.75 -3095,46,30,2.5,111.05,1.7,63.75 -3096,46,30,2.5,111.05,1.7,63.75 -3097,46,30,2.5,111.05,1.7,63.75 -3098,46,30,2.5,111.05,1.7,63.75 -3099,46,30,2.5,111.05,1.7,63.75 -3100,46,30,2.5,111.05,1.7,63.75 -3101,46,30,2.5,111.05,1.7,63.75 -3102,46,30,2.5,111.05,1.7,63.75 -3103,46,30,2.5,111.05,1.7,63.75 -3104,46,30,2.5,111.05,1.7,63.75 -3105,46,30,2.5,111.05,1.7,63.75 -3106,46,30,2.5,111.05,1.7,63.75 -3107,46,30,2.5,111.05,1.7,63.75 -3108,46,30,2.5,111.05,1.7,63.75 -3109,46,30,2.5,111.05,1.7,63.75 -3110,46,30,2.5,111.05,1.7,63.75 -3111,46,30,2.5,111.05,1.7,63.75 -3112,46,30,2.5,111.05,1.7,63.75 -3113,46,30,2.5,111.05,1.7,63.75 -3114,46,30,2.5,111.05,1.7,63.75 -3115,46,30,2.5,111.05,1.7,63.75 -3116,46,30,2.5,111.05,1.7,63.75 -3117,46,30,2.5,111.05,1.7,63.75 -3118,46,30,2.5,111.05,1.7,63.75 -3119,46,30,2.5,111.05,1.7,63.75 -3120,46,30,2.5,111.05,1.7,63.75 -3121,46,30,2.5,111.05,1.7,63.75 -3122,46,30,2.5,111.05,1.7,63.75 -3123,46,30,2.5,111.05,1.7,63.75 -3124,46,30,2.5,111.05,1.7,63.75 -3125,46,30,2.5,111.05,1.7,63.75 -3126,46,30,2.5,111.05,1.7,63.75 -3127,46,30,2.5,111.05,1.7,63.75 -3128,46,30,2.5,111.05,1.7,63.75 -3129,46,30,2.5,111.05,1.7,63.75 -3130,46,30,2.5,111.05,1.7,63.75 -3131,46,30,2.5,111.05,1.7,63.75 -3132,46,30,2.5,111.05,1.7,63.75 -3133,46,30,2.5,111.05,1.7,63.75 -3134,46,30,2.5,111.05,1.7,63.75 -3135,46,30,2.5,111.05,1.7,63.75 -3136,46,30,2.5,111.05,1.7,63.75 -3137,46,30,2.5,111.05,1.7,63.75 -3138,46,30,2.5,111.05,1.7,63.75 -3139,46,30,2.5,111.05,1.7,63.75 -3140,46,30,2.5,111.05,1.7,63.75 -3141,46,30,2.5,111.05,1.7,63.75 -3142,46,30,2.5,111.05,1.7,63.75 -3143,46,30,2.5,111.05,1.7,63.75 -3144,46,30,2.5,111.05,1.7,63.75 -3145,46,30,2.5,111.05,1.7,63.75 -3146,46,30,2.5,111.05,1.7,63.75 -3147,46,30,2.5,111.05,1.7,63.75 -3148,46,30,2.5,111.05,1.7,63.75 -3149,46,30,2.5,111.05,1.7,63.75 -3150,46,30,2.5,111.05,1.7,63.75 -3151,46,30,2.5,111.05,1.7,63.75 -3152,46,30,2.5,111.05,1.7,63.75 -3153,46,30,2.5,111.05,1.7,63.75 -3154,46,30,2.5,111.05,1.7,63.75 -3155,46,30,2.5,111.05,1.7,63.75 -3156,46,30,2.5,111.05,1.7,63.75 -3157,46,30,2.5,111.05,1.7,63.75 -3158,46,30,2.5,111.05,1.7,63.75 -3159,46,30,2.5,111.05,1.7,63.75 -3160,46,30,2.5,111.05,1.7,63.75 -3161,46,30,2.5,111.05,1.7,63.75 -3162,46,30,2.5,111.05,1.7,63.75 -3163,46,30,2.5,111.05,1.7,63.75 -3164,46,30,2.5,111.05,1.7,63.75 -3165,46,30,2.5,111.05,1.7,63.75 -3166,46,30,2.5,111.05,1.7,63.75 -3167,46,30,2.5,111.05,1.7,63.75 -3168,46,30,2.5,111.05,1.7,63.75 -3169,46,30,2.5,111.05,1.7,63.75 -3170,46,30,2.5,111.05,1.7,63.75 -3171,46,30,2.5,111.05,1.7,63.75 -3172,46,30,2.5,111.05,1.7,63.75 -3173,46,30,2.5,111.05,1.7,63.75 -3174,46,30,2.5,111.05,1.7,63.75 -3175,46,30,2.5,111.05,1.7,63.75 -3176,46,30,2.5,111.05,1.7,63.75 -3177,46,30,2.5,111.05,1.7,63.75 -3178,46,30,2.5,111.05,1.7,63.75 -3179,46,30,2.5,111.05,1.7,63.75 -3180,46,30,2.5,111.05,1.7,63.75 -3181,46,30,2.5,111.05,1.7,63.75 -3182,46,30,2.5,111.05,1.7,63.75 -3183,46,30,2.5,111.05,1.7,63.75 -3184,46,30,2.5,111.05,1.7,63.75 -3185,46,30,2.5,111.05,1.7,63.75 -3186,46,30,2.5,111.05,1.7,63.75 -3187,46,30,2.5,111.05,1.7,63.75 -3188,46,30,2.5,111.05,1.7,63.75 -3189,46,30,2.5,111.05,1.7,63.75 -3190,46,30,2.5,111.05,1.7,63.75 -3191,46,30,2.5,111.05,1.7,63.75 -3192,46,30,2.5,111.05,1.7,63.75 -3193,46,30,2.5,111.05,1.7,63.75 -3194,46,30,2.5,111.05,1.7,63.75 -3195,46,30,2.5,111.05,1.7,63.75 -3196,46,30,2.5,111.05,1.7,63.75 -3197,46,30,2.5,111.05,1.7,63.75 -3198,46,30,2.5,111.05,1.7,63.75 -3199,46,30,2.5,111.05,1.7,63.75 -3200,46,30,2.5,111.05,1.7,63.75 -3201,46,30,2.5,111.05,1.7,63.75 -3202,46,30,2.5,111.05,1.7,63.75 -3203,46,30,2.5,111.05,1.7,63.75 -3204,46,30,2.5,111.05,1.7,63.75 -3205,46,30,2.5,111.05,1.7,63.75 -3206,46,30,2.5,111.05,1.7,63.75 -3207,46,30,2.5,111.05,1.7,63.75 -3208,46,30,2.5,111.05,1.7,63.75 -3209,46,30,2.5,111.05,1.7,63.75 -3210,46,30,2.5,111.05,1.7,63.75 -3211,46,30,2.5,111.05,1.7,63.75 -3212,46,30,2.5,111.05,1.7,63.75 -3213,46,30,2.5,111.05,1.7,63.75 -3214,46,30,2.5,111.05,1.7,63.75 -3215,46,30,2.5,111.05,1.7,63.75 -3216,46,30,2.5,111.05,1.7,63.75 -3217,46,30,2.5,111.05,1.7,63.75 -3218,46,30,2.5,111.05,1.7,63.75 -3219,46,30,2.5,111.05,1.7,63.75 -3220,46,30,2.5,111.05,1.7,63.75 -3221,46,30,2.5,111.05,1.7,63.75 -3222,46,30,2.5,111.05,1.7,63.75 -3223,46,30,2.5,111.05,1.7,63.75 -3224,46,30,2.5,111.05,1.7,63.75 -3225,46,30,2.5,111.05,1.7,63.75 -3226,46,30,2.5,111.05,1.7,63.75 -3227,46,30,2.5,111.05,1.7,63.75 -3228,46,30,2.5,111.05,1.7,63.75 -3229,46,30,2.5,111.05,1.7,63.75 -3230,46,30,2.5,111.05,1.7,63.75 -3231,46,30,2.5,111.05,1.7,63.75 -3232,46,30,2.5,111.05,1.7,63.75 -3233,46,30,2.5,111.05,1.7,63.75 -3234,46,30,2.5,111.05,1.7,63.75 -3235,46,30,2.5,111.05,1.7,63.75 -3236,46,30,2.5,111.05,1.7,63.75 -3237,46,30,2.5,111.05,1.7,63.75 -3238,46,30,2.5,111.05,1.7,63.75 -3239,46,30,2.5,111.05,1.7,63.75 -3240,46,30,2.5,111.05,1.7,63.75 -3241,46,30,2.5,111.05,1.7,63.75 -3242,46,30,2.5,111.05,1.7,63.75 -3243,46,30,2.5,111.05,1.7,63.75 -3244,46,30,2.5,111.05,1.7,63.75 -3245,46,30,2.5,111.05,1.7,63.75 -3246,46,30,2.5,111.05,1.7,63.75 -3247,46,30,2.5,111.05,1.7,63.75 -3248,46,30,2.5,111.05,1.7,63.75 -3249,46,30,2.5,111.05,1.7,63.75 -3250,46,30,2.5,111.05,1.7,63.75 -3251,46,30,2.5,111.05,1.7,63.75 -3252,46,30,2.5,111.05,1.7,63.75 -3253,46,30,2.5,111.05,1.7,63.75 -3254,46,30,2.5,111.05,1.7,63.75 -3255,46,30,2.5,111.05,1.7,63.75 -3256,46,30,2.5,111.05,1.7,63.75 -3257,46,30,2.5,111.05,1.7,63.75 -3258,46,30,2.5,111.05,1.7,63.75 -3259,46,30,2.5,111.05,1.7,63.75 -3260,46,30,2.5,111.05,1.7,63.75 -3261,46,30,2.5,111.05,1.7,63.75 -3262,46,30,2.5,111.05,1.7,63.75 -3263,46,30,2.5,111.05,1.7,63.75 -3264,46,30,2.5,111.05,1.7,63.75 -3265,46,30,2.5,111.05,1.7,63.75 -3266,46,30,2.5,111.05,1.7,63.75 -3267,46,30,2.5,111.05,1.7,63.75 -3268,46,30,2.5,111.05,1.7,63.75 -3269,46,30,2.5,111.05,1.7,63.75 -3270,46,30,2.5,111.05,1.7,63.75 -3271,46,30,2.5,111.05,1.7,63.75 -3272,46,30,2.5,111.05,1.7,63.75 -3273,46,30,2.5,111.05,1.7,63.75 -3274,46,30,2.5,111.05,1.7,63.75 -3275,46,30,2.5,111.05,1.7,63.75 -3276,46,30,2.5,111.05,1.7,63.75 -3277,46,30,2.5,111.05,1.7,63.75 -3278,46,30,2.5,111.05,1.7,63.75 -3279,46,30,2.5,111.05,1.7,63.75 -3280,46,30,2.5,111.05,1.7,63.75 -3281,46,30,2.5,111.05,1.7,63.75 -3282,46,30,2.5,111.05,1.7,63.75 -3283,46,30,2.5,111.05,1.7,63.75 -3284,46,30,2.5,111.05,1.7,63.75 -3285,46,30,2.5,111.05,1.7,63.75 -3286,46,30,2.5,111.05,1.7,63.75 -3287,46,30,2.5,111.05,1.7,63.75 -3288,46,30,2.5,111.05,1.7,63.75 -3289,46,30,2.5,111.05,1.7,63.75 -3290,46,30,2.5,111.05,1.7,63.75 -3291,46,30,2.5,111.05,1.7,63.75 -3292,46,30,2.5,111.05,1.7,63.75 -3293,46,30,2.5,111.05,1.7,63.75 -3294,46,30,2.5,111.05,1.7,63.75 -3295,46,30,2.5,111.05,1.7,63.75 -3296,46,30,2.5,111.05,1.7,63.75 -3297,46,30,2.5,111.05,1.7,63.75 -3298,46,30,2.5,111.05,1.7,63.75 -3299,46,30,2.5,111.05,1.7,63.75 -3300,46,30,2.5,111.05,1.7,63.75 -3301,46,30,2.5,111.05,1.7,63.75 -3302,46,30,2.5,111.05,1.7,63.75 -3303,46,30,2.5,111.05,1.7,63.75 -3304,46,30,2.5,111.05,1.7,63.75 -3305,46,30,2.5,111.05,1.7,63.75 -3306,46,30,2.5,111.05,1.7,63.75 -3307,46,30,2.5,111.05,1.7,63.75 -3308,46,30,2.5,111.05,1.7,63.75 -3309,46,30,2.5,111.05,1.7,63.75 -3310,46,30,2.5,111.05,1.7,63.75 -3311,46,30,2.5,111.05,1.7,63.75 -3312,46,30,2.5,111.05,1.7,63.75 -3313,46,30,2.5,111.05,1.7,63.75 -3314,46,30,2.5,111.05,1.7,63.75 -3315,46,30,2.5,111.05,1.7,63.75 -3316,46,30,2.5,111.05,1.7,63.75 -3317,46,30,2.5,111.05,1.7,63.75 -3318,46,30,2.5,111.05,1.7,63.75 -3319,46,30,2.5,111.05,1.7,63.75 -3320,46,30,2.5,111.05,1.7,63.75 -3321,46,30,2.5,111.05,1.7,63.75 -3322,46,30,2.5,111.05,1.7,63.75 -3323,46,30,2.5,111.05,1.7,63.75 -3324,46,30,2.5,111.05,1.7,63.75 -3325,46,30,2.5,111.05,1.7,63.75 -3326,46,30,2.5,111.05,1.7,63.75 -3327,46,30,2.5,111.05,1.7,63.75 -3328,46,30,2.5,111.05,1.7,63.75 -3329,46,30,2.5,111.05,1.7,63.75 -3330,46,30,2.5,111.05,1.7,63.75 -3331,46,30,2.5,111.05,1.7,63.75 -3332,46,30,2.5,111.05,1.7,63.75 -3333,46,30,2.5,111.05,1.7,63.75 -3334,46,30,2.5,111.05,1.7,63.75 -3335,46,30,2.5,111.05,1.7,63.75 -3336,46,30,2.5,111.05,1.7,63.75 -3337,46,30,2.5,111.05,1.7,63.75 -3338,46,30,2.5,111.05,1.7,63.75 -3339,46,30,2.5,111.05,1.7,63.75 -3340,46,30,2.5,111.05,1.7,63.75 -3341,46,30,2.5,111.05,1.7,63.75 -3342,46,30,2.5,111.05,1.7,63.75 -3343,46,30,2.5,111.05,1.7,63.75 -3344,46,30,2.5,111.05,1.7,63.75 -3345,46,30,2.5,111.05,1.7,63.75 -3346,46,30,2.5,111.05,1.7,63.75 -3347,46,30,2.5,111.05,1.7,63.75 -3348,46,30,2.5,111.05,1.7,63.75 -3349,46,30,2.5,111.05,1.7,63.75 -3350,46,30,2.5,111.05,1.7,63.75 -3351,46,30,2.5,111.05,1.7,63.75 -3352,46,30,2.5,111.05,1.7,63.75 -3353,46,30,2.5,111.05,1.7,63.75 -3354,46,30,2.5,111.05,1.7,63.75 -3355,46,30,2.5,111.05,1.7,63.75 -3356,46,30,2.5,111.05,1.7,63.75 -3357,46,30,2.5,111.05,1.7,63.75 -3358,46,30,2.5,111.05,1.7,63.75 -3359,46,30,2.5,111.05,1.7,63.75 -3360,46,30,2.5,111.05,1.7,63.75 -3361,46,30,2.5,111.05,1.7,63.75 -3362,46,30,2.5,111.05,1.7,63.75 -3363,46,30,2.5,111.05,1.7,63.75 -3364,46,30,2.5,111.05,1.7,63.75 -3365,46,30,2.5,111.05,1.7,63.75 -3366,46,30,2.5,111.05,1.7,63.75 -3367,46,30,2.5,111.05,1.7,63.75 -3368,46,30,2.5,111.05,1.7,63.75 -3369,46,30,2.5,111.05,1.7,63.75 -3370,46,30,2.5,111.05,1.7,63.75 -3371,46,30,2.5,111.05,1.7,63.75 -3372,46,30,2.5,111.05,1.7,63.75 -3373,46,30,2.5,111.05,1.7,63.75 -3374,46,30,2.5,111.05,1.7,63.75 -3375,46,30,2.5,111.05,1.7,63.75 -3376,46,30,2.5,111.05,1.7,63.75 -3377,46,30,2.5,111.05,1.7,63.75 -3378,46,30,2.5,111.05,1.7,63.75 -3379,46,30,2.5,111.05,1.7,63.75 -3380,46,30,2.5,111.05,1.7,63.75 -3381,46,30,2.5,111.05,1.7,63.75 -3382,46,30,2.5,111.05,1.7,63.75 -3383,46,30,2.5,111.05,1.7,63.75 -3384,46,30,2.5,111.05,1.7,63.75 -3385,46,30,2.5,111.05,1.7,63.75 -3386,46,30,2.5,111.05,1.7,63.75 -3387,46,30,2.5,111.05,1.7,63.75 -3388,46,30,2.5,111.05,1.7,63.75 -3389,46,30,2.5,111.05,1.7,63.75 -3390,46,30,2.5,111.05,1.7,63.75 -3391,46,30,2.5,111.05,1.7,63.75 -3392,46,30,2.5,111.05,1.7,63.75 -3393,46,30,2.5,111.05,1.7,63.75 -3394,46,30,2.5,111.05,1.7,63.75 -3395,46,30,2.5,111.05,1.7,63.75 -3396,46,30,2.5,111.05,1.7,63.75 -3397,46,30,2.5,111.05,1.7,63.75 -3398,46,30,2.5,111.05,1.7,63.75 -3399,46,30,2.5,111.05,1.7,63.75 -3400,46,30,2.5,111.05,1.7,63.75 -3401,46,30,2.5,111.05,1.7,63.75 -3402,46,30,2.5,111.05,1.7,63.75 -3403,46,30,2.5,111.05,1.7,63.75 -3404,46,30,2.5,111.05,1.7,63.75 -3405,46,30,2.5,111.05,1.7,63.75 -3406,46,30,2.5,111.05,1.7,63.75 -3407,46,30,2.5,111.05,1.7,63.75 -3408,46,30,2.5,111.05,1.7,63.75 -3409,46,30,2.5,111.05,1.7,63.75 -3410,46,30,2.5,111.05,1.7,63.75 -3411,46,30,2.5,111.05,1.7,63.75 -3412,46,30,2.5,111.05,1.7,63.75 -3413,46,30,2.5,111.05,1.7,63.75 -3414,46,30,2.5,111.05,1.7,63.75 -3415,46,30,2.5,111.05,1.7,63.75 -3416,46,30,2.5,111.05,1.7,63.75 -3417,46,30,2.5,111.05,1.7,63.75 -3418,46,30,2.5,111.05,1.7,63.75 -3419,46,30,2.5,111.05,1.7,63.75 -3420,46,30,2.5,111.05,1.7,63.75 -3421,46,30,2.5,111.05,1.7,63.75 -3422,46,30,2.5,111.05,1.7,63.75 -3423,46,30,2.5,111.05,1.7,63.75 -3424,46,30,2.5,111.05,1.7,63.75 -3425,46,30,2.5,111.05,1.7,63.75 -3426,46,30,2.5,111.05,1.7,63.75 -3427,46,30,2.5,111.05,1.7,63.75 -3428,46,30,2.5,111.05,1.7,63.75 -3429,46,30,2.5,111.05,1.7,63.75 -3430,46,30,2.5,111.05,1.7,63.75 -3431,46,30,2.5,111.05,1.7,63.75 -3432,46,30,2.5,111.05,1.7,63.75 -3433,46,30,2.5,111.05,1.7,63.75 -3434,46,30,2.5,111.05,1.7,63.75 -3435,46,30,2.5,111.05,1.7,63.75 -3436,46,30,2.5,111.05,1.7,63.75 -3437,46,30,2.5,111.05,1.7,63.75 -3438,46,30,2.5,111.05,1.7,63.75 -3439,46,30,2.5,111.05,1.7,63.75 -3440,46,30,2.5,111.05,1.7,63.75 -3441,46,30,2.5,111.05,1.7,63.75 -3442,46,30,2.5,111.05,1.7,63.75 -3443,46,30,2.5,111.05,1.7,63.75 -3444,46,30,2.5,111.05,1.7,63.75 -3445,46,30,2.5,111.05,1.7,63.75 -3446,46,30,2.5,111.05,1.7,63.75 -3447,46,30,2.5,111.05,1.7,63.75 -3448,46,30,2.5,111.05,1.7,63.75 -3449,46,30,2.5,111.05,1.7,63.75 -3450,46,30,2.5,111.05,1.7,63.75 -3451,46,30,2.5,111.05,1.7,63.75 -3452,46,30,2.5,111.05,1.7,63.75 -3453,46,30,2.5,111.05,1.7,63.75 -3454,46,30,2.5,111.05,1.7,63.75 -3455,46,30,2.5,111.05,1.7,63.75 -3456,46,30,2.5,111.05,1.7,63.75 -3457,46,30,2.5,111.05,1.7,63.75 -3458,46,30,2.5,111.05,1.7,63.75 -3459,46,30,2.5,111.05,1.7,63.75 -3460,46,30,2.5,111.05,1.7,63.75 -3461,46,30,2.5,111.05,1.7,63.75 -3462,46,30,2.5,111.05,1.7,63.75 -3463,46,30,2.5,111.05,1.7,63.75 -3464,46,30,2.5,111.05,1.7,63.75 -3465,46,30,2.5,111.05,1.7,63.75 -3466,46,30,2.5,111.05,1.7,63.75 -3467,46,30,2.5,111.05,1.7,63.75 -3468,46,30,2.5,111.05,1.7,63.75 -3469,46,30,2.5,111.05,1.7,63.75 -3470,46,30,2.5,111.05,1.7,63.75 -3471,46,30,2.5,111.05,1.7,63.75 -3472,46,30,2.5,111.05,1.7,63.75 -3473,46,30,2.5,111.05,1.7,63.75 -3474,46,30,2.5,111.05,1.7,63.75 -3475,46,30,2.5,111.05,1.7,63.75 -3476,46,30,2.5,111.05,1.7,63.75 -3477,46,30,2.5,111.05,1.7,63.75 -3478,46,30,2.5,111.05,1.7,63.75 -3479,46,30,2.5,111.05,1.7,63.75 -3480,46,30,2.5,111.05,1.7,63.75 -3481,46,30,2.5,111.05,1.7,63.75 -3482,46,30,2.5,111.05,1.7,63.75 -3483,46,30,2.5,111.05,1.7,63.75 -3484,46,30,2.5,111.05,1.7,63.75 -3485,46,30,2.5,111.05,1.7,63.75 -3486,46,30,2.5,111.05,1.7,63.75 -3487,46,30,2.5,111.05,1.7,63.75 -3488,46,30,2.5,111.05,1.7,63.75 -3489,46,30,2.5,111.05,1.7,63.75 -3490,46,30,2.5,111.05,1.7,63.75 -3491,46,30,2.5,111.05,1.7,63.75 -3492,46,30,2.5,111.05,1.7,63.75 -3493,46,30,2.5,111.05,1.7,63.75 -3494,46,30,2.5,111.05,1.7,63.75 -3495,46,30,2.5,111.05,1.7,63.75 -3496,46,30,2.5,111.05,1.7,63.75 -3497,46,30,2.5,111.05,1.7,63.75 -3498,46,30,2.5,111.05,1.7,63.75 -3499,46,30,2.5,111.05,1.7,63.75 -3500,46,30,2.5,111.05,1.7,63.75 -3501,46,30,2.5,111.05,1.7,63.75 -3502,46,30,2.5,111.05,1.7,63.75 -3503,46,30,2.5,111.05,1.7,63.75 -3504,46,30,2.5,111.05,1.7,63.75 -3505,46,30,2.5,111.05,1.7,63.75 -3506,46,30,2.5,111.05,1.7,63.75 -3507,46,30,2.5,111.05,1.7,63.75 -3508,46,30,2.5,111.05,1.7,63.75 -3509,46,30,2.5,111.05,1.7,63.75 -3510,46,30,2.5,111.05,1.7,63.75 -3511,46,30,2.5,111.05,1.7,63.75 -3512,46,30,2.5,111.05,1.7,63.75 -3513,46,30,2.5,111.05,1.7,63.75 -3514,46,30,2.5,111.05,1.7,63.75 -3515,46,30,2.5,111.05,1.7,63.75 -3516,46,30,2.5,111.05,1.7,63.75 -3517,46,30,2.5,111.05,1.7,63.75 -3518,46,30,2.5,111.05,1.7,63.75 -3519,46,30,2.5,111.05,1.7,63.75 -3520,46,30,2.5,111.05,1.7,63.75 -3521,46,30,2.5,111.05,1.7,63.75 -3522,46,30,2.5,111.05,1.7,63.75 -3523,46,30,2.5,111.05,1.7,63.75 -3524,46,30,2.5,111.05,1.7,63.75 -3525,46,30,2.5,111.05,1.7,63.75 -3526,46,30,2.5,111.05,1.7,63.75 -3527,46,30,2.5,111.05,1.7,63.75 -3528,46,30,2.5,111.05,1.7,63.75 -3529,46,30,2.5,111.05,1.7,63.75 -3530,46,30,2.5,111.05,1.7,63.75 -3531,46,30,2.5,111.05,1.7,63.75 -3532,46,30,2.5,111.05,1.7,63.75 -3533,46,30,2.5,111.05,1.7,63.75 -3534,46,30,2.5,111.05,1.7,63.75 -3535,46,30,2.5,111.05,1.7,63.75 -3536,46,30,2.5,111.05,1.7,63.75 -3537,46,30,2.5,111.05,1.7,63.75 -3538,46,30,2.5,111.05,1.7,63.75 -3539,46,30,2.5,111.05,1.7,63.75 -3540,46,30,2.5,111.05,1.7,63.75 -3541,46,30,2.5,111.05,1.7,63.75 -3542,46,30,2.5,111.05,1.7,63.75 -3543,46,30,2.5,111.05,1.7,63.75 -3544,46,30,2.5,111.05,1.7,63.75 -3545,46,30,2.5,111.05,1.7,63.75 -3546,46,30,2.5,111.05,1.7,63.75 -3547,46,30,2.5,111.05,1.7,63.75 -3548,46,30,2.5,111.05,1.7,63.75 -3549,46,30,2.5,111.05,1.7,63.75 -3550,46,30,2.5,111.05,1.7,63.75 -3551,46,30,2.5,111.05,1.7,63.75 -3552,46,30,2.5,111.05,1.7,63.75 -3553,46,30,2.5,111.05,1.7,63.75 -3554,46,30,2.5,111.05,1.7,63.75 -3555,46,30,2.5,111.05,1.7,63.75 -3556,46,30,2.5,111.05,1.7,63.75 -3557,46,30,2.5,111.05,1.7,63.75 -3558,46,30,2.5,111.05,1.7,63.75 -3559,46,30,2.5,111.05,1.7,63.75 -3560,46,30,2.5,111.05,1.7,63.75 -3561,46,30,2.5,111.05,1.7,63.75 -3562,46,30,2.5,111.05,1.7,63.75 -3563,46,30,2.5,111.05,1.7,63.75 -3564,46,30,2.5,111.05,1.7,63.75 -3565,46,30,2.5,111.05,1.7,63.75 -3566,46,30,2.5,111.05,1.7,63.75 -3567,46,30,2.5,111.05,1.7,63.75 -3568,46,30,2.5,111.05,1.7,63.75 -3569,46,30,2.5,111.05,1.7,63.75 -3570,46,30,2.5,111.05,1.7,63.75 -3571,46,30,2.5,111.05,1.7,63.75 -3572,46,30,2.5,111.05,1.7,63.75 -3573,46,30,2.5,111.05,1.7,63.75 -3574,46,30,2.5,111.05,1.7,63.75 -3575,46,30,2.5,111.05,1.7,63.75 -3576,46,30,2.5,111.05,1.7,63.75 -3577,46,30,2.5,111.05,1.7,63.75 -3578,46,30,2.5,111.05,1.7,63.75 -3579,46,30,2.5,111.05,1.7,63.75 -3580,46,30,2.5,111.05,1.7,63.75 -3581,46,30,2.5,111.05,1.7,63.75 -3582,46,30,2.5,111.05,1.7,63.75 -3583,46,30,2.5,111.05,1.7,63.75 -3584,46,30,2.5,111.05,1.7,63.75 -3585,46,30,2.5,111.05,1.7,63.75 -3586,46,30,2.5,111.05,1.7,63.75 -3587,46,30,2.5,111.05,1.7,63.75 -3588,46,30,2.5,111.05,1.7,63.75 -3589,46,30,2.5,111.05,1.7,63.75 -3590,46,30,2.5,111.05,1.7,63.75 -3591,46,30,2.5,111.05,1.7,63.75 -3592,46,30,2.5,111.05,1.7,63.75 -3593,46,30,2.5,111.05,1.7,63.75 -3594,46,30,2.5,111.05,1.7,63.75 -3595,46,30,2.5,111.05,1.7,63.75 -3596,46,30,2.5,111.05,1.7,63.75 -3597,46,30,2.5,111.05,1.7,63.75 -3598,46,30,2.5,111.05,1.7,63.75 -3599,46,30,2.5,111.05,1.7,63.75 -3600,46,30,2.5,111.05,1.7,63.75 -3601,46,30,2.5,111.05,1.7,63.75 -3602,46,30,2.5,111.05,1.7,63.75 -3603,46,30,2.5,111.05,1.7,63.75 -3604,46,30,2.5,111.05,1.7,63.75 -3605,46,30,2.5,111.05,1.7,63.75 -3606,46,30,2.5,111.05,1.7,63.75 -3607,46,30,2.5,111.05,1.7,63.75 -3608,46,30,2.5,111.05,1.7,63.75 -3609,46,30,2.5,111.05,1.7,63.75 -3610,46,30,2.5,111.05,1.7,63.75 -3611,46,30,2.5,111.05,1.7,63.75 -3612,46,30,2.5,111.05,1.7,63.75 -3613,46,30,2.5,111.05,1.7,63.75 -3614,46,30,2.5,111.05,1.7,63.75 -3615,46,30,2.5,111.05,1.7,63.75 -3616,46,30,2.5,111.05,1.7,63.75 -3617,46,30,2.5,111.05,1.7,63.75 -3618,46,30,2.5,111.05,1.7,63.75 -3619,46,30,2.5,111.05,1.7,63.75 -3620,46,30,2.5,111.05,1.7,63.75 -3621,46,30,2.5,111.05,1.7,63.75 -3622,46,30,2.5,111.05,1.7,63.75 -3623,46,30,2.5,111.05,1.7,63.75 -3624,46,30,2.5,111.05,1.7,63.75 -3625,46,30,2.5,111.05,1.7,63.75 -3626,46,30,2.5,111.05,1.7,63.75 -3627,46,30,2.5,111.05,1.7,63.75 -3628,46,30,2.5,111.05,1.7,63.75 -3629,46,30,2.5,111.05,1.7,63.75 -3630,46,30,2.5,111.05,1.7,63.75 -3631,46,30,2.5,111.05,1.7,63.75 -3632,46,30,2.5,111.05,1.7,63.75 -3633,46,30,2.5,111.05,1.7,63.75 -3634,46,30,2.5,111.05,1.7,63.75 -3635,46,30,2.5,111.05,1.7,63.75 -3636,46,30,2.5,111.05,1.7,63.75 -3637,46,30,2.5,111.05,1.7,63.75 -3638,46,30,2.5,111.05,1.7,63.75 -3639,46,30,2.5,111.05,1.7,63.75 -3640,46,30,2.5,111.05,1.7,63.75 -3641,46,30,2.5,111.05,1.7,63.75 -3642,46,30,2.5,111.05,1.7,63.75 -3643,46,30,2.5,111.05,1.7,63.75 -3644,46,30,2.5,111.05,1.7,63.75 -3645,46,30,2.5,111.05,1.7,63.75 -3646,46,30,2.5,111.05,1.7,63.75 -3647,46,30,2.5,111.05,1.7,63.75 -3648,46,30,2.5,111.05,1.7,63.75 -3649,46,30,2.5,111.05,1.7,63.75 -3650,46,30,2.5,111.05,1.7,63.75 -3651,46,30,2.5,111.05,1.7,63.75 -3652,46,30,2.5,111.05,1.7,63.75 -3653,46,30,2.5,111.05,1.7,63.75 -3654,46,30,2.5,111.05,1.7,63.75 -3655,46,30,2.5,111.05,1.7,63.75 -3656,46,30,2.5,111.05,1.7,63.75 -3657,46,30,2.5,111.05,1.7,63.75 -3658,46,30,2.5,111.05,1.7,63.75 -3659,46,30,2.5,111.05,1.7,63.75 -3660,46,30,2.5,111.05,1.7,63.75 -3661,46,30,2.5,111.05,1.7,63.75 -3662,46,30,2.5,111.05,1.7,63.75 -3663,46,30,2.5,111.05,1.7,63.75 -3664,46,30,2.5,111.05,1.7,63.75 -3665,46,30,2.5,111.05,1.7,63.75 -3666,46,30,2.5,111.05,1.7,63.75 -3667,46,30,2.5,111.05,1.7,63.75 -3668,46,30,2.5,111.05,1.7,63.75 -3669,46,30,2.5,111.05,1.7,63.75 -3670,46,30,2.5,111.05,1.7,63.75 -3671,46,30,2.5,111.05,1.7,63.75 -3672,46,30,2.5,111.05,1.7,63.75 -3673,46,30,2.5,111.05,1.7,63.75 -3674,46,30,2.5,111.05,1.7,63.75 -3675,46,30,2.5,111.05,1.7,63.75 -3676,46,30,2.5,111.05,1.7,63.75 -3677,46,30,2.5,111.05,1.7,63.75 -3678,46,30,2.5,111.05,1.7,63.75 -3679,46,30,2.5,111.05,1.7,63.75 -3680,46,30,2.5,111.05,1.7,63.75 -3681,46,30,2.5,111.05,1.7,63.75 -3682,46,30,2.5,111.05,1.7,63.75 -3683,46,30,2.5,111.05,1.7,63.75 -3684,46,30,2.5,111.05,1.7,63.75 -3685,46,30,2.5,111.05,1.7,63.75 -3686,46,30,2.5,111.05,1.7,63.75 -3687,46,30,2.5,111.05,1.7,63.75 -3688,46,30,2.5,111.05,1.7,63.75 -3689,46,30,2.5,111.05,1.7,63.75 -3690,46,30,2.5,111.05,1.7,63.75 -3691,46,30,2.5,111.05,1.7,63.75 -3692,46,30,2.5,111.05,1.7,63.75 -3693,46,30,2.5,111.05,1.7,63.75 -3694,46,30,2.5,111.05,1.7,63.75 -3695,46,30,2.5,111.05,1.7,63.75 -3696,46,30,2.5,111.05,1.7,63.75 -3697,46,30,2.5,111.05,1.7,63.75 -3698,46,30,2.5,111.05,1.7,63.75 -3699,46,30,2.5,111.05,1.7,63.75 -3700,46,30,2.5,111.05,1.7,63.75 -3701,46,30,2.5,111.05,1.7,63.75 -3702,46,30,2.5,111.05,1.7,63.75 -3703,46,30,2.5,111.05,1.7,63.75 -3704,46,30,2.5,111.05,1.7,63.75 -3705,46,30,2.5,111.05,1.7,63.75 -3706,46,30,2.5,111.05,1.7,63.75 -3707,46,30,2.5,111.05,1.7,63.75 -3708,46,30,2.5,111.05,1.7,63.75 -3709,46,30,2.5,111.05,1.7,63.75 -3710,46,30,2.5,111.05,1.7,63.75 -3711,46,30,2.5,111.05,1.7,63.75 -3712,46,30,2.5,111.05,1.7,63.75 -3713,46,30,2.5,111.05,1.7,63.75 -3714,46,30,2.5,111.05,1.7,63.75 -3715,46,30,2.5,111.05,1.7,63.75 -3716,46,30,2.5,111.05,1.7,63.75 -3717,46,30,2.5,111.05,1.7,63.75 -3718,46,30,2.5,111.05,1.7,63.75 -3719,46,30,2.5,111.05,1.7,63.75 -3720,46,30,2.5,111.05,1.7,63.75 -3721,46,30,2.5,111.05,1.7,63.75 -3722,46,30,2.5,111.05,1.7,63.75 -3723,46,30,2.5,111.05,1.7,63.75 -3724,46,30,2.5,111.05,1.7,63.75 -3725,46,30,2.5,111.05,1.7,63.75 -3726,46,30,2.5,111.05,1.7,63.75 -3727,46,30,2.5,111.05,1.7,63.75 -3728,46,30,2.5,111.05,1.7,63.75 -3729,46,30,2.5,111.05,1.7,63.75 -3730,46,30,2.5,111.05,1.7,63.75 -3731,46,30,2.5,111.05,1.7,63.75 -3732,46,30,2.5,111.05,1.7,63.75 -3733,46,30,2.5,111.05,1.7,63.75 -3734,46,30,2.5,111.05,1.7,63.75 -3735,46,30,2.5,111.05,1.7,63.75 -3736,46,30,2.5,111.05,1.7,63.75 -3737,46,30,2.5,111.05,1.7,63.75 -3738,46,30,2.5,111.05,1.7,63.75 -3739,46,30,2.5,111.05,1.7,63.75 -3740,46,30,2.5,111.05,1.7,63.75 -3741,46,30,2.5,111.05,1.7,63.75 -3742,46,30,2.5,111.05,1.7,63.75 -3743,46,30,2.5,111.05,1.7,63.75 -3744,46,30,2.5,111.05,1.7,63.75 -3745,46,30,2.5,111.05,1.7,63.75 -3746,46,30,2.5,111.05,1.7,63.75 -3747,46,30,2.5,111.05,1.7,63.75 -3748,46,30,2.5,111.05,1.7,63.75 -3749,46,30,2.5,111.05,1.7,63.75 -3750,46,30,2.5,111.05,1.7,63.75 -3751,46,30,2.5,111.05,1.7,63.75 -3752,46,30,2.5,111.05,1.7,63.75 -3753,46,30,2.5,111.05,1.7,63.75 -3754,46,30,2.5,111.05,1.7,63.75 -3755,46,30,2.5,111.05,1.7,63.75 -3756,46,30,2.5,111.05,1.7,63.75 -3757,46,30,2.5,111.05,1.7,63.75 -3758,46,30,2.5,111.05,1.7,63.75 -3759,46,30,2.5,111.05,1.7,63.75 -3760,46,30,2.5,111.05,1.7,63.75 -3761,46,30,2.5,111.05,1.7,63.75 -3762,46,30,2.5,111.05,1.7,63.75 -3763,46,30,2.5,111.05,1.7,63.75 -3764,46,30,2.5,111.05,1.7,63.75 -3765,46,30,2.5,111.05,1.7,63.75 -3766,46,30,2.5,111.05,1.7,63.75 -3767,46,30,2.5,111.05,1.7,63.75 -3768,46,30,2.5,111.05,1.7,63.75 -3769,46,30,2.5,111.05,1.7,63.75 -3770,46,30,2.5,111.05,1.7,63.75 -3771,46,30,2.5,111.05,1.7,63.75 -3772,46,30,2.5,111.05,1.7,63.75 -3773,46,30,2.5,111.05,1.7,63.75 -3774,46,30,2.5,111.05,1.7,63.75 -3775,46,30,2.5,111.05,1.7,63.75 -3776,46,30,2.5,111.05,1.7,63.75 -3777,46,30,2.5,111.05,1.7,63.75 -3778,46,30,2.5,111.05,1.7,63.75 -3779,46,30,2.5,111.05,1.7,63.75 -3780,46,30,2.5,111.05,1.7,63.75 -3781,46,30,2.5,111.05,1.7,63.75 -3782,46,30,2.5,111.05,1.7,63.75 -3783,46,30,2.5,111.05,1.7,63.75 -3784,46,30,2.5,111.05,1.7,63.75 -3785,46,30,2.5,111.05,1.7,63.75 -3786,46,30,2.5,111.05,1.7,63.75 -3787,46,30,2.5,111.05,1.7,63.75 -3788,46,30,2.5,111.05,1.7,63.75 -3789,46,30,2.5,111.05,1.7,63.75 -3790,46,30,2.5,111.05,1.7,63.75 -3791,46,30,2.5,111.05,1.7,63.75 -3792,46,30,2.5,111.05,1.7,63.75 -3793,46,30,2.5,111.05,1.7,63.75 -3794,46,30,2.5,111.05,1.7,63.75 -3795,46,30,2.5,111.05,1.7,63.75 -3796,46,30,2.5,111.05,1.7,63.75 -3797,46,30,2.5,111.05,1.7,63.75 -3798,46,30,2.5,111.05,1.7,63.75 -3799,46,30,2.5,111.05,1.7,63.75 -3800,46,30,2.5,111.05,1.7,63.75 -3801,46,30,2.5,111.05,1.7,63.75 -3802,46,30,2.5,111.05,1.7,63.75 -3803,46,30,2.5,111.05,1.7,63.75 -3804,46,30,2.5,111.05,1.7,63.75 -3805,46,30,2.5,111.05,1.7,63.75 -3806,46,30,2.5,111.05,1.7,63.75 -3807,46,30,2.5,111.05,1.7,63.75 -3808,46,30,2.5,111.05,1.7,63.75 -3809,46,30,2.5,111.05,1.7,63.75 -3810,46,30,2.5,111.05,1.7,63.75 -3811,46,30,2.5,111.05,1.7,63.75 -3812,46,30,2.5,111.05,1.7,63.75 -3813,46,30,2.5,111.05,1.7,63.75 -3814,46,30,2.5,111.05,1.7,63.75 -3815,46,30,2.5,111.05,1.7,63.75 -3816,46,30,2.5,111.05,1.7,63.75 -3817,46,30,2.5,111.05,1.7,63.75 -3818,46,30,2.5,111.05,1.7,63.75 -3819,46,30,2.5,111.05,1.7,63.75 -3820,46,30,2.5,111.05,1.7,63.75 -3821,46,30,2.5,111.05,1.7,63.75 -3822,46,30,2.5,111.05,1.7,63.75 -3823,46,30,2.5,111.05,1.7,63.75 -3824,46,30,2.5,111.05,1.7,63.75 -3825,46,30,2.5,111.05,1.7,63.75 -3826,46,30,2.5,111.05,1.7,63.75 -3827,46,30,2.5,111.05,1.7,63.75 -3828,46,30,2.5,111.05,1.7,63.75 -3829,46,30,2.5,111.05,1.7,63.75 -3830,46,30,2.5,111.05,1.7,63.75 -3831,46,30,2.5,111.05,1.7,63.75 -3832,46,30,2.5,111.05,1.7,63.75 -3833,46,30,2.5,111.05,1.7,63.75 -3834,46,30,2.5,111.05,1.7,63.75 -3835,46,30,2.5,111.05,1.7,63.75 -3836,46,30,2.5,111.05,1.7,63.75 -3837,46,30,2.5,111.05,1.7,63.75 -3838,46,30,2.5,111.05,1.7,63.75 -3839,46,30,2.5,111.05,1.7,63.75 -3840,46,30,2.5,111.05,1.7,63.75 -3841,46,30,2.5,111.05,1.7,63.75 -3842,46,30,2.5,111.05,1.7,63.75 -3843,46,30,2.5,111.05,1.7,63.75 -3844,46,30,2.5,111.05,1.7,63.75 -3845,46,30,2.5,111.05,1.7,63.75 -3846,46,30,2.5,111.05,1.7,63.75 -3847,46,30,2.5,111.05,1.7,63.75 -3848,46,30,2.5,111.05,1.7,63.75 -3849,46,30,2.5,111.05,1.7,63.75 -3850,46,30,2.5,111.05,1.7,63.75 -3851,46,30,2.5,111.05,1.7,63.75 -3852,46,30,2.5,111.05,1.7,63.75 -3853,46,30,2.5,111.05,1.7,63.75 -3854,46,30,2.5,111.05,1.7,63.75 -3855,46,30,2.5,111.05,1.7,63.75 -3856,46,30,2.5,111.05,1.7,63.75 -3857,46,30,2.5,111.05,1.7,63.75 -3858,46,30,2.5,111.05,1.7,63.75 -3859,46,30,2.5,111.05,1.7,63.75 -3860,46,30,2.5,111.05,1.7,63.75 -3861,46,30,2.5,111.05,1.7,63.75 -3862,46,30,2.5,111.05,1.7,63.75 -3863,46,30,2.5,111.05,1.7,63.75 -3864,46,30,2.5,111.05,1.7,63.75 -3865,46,30,2.5,111.05,1.7,63.75 -3866,46,30,2.5,111.05,1.7,63.75 -3867,46,30,2.5,111.05,1.7,63.75 -3868,46,30,2.5,111.05,1.7,63.75 -3869,46,30,2.5,111.05,1.7,63.75 -3870,46,30,2.5,111.05,1.7,63.75 -3871,46,30,2.5,111.05,1.7,63.75 -3872,46,30,2.5,111.05,1.7,63.75 -3873,46,30,2.5,111.05,1.7,63.75 -3874,46,30,2.5,111.05,1.7,63.75 -3875,46,30,2.5,111.05,1.7,63.75 -3876,46,30,2.5,111.05,1.7,63.75 -3877,46,30,2.5,111.05,1.7,63.75 -3878,46,30,2.5,111.05,1.7,63.75 -3879,46,30,2.5,111.05,1.7,63.75 -3880,46,30,2.5,111.05,1.7,63.75 -3881,46,30,2.5,111.05,1.7,63.75 -3882,46,30,2.5,111.05,1.7,63.75 -3883,46,30,2.5,111.05,1.7,63.75 -3884,46,30,2.5,111.05,1.7,63.75 -3885,46,30,2.5,111.05,1.7,63.75 -3886,46,30,2.5,111.05,1.7,63.75 -3887,46,30,2.5,111.05,1.7,63.75 -3888,46,30,2.5,111.05,1.7,63.75 -3889,46,30,2.5,111.05,1.7,63.75 -3890,46,30,2.5,111.05,1.7,63.75 -3891,46,30,2.5,111.05,1.7,63.75 -3892,46,30,2.5,111.05,1.7,63.75 -3893,46,30,2.5,111.05,1.7,63.75 -3894,46,30,2.5,111.05,1.7,63.75 -3895,46,30,2.5,111.05,1.7,63.75 -3896,46,30,2.5,111.05,1.7,63.75 -3897,46,30,2.5,111.05,1.7,63.75 -3898,46,30,2.5,111.05,1.7,63.75 -3899,46,30,2.5,111.05,1.7,63.75 -3900,46,30,2.5,111.05,1.7,63.75 -3901,46,30,2.5,111.05,1.7,63.75 -3902,46,30,2.5,111.05,1.7,63.75 -3903,46,30,2.5,111.05,1.7,63.75 -3904,46,30,2.5,111.05,1.7,63.75 -3905,46,30,2.5,111.05,1.7,63.75 -3906,46,30,2.5,111.05,1.7,63.75 -3907,46,30,2.5,111.05,1.7,63.75 -3908,46,30,2.5,111.05,1.7,63.75 -3909,46,30,2.5,111.05,1.7,63.75 -3910,46,30,2.5,111.05,1.7,63.75 -3911,46,30,2.5,111.05,1.7,63.75 -3912,46,30,2.5,111.05,1.7,63.75 -3913,46,30,2.5,111.05,1.7,63.75 -3914,46,30,2.5,111.05,1.7,63.75 -3915,46,30,2.5,111.05,1.7,63.75 -3916,46,30,2.5,111.05,1.7,63.75 -3917,46,30,2.5,111.05,1.7,63.75 -3918,46,30,2.5,111.05,1.7,63.75 -3919,46,30,2.5,111.05,1.7,63.75 -3920,46,30,2.5,111.05,1.7,63.75 -3921,46,30,2.5,111.05,1.7,63.75 -3922,46,30,2.5,111.05,1.7,63.75 -3923,46,30,2.5,111.05,1.7,63.75 -3924,46,30,2.5,111.05,1.7,63.75 -3925,46,30,2.5,111.05,1.7,63.75 -3926,46,30,2.5,111.05,1.7,63.75 -3927,46,30,2.5,111.05,1.7,63.75 -3928,46,30,2.5,111.05,1.7,63.75 -3929,46,30,2.5,111.05,1.7,63.75 -3930,46,30,2.5,111.05,1.7,63.75 -3931,46,30,2.5,111.05,1.7,63.75 -3932,46,30,2.5,111.05,1.7,63.75 -3933,46,30,2.5,111.05,1.7,63.75 -3934,46,30,2.5,111.05,1.7,63.75 -3935,46,30,2.5,111.05,1.7,63.75 -3936,46,30,2.5,111.05,1.7,63.75 -3937,46,30,2.5,111.05,1.7,63.75 -3938,46,30,2.5,111.05,1.7,63.75 -3939,46,30,2.5,111.05,1.7,63.75 -3940,46,30,2.5,111.05,1.7,63.75 -3941,46,30,2.5,111.05,1.7,63.75 -3942,46,30,2.5,111.05,1.7,63.75 -3943,46,30,2.5,111.05,1.7,63.75 -3944,46,30,2.5,111.05,1.7,63.75 -3945,46,30,2.5,111.05,1.7,63.75 -3946,46,30,2.5,111.05,1.7,63.75 -3947,46,30,2.5,111.05,1.7,63.75 -3948,46,30,2.5,111.05,1.7,63.75 -3949,46,30,2.5,111.05,1.7,63.75 -3950,46,30,2.5,111.05,1.7,63.75 -3951,46,30,2.5,111.05,1.7,63.75 -3952,46,30,2.5,111.05,1.7,63.75 -3953,46,30,2.5,111.05,1.7,63.75 -3954,46,30,2.5,111.05,1.7,63.75 -3955,46,30,2.5,111.05,1.7,63.75 -3956,46,30,2.5,111.05,1.7,63.75 -3957,46,30,2.5,111.05,1.7,63.75 -3958,46,30,2.5,111.05,1.7,63.75 -3959,46,30,2.5,111.05,1.7,63.75 -3960,46,30,2.5,111.05,1.7,63.75 -3961,46,30,2.5,111.05,1.7,63.75 -3962,46,30,2.5,111.05,1.7,63.75 -3963,46,30,2.5,111.05,1.7,63.75 -3964,46,30,2.5,111.05,1.7,63.75 -3965,46,30,2.5,111.05,1.7,63.75 -3966,46,30,2.5,111.05,1.7,63.75 -3967,46,30,2.5,111.05,1.7,63.75 -3968,46,30,2.5,111.05,1.7,63.75 -3969,46,30,2.5,111.05,1.7,63.75 -3970,46,30,2.5,111.05,1.7,63.75 -3971,46,30,2.5,111.05,1.7,63.75 -3972,46,30,2.5,111.05,1.7,63.75 -3973,46,30,2.5,111.05,1.7,63.75 -3974,46,30,2.5,111.05,1.7,63.75 -3975,46,30,2.5,111.05,1.7,63.75 -3976,46,30,2.5,111.05,1.7,63.75 -3977,46,30,2.5,111.05,1.7,63.75 -3978,46,30,2.5,111.05,1.7,63.75 -3979,46,30,2.5,111.05,1.7,63.75 -3980,46,30,2.5,111.05,1.7,63.75 -3981,46,30,2.5,111.05,1.7,63.75 -3982,46,30,2.5,111.05,1.7,63.75 -3983,46,30,2.5,111.05,1.7,63.75 -3984,46,30,2.5,111.05,1.7,63.75 -3985,46,30,2.5,111.05,1.7,63.75 -3986,46,30,2.5,111.05,1.7,63.75 -3987,46,30,2.5,111.05,1.7,63.75 -3988,46,30,2.5,111.05,1.7,63.75 -3989,46,30,2.5,111.05,1.7,63.75 -3990,46,30,2.5,111.05,1.7,63.75 -3991,46,30,2.5,111.05,1.7,63.75 -3992,46,30,2.5,111.05,1.7,63.75 -3993,46,30,2.5,111.05,1.7,63.75 -3994,46,30,2.5,111.05,1.7,63.75 -3995,46,30,2.5,111.05,1.7,63.75 -3996,46,30,2.5,111.05,1.7,63.75 -3997,46,30,2.5,111.05,1.7,63.75 -3998,46,30,2.5,111.05,1.7,63.75 -3999,46,30,2.5,111.05,1.7,63.75 -4000,46,30,2.5,111.05,1.7,63.75 -4001,46,30,2.5,111.05,1.7,63.75 -4002,46,30,2.5,111.05,1.7,63.75 -4003,46,30,2.5,111.05,1.7,63.75 -4004,46,30,2.5,111.05,1.7,63.75 -4005,46,30,2.5,111.05,1.7,63.75 -4006,46,30,2.5,111.05,1.7,63.75 -4007,46,30,2.5,111.05,1.7,63.75 -4008,46,30,2.5,111.05,1.7,63.75 -4009,46,30,2.5,111.05,1.7,63.75 -4010,46,30,2.5,111.05,1.7,63.75 -4011,46,30,2.5,111.05,1.7,63.75 -4012,46,30,2.5,111.05,1.7,63.75 -4013,46,30,2.5,111.05,1.7,63.75 -4014,46,30,2.5,111.05,1.7,63.75 -4015,46,30,2.5,111.05,1.7,63.75 -4016,46,30,2.5,111.05,1.7,63.75 -4017,46,30,2.5,111.05,1.7,63.75 -4018,46,30,2.5,111.05,1.7,63.75 -4019,46,30,2.5,111.05,1.7,63.75 -4020,46,30,2.5,111.05,1.7,63.75 -4021,46,30,2.5,111.05,1.7,63.75 -4022,46,30,2.5,111.05,1.7,63.75 -4023,46,30,2.5,111.05,1.7,63.75 -4024,46,30,2.5,111.05,1.7,63.75 -4025,46,30,2.5,111.05,1.7,63.75 -4026,46,30,2.5,111.05,1.7,63.75 -4027,46,30,2.5,111.05,1.7,63.75 -4028,46,30,2.5,111.05,1.7,63.75 -4029,46,30,2.5,111.05,1.7,63.75 -4030,46,30,2.5,111.05,1.7,63.75 -4031,46,30,2.5,111.05,1.7,63.75 -4032,46,30,2.5,111.05,1.7,63.75 -4033,46,30,2.5,111.05,1.7,63.75 -4034,46,30,2.5,111.05,1.7,63.75 -4035,46,30,2.5,111.05,1.7,63.75 -4036,46,30,2.5,111.05,1.7,63.75 -4037,46,30,2.5,111.05,1.7,63.75 -4038,46,30,2.5,111.05,1.7,63.75 -4039,46,30,2.5,111.05,1.7,63.75 -4040,46,30,2.5,111.05,1.7,63.75 -4041,46,30,2.5,111.05,1.7,63.75 -4042,46,30,2.5,111.05,1.7,63.75 -4043,46,30,2.5,111.05,1.7,63.75 -4044,46,30,2.5,111.05,1.7,63.75 -4045,46,30,2.5,111.05,1.7,63.75 -4046,46,30,2.5,111.05,1.7,63.75 -4047,46,30,2.5,111.05,1.7,63.75 -4048,46,30,2.5,111.05,1.7,63.75 -4049,46,30,2.5,111.05,1.7,63.75 -4050,46,30,2.5,111.05,1.7,63.75 -4051,46,30,2.5,111.05,1.7,63.75 -4052,46,30,2.5,111.05,1.7,63.75 -4053,46,30,2.5,111.05,1.7,63.75 -4054,46,30,2.5,111.05,1.7,63.75 -4055,46,30,2.5,111.05,1.7,63.75 -4056,46,30,2.5,111.05,1.7,63.75 -4057,46,30,2.5,111.05,1.7,63.75 -4058,46,30,2.5,111.05,1.7,63.75 -4059,46,30,2.5,111.05,1.7,63.75 -4060,46,30,2.5,111.05,1.7,63.75 -4061,46,30,2.5,111.05,1.7,63.75 -4062,46,30,2.5,111.05,1.7,63.75 -4063,46,30,2.5,111.05,1.7,63.75 -4064,46,30,2.5,111.05,1.7,63.75 -4065,46,30,2.5,111.05,1.7,63.75 -4066,46,30,2.5,111.05,1.7,63.75 -4067,46,30,2.5,111.05,1.7,63.75 -4068,46,30,2.5,111.05,1.7,63.75 -4069,46,30,2.5,111.05,1.7,63.75 -4070,46,30,2.5,111.05,1.7,63.75 -4071,46,30,2.5,111.05,1.7,63.75 -4072,46,30,2.5,111.05,1.7,63.75 -4073,46,30,2.5,111.05,1.7,63.75 -4074,46,30,2.5,111.05,1.7,63.75 -4075,46,30,2.5,111.05,1.7,63.75 -4076,46,30,2.5,111.05,1.7,63.75 -4077,46,30,2.5,111.05,1.7,63.75 -4078,46,30,2.5,111.05,1.7,63.75 -4079,46,30,2.5,111.05,1.7,63.75 -4080,46,30,2.5,111.05,1.7,63.75 -4081,46,30,2.5,111.05,1.7,63.75 -4082,46,30,2.5,111.05,1.7,63.75 -4083,46,30,2.5,111.05,1.7,63.75 -4084,46,30,2.5,111.05,1.7,63.75 -4085,46,30,2.5,111.05,1.7,63.75 -4086,46,30,2.5,111.05,1.7,63.75 -4087,46,30,2.5,111.05,1.7,63.75 -4088,46,30,2.5,111.05,1.7,63.75 -4089,46,30,2.5,111.05,1.7,63.75 -4090,46,30,2.5,111.05,1.7,63.75 -4091,46,30,2.5,111.05,1.7,63.75 -4092,46,30,2.5,111.05,1.7,63.75 -4093,46,30,2.5,111.05,1.7,63.75 -4094,46,30,2.5,111.05,1.7,63.75 -4095,46,30,2.5,111.05,1.7,63.75 -4096,46,30,2.5,111.05,1.7,63.75 -4097,46,30,2.5,111.05,1.7,63.75 -4098,46,30,2.5,111.05,1.7,63.75 -4099,46,30,2.5,111.05,1.7,63.75 -4100,46,30,2.5,111.05,1.7,63.75 -4101,46,30,2.5,111.05,1.7,63.75 -4102,46,30,2.5,111.05,1.7,63.75 -4103,46,30,2.5,111.05,1.7,63.75 -4104,46,30,2.5,111.05,1.7,63.75 -4105,46,30,2.5,111.05,1.7,63.75 -4106,46,30,2.5,111.05,1.7,63.75 -4107,46,30,2.5,111.05,1.7,63.75 -4108,46,30,2.5,111.05,1.7,63.75 -4109,46,30,2.5,111.05,1.7,63.75 -4110,46,30,2.5,111.05,1.7,63.75 -4111,46,30,2.5,111.05,1.7,63.75 -4112,46,30,2.5,111.05,1.7,63.75 -4113,46,30,2.5,111.05,1.7,63.75 -4114,46,30,2.5,111.05,1.7,63.75 -4115,46,30,2.5,111.05,1.7,63.75 -4116,46,30,2.5,111.05,1.7,63.75 -4117,46,30,2.5,111.05,1.7,63.75 -4118,46,30,2.5,111.05,1.7,63.75 -4119,46,30,2.5,111.05,1.7,63.75 -4120,46,30,2.5,111.05,1.7,63.75 -4121,46,30,2.5,111.05,1.7,63.75 -4122,46,30,2.5,111.05,1.7,63.75 -4123,46,30,2.5,111.05,1.7,63.75 -4124,46,30,2.5,111.05,1.7,63.75 -4125,46,30,2.5,111.05,1.7,63.75 -4126,46,30,2.5,111.05,1.7,63.75 -4127,46,30,2.5,111.05,1.7,63.75 -4128,46,30,2.5,111.05,1.7,63.75 -4129,46,30,2.5,111.05,1.7,63.75 -4130,46,30,2.5,111.05,1.7,63.75 -4131,46,30,2.5,111.05,1.7,63.75 -4132,46,30,2.5,111.05,1.7,63.75 -4133,46,30,2.5,111.05,1.7,63.75 -4134,46,30,2.5,111.05,1.7,63.75 -4135,46,30,2.5,111.05,1.7,63.75 -4136,46,30,2.5,111.05,1.7,63.75 -4137,46,30,2.5,111.05,1.7,63.75 -4138,46,30,2.5,111.05,1.7,63.75 -4139,46,30,2.5,111.05,1.7,63.75 -4140,46,30,2.5,111.05,1.7,63.75 -4141,46,30,2.5,111.05,1.7,63.75 -4142,46,30,2.5,111.05,1.7,63.75 -4143,46,30,2.5,111.05,1.7,63.75 -4144,46,30,2.5,111.05,1.7,63.75 -4145,46,30,2.5,111.05,1.7,63.75 -4146,46,30,2.5,111.05,1.7,63.75 -4147,46,30,2.5,111.05,1.7,63.75 -4148,46,30,2.5,111.05,1.7,63.75 -4149,46,30,2.5,111.05,1.7,63.75 -4150,46,30,2.5,111.05,1.7,63.75 -4151,46,30,2.5,111.05,1.7,63.75 -4152,46,30,2.5,111.05,1.7,63.75 -4153,46,30,2.5,111.05,1.7,63.75 -4154,46,30,2.5,111.05,1.7,63.75 -4155,46,30,2.5,111.05,1.7,63.75 -4156,46,30,2.5,111.05,1.7,63.75 -4157,46,30,2.5,111.05,1.7,63.75 -4158,46,30,2.5,111.05,1.7,63.75 -4159,46,30,2.5,111.05,1.7,63.75 -4160,46,30,2.5,111.05,1.7,63.75 -4161,46,30,2.5,111.05,1.7,63.75 -4162,46,30,2.5,111.05,1.7,63.75 -4163,46,30,2.5,111.05,1.7,63.75 -4164,46,30,2.5,111.05,1.7,63.75 -4165,46,30,2.5,111.05,1.7,63.75 -4166,46,30,2.5,111.05,1.7,63.75 -4167,46,30,2.5,111.05,1.7,63.75 -4168,46,30,2.5,111.05,1.7,63.75 -4169,46,30,2.5,111.05,1.7,63.75 -4170,46,30,2.5,111.05,1.7,63.75 -4171,46,30,2.5,111.05,1.7,63.75 -4172,46,30,2.5,111.05,1.7,63.75 -4173,46,30,2.5,111.05,1.7,63.75 -4174,46,30,2.5,111.05,1.7,63.75 -4175,46,30,2.5,111.05,1.7,63.75 -4176,46,30,2.5,111.05,1.7,63.75 -4177,46,30,2.5,111.05,1.7,63.75 -4178,46,30,2.5,111.05,1.7,63.75 -4179,46,30,2.5,111.05,1.7,63.75 -4180,46,30,2.5,111.05,1.7,63.75 -4181,46,30,2.5,111.05,1.7,63.75 -4182,46,30,2.5,111.05,1.7,63.75 -4183,46,30,2.5,111.05,1.7,63.75 -4184,46,30,2.5,111.05,1.7,63.75 -4185,46,30,2.5,111.05,1.7,63.75 -4186,46,30,2.5,111.05,1.7,63.75 -4187,46,30,2.5,111.05,1.7,63.75 -4188,46,30,2.5,111.05,1.7,63.75 -4189,46,30,2.5,111.05,1.7,63.75 -4190,46,30,2.5,111.05,1.7,63.75 -4191,46,30,2.5,111.05,1.7,63.75 -4192,46,30,2.5,111.05,1.7,63.75 -4193,46,30,2.5,111.05,1.7,63.75 -4194,46,30,2.5,111.05,1.7,63.75 -4195,46,30,2.5,111.05,1.7,63.75 -4196,46,30,2.5,111.05,1.7,63.75 -4197,46,30,2.5,111.05,1.7,63.75 -4198,46,30,2.5,111.05,1.7,63.75 -4199,46,30,2.5,111.05,1.7,63.75 -4200,46,30,2.5,111.05,1.7,63.75 -4201,46,30,2.5,111.05,1.7,63.75 -4202,46,30,2.5,111.05,1.7,63.75 -4203,46,30,2.5,111.05,1.7,63.75 -4204,46,30,2.5,111.05,1.7,63.75 -4205,46,30,2.5,111.05,1.7,63.75 -4206,46,30,2.5,111.05,1.7,63.75 -4207,46,30,2.5,111.05,1.7,63.75 -4208,46,30,2.5,111.05,1.7,63.75 -4209,46,30,2.5,111.05,1.7,63.75 -4210,46,30,2.5,111.05,1.7,63.75 -4211,46,30,2.5,111.05,1.7,63.75 -4212,46,30,2.5,111.05,1.7,63.75 -4213,46,30,2.5,111.05,1.7,63.75 -4214,46,30,2.5,111.05,1.7,63.75 -4215,46,30,2.5,111.05,1.7,63.75 -4216,46,30,2.5,111.05,1.7,63.75 -4217,46,30,2.5,111.05,1.7,63.75 -4218,46,30,2.5,111.05,1.7,63.75 -4219,46,30,2.5,111.05,1.7,63.75 -4220,46,30,2.5,111.05,1.7,63.75 -4221,46,30,2.5,111.05,1.7,63.75 -4222,46,30,2.5,111.05,1.7,63.75 -4223,46,30,2.5,111.05,1.7,63.75 -4224,46,30,2.5,111.05,1.7,63.75 -4225,46,30,2.5,111.05,1.7,63.75 -4226,46,30,2.5,111.05,1.7,63.75 -4227,46,30,2.5,111.05,1.7,63.75 -4228,46,30,2.5,111.05,1.7,63.75 -4229,46,30,2.5,111.05,1.7,63.75 -4230,46,30,2.5,111.05,1.7,63.75 -4231,46,30,2.5,111.05,1.7,63.75 -4232,46,30,2.5,111.05,1.7,63.75 -4233,46,30,2.5,111.05,1.7,63.75 -4234,46,30,2.5,111.05,1.7,63.75 -4235,46,30,2.5,111.05,1.7,63.75 -4236,46,30,2.5,111.05,1.7,63.75 -4237,46,30,2.5,111.05,1.7,63.75 -4238,46,30,2.5,111.05,1.7,63.75 -4239,46,30,2.5,111.05,1.7,63.75 -4240,46,30,2.5,111.05,1.7,63.75 -4241,46,30,2.5,111.05,1.7,63.75 -4242,46,30,2.5,111.05,1.7,63.75 -4243,46,30,2.5,111.05,1.7,63.75 -4244,46,30,2.5,111.05,1.7,63.75 -4245,46,30,2.5,111.05,1.7,63.75 -4246,46,30,2.5,111.05,1.7,63.75 -4247,46,30,2.5,111.05,1.7,63.75 -4248,46,30,2.5,111.05,1.7,63.75 -4249,46,30,2.5,111.05,1.7,63.75 -4250,46,30,2.5,111.05,1.7,63.75 -4251,46,30,2.5,111.05,1.7,63.75 -4252,46,30,2.5,111.05,1.7,63.75 -4253,46,30,2.5,111.05,1.7,63.75 -4254,46,30,2.5,111.05,1.7,63.75 -4255,46,30,2.5,111.05,1.7,63.75 -4256,46,30,2.5,111.05,1.7,63.75 -4257,46,30,2.5,111.05,1.7,63.75 -4258,46,30,2.5,111.05,1.7,63.75 -4259,46,30,2.5,111.05,1.7,63.75 -4260,46,30,2.5,111.05,1.7,63.75 -4261,46,30,2.5,111.05,1.7,63.75 -4262,46,30,2.5,111.05,1.7,63.75 -4263,46,30,2.5,111.05,1.7,63.75 -4264,46,30,2.5,111.05,1.7,63.75 -4265,46,30,2.5,111.05,1.7,63.75 -4266,46,30,2.5,111.05,1.7,63.75 -4267,46,30,2.5,111.05,1.7,63.75 -4268,46,30,2.5,111.05,1.7,63.75 -4269,46,30,2.5,111.05,1.7,63.75 -4270,46,30,2.5,111.05,1.7,63.75 -4271,46,30,2.5,111.05,1.7,63.75 -4272,46,30,2.5,111.05,1.7,63.75 -4273,46,30,2.5,111.05,1.7,63.75 -4274,46,30,2.5,111.05,1.7,63.75 -4275,46,30,2.5,111.05,1.7,63.75 -4276,46,30,2.5,111.05,1.7,63.75 -4277,46,30,2.5,111.05,1.7,63.75 -4278,46,30,2.5,111.05,1.7,63.75 -4279,46,30,2.5,111.05,1.7,63.75 -4280,46,30,2.5,111.05,1.7,63.75 -4281,46,30,2.5,111.05,1.7,63.75 -4282,46,30,2.5,111.05,1.7,63.75 -4283,46,30,2.5,111.05,1.7,63.75 -4284,46,30,2.5,111.05,1.7,63.75 -4285,46,30,2.5,111.05,1.7,63.75 -4286,46,30,2.5,111.05,1.7,63.75 -4287,46,30,2.5,111.05,1.7,63.75 -4288,46,30,2.5,111.05,1.7,63.75 -4289,46,30,2.5,111.05,1.7,63.75 -4290,46,30,2.5,111.05,1.7,63.75 -4291,46,30,2.5,111.05,1.7,63.75 -4292,46,30,2.5,111.05,1.7,63.75 -4293,46,30,2.5,111.05,1.7,63.75 -4294,46,30,2.5,111.05,1.7,63.75 -4295,46,30,2.5,111.05,1.7,63.75 -4296,46,30,2.5,111.05,1.7,63.75 -4297,46,30,2.5,111.05,1.7,63.75 -4298,46,30,2.5,111.05,1.7,63.75 -4299,46,30,2.5,111.05,1.7,63.75 -4300,46,30,2.5,111.05,1.7,63.75 -4301,46,30,2.5,111.05,1.7,63.75 -4302,46,30,2.5,111.05,1.7,63.75 -4303,46,30,2.5,111.05,1.7,63.75 -4304,46,30,2.5,111.05,1.7,63.75 -4305,46,30,2.5,111.05,1.7,63.75 -4306,46,30,2.5,111.05,1.7,63.75 -4307,46,30,2.5,111.05,1.7,63.75 -4308,46,30,2.5,111.05,1.7,63.75 -4309,46,30,2.5,111.05,1.7,63.75 -4310,46,30,2.5,111.05,1.7,63.75 -4311,46,30,2.5,111.05,1.7,63.75 -4312,46,30,2.5,111.05,1.7,63.75 -4313,46,30,2.5,111.05,1.7,63.75 -4314,46,30,2.5,111.05,1.7,63.75 -4315,46,30,2.5,111.05,1.7,63.75 -4316,46,30,2.5,111.05,1.7,63.75 -4317,46,30,2.5,111.05,1.7,63.75 -4318,46,30,2.5,111.05,1.7,63.75 -4319,46,30,2.5,111.05,1.7,63.75 -4320,46,30,2.5,111.05,1.7,63.75 -4321,46,30,2.5,111.05,1.7,63.75 -4322,46,30,2.5,111.05,1.7,63.75 -4323,46,30,2.5,111.05,1.7,63.75 -4324,46,30,2.5,111.05,1.7,63.75 -4325,46,30,2.5,111.05,1.7,63.75 -4326,46,30,2.5,111.05,1.7,63.75 -4327,46,30,2.5,111.05,1.7,63.75 -4328,46,30,2.5,111.05,1.7,63.75 -4329,46,30,2.5,111.05,1.7,63.75 -4330,46,30,2.5,111.05,1.7,63.75 -4331,46,30,2.5,111.05,1.7,63.75 -4332,46,30,2.5,111.05,1.7,63.75 -4333,46,30,2.5,111.05,1.7,63.75 -4334,46,30,2.5,111.05,1.7,63.75 -4335,46,30,2.5,111.05,1.7,63.75 -4336,46,30,2.5,111.05,1.7,63.75 -4337,46,30,2.5,111.05,1.7,63.75 -4338,46,30,2.5,111.05,1.7,63.75 -4339,46,30,2.5,111.05,1.7,63.75 -4340,46,30,2.5,111.05,1.7,63.75 -4341,46,30,2.5,111.05,1.7,63.75 -4342,46,30,2.5,111.05,1.7,63.75 -4343,46,30,2.5,111.05,1.7,63.75 -4344,46,30,2.5,111.05,1.7,63.75 -4345,46,30,2.5,111.05,1.7,63.75 -4346,46,30,2.5,111.05,1.7,63.75 -4347,46,30,2.5,111.05,1.7,63.75 -4348,46,30,2.5,111.05,1.7,63.75 -4349,46,30,2.5,111.05,1.7,63.75 -4350,46,30,2.5,111.05,1.7,63.75 -4351,46,30,2.5,111.05,1.7,63.75 -4352,46,30,2.5,111.05,1.7,63.75 -4353,46,30,2.5,111.05,1.7,63.75 -4354,46,30,2.5,111.05,1.7,63.75 -4355,46,30,2.5,111.05,1.7,63.75 -4356,46,30,2.5,111.05,1.7,63.75 -4357,46,30,2.5,111.05,1.7,63.75 -4358,46,30,2.5,111.05,1.7,63.75 -4359,46,30,2.5,111.05,1.7,63.75 -4360,46,30,2.5,111.05,1.7,63.75 -4361,46,30,2.5,111.05,1.7,63.75 -4362,46,30,2.5,111.05,1.7,63.75 -4363,46,30,2.5,111.05,1.7,63.75 -4364,46,30,2.5,111.05,1.7,63.75 -4365,46,30,2.5,111.05,1.7,63.75 -4366,46,30,2.5,111.05,1.7,63.75 -4367,46,30,2.5,111.05,1.7,63.75 -4368,46,30,2.5,111.05,1.7,63.75 -4369,46,30,2.5,111.05,1.7,63.75 -4370,46,30,2.5,111.05,1.7,63.75 -4371,46,30,2.5,111.05,1.7,63.75 -4372,46,30,2.5,111.05,1.7,63.75 -4373,46,30,2.5,111.05,1.7,63.75 -4374,46,30,2.5,111.05,1.7,63.75 -4375,46,30,2.5,111.05,1.7,63.75 -4376,46,30,2.5,111.05,1.7,63.75 -4377,46,30,2.5,111.05,1.7,63.75 -4378,46,30,2.5,111.05,1.7,63.75 -4379,46,30,2.5,111.05,1.7,63.75 -4380,46,30,2.5,111.05,1.7,63.75 -4381,46,30,2.5,111.05,1.7,63.75 -4382,46,30,2.5,111.05,1.7,63.75 -4383,46,30,2.5,111.05,1.7,63.75 -4384,46,30,2.5,111.05,1.7,63.75 -4385,46,30,2.5,111.05,1.7,63.75 -4386,46,30,2.5,111.05,1.7,63.75 -4387,46,30,2.5,111.05,1.7,63.75 -4388,46,30,2.5,111.05,1.7,63.75 -4389,46,30,2.5,111.05,1.7,63.75 -4390,46,30,2.5,111.05,1.7,63.75 -4391,46,30,2.5,111.05,1.7,63.75 -4392,46,30,2.5,111.05,1.7,63.75 -4393,46,30,2.5,111.05,1.7,63.75 -4394,46,30,2.5,111.05,1.7,63.75 -4395,46,30,2.5,111.05,1.7,63.75 -4396,46,30,2.5,111.05,1.7,63.75 -4397,46,30,2.5,111.05,1.7,63.75 -4398,46,30,2.5,111.05,1.7,63.75 -4399,46,30,2.5,111.05,1.7,63.75 -4400,46,30,2.5,111.05,1.7,63.75 -4401,46,30,2.5,111.05,1.7,63.75 -4402,46,30,2.5,111.05,1.7,63.75 -4403,46,30,2.5,111.05,1.7,63.75 -4404,46,30,2.5,111.05,1.7,63.75 -4405,46,30,2.5,111.05,1.7,63.75 -4406,46,30,2.5,111.05,1.7,63.75 -4407,46,30,2.5,111.05,1.7,63.75 -4408,46,30,2.5,111.05,1.7,63.75 -4409,46,30,2.5,111.05,1.7,63.75 -4410,46,30,2.5,111.05,1.7,63.75 -4411,46,30,2.5,111.05,1.7,63.75 -4412,46,30,2.5,111.05,1.7,63.75 -4413,46,30,2.5,111.05,1.7,63.75 -4414,46,30,2.5,111.05,1.7,63.75 -4415,46,30,2.5,111.05,1.7,63.75 -4416,46,30,2.5,111.05,1.7,63.75 -4417,46,30,2.5,111.05,1.7,63.75 -4418,46,30,2.5,111.05,1.7,63.75 -4419,46,30,2.5,111.05,1.7,63.75 -4420,46,30,2.5,111.05,1.7,63.75 -4421,46,30,2.5,111.05,1.7,63.75 -4422,46,30,2.5,111.05,1.7,63.75 -4423,46,30,2.5,111.05,1.7,63.75 -4424,46,30,2.5,111.05,1.7,63.75 -4425,46,30,2.5,111.05,1.7,63.75 -4426,46,30,2.5,111.05,1.7,63.75 -4427,46,30,2.5,111.05,1.7,63.75 -4428,46,30,2.5,111.05,1.7,63.75 -4429,46,30,2.5,111.05,1.7,63.75 -4430,46,30,2.5,111.05,1.7,63.75 -4431,46,30,2.5,111.05,1.7,63.75 -4432,46,30,2.5,111.05,1.7,63.75 -4433,46,30,2.5,111.05,1.7,63.75 -4434,46,30,2.5,111.05,1.7,63.75 -4435,46,30,2.5,111.05,1.7,63.75 -4436,46,30,2.5,111.05,1.7,63.75 -4437,46,30,2.5,111.05,1.7,63.75 -4438,46,30,2.5,111.05,1.7,63.75 -4439,46,30,2.5,111.05,1.7,63.75 -4440,46,30,2.5,111.05,1.7,63.75 -4441,46,30,2.5,111.05,1.7,63.75 -4442,46,30,2.5,111.05,1.7,63.75 -4443,46,30,2.5,111.05,1.7,63.75 -4444,46,30,2.5,111.05,1.7,63.75 -4445,46,30,2.5,111.05,1.7,63.75 -4446,46,30,2.5,111.05,1.7,63.75 -4447,46,30,2.5,111.05,1.7,63.75 -4448,46,30,2.5,111.05,1.7,63.75 -4449,46,30,2.5,111.05,1.7,63.75 -4450,46,30,2.5,111.05,1.7,63.75 -4451,46,30,2.5,111.05,1.7,63.75 -4452,46,30,2.5,111.05,1.7,63.75 -4453,46,30,2.5,111.05,1.7,63.75 -4454,46,30,2.5,111.05,1.7,63.75 -4455,46,30,2.5,111.05,1.7,63.75 -4456,46,30,2.5,111.05,1.7,63.75 -4457,46,30,2.5,111.05,1.7,63.75 -4458,46,30,2.5,111.05,1.7,63.75 -4459,46,30,2.5,111.05,1.7,63.75 -4460,46,30,2.5,111.05,1.7,63.75 -4461,46,30,2.5,111.05,1.7,63.75 -4462,46,30,2.5,111.05,1.7,63.75 -4463,46,30,2.5,111.05,1.7,63.75 -4464,46,30,2.5,111.05,1.7,63.75 -4465,46,30,2.5,111.05,1.7,63.75 -4466,46,30,2.5,111.05,1.7,63.75 -4467,46,30,2.5,111.05,1.7,63.75 -4468,46,30,2.5,111.05,1.7,63.75 -4469,46,30,2.5,111.05,1.7,63.75 -4470,46,30,2.5,111.05,1.7,63.75 -4471,46,30,2.5,111.05,1.7,63.75 -4472,46,30,2.5,111.05,1.7,63.75 -4473,46,30,2.5,111.05,1.7,63.75 -4474,46,30,2.5,111.05,1.7,63.75 -4475,46,30,2.5,111.05,1.7,63.75 -4476,46,30,2.5,111.05,1.7,63.75 -4477,46,30,2.5,111.05,1.7,63.75 -4478,46,30,2.5,111.05,1.7,63.75 -4479,46,30,2.5,111.05,1.7,63.75 -4480,46,30,2.5,111.05,1.7,63.75 -4481,46,30,2.5,111.05,1.7,63.75 -4482,46,30,2.5,111.05,1.7,63.75 -4483,46,30,2.5,111.05,1.7,63.75 -4484,46,30,2.5,111.05,1.7,63.75 -4485,46,30,2.5,111.05,1.7,63.75 -4486,46,30,2.5,111.05,1.7,63.75 -4487,46,30,2.5,111.05,1.7,63.75 -4488,46,30,2.5,111.05,1.7,63.75 -4489,46,30,2.5,111.05,1.7,63.75 -4490,46,30,2.5,111.05,1.7,63.75 -4491,46,30,2.5,111.05,1.7,63.75 -4492,46,30,2.5,111.05,1.7,63.75 -4493,46,30,2.5,111.05,1.7,63.75 -4494,46,30,2.5,111.05,1.7,63.75 -4495,46,30,2.5,111.05,1.7,63.75 -4496,46,30,2.5,111.05,1.7,63.75 -4497,46,30,2.5,111.05,1.7,63.75 -4498,46,30,2.5,111.05,1.7,63.75 -4499,46,30,2.5,111.05,1.7,63.75 -4500,46,30,2.5,111.05,1.7,63.75 -4501,46,30,2.5,111.05,1.7,63.75 -4502,46,30,2.5,111.05,1.7,63.75 -4503,46,30,2.5,111.05,1.7,63.75 -4504,46,30,2.5,111.05,1.7,63.75 -4505,46,30,2.5,111.05,1.7,63.75 -4506,46,30,2.5,111.05,1.7,63.75 -4507,46,30,2.5,111.05,1.7,63.75 -4508,46,30,2.5,111.05,1.7,63.75 -4509,46,30,2.5,111.05,1.7,63.75 -4510,46,30,2.5,111.05,1.7,63.75 -4511,46,30,2.5,111.05,1.7,63.75 -4512,46,30,2.5,111.05,1.7,63.75 -4513,46,30,2.5,111.05,1.7,63.75 -4514,46,30,2.5,111.05,1.7,63.75 -4515,46,30,2.5,111.05,1.7,63.75 -4516,46,30,2.5,111.05,1.7,63.75 -4517,46,30,2.5,111.05,1.7,63.75 -4518,46,30,2.5,111.05,1.7,63.75 -4519,46,30,2.5,111.05,1.7,63.75 -4520,46,30,2.5,111.05,1.7,63.75 -4521,46,30,2.5,111.05,1.7,63.75 -4522,46,30,2.5,111.05,1.7,63.75 -4523,46,30,2.5,111.05,1.7,63.75 -4524,46,30,2.5,111.05,1.7,63.75 -4525,46,30,2.5,111.05,1.7,63.75 -4526,46,30,2.5,111.05,1.7,63.75 -4527,46,30,2.5,111.05,1.7,63.75 -4528,46,30,2.5,111.05,1.7,63.75 -4529,46,30,2.5,111.05,1.7,63.75 -4530,46,30,2.5,111.05,1.7,63.75 -4531,46,30,2.5,111.05,1.7,63.75 -4532,46,30,2.5,111.05,1.7,63.75 -4533,46,30,2.5,111.05,1.7,63.75 -4534,46,30,2.5,111.05,1.7,63.75 -4535,46,30,2.5,111.05,1.7,63.75 -4536,46,30,2.5,111.05,1.7,63.75 -4537,46,30,2.5,111.05,1.7,63.75 -4538,46,30,2.5,111.05,1.7,63.75 -4539,46,30,2.5,111.05,1.7,63.75 -4540,46,30,2.5,111.05,1.7,63.75 -4541,46,30,2.5,111.05,1.7,63.75 -4542,46,30,2.5,111.05,1.7,63.75 -4543,46,30,2.5,111.05,1.7,63.75 -4544,46,30,2.5,111.05,1.7,63.75 -4545,46,30,2.5,111.05,1.7,63.75 -4546,46,30,2.5,111.05,1.7,63.75 -4547,46,30,2.5,111.05,1.7,63.75 -4548,46,30,2.5,111.05,1.7,63.75 -4549,46,30,2.5,111.05,1.7,63.75 -4550,46,30,2.5,111.05,1.7,63.75 -4551,46,30,2.5,111.05,1.7,63.75 -4552,46,30,2.5,111.05,1.7,63.75 -4553,46,30,2.5,111.05,1.7,63.75 -4554,46,30,2.5,111.05,1.7,63.75 -4555,46,30,2.5,111.05,1.7,63.75 -4556,46,30,2.5,111.05,1.7,63.75 -4557,46,30,2.5,111.05,1.7,63.75 -4558,46,30,2.5,111.05,1.7,63.75 -4559,46,30,2.5,111.05,1.7,63.75 -4560,46,30,2.5,111.05,1.7,63.75 -4561,46,30,2.5,111.05,1.7,63.75 -4562,46,30,2.5,111.05,1.7,63.75 -4563,46,30,2.5,111.05,1.7,63.75 -4564,46,30,2.5,111.05,1.7,63.75 -4565,46,30,2.5,111.05,1.7,63.75 -4566,46,30,2.5,111.05,1.7,63.75 -4567,46,30,2.5,111.05,1.7,63.75 -4568,46,30,2.5,111.05,1.7,63.75 -4569,46,30,2.5,111.05,1.7,63.75 -4570,46,30,2.5,111.05,1.7,63.75 -4571,46,30,2.5,111.05,1.7,63.75 -4572,46,30,2.5,111.05,1.7,63.75 -4573,46,30,2.5,111.05,1.7,63.75 -4574,46,30,2.5,111.05,1.7,63.75 -4575,46,30,2.5,111.05,1.7,63.75 -4576,46,30,2.5,111.05,1.7,63.75 -4577,46,30,2.5,111.05,1.7,63.75 -4578,46,30,2.5,111.05,1.7,63.75 -4579,46,30,2.5,111.05,1.7,63.75 -4580,46,30,2.5,111.05,1.7,63.75 -4581,46,30,2.5,111.05,1.7,63.75 -4582,46,30,2.5,111.05,1.7,63.75 -4583,46,30,2.5,111.05,1.7,63.75 -4584,46,30,2.5,111.05,1.7,63.75 -4585,46,30,2.5,111.05,1.7,63.75 -4586,46,30,2.5,111.05,1.7,63.75 -4587,46,30,2.5,111.05,1.7,63.75 -4588,46,30,2.5,111.05,1.7,63.75 -4589,46,30,2.5,111.05,1.7,63.75 -4590,46,30,2.5,111.05,1.7,63.75 -4591,46,30,2.5,111.05,1.7,63.75 -4592,46,30,2.5,111.05,1.7,63.75 -4593,46,30,2.5,111.05,1.7,63.75 -4594,46,30,2.5,111.05,1.7,63.75 -4595,46,30,2.5,111.05,1.7,63.75 -4596,46,30,2.5,111.05,1.7,63.75 -4597,46,30,2.5,111.05,1.7,63.75 -4598,46,30,2.5,111.05,1.7,63.75 -4599,46,30,2.5,111.05,1.7,63.75 -4600,46,30,2.5,111.05,1.7,63.75 -4601,46,30,2.5,111.05,1.7,63.75 -4602,46,30,2.5,111.05,1.7,63.75 -4603,46,30,2.5,111.05,1.7,63.75 -4604,46,30,2.5,111.05,1.7,63.75 -4605,46,30,2.5,111.05,1.7,63.75 -4606,46,30,2.5,111.05,1.7,63.75 -4607,46,30,2.5,111.05,1.7,63.75 -4608,46,30,2.5,111.05,1.7,63.75 -4609,46,30,2.5,111.05,1.7,63.75 -4610,46,30,2.5,111.05,1.7,63.75 -4611,46,30,2.5,111.05,1.7,63.75 -4612,46,30,2.5,111.05,1.7,63.75 -4613,46,30,2.5,111.05,1.7,63.75 -4614,46,30,2.5,111.05,1.7,63.75 -4615,46,30,2.5,111.05,1.7,63.75 -4616,46,30,2.5,111.05,1.7,63.75 -4617,46,30,2.5,111.05,1.7,63.75 -4618,46,30,2.5,111.05,1.7,63.75 -4619,46,30,2.5,111.05,1.7,63.75 -4620,46,30,2.5,111.05,1.7,63.75 -4621,46,30,2.5,111.05,1.7,63.75 -4622,46,30,2.5,111.05,1.7,63.75 -4623,46,30,2.5,111.05,1.7,63.75 -4624,46,30,2.5,111.05,1.7,63.75 -4625,46,30,2.5,111.05,1.7,63.75 -4626,46,30,2.5,111.05,1.7,63.75 -4627,46,30,2.5,111.05,1.7,63.75 -4628,46,30,2.5,111.05,1.7,63.75 -4629,46,30,2.5,111.05,1.7,63.75 -4630,46,30,2.5,111.05,1.7,63.75 -4631,46,30,2.5,111.05,1.7,63.75 -4632,46,30,2.5,111.05,1.7,63.75 -4633,46,30,2.5,111.05,1.7,63.75 -4634,46,30,2.5,111.05,1.7,63.75 -4635,46,30,2.5,111.05,1.7,63.75 -4636,46,30,2.5,111.05,1.7,63.75 -4637,46,30,2.5,111.05,1.7,63.75 -4638,46,30,2.5,111.05,1.7,63.75 -4639,46,30,2.5,111.05,1.7,63.75 -4640,46,30,2.5,111.05,1.7,63.75 -4641,46,30,2.5,111.05,1.7,63.75 -4642,46,30,2.5,111.05,1.7,63.75 -4643,46,30,2.5,111.05,1.7,63.75 -4644,46,30,2.5,111.05,1.7,63.75 -4645,46,30,2.5,111.05,1.7,63.75 -4646,46,30,2.5,111.05,1.7,63.75 -4647,46,30,2.5,111.05,1.7,63.75 -4648,46,30,2.5,111.05,1.7,63.75 -4649,46,30,2.5,111.05,1.7,63.75 -4650,46,30,2.5,111.05,1.7,63.75 -4651,46,30,2.5,111.05,1.7,63.75 -4652,46,30,2.5,111.05,1.7,63.75 -4653,46,30,2.5,111.05,1.7,63.75 -4654,46,30,2.5,111.05,1.7,63.75 -4655,46,30,2.5,111.05,1.7,63.75 -4656,46,30,2.5,111.05,1.7,63.75 -4657,46,30,2.5,111.05,1.7,63.75 -4658,46,30,2.5,111.05,1.7,63.75 -4659,46,30,2.5,111.05,1.7,63.75 -4660,46,30,2.5,111.05,1.7,63.75 -4661,46,30,2.5,111.05,1.7,63.75 -4662,46,30,2.5,111.05,1.7,63.75 -4663,46,30,2.5,111.05,1.7,63.75 -4664,46,30,2.5,111.05,1.7,63.75 -4665,46,30,2.5,111.05,1.7,63.75 -4666,46,30,2.5,111.05,1.7,63.75 -4667,46,30,2.5,111.05,1.7,63.75 -4668,46,30,2.5,111.05,1.7,63.75 -4669,46,30,2.5,111.05,1.7,63.75 -4670,46,30,2.5,111.05,1.7,63.75 -4671,46,30,2.5,111.05,1.7,63.75 -4672,46,30,2.5,111.05,1.7,63.75 -4673,46,30,2.5,111.05,1.7,63.75 -4674,46,30,2.5,111.05,1.7,63.75 -4675,46,30,2.5,111.05,1.7,63.75 -4676,46,30,2.5,111.05,1.7,63.75 -4677,46,30,2.5,111.05,1.7,63.75 -4678,46,30,2.5,111.05,1.7,63.75 -4679,46,30,2.5,111.05,1.7,63.75 -4680,46,30,2.5,111.05,1.7,63.75 -4681,46,30,2.5,111.05,1.7,63.75 -4682,46,30,2.5,111.05,1.7,63.75 -4683,46,30,2.5,111.05,1.7,63.75 -4684,46,30,2.5,111.05,1.7,63.75 -4685,46,30,2.5,111.05,1.7,63.75 -4686,46,30,2.5,111.05,1.7,63.75 -4687,46,30,2.5,111.05,1.7,63.75 -4688,46,30,2.5,111.05,1.7,63.75 -4689,46,30,2.5,111.05,1.7,63.75 -4690,46,30,2.5,111.05,1.7,63.75 -4691,46,30,2.5,111.05,1.7,63.75 -4692,46,30,2.5,111.05,1.7,63.75 -4693,46,30,2.5,111.05,1.7,63.75 -4694,46,30,2.5,111.05,1.7,63.75 -4695,46,30,2.5,111.05,1.7,63.75 -4696,46,30,2.5,111.05,1.7,63.75 -4697,46,30,2.5,111.05,1.7,63.75 -4698,46,30,2.5,111.05,1.7,63.75 -4699,46,30,2.5,111.05,1.7,63.75 -4700,46,30,2.5,111.05,1.7,63.75 -4701,46,30,2.5,111.05,1.7,63.75 -4702,46,30,2.5,111.05,1.7,63.75 -4703,46,30,2.5,111.05,1.7,63.75 -4704,46,30,2.5,111.05,1.7,63.75 -4705,46,30,2.5,111.05,1.7,63.75 -4706,46,30,2.5,111.05,1.7,63.75 -4707,46,30,2.5,111.05,1.7,63.75 -4708,46,30,2.5,111.05,1.7,63.75 -4709,46,30,2.5,111.05,1.7,63.75 -4710,46,30,2.5,111.05,1.7,63.75 -4711,46,30,2.5,111.05,1.7,63.75 -4712,46,30,2.5,111.05,1.7,63.75 -4713,46,30,2.5,111.05,1.7,63.75 -4714,46,30,2.5,111.05,1.7,63.75 -4715,46,30,2.5,111.05,1.7,63.75 -4716,46,30,2.5,111.05,1.7,63.75 -4717,46,30,2.5,111.05,1.7,63.75 -4718,46,30,2.5,111.05,1.7,63.75 -4719,46,30,2.5,111.05,1.7,63.75 -4720,46,30,2.5,111.05,1.7,63.75 -4721,46,30,2.5,111.05,1.7,63.75 -4722,46,30,2.5,111.05,1.7,63.75 -4723,46,30,2.5,111.05,1.7,63.75 -4724,46,30,2.5,111.05,1.7,63.75 -4725,46,30,2.5,111.05,1.7,63.75 -4726,46,30,2.5,111.05,1.7,63.75 -4727,46,30,2.5,111.05,1.7,63.75 -4728,46,30,2.5,111.05,1.7,63.75 -4729,46,30,2.5,111.05,1.7,63.75 -4730,46,30,2.5,111.05,1.7,63.75 -4731,46,30,2.5,111.05,1.7,63.75 -4732,46,30,2.5,111.05,1.7,63.75 -4733,46,30,2.5,111.05,1.7,63.75 -4734,46,30,2.5,111.05,1.7,63.75 -4735,46,30,2.5,111.05,1.7,63.75 -4736,46,30,2.5,111.05,1.7,63.75 -4737,46,30,2.5,111.05,1.7,63.75 -4738,46,30,2.5,111.05,1.7,63.75 -4739,46,30,2.5,111.05,1.7,63.75 -4740,46,30,2.5,111.05,1.7,63.75 -4741,46,30,2.5,111.05,1.7,63.75 -4742,46,30,2.5,111.05,1.7,63.75 -4743,46,30,2.5,111.05,1.7,63.75 -4744,46,30,2.5,111.05,1.7,63.75 -4745,46,30,2.5,111.05,1.7,63.75 -4746,46,30,2.5,111.05,1.7,63.75 -4747,46,30,2.5,111.05,1.7,63.75 -4748,46,30,2.5,111.05,1.7,63.75 -4749,46,30,2.5,111.05,1.7,63.75 -4750,46,30,2.5,111.05,1.7,63.75 -4751,46,30,2.5,111.05,1.7,63.75 -4752,46,30,2.5,111.05,1.7,63.75 -4753,46,30,2.5,111.05,1.7,63.75 -4754,46,30,2.5,111.05,1.7,63.75 -4755,46,30,2.5,111.05,1.7,63.75 -4756,46,30,2.5,111.05,1.7,63.75 -4757,46,30,2.5,111.05,1.7,63.75 -4758,46,30,2.5,111.05,1.7,63.75 -4759,46,30,2.5,111.05,1.7,63.75 -4760,46,30,2.5,111.05,1.7,63.75 -4761,46,30,2.5,111.05,1.7,63.75 -4762,46,30,2.5,111.05,1.7,63.75 -4763,46,30,2.5,111.05,1.7,63.75 -4764,46,30,2.5,111.05,1.7,63.75 -4765,46,30,2.5,111.05,1.7,63.75 -4766,46,30,2.5,111.05,1.7,63.75 -4767,46,30,2.5,111.05,1.7,63.75 -4768,46,30,2.5,111.05,1.7,63.75 -4769,46,30,2.5,111.05,1.7,63.75 -4770,46,30,2.5,111.05,1.7,63.75 -4771,46,30,2.5,111.05,1.7,63.75 -4772,46,30,2.5,111.05,1.7,63.75 -4773,46,30,2.5,111.05,1.7,63.75 -4774,46,30,2.5,111.05,1.7,63.75 -4775,46,30,2.5,111.05,1.7,63.75 -4776,46,30,2.5,111.05,1.7,63.75 -4777,46,30,2.5,111.05,1.7,63.75 -4778,46,30,2.5,111.05,1.7,63.75 -4779,46,30,2.5,111.05,1.7,63.75 -4780,46,30,2.5,111.05,1.7,63.75 -4781,46,30,2.5,111.05,1.7,63.75 -4782,46,30,2.5,111.05,1.7,63.75 -4783,46,30,2.5,111.05,1.7,63.75 -4784,46,30,2.5,111.05,1.7,63.75 -4785,46,30,2.5,111.05,1.7,63.75 -4786,46,30,2.5,111.05,1.7,63.75 -4787,46,30,2.5,111.05,1.7,63.75 -4788,46,30,2.5,111.05,1.7,63.75 -4789,46,30,2.5,111.05,1.7,63.75 -4790,46,30,2.5,111.05,1.7,63.75 -4791,46,30,2.5,111.05,1.7,63.75 -4792,46,30,2.5,111.05,1.7,63.75 -4793,46,30,2.5,111.05,1.7,63.75 -4794,46,30,2.5,111.05,1.7,63.75 -4795,46,30,2.5,111.05,1.7,63.75 -4796,46,30,2.5,111.05,1.7,63.75 -4797,46,30,2.5,111.05,1.7,63.75 -4798,46,30,2.5,111.05,1.7,63.75 -4799,46,30,2.5,111.05,1.7,63.75 -4800,46,30,2.5,111.05,1.7,63.75 -4801,46,30,2.5,111.05,1.7,63.75 -4802,46,30,2.5,111.05,1.7,63.75 -4803,46,30,2.5,111.05,1.7,63.75 -4804,46,30,2.5,111.05,1.7,63.75 -4805,46,30,2.5,111.05,1.7,63.75 -4806,46,30,2.5,111.05,1.7,63.75 -4807,46,30,2.5,111.05,1.7,63.75 -4808,46,30,2.5,111.05,1.7,63.75 -4809,46,30,2.5,111.05,1.7,63.75 -4810,46,30,2.5,111.05,1.7,63.75 -4811,46,30,2.5,111.05,1.7,63.75 -4812,46,30,2.5,111.05,1.7,63.75 -4813,46,30,2.5,111.05,1.7,63.75 -4814,46,30,2.5,111.05,1.7,63.75 -4815,46,30,2.5,111.05,1.7,63.75 -4816,46,30,2.5,111.05,1.7,63.75 -4817,46,30,2.5,111.05,1.7,63.75 -4818,46,30,2.5,111.05,1.7,63.75 -4819,46,30,2.5,111.05,1.7,63.75 -4820,46,30,2.5,111.05,1.7,63.75 -4821,46,30,2.5,111.05,1.7,63.75 -4822,46,30,2.5,111.05,1.7,63.75 -4823,46,30,2.5,111.05,1.7,63.75 -4824,46,30,2.5,111.05,1.7,63.75 -4825,46,30,2.5,111.05,1.7,63.75 -4826,46,30,2.5,111.05,1.7,63.75 -4827,46,30,2.5,111.05,1.7,63.75 -4828,46,30,2.5,111.05,1.7,63.75 -4829,46,30,2.5,111.05,1.7,63.75 -4830,46,30,2.5,111.05,1.7,63.75 -4831,46,30,2.5,111.05,1.7,63.75 -4832,46,30,2.5,111.05,1.7,63.75 -4833,46,30,2.5,111.05,1.7,63.75 -4834,46,30,2.5,111.05,1.7,63.75 -4835,46,30,2.5,111.05,1.7,63.75 -4836,46,30,2.5,111.05,1.7,63.75 -4837,46,30,2.5,111.05,1.7,63.75 -4838,46,30,2.5,111.05,1.7,63.75 -4839,46,30,2.5,111.05,1.7,63.75 -4840,46,30,2.5,111.05,1.7,63.75 -4841,46,30,2.5,111.05,1.7,63.75 -4842,46,30,2.5,111.05,1.7,63.75 -4843,46,30,2.5,111.05,1.7,63.75 -4844,46,30,2.5,111.05,1.7,63.75 -4845,46,30,2.5,111.05,1.7,63.75 -4846,46,30,2.5,111.05,1.7,63.75 -4847,46,30,2.5,111.05,1.7,63.75 -4848,46,30,2.5,111.05,1.7,63.75 -4849,46,30,2.5,111.05,1.7,63.75 -4850,46,30,2.5,111.05,1.7,63.75 -4851,46,30,2.5,111.05,1.7,63.75 -4852,46,30,2.5,111.05,1.7,63.75 -4853,46,30,2.5,111.05,1.7,63.75 -4854,46,30,2.5,111.05,1.7,63.75 -4855,46,30,2.5,111.05,1.7,63.75 -4856,46,30,2.5,111.05,1.7,63.75 -4857,46,30,2.5,111.05,1.7,63.75 -4858,46,30,2.5,111.05,1.7,63.75 -4859,46,30,2.5,111.05,1.7,63.75 -4860,46,30,2.5,111.05,1.7,63.75 -4861,46,30,2.5,111.05,1.7,63.75 -4862,46,30,2.5,111.05,1.7,63.75 -4863,46,30,2.5,111.05,1.7,63.75 -4864,46,30,2.5,111.05,1.7,63.75 -4865,46,30,2.5,111.05,1.7,63.75 -4866,46,30,2.5,111.05,1.7,63.75 -4867,46,30,2.5,111.05,1.7,63.75 -4868,46,30,2.5,111.05,1.7,63.75 -4869,46,30,2.5,111.05,1.7,63.75 -4870,46,30,2.5,111.05,1.7,63.75 -4871,46,30,2.5,111.05,1.7,63.75 -4872,46,30,2.5,111.05,1.7,63.75 -4873,46,30,2.5,111.05,1.7,63.75 -4874,46,30,2.5,111.05,1.7,63.75 -4875,46,30,2.5,111.05,1.7,63.75 -4876,46,30,2.5,111.05,1.7,63.75 -4877,46,30,2.5,111.05,1.7,63.75 -4878,46,30,2.5,111.05,1.7,63.75 -4879,46,30,2.5,111.05,1.7,63.75 -4880,46,30,2.5,111.05,1.7,63.75 -4881,46,30,2.5,111.05,1.7,63.75 -4882,46,30,2.5,111.05,1.7,63.75 -4883,46,30,2.5,111.05,1.7,63.75 -4884,46,30,2.5,111.05,1.7,63.75 -4885,46,30,2.5,111.05,1.7,63.75 -4886,46,30,2.5,111.05,1.7,63.75 -4887,46,30,2.5,111.05,1.7,63.75 -4888,46,30,2.5,111.05,1.7,63.75 -4889,46,30,2.5,111.05,1.7,63.75 -4890,46,30,2.5,111.05,1.7,63.75 -4891,46,30,2.5,111.05,1.7,63.75 -4892,46,30,2.5,111.05,1.7,63.75 -4893,46,30,2.5,111.05,1.7,63.75 -4894,46,30,2.5,111.05,1.7,63.75 -4895,46,30,2.5,111.05,1.7,63.75 -4896,46,30,2.5,111.05,1.7,63.75 -4897,46,30,2.5,111.05,1.7,63.75 -4898,46,30,2.5,111.05,1.7,63.75 -4899,46,30,2.5,111.05,1.7,63.75 -4900,46,30,2.5,111.05,1.7,63.75 -4901,46,30,2.5,111.05,1.7,63.75 -4902,46,30,2.5,111.05,1.7,63.75 -4903,46,30,2.5,111.05,1.7,63.75 -4904,46,30,2.5,111.05,1.7,63.75 -4905,46,30,2.5,111.05,1.7,63.75 -4906,46,30,2.5,111.05,1.7,63.75 -4907,46,30,2.5,111.05,1.7,63.75 -4908,46,30,2.5,111.05,1.7,63.75 -4909,46,30,2.5,111.05,1.7,63.75 -4910,46,30,2.5,111.05,1.7,63.75 -4911,46,30,2.5,111.05,1.7,63.75 -4912,46,30,2.5,111.05,1.7,63.75 -4913,46,30,2.5,111.05,1.7,63.75 -4914,46,30,2.5,111.05,1.7,63.75 -4915,46,30,2.5,111.05,1.7,63.75 -4916,46,30,2.5,111.05,1.7,63.75 -4917,46,30,2.5,111.05,1.7,63.75 -4918,46,30,2.5,111.05,1.7,63.75 -4919,46,30,2.5,111.05,1.7,63.75 -4920,46,30,2.5,111.05,1.7,63.75 -4921,46,30,2.5,111.05,1.7,63.75 -4922,46,30,2.5,111.05,1.7,63.75 -4923,46,30,2.5,111.05,1.7,63.75 -4924,46,30,2.5,111.05,1.7,63.75 -4925,46,30,2.5,111.05,1.7,63.75 -4926,46,30,2.5,111.05,1.7,63.75 -4927,46,30,2.5,111.05,1.7,63.75 -4928,46,30,2.5,111.05,1.7,63.75 -4929,46,30,2.5,111.05,1.7,63.75 -4930,46,30,2.5,111.05,1.7,63.75 -4931,46,30,2.5,111.05,1.7,63.75 -4932,46,30,2.5,111.05,1.7,63.75 -4933,46,30,2.5,111.05,1.7,63.75 -4934,46,30,2.5,111.05,1.7,63.75 -4935,46,30,2.5,111.05,1.7,63.75 -4936,46,30,2.5,111.05,1.7,63.75 -4937,46,30,2.5,111.05,1.7,63.75 -4938,46,30,2.5,111.05,1.7,63.75 -4939,46,30,2.5,111.05,1.7,63.75 -4940,46,30,2.5,111.05,1.7,63.75 -4941,46,30,2.5,111.05,1.7,63.75 -4942,46,30,2.5,111.05,1.7,63.75 -4943,46,30,2.5,111.05,1.7,63.75 -4944,46,30,2.5,111.05,1.7,63.75 -4945,46,30,2.5,111.05,1.7,63.75 -4946,46,30,2.5,111.05,1.7,63.75 -4947,46,30,2.5,111.05,1.7,63.75 -4948,46,30,2.5,111.05,1.7,63.75 -4949,46,30,2.5,111.05,1.7,63.75 -4950,46,30,2.5,111.05,1.7,63.75 -4951,46,30,2.5,111.05,1.7,63.75 -4952,46,30,2.5,111.05,1.7,63.75 -4953,46,30,2.5,111.05,1.7,63.75 -4954,46,30,2.5,111.05,1.7,63.75 -4955,46,30,2.5,111.05,1.7,63.75 -4956,46,30,2.5,111.05,1.7,63.75 -4957,46,30,2.5,111.05,1.7,63.75 -4958,46,30,2.5,111.05,1.7,63.75 -4959,46,30,2.5,111.05,1.7,63.75 -4960,46,30,2.5,111.05,1.7,63.75 -4961,46,30,2.5,111.05,1.7,63.75 -4962,46,30,2.5,111.05,1.7,63.75 -4963,46,30,2.5,111.05,1.7,63.75 -4964,46,30,2.5,111.05,1.7,63.75 -4965,46,30,2.5,111.05,1.7,63.75 -4966,46,30,2.5,111.05,1.7,63.75 -4967,46,30,2.5,111.05,1.7,63.75 -4968,46,30,2.5,111.05,1.7,63.75 -4969,46,30,2.5,111.05,1.7,63.75 -4970,46,30,2.5,111.05,1.7,63.75 -4971,46,30,2.5,111.05,1.7,63.75 -4972,46,30,2.5,111.05,1.7,63.75 -4973,46,30,2.5,111.05,1.7,63.75 -4974,46,30,2.5,111.05,1.7,63.75 -4975,46,30,2.5,111.05,1.7,63.75 -4976,46,30,2.5,111.05,1.7,63.75 -4977,46,30,2.5,111.05,1.7,63.75 -4978,46,30,2.5,111.05,1.7,63.75 -4979,46,30,2.5,111.05,1.7,63.75 -4980,46,30,2.5,111.05,1.7,63.75 -4981,46,30,2.5,111.05,1.7,63.75 -4982,46,30,2.5,111.05,1.7,63.75 -4983,46,30,2.5,111.05,1.7,63.75 -4984,46,30,2.5,111.05,1.7,63.75 -4985,46,30,2.5,111.05,1.7,63.75 -4986,46,30,2.5,111.05,1.7,63.75 -4987,46,30,2.5,111.05,1.7,63.75 -4988,46,30,2.5,111.05,1.7,63.75 -4989,46,30,2.5,111.05,1.7,63.75 -4990,46,30,2.5,111.05,1.7,63.75 -4991,46,30,2.5,111.05,1.7,63.75 -4992,46,30,2.5,111.05,1.7,63.75 -4993,46,30,2.5,111.05,1.7,63.75 -4994,46,30,2.5,111.05,1.7,63.75 -4995,46,30,2.5,111.05,1.7,63.75 -4996,46,30,2.5,111.05,1.7,63.75 -4997,46,30,2.5,111.05,1.7,63.75 -4998,46,30,2.5,111.05,1.7,63.75 -4999,46,30,2.5,111.05,1.7,63.75 -5000,46,30,2.5,111.05,1.7,63.75 -5001,46,30,2.5,111.05,1.7,63.75 -5002,46,30,2.5,111.05,1.7,63.75 -5003,46,30,2.5,111.05,1.7,63.75 -5004,46,30,2.5,111.05,1.7,63.75 -5005,46,30,2.5,111.05,1.7,63.75 -5006,46,30,2.5,111.05,1.7,63.75 -5007,46,30,2.5,111.05,1.7,63.75 -5008,46,30,2.5,111.05,1.7,63.75 -5009,46,30,2.5,111.05,1.7,63.75 -5010,46,30,2.5,111.05,1.7,63.75 -5011,46,30,2.5,111.05,1.7,63.75 -5012,46,30,2.5,111.05,1.7,63.75 -5013,46,30,2.5,111.05,1.7,63.75 -5014,46,30,2.5,111.05,1.7,63.75 -5015,46,30,2.5,111.05,1.7,63.75 -5016,46,30,2.5,111.05,1.7,63.75 -5017,46,30,2.5,111.05,1.7,63.75 -5018,46,30,2.5,111.05,1.7,63.75 -5019,46,30,2.5,111.05,1.7,63.75 -5020,46,30,2.5,111.05,1.7,63.75 -5021,46,30,2.5,111.05,1.7,63.75 -5022,46,30,2.5,111.05,1.7,63.75 -5023,46,30,2.5,111.05,1.7,63.75 -5024,46,30,2.5,111.05,1.7,63.75 -5025,46,30,2.5,111.05,1.7,63.75 -5026,46,30,2.5,111.05,1.7,63.75 -5027,46,30,2.5,111.05,1.7,63.75 -5028,46,30,2.5,111.05,1.7,63.75 -5029,46,30,2.5,111.05,1.7,63.75 -5030,46,30,2.5,111.05,1.7,63.75 -5031,46,30,2.5,111.05,1.7,63.75 -5032,46,30,2.5,111.05,1.7,63.75 -5033,46,30,2.5,111.05,1.7,63.75 -5034,46,30,2.5,111.05,1.7,63.75 -5035,46,30,2.5,111.05,1.7,63.75 -5036,46,30,2.5,111.05,1.7,63.75 -5037,46,30,2.5,111.05,1.7,63.75 -5038,46,30,2.5,111.05,1.7,63.75 -5039,46,30,2.5,111.05,1.7,63.75 -5040,46,30,2.5,111.05,1.7,63.75 -5041,46,30,2.5,111.05,1.7,63.75 -5042,46,30,2.5,111.05,1.7,63.75 -5043,46,30,2.5,111.05,1.7,63.75 -5044,46,30,2.5,111.05,1.7,63.75 -5045,46,30,2.5,111.05,1.7,63.75 -5046,46,30,2.5,111.05,1.7,63.75 -5047,46,30,2.5,111.05,1.7,63.75 -5048,46,30,2.5,111.05,1.7,63.75 -5049,46,30,2.5,111.05,1.7,63.75 -5050,46,30,2.5,111.05,1.7,63.75 -5051,46,30,2.5,111.05,1.7,63.75 -5052,46,30,2.5,111.05,1.7,63.75 -5053,46,30,2.5,111.05,1.7,63.75 -5054,46,30,2.5,111.05,1.7,63.75 -5055,46,30,2.5,111.05,1.7,63.75 -5056,46,30,2.5,111.05,1.7,63.75 -5057,46,30,2.5,111.05,1.7,63.75 -5058,46,30,2.5,111.05,1.7,63.75 -5059,46,30,2.5,111.05,1.7,63.75 -5060,46,30,2.5,111.05,1.7,63.75 -5061,46,30,2.5,111.05,1.7,63.75 -5062,46,30,2.5,111.05,1.7,63.75 -5063,46,30,2.5,111.05,1.7,63.75 -5064,46,30,2.5,111.05,1.7,63.75 -5065,46,30,2.5,111.05,1.7,63.75 -5066,46,30,2.5,111.05,1.7,63.75 -5067,46,30,2.5,111.05,1.7,63.75 -5068,46,30,2.5,111.05,1.7,63.75 -5069,46,30,2.5,111.05,1.7,63.75 -5070,46,30,2.5,111.05,1.7,63.75 -5071,46,30,2.5,111.05,1.7,63.75 -5072,46,30,2.5,111.05,1.7,63.75 -5073,46,30,2.5,111.05,1.7,63.75 -5074,46,30,2.5,111.05,1.7,63.75 -5075,46,30,2.5,111.05,1.7,63.75 -5076,46,30,2.5,111.05,1.7,63.75 -5077,46,30,2.5,111.05,1.7,63.75 -5078,46,30,2.5,111.05,1.7,63.75 -5079,46,30,2.5,111.05,1.7,63.75 -5080,46,30,2.5,111.05,1.7,63.75 -5081,46,30,2.5,111.05,1.7,63.75 -5082,46,30,2.5,111.05,1.7,63.75 -5083,46,30,2.5,111.05,1.7,63.75 -5084,46,30,2.5,111.05,1.7,63.75 -5085,46,30,2.5,111.05,1.7,63.75 -5086,46,30,2.5,111.05,1.7,63.75 -5087,46,30,2.5,111.05,1.7,63.75 -5088,46,30,2.5,111.05,1.7,63.75 -5089,46,30,2.5,111.05,1.7,63.75 -5090,46,30,2.5,111.05,1.7,63.75 -5091,46,30,2.5,111.05,1.7,63.75 -5092,46,30,2.5,111.05,1.7,63.75 -5093,46,30,2.5,111.05,1.7,63.75 -5094,46,30,2.5,111.05,1.7,63.75 -5095,46,30,2.5,111.05,1.7,63.75 -5096,46,30,2.5,111.05,1.7,63.75 -5097,46,30,2.5,111.05,1.7,63.75 -5098,46,30,2.5,111.05,1.7,63.75 -5099,46,30,2.5,111.05,1.7,63.75 -5100,46,30,2.5,111.05,1.7,63.75 -5101,46,30,2.5,111.05,1.7,63.75 -5102,46,30,2.5,111.05,1.7,63.75 -5103,46,30,2.5,111.05,1.7,63.75 -5104,46,30,2.5,111.05,1.7,63.75 -5105,46,30,2.5,111.05,1.7,63.75 -5106,46,30,2.5,111.05,1.7,63.75 -5107,46,30,2.5,111.05,1.7,63.75 -5108,46,30,2.5,111.05,1.7,63.75 -5109,46,30,2.5,111.05,1.7,63.75 -5110,46,30,2.5,111.05,1.7,63.75 -5111,46,30,2.5,111.05,1.7,63.75 -5112,46,30,2.5,111.05,1.7,63.75 -5113,46,30,2.5,111.05,1.7,63.75 -5114,46,30,2.5,111.05,1.7,63.75 -5115,46,30,2.5,111.05,1.7,63.75 -5116,46,30,2.5,111.05,1.7,63.75 -5117,46,30,2.5,111.05,1.7,63.75 -5118,46,30,2.5,111.05,1.7,63.75 -5119,46,30,2.5,111.05,1.7,63.75 -5120,46,30,2.5,111.05,1.7,63.75 -5121,46,30,2.5,111.05,1.7,63.75 -5122,46,30,2.5,111.05,1.7,63.75 -5123,46,30,2.5,111.05,1.7,63.75 -5124,46,30,2.5,111.05,1.7,63.75 -5125,46,30,2.5,111.05,1.7,63.75 -5126,46,30,2.5,111.05,1.7,63.75 -5127,46,30,2.5,111.05,1.7,63.75 -5128,46,30,2.5,111.05,1.7,63.75 -5129,46,30,2.5,111.05,1.7,63.75 -5130,46,30,2.5,111.05,1.7,63.75 -5131,46,30,2.5,111.05,1.7,63.75 -5132,46,30,2.5,111.05,1.7,63.75 -5133,46,30,2.5,111.05,1.7,63.75 -5134,46,30,2.5,111.05,1.7,63.75 -5135,46,30,2.5,111.05,1.7,63.75 -5136,46,30,2.5,111.05,1.7,63.75 -5137,46,30,2.5,111.05,1.7,63.75 -5138,46,30,2.5,111.05,1.7,63.75 -5139,46,30,2.5,111.05,1.7,63.75 -5140,46,30,2.5,111.05,1.7,63.75 -5141,46,30,2.5,111.05,1.7,63.75 -5142,46,30,2.5,111.05,1.7,63.75 -5143,46,30,2.5,111.05,1.7,63.75 -5144,46,30,2.5,111.05,1.7,63.75 -5145,46,30,2.5,111.05,1.7,63.75 -5146,46,30,2.5,111.05,1.7,63.75 -5147,46,30,2.5,111.05,1.7,63.75 -5148,46,30,2.5,111.05,1.7,63.75 -5149,46,30,2.5,111.05,1.7,63.75 -5150,46,30,2.5,111.05,1.7,63.75 -5151,46,30,2.5,111.05,1.7,63.75 -5152,46,30,2.5,111.05,1.7,63.75 -5153,46,30,2.5,111.05,1.7,63.75 -5154,46,30,2.5,111.05,1.7,63.75 -5155,46,30,2.5,111.05,1.7,63.75 -5156,46,30,2.5,111.05,1.7,63.75 -5157,46,30,2.5,111.05,1.7,63.75 -5158,46,30,2.5,111.05,1.7,63.75 -5159,46,30,2.5,111.05,1.7,63.75 -5160,46,30,2.5,111.05,1.7,63.75 -5161,46,30,2.5,111.05,1.7,63.75 -5162,46,30,2.5,111.05,1.7,63.75 -5163,46,30,2.5,111.05,1.7,63.75 -5164,46,30,2.5,111.05,1.7,63.75 -5165,46,30,2.5,111.05,1.7,63.75 -5166,46,30,2.5,111.05,1.7,63.75 -5167,46,30,2.5,111.05,1.7,63.75 -5168,46,30,2.5,111.05,1.7,63.75 -5169,46,30,2.5,111.05,1.7,63.75 -5170,46,30,2.5,111.05,1.7,63.75 -5171,46,30,2.5,111.05,1.7,63.75 -5172,46,30,2.5,111.05,1.7,63.75 -5173,46,30,2.5,111.05,1.7,63.75 -5174,46,30,2.5,111.05,1.7,63.75 -5175,46,30,2.5,111.05,1.7,63.75 -5176,46,30,2.5,111.05,1.7,63.75 -5177,46,30,2.5,111.05,1.7,63.75 -5178,46,30,2.5,111.05,1.7,63.75 -5179,46,30,2.5,111.05,1.7,63.75 -5180,46,30,2.5,111.05,1.7,63.75 -5181,46,30,2.5,111.05,1.7,63.75 -5182,46,30,2.5,111.05,1.7,63.75 -5183,46,30,2.5,111.05,1.7,63.75 -5184,46,30,2.5,111.05,1.7,63.75 -5185,46,30,2.5,111.05,1.7,63.75 -5186,46,30,2.5,111.05,1.7,63.75 -5187,46,30,2.5,111.05,1.7,63.75 -5188,46,30,2.5,111.05,1.7,63.75 -5189,46,30,2.5,111.05,1.7,63.75 -5190,46,30,2.5,111.05,1.7,63.75 -5191,46,30,2.5,111.05,1.7,63.75 -5192,46,30,2.5,111.05,1.7,63.75 -5193,46,30,2.5,111.05,1.7,63.75 -5194,46,30,2.5,111.05,1.7,63.75 -5195,46,30,2.5,111.05,1.7,63.75 -5196,46,30,2.5,111.05,1.7,63.75 -5197,46,30,2.5,111.05,1.7,63.75 -5198,46,30,2.5,111.05,1.7,63.75 -5199,46,30,2.5,111.05,1.7,63.75 -5200,46,30,2.5,111.05,1.7,63.75 -5201,46,30,2.5,111.05,1.7,63.75 -5202,46,30,2.5,111.05,1.7,63.75 -5203,46,30,2.5,111.05,1.7,63.75 -5204,46,30,2.5,111.05,1.7,63.75 -5205,46,30,2.5,111.05,1.7,63.75 -5206,46,30,2.5,111.05,1.7,63.75 -5207,46,30,2.5,111.05,1.7,63.75 -5208,46,30,2.5,111.05,1.7,63.75 -5209,46,30,2.5,111.05,1.7,63.75 -5210,46,30,2.5,111.05,1.7,63.75 -5211,46,30,2.5,111.05,1.7,63.75 -5212,46,30,2.5,111.05,1.7,63.75 -5213,46,30,2.5,111.05,1.7,63.75 -5214,46,30,2.5,111.05,1.7,63.75 -5215,46,30,2.5,111.05,1.7,63.75 -5216,46,30,2.5,111.05,1.7,63.75 -5217,46,30,2.5,111.05,1.7,63.75 -5218,46,30,2.5,111.05,1.7,63.75 -5219,46,30,2.5,111.05,1.7,63.75 -5220,46,30,2.5,111.05,1.7,63.75 -5221,46,30,2.5,111.05,1.7,63.75 -5222,46,30,2.5,111.05,1.7,63.75 -5223,46,30,2.5,111.05,1.7,63.75 -5224,46,30,2.5,111.05,1.7,63.75 -5225,46,30,2.5,111.05,1.7,63.75 -5226,46,30,2.5,111.05,1.7,63.75 -5227,46,30,2.5,111.05,1.7,63.75 -5228,46,30,2.5,111.05,1.7,63.75 -5229,46,30,2.5,111.05,1.7,63.75 -5230,46,30,2.5,111.05,1.7,63.75 -5231,46,30,2.5,111.05,1.7,63.75 -5232,46,30,2.5,111.05,1.7,63.75 -5233,46,30,2.5,111.05,1.7,63.75 -5234,46,30,2.5,111.05,1.7,63.75 -5235,46,30,2.5,111.05,1.7,63.75 -5236,46,30,2.5,111.05,1.7,63.75 -5237,46,30,2.5,111.05,1.7,63.75 -5238,46,30,2.5,111.05,1.7,63.75 -5239,46,30,2.5,111.05,1.7,63.75 -5240,46,30,2.5,111.05,1.7,63.75 -5241,46,30,2.5,111.05,1.7,63.75 -5242,46,30,2.5,111.05,1.7,63.75 -5243,46,30,2.5,111.05,1.7,63.75 -5244,46,30,2.5,111.05,1.7,63.75 -5245,46,30,2.5,111.05,1.7,63.75 -5246,46,30,2.5,111.05,1.7,63.75 -5247,46,30,2.5,111.05,1.7,63.75 -5248,46,30,2.5,111.05,1.7,63.75 -5249,46,30,2.5,111.05,1.7,63.75 -5250,46,30,2.5,111.05,1.7,63.75 -5251,46,30,2.5,111.05,1.7,63.75 -5252,46,30,2.5,111.05,1.7,63.75 -5253,46,30,2.5,111.05,1.7,63.75 -5254,46,30,2.5,111.05,1.7,63.75 -5255,46,30,2.5,111.05,1.7,63.75 -5256,46,30,2.5,111.05,1.7,63.75 -5257,46,30,2.5,111.05,1.7,63.75 -5258,46,30,2.5,111.05,1.7,63.75 -5259,46,30,2.5,111.05,1.7,63.75 -5260,46,30,2.5,111.05,1.7,63.75 -5261,46,30,2.5,111.05,1.7,63.75 -5262,46,30,2.5,111.05,1.7,63.75 -5263,46,30,2.5,111.05,1.7,63.75 -5264,46,30,2.5,111.05,1.7,63.75 -5265,46,30,2.5,111.05,1.7,63.75 -5266,46,30,2.5,111.05,1.7,63.75 -5267,46,30,2.5,111.05,1.7,63.75 -5268,46,30,2.5,111.05,1.7,63.75 -5269,46,30,2.5,111.05,1.7,63.75 -5270,46,30,2.5,111.05,1.7,63.75 -5271,46,30,2.5,111.05,1.7,63.75 -5272,46,30,2.5,111.05,1.7,63.75 -5273,46,30,2.5,111.05,1.7,63.75 -5274,46,30,2.5,111.05,1.7,63.75 -5275,46,30,2.5,111.05,1.7,63.75 -5276,46,30,2.5,111.05,1.7,63.75 -5277,46,30,2.5,111.05,1.7,63.75 -5278,46,30,2.5,111.05,1.7,63.75 -5279,46,30,2.5,111.05,1.7,63.75 -5280,46,30,2.5,111.05,1.7,63.75 -5281,46,30,2.5,111.05,1.7,63.75 -5282,46,30,2.5,111.05,1.7,63.75 -5283,46,30,2.5,111.05,1.7,63.75 -5284,46,30,2.5,111.05,1.7,63.75 -5285,46,30,2.5,111.05,1.7,63.75 -5286,46,30,2.5,111.05,1.7,63.75 -5287,46,30,2.5,111.05,1.7,63.75 -5288,46,30,2.5,111.05,1.7,63.75 -5289,46,30,2.5,111.05,1.7,63.75 -5290,46,30,2.5,111.05,1.7,63.75 -5291,46,30,2.5,111.05,1.7,63.75 -5292,46,30,2.5,111.05,1.7,63.75 -5293,46,30,2.5,111.05,1.7,63.75 -5294,46,30,2.5,111.05,1.7,63.75 -5295,46,30,2.5,111.05,1.7,63.75 -5296,46,30,2.5,111.05,1.7,63.75 -5297,46,30,2.5,111.05,1.7,63.75 -5298,46,30,2.5,111.05,1.7,63.75 -5299,46,30,2.5,111.05,1.7,63.75 -5300,46,30,2.5,111.05,1.7,63.75 -5301,46,30,2.5,111.05,1.7,63.75 -5302,46,30,2.5,111.05,1.7,63.75 -5303,46,30,2.5,111.05,1.7,63.75 -5304,46,30,2.5,111.05,1.7,63.75 -5305,46,30,2.5,111.05,1.7,63.75 -5306,46,30,2.5,111.05,1.7,63.75 -5307,46,30,2.5,111.05,1.7,63.75 -5308,46,30,2.5,111.05,1.7,63.75 -5309,46,30,2.5,111.05,1.7,63.75 -5310,46,30,2.5,111.05,1.7,63.75 -5311,46,30,2.5,111.05,1.7,63.75 -5312,46,30,2.5,111.05,1.7,63.75 -5313,46,30,2.5,111.05,1.7,63.75 -5314,46,30,2.5,111.05,1.7,63.75 -5315,46,30,2.5,111.05,1.7,63.75 -5316,46,30,2.5,111.05,1.7,63.75 -5317,46,30,2.5,111.05,1.7,63.75 -5318,46,30,2.5,111.05,1.7,63.75 -5319,46,30,2.5,111.05,1.7,63.75 -5320,46,30,2.5,111.05,1.7,63.75 -5321,46,30,2.5,111.05,1.7,63.75 -5322,46,30,2.5,111.05,1.7,63.75 -5323,46,30,2.5,111.05,1.7,63.75 -5324,46,30,2.5,111.05,1.7,63.75 -5325,46,30,2.5,111.05,1.7,63.75 -5326,46,30,2.5,111.05,1.7,63.75 -5327,46,30,2.5,111.05,1.7,63.75 -5328,46,30,2.5,111.05,1.7,63.75 -5329,46,30,2.5,111.05,1.7,63.75 -5330,46,30,2.5,111.05,1.7,63.75 -5331,46,30,2.5,111.05,1.7,63.75 -5332,46,30,2.5,111.05,1.7,63.75 -5333,46,30,2.5,111.05,1.7,63.75 -5334,46,30,2.5,111.05,1.7,63.75 -5335,46,30,2.5,111.05,1.7,63.75 -5336,46,30,2.5,111.05,1.7,63.75 -5337,46,30,2.5,111.05,1.7,63.75 -5338,46,30,2.5,111.05,1.7,63.75 -5339,46,30,2.5,111.05,1.7,63.75 -5340,46,30,2.5,111.05,1.7,63.75 -5341,46,30,2.5,111.05,1.7,63.75 -5342,46,30,2.5,111.05,1.7,63.75 -5343,46,30,2.5,111.05,1.7,63.75 -5344,46,30,2.5,111.05,1.7,63.75 -5345,46,30,2.5,111.05,1.7,63.75 -5346,46,30,2.5,111.05,1.7,63.75 -5347,46,30,2.5,111.05,1.7,63.75 -5348,46,30,2.5,111.05,1.7,63.75 -5349,46,30,2.5,111.05,1.7,63.75 -5350,46,30,2.5,111.05,1.7,63.75 -5351,46,30,2.5,111.05,1.7,63.75 -5352,46,30,2.5,111.05,1.7,63.75 -5353,46,30,2.5,111.05,1.7,63.75 -5354,46,30,2.5,111.05,1.7,63.75 -5355,46,30,2.5,111.05,1.7,63.75 -5356,46,30,2.5,111.05,1.7,63.75 -5357,46,30,2.5,111.05,1.7,63.75 -5358,46,30,2.5,111.05,1.7,63.75 -5359,46,30,2.5,111.05,1.7,63.75 -5360,46,30,2.5,111.05,1.7,63.75 -5361,46,30,2.5,111.05,1.7,63.75 -5362,46,30,2.5,111.05,1.7,63.75 -5363,46,30,2.5,111.05,1.7,63.75 -5364,46,30,2.5,111.05,1.7,63.75 -5365,46,30,2.5,111.05,1.7,63.75 -5366,46,30,2.5,111.05,1.7,63.75 -5367,46,30,2.5,111.05,1.7,63.75 -5368,46,30,2.5,111.05,1.7,63.75 -5369,46,30,2.5,111.05,1.7,63.75 -5370,46,30,2.5,111.05,1.7,63.75 -5371,46,30,2.5,111.05,1.7,63.75 -5372,46,30,2.5,111.05,1.7,63.75 -5373,46,30,2.5,111.05,1.7,63.75 -5374,46,30,2.5,111.05,1.7,63.75 -5375,46,30,2.5,111.05,1.7,63.75 -5376,46,30,2.5,111.05,1.7,63.75 -5377,46,30,2.5,111.05,1.7,63.75 -5378,46,30,2.5,111.05,1.7,63.75 -5379,46,30,2.5,111.05,1.7,63.75 -5380,46,30,2.5,111.05,1.7,63.75 -5381,46,30,2.5,111.05,1.7,63.75 -5382,46,30,2.5,111.05,1.7,63.75 -5383,46,30,2.5,111.05,1.7,63.75 -5384,46,30,2.5,111.05,1.7,63.75 -5385,46,30,2.5,111.05,1.7,63.75 -5386,46,30,2.5,111.05,1.7,63.75 -5387,46,30,2.5,111.05,1.7,63.75 -5388,46,30,2.5,111.05,1.7,63.75 -5389,46,30,2.5,111.05,1.7,63.75 -5390,46,30,2.5,111.05,1.7,63.75 -5391,46,30,2.5,111.05,1.7,63.75 -5392,46,30,2.5,111.05,1.7,63.75 -5393,46,30,2.5,111.05,1.7,63.75 -5394,46,30,2.5,111.05,1.7,63.75 -5395,46,30,2.5,111.05,1.7,63.75 -5396,46,30,2.5,111.05,1.7,63.75 -5397,46,30,2.5,111.05,1.7,63.75 -5398,46,30,2.5,111.05,1.7,63.75 -5399,46,30,2.5,111.05,1.7,63.75 -5400,46,30,2.5,111.05,1.7,63.75 -5401,46,30,2.5,111.05,1.7,63.75 -5402,46,30,2.5,111.05,1.7,63.75 -5403,46,30,2.5,111.05,1.7,63.75 -5404,46,30,2.5,111.05,1.7,63.75 -5405,46,30,2.5,111.05,1.7,63.75 -5406,46,30,2.5,111.05,1.7,63.75 -5407,46,30,2.5,111.05,1.7,63.75 -5408,46,30,2.5,111.05,1.7,63.75 -5409,46,30,2.5,111.05,1.7,63.75 -5410,46,30,2.5,111.05,1.7,63.75 -5411,46,30,2.5,111.05,1.7,63.75 -5412,46,30,2.5,111.05,1.7,63.75 -5413,46,30,2.5,111.05,1.7,63.75 -5414,46,30,2.5,111.05,1.7,63.75 -5415,46,30,2.5,111.05,1.7,63.75 -5416,46,30,2.5,111.05,1.7,63.75 -5417,46,30,2.5,111.05,1.7,63.75 -5418,46,30,2.5,111.05,1.7,63.75 -5419,46,30,2.5,111.05,1.7,63.75 -5420,46,30,2.5,111.05,1.7,63.75 -5421,46,30,2.5,111.05,1.7,63.75 -5422,46,30,2.5,111.05,1.7,63.75 -5423,46,30,2.5,111.05,1.7,63.75 -5424,46,30,2.5,111.05,1.7,63.75 -5425,46,30,2.5,111.05,1.7,63.75 -5426,46,30,2.5,111.05,1.7,63.75 -5427,46,30,2.5,111.05,1.7,63.75 -5428,46,30,2.5,111.05,1.7,63.75 -5429,46,30,2.5,111.05,1.7,63.75 -5430,46,30,2.5,111.05,1.7,63.75 -5431,46,30,2.5,111.05,1.7,63.75 -5432,46,30,2.5,111.05,1.7,63.75 -5433,46,30,2.5,111.05,1.7,63.75 -5434,46,30,2.5,111.05,1.7,63.75 -5435,46,30,2.5,111.05,1.7,63.75 -5436,46,30,2.5,111.05,1.7,63.75 -5437,46,30,2.5,111.05,1.7,63.75 -5438,46,30,2.5,111.05,1.7,63.75 -5439,46,30,2.5,111.05,1.7,63.75 -5440,46,30,2.5,111.05,1.7,63.75 -5441,46,30,2.5,111.05,1.7,63.75 -5442,46,30,2.5,111.05,1.7,63.75 -5443,46,30,2.5,111.05,1.7,63.75 -5444,46,30,2.5,111.05,1.7,63.75 -5445,46,30,2.5,111.05,1.7,63.75 -5446,46,30,2.5,111.05,1.7,63.75 -5447,46,30,2.5,111.05,1.7,63.75 -5448,46,30,2.5,111.05,1.7,63.75 -5449,46,30,2.5,111.05,1.7,63.75 -5450,46,30,2.5,111.05,1.7,63.75 -5451,46,30,2.5,111.05,1.7,63.75 -5452,46,30,2.5,111.05,1.7,63.75 -5453,46,30,2.5,111.05,1.7,63.75 -5454,46,30,2.5,111.05,1.7,63.75 -5455,46,30,2.5,111.05,1.7,63.75 -5456,46,30,2.5,111.05,1.7,63.75 -5457,46,30,2.5,111.05,1.7,63.75 -5458,46,30,2.5,111.05,1.7,63.75 -5459,46,30,2.5,111.05,1.7,63.75 -5460,46,30,2.5,111.05,1.7,63.75 -5461,46,30,2.5,111.05,1.7,63.75 -5462,46,30,2.5,111.05,1.7,63.75 -5463,46,30,2.5,111.05,1.7,63.75 -5464,46,30,2.5,111.05,1.7,63.75 -5465,46,30,2.5,111.05,1.7,63.75 -5466,46,30,2.5,111.05,1.7,63.75 -5467,46,30,2.5,111.05,1.7,63.75 -5468,46,30,2.5,111.05,1.7,63.75 -5469,46,30,2.5,111.05,1.7,63.75 -5470,46,30,2.5,111.05,1.7,63.75 -5471,46,30,2.5,111.05,1.7,63.75 -5472,46,30,2.5,111.05,1.7,63.75 -5473,46,30,2.5,111.05,1.7,63.75 -5474,46,30,2.5,111.05,1.7,63.75 -5475,46,30,2.5,111.05,1.7,63.75 -5476,46,30,2.5,111.05,1.7,63.75 -5477,46,30,2.5,111.05,1.7,63.75 -5478,46,30,2.5,111.05,1.7,63.75 -5479,46,30,2.5,111.05,1.7,63.75 -5480,46,30,2.5,111.05,1.7,63.75 -5481,46,30,2.5,111.05,1.7,63.75 -5482,46,30,2.5,111.05,1.7,63.75 -5483,46,30,2.5,111.05,1.7,63.75 -5484,46,30,2.5,111.05,1.7,63.75 -5485,46,30,2.5,111.05,1.7,63.75 -5486,46,30,2.5,111.05,1.7,63.75 -5487,46,30,2.5,111.05,1.7,63.75 -5488,46,30,2.5,111.05,1.7,63.75 -5489,46,30,2.5,111.05,1.7,63.75 -5490,46,30,2.5,111.05,1.7,63.75 -5491,46,30,2.5,111.05,1.7,63.75 -5492,46,30,2.5,111.05,1.7,63.75 -5493,46,30,2.5,111.05,1.7,63.75 -5494,46,30,2.5,111.05,1.7,63.75 -5495,46,30,2.5,111.05,1.7,63.75 -5496,46,30,2.5,111.05,1.7,63.75 -5497,46,30,2.5,111.05,1.7,63.75 -5498,46,30,2.5,111.05,1.7,63.75 -5499,46,30,2.5,111.05,1.7,63.75 -5500,46,30,2.5,111.05,1.7,63.75 -5501,46,30,2.5,111.05,1.7,63.75 -5502,46,30,2.5,111.05,1.7,63.75 -5503,46,30,2.5,111.05,1.7,63.75 -5504,46,30,2.5,111.05,1.7,63.75 -5505,46,30,2.5,111.05,1.7,63.75 -5506,46,30,2.5,111.05,1.7,63.75 -5507,46,30,2.5,111.05,1.7,63.75 -5508,46,30,2.5,111.05,1.7,63.75 -5509,46,30,2.5,111.05,1.7,63.75 -5510,46,30,2.5,111.05,1.7,63.75 -5511,46,30,2.5,111.05,1.7,63.75 -5512,46,30,2.5,111.05,1.7,63.75 -5513,46,30,2.5,111.05,1.7,63.75 -5514,46,30,2.5,111.05,1.7,63.75 -5515,46,30,2.5,111.05,1.7,63.75 -5516,46,30,2.5,111.05,1.7,63.75 -5517,46,30,2.5,111.05,1.7,63.75 -5518,46,30,2.5,111.05,1.7,63.75 -5519,46,30,2.5,111.05,1.7,63.75 -5520,46,30,2.5,111.05,1.7,63.75 -5521,46,30,2.5,111.05,1.7,63.75 -5522,46,30,2.5,111.05,1.7,63.75 -5523,46,30,2.5,111.05,1.7,63.75 -5524,46,30,2.5,111.05,1.7,63.75 -5525,46,30,2.5,111.05,1.7,63.75 -5526,46,30,2.5,111.05,1.7,63.75 -5527,46,30,2.5,111.05,1.7,63.75 -5528,46,30,2.5,111.05,1.7,63.75 -5529,46,30,2.5,111.05,1.7,63.75 -5530,46,30,2.5,111.05,1.7,63.75 -5531,46,30,2.5,111.05,1.7,63.75 -5532,46,30,2.5,111.05,1.7,63.75 -5533,46,30,2.5,111.05,1.7,63.75 -5534,46,30,2.5,111.05,1.7,63.75 -5535,46,30,2.5,111.05,1.7,63.75 -5536,46,30,2.5,111.05,1.7,63.75 -5537,46,30,2.5,111.05,1.7,63.75 -5538,46,30,2.5,111.05,1.7,63.75 -5539,46,30,2.5,111.05,1.7,63.75 -5540,46,30,2.5,111.05,1.7,63.75 -5541,46,30,2.5,111.05,1.7,63.75 -5542,46,30,2.5,111.05,1.7,63.75 -5543,46,30,2.5,111.05,1.7,63.75 -5544,46,30,2.5,111.05,1.7,63.75 -5545,46,30,2.5,111.05,1.7,63.75 -5546,46,30,2.5,111.05,1.7,63.75 -5547,46,30,2.5,111.05,1.7,63.75 -5548,46,30,2.5,111.05,1.7,63.75 -5549,46,30,2.5,111.05,1.7,63.75 -5550,46,30,2.5,111.05,1.7,63.75 -5551,46,30,2.5,111.05,1.7,63.75 -5552,46,30,2.5,111.05,1.7,63.75 -5553,46,30,2.5,111.05,1.7,63.75 -5554,46,30,2.5,111.05,1.7,63.75 -5555,46,30,2.5,111.05,1.7,63.75 -5556,46,30,2.5,111.05,1.7,63.75 -5557,46,30,2.5,111.05,1.7,63.75 -5558,46,30,2.5,111.05,1.7,63.75 -5559,46,30,2.5,111.05,1.7,63.75 -5560,46,30,2.5,111.05,1.7,63.75 -5561,46,30,2.5,111.05,1.7,63.75 -5562,46,30,2.5,111.05,1.7,63.75 -5563,46,30,2.5,111.05,1.7,63.75 -5564,46,30,2.5,111.05,1.7,63.75 -5565,46,30,2.5,111.05,1.7,63.75 -5566,46,30,2.5,111.05,1.7,63.75 -5567,46,30,2.5,111.05,1.7,63.75 -5568,46,30,2.5,111.05,1.7,63.75 -5569,46,30,2.5,111.05,1.7,63.75 -5570,46,30,2.5,111.05,1.7,63.75 -5571,46,30,2.5,111.05,1.7,63.75 -5572,46,30,2.5,111.05,1.7,63.75 -5573,46,30,2.5,111.05,1.7,63.75 -5574,46,30,2.5,111.05,1.7,63.75 -5575,46,30,2.5,111.05,1.7,63.75 -5576,46,30,2.5,111.05,1.7,63.75 -5577,46,30,2.5,111.05,1.7,63.75 -5578,46,30,2.5,111.05,1.7,63.75 -5579,46,30,2.5,111.05,1.7,63.75 -5580,46,30,2.5,111.05,1.7,63.75 -5581,46,30,2.5,111.05,1.7,63.75 -5582,46,30,2.5,111.05,1.7,63.75 -5583,46,30,2.5,111.05,1.7,63.75 -5584,46,30,2.5,111.05,1.7,63.75 -5585,46,30,2.5,111.05,1.7,63.75 -5586,46,30,2.5,111.05,1.7,63.75 -5587,46,30,2.5,111.05,1.7,63.75 -5588,46,30,2.5,111.05,1.7,63.75 -5589,46,30,2.5,111.05,1.7,63.75 -5590,46,30,2.5,111.05,1.7,63.75 -5591,46,30,2.5,111.05,1.7,63.75 -5592,46,30,2.5,111.05,1.7,63.75 -5593,46,30,2.5,111.05,1.7,63.75 -5594,46,30,2.5,111.05,1.7,63.75 -5595,46,30,2.5,111.05,1.7,63.75 -5596,46,30,2.5,111.05,1.7,63.75 -5597,46,30,2.5,111.05,1.7,63.75 -5598,46,30,2.5,111.05,1.7,63.75 -5599,46,30,2.5,111.05,1.7,63.75 -5600,46,30,2.5,111.05,1.7,63.75 -5601,46,30,2.5,111.05,1.7,63.75 -5602,46,30,2.5,111.05,1.7,63.75 -5603,46,30,2.5,111.05,1.7,63.75 -5604,46,30,2.5,111.05,1.7,63.75 -5605,46,30,2.5,111.05,1.7,63.75 -5606,46,30,2.5,111.05,1.7,63.75 -5607,46,30,2.5,111.05,1.7,63.75 -5608,46,30,2.5,111.05,1.7,63.75 -5609,46,30,2.5,111.05,1.7,63.75 -5610,46,30,2.5,111.05,1.7,63.75 -5611,46,30,2.5,111.05,1.7,63.75 -5612,46,30,2.5,111.05,1.7,63.75 -5613,46,30,2.5,111.05,1.7,63.75 -5614,46,30,2.5,111.05,1.7,63.75 -5615,46,30,2.5,111.05,1.7,63.75 -5616,46,30,2.5,111.05,1.7,63.75 -5617,46,30,2.5,111.05,1.7,63.75 -5618,46,30,2.5,111.05,1.7,63.75 -5619,46,30,2.5,111.05,1.7,63.75 -5620,46,30,2.5,111.05,1.7,63.75 -5621,46,30,2.5,111.05,1.7,63.75 -5622,46,30,2.5,111.05,1.7,63.75 -5623,46,30,2.5,111.05,1.7,63.75 -5624,46,30,2.5,111.05,1.7,63.75 -5625,46,30,2.5,111.05,1.7,63.75 -5626,46,30,2.5,111.05,1.7,63.75 -5627,46,30,2.5,111.05,1.7,63.75 -5628,46,30,2.5,111.05,1.7,63.75 -5629,46,30,2.5,111.05,1.7,63.75 -5630,46,30,2.5,111.05,1.7,63.75 -5631,46,30,2.5,111.05,1.7,63.75 -5632,46,30,2.5,111.05,1.7,63.75 -5633,46,30,2.5,111.05,1.7,63.75 -5634,46,30,2.5,111.05,1.7,63.75 -5635,46,30,2.5,111.05,1.7,63.75 -5636,46,30,2.5,111.05,1.7,63.75 -5637,46,30,2.5,111.05,1.7,63.75 -5638,46,30,2.5,111.05,1.7,63.75 -5639,46,30,2.5,111.05,1.7,63.75 -5640,46,30,2.5,111.05,1.7,63.75 -5641,46,30,2.5,111.05,1.7,63.75 -5642,46,30,2.5,111.05,1.7,63.75 -5643,46,30,2.5,111.05,1.7,63.75 -5644,46,30,2.5,111.05,1.7,63.75 -5645,46,30,2.5,111.05,1.7,63.75 -5646,46,30,2.5,111.05,1.7,63.75 -5647,46,30,2.5,111.05,1.7,63.75 -5648,46,30,2.5,111.05,1.7,63.75 -5649,46,30,2.5,111.05,1.7,63.75 -5650,46,30,2.5,111.05,1.7,63.75 -5651,46,30,2.5,111.05,1.7,63.75 -5652,46,30,2.5,111.05,1.7,63.75 -5653,46,30,2.5,111.05,1.7,63.75 -5654,46,30,2.5,111.05,1.7,63.75 -5655,46,30,2.5,111.05,1.7,63.75 -5656,46,30,2.5,111.05,1.7,63.75 -5657,46,30,2.5,111.05,1.7,63.75 -5658,46,30,2.5,111.05,1.7,63.75 -5659,46,30,2.5,111.05,1.7,63.75 -5660,46,30,2.5,111.05,1.7,63.75 -5661,46,30,2.5,111.05,1.7,63.75 -5662,46,30,2.5,111.05,1.7,63.75 -5663,46,30,2.5,111.05,1.7,63.75 -5664,46,30,2.5,111.05,1.7,63.75 -5665,46,30,2.5,111.05,1.7,63.75 -5666,46,30,2.5,111.05,1.7,63.75 -5667,46,30,2.5,111.05,1.7,63.75 -5668,46,30,2.5,111.05,1.7,63.75 -5669,46,30,2.5,111.05,1.7,63.75 -5670,46,30,2.5,111.05,1.7,63.75 -5671,46,30,2.5,111.05,1.7,63.75 -5672,46,30,2.5,111.05,1.7,63.75 -5673,46,30,2.5,111.05,1.7,63.75 -5674,46,30,2.5,111.05,1.7,63.75 -5675,46,30,2.5,111.05,1.7,63.75 -5676,46,30,2.5,111.05,1.7,63.75 -5677,46,30,2.5,111.05,1.7,63.75 -5678,46,30,2.5,111.05,1.7,63.75 -5679,46,30,2.5,111.05,1.7,63.75 -5680,46,30,2.5,111.05,1.7,63.75 -5681,46,30,2.5,111.05,1.7,63.75 -5682,46,30,2.5,111.05,1.7,63.75 -5683,46,30,2.5,111.05,1.7,63.75 -5684,46,30,2.5,111.05,1.7,63.75 -5685,46,30,2.5,111.05,1.7,63.75 -5686,46,30,2.5,111.05,1.7,63.75 -5687,46,30,2.5,111.05,1.7,63.75 -5688,46,30,2.5,111.05,1.7,63.75 -5689,46,30,2.5,111.05,1.7,63.75 -5690,46,30,2.5,111.05,1.7,63.75 -5691,46,30,2.5,111.05,1.7,63.75 -5692,46,30,2.5,111.05,1.7,63.75 -5693,46,30,2.5,111.05,1.7,63.75 -5694,46,30,2.5,111.05,1.7,63.75 -5695,46,30,2.5,111.05,1.7,63.75 -5696,46,30,2.5,111.05,1.7,63.75 -5697,46,30,2.5,111.05,1.7,63.75 -5698,46,30,2.5,111.05,1.7,63.75 -5699,46,30,2.5,111.05,1.7,63.75 -5700,46,30,2.5,111.05,1.7,63.75 -5701,46,30,2.5,111.05,1.7,63.75 -5702,46,30,2.5,111.05,1.7,63.75 -5703,46,30,2.5,111.05,1.7,63.75 -5704,46,30,2.5,111.05,1.7,63.75 -5705,46,30,2.5,111.05,1.7,63.75 -5706,46,30,2.5,111.05,1.7,63.75 -5707,46,30,2.5,111.05,1.7,63.75 -5708,46,30,2.5,111.05,1.7,63.75 -5709,46,30,2.5,111.05,1.7,63.75 -5710,46,30,2.5,111.05,1.7,63.75 -5711,46,30,2.5,111.05,1.7,63.75 -5712,46,30,2.5,111.05,1.7,63.75 -5713,46,30,2.5,111.05,1.7,63.75 -5714,46,30,2.5,111.05,1.7,63.75 -5715,46,30,2.5,111.05,1.7,63.75 -5716,46,30,2.5,111.05,1.7,63.75 -5717,46,30,2.5,111.05,1.7,63.75 -5718,46,30,2.5,111.05,1.7,63.75 -5719,46,30,2.5,111.05,1.7,63.75 -5720,46,30,2.5,111.05,1.7,63.75 -5721,46,30,2.5,111.05,1.7,63.75 -5722,46,30,2.5,111.05,1.7,63.75 -5723,46,30,2.5,111.05,1.7,63.75 -5724,46,30,2.5,111.05,1.7,63.75 -5725,46,30,2.5,111.05,1.7,63.75 -5726,46,30,2.5,111.05,1.7,63.75 -5727,46,30,2.5,111.05,1.7,63.75 -5728,46,30,2.5,111.05,1.7,63.75 -5729,46,30,2.5,111.05,1.7,63.75 -5730,46,30,2.5,111.05,1.7,63.75 -5731,46,30,2.5,111.05,1.7,63.75 -5732,46,30,2.5,111.05,1.7,63.75 -5733,46,30,2.5,111.05,1.7,63.75 -5734,46,30,2.5,111.05,1.7,63.75 -5735,46,30,2.5,111.05,1.7,63.75 -5736,46,30,2.5,111.05,1.7,63.75 -5737,46,30,2.5,111.05,1.7,63.75 -5738,46,30,2.5,111.05,1.7,63.75 -5739,46,30,2.5,111.05,1.7,63.75 -5740,46,30,2.5,111.05,1.7,63.75 -5741,46,30,2.5,111.05,1.7,63.75 -5742,46,30,2.5,111.05,1.7,63.75 -5743,46,30,2.5,111.05,1.7,63.75 -5744,46,30,2.5,111.05,1.7,63.75 -5745,46,30,2.5,111.05,1.7,63.75 -5746,46,30,2.5,111.05,1.7,63.75 -5747,46,30,2.5,111.05,1.7,63.75 -5748,46,30,2.5,111.05,1.7,63.75 -5749,46,30,2.5,111.05,1.7,63.75 -5750,46,30,2.5,111.05,1.7,63.75 -5751,46,30,2.5,111.05,1.7,63.75 -5752,46,30,2.5,111.05,1.7,63.75 -5753,46,30,2.5,111.05,1.7,63.75 -5754,46,30,2.5,111.05,1.7,63.75 -5755,46,30,2.5,111.05,1.7,63.75 -5756,46,30,2.5,111.05,1.7,63.75 -5757,46,30,2.5,111.05,1.7,63.75 -5758,46,30,2.5,111.05,1.7,63.75 -5759,46,30,2.5,111.05,1.7,63.75 -5760,46,30,2.5,111.05,1.7,63.75 -5761,46,30,2.5,111.05,1.7,63.75 -5762,46,30,2.5,111.05,1.7,63.75 -5763,46,30,2.5,111.05,1.7,63.75 -5764,46,30,2.5,111.05,1.7,63.75 -5765,46,30,2.5,111.05,1.7,63.75 -5766,46,30,2.5,111.05,1.7,63.75 -5767,46,30,2.5,111.05,1.7,63.75 -5768,46,30,2.5,111.05,1.7,63.75 -5769,46,30,2.5,111.05,1.7,63.75 -5770,46,30,2.5,111.05,1.7,63.75 -5771,46,30,2.5,111.05,1.7,63.75 -5772,46,30,2.5,111.05,1.7,63.75 -5773,46,30,2.5,111.05,1.7,63.75 -5774,46,30,2.5,111.05,1.7,63.75 -5775,46,30,2.5,111.05,1.7,63.75 -5776,46,30,2.5,111.05,1.7,63.75 -5777,46,30,2.5,111.05,1.7,63.75 -5778,46,30,2.5,111.05,1.7,63.75 -5779,46,30,2.5,111.05,1.7,63.75 -5780,46,30,2.5,111.05,1.7,63.75 -5781,46,30,2.5,111.05,1.7,63.75 -5782,46,30,2.5,111.05,1.7,63.75 -5783,46,30,2.5,111.05,1.7,63.75 -5784,46,30,2.5,111.05,1.7,63.75 -5785,46,30,2.5,111.05,1.7,63.75 -5786,46,30,2.5,111.05,1.7,63.75 -5787,46,30,2.5,111.05,1.7,63.75 -5788,46,30,2.5,111.05,1.7,63.75 -5789,46,30,2.5,111.05,1.7,63.75 -5790,46,30,2.5,111.05,1.7,63.75 -5791,46,30,2.5,111.05,1.7,63.75 -5792,46,30,2.5,111.05,1.7,63.75 -5793,46,30,2.5,111.05,1.7,63.75 -5794,46,30,2.5,111.05,1.7,63.75 -5795,46,30,2.5,111.05,1.7,63.75 -5796,46,30,2.5,111.05,1.7,63.75 -5797,46,30,2.5,111.05,1.7,63.75 -5798,46,30,2.5,111.05,1.7,63.75 -5799,46,30,2.5,111.05,1.7,63.75 -5800,46,30,2.5,111.05,1.7,63.75 -5801,46,30,2.5,111.05,1.7,63.75 -5802,46,30,2.5,111.05,1.7,63.75 -5803,46,30,2.5,111.05,1.7,63.75 -5804,46,30,2.5,111.05,1.7,63.75 -5805,46,30,2.5,111.05,1.7,63.75 -5806,46,30,2.5,111.05,1.7,63.75 -5807,46,30,2.5,111.05,1.7,63.75 -5808,46,30,2.5,111.05,1.7,63.75 -5809,46,30,2.5,111.05,1.7,63.75 -5810,46,30,2.5,111.05,1.7,63.75 -5811,46,30,2.5,111.05,1.7,63.75 -5812,46,30,2.5,111.05,1.7,63.75 -5813,46,30,2.5,111.05,1.7,63.75 -5814,46,30,2.5,111.05,1.7,63.75 -5815,46,30,2.5,111.05,1.7,63.75 -5816,46,30,2.5,111.05,1.7,63.75 -5817,46,30,2.5,111.05,1.7,63.75 -5818,46,30,2.5,111.05,1.7,63.75 -5819,46,30,2.5,111.05,1.7,63.75 -5820,46,30,2.5,111.05,1.7,63.75 -5821,46,30,2.5,111.05,1.7,63.75 -5822,46,30,2.5,111.05,1.7,63.75 -5823,46,30,2.5,111.05,1.7,63.75 -5824,46,30,2.5,111.05,1.7,63.75 -5825,46,30,2.5,111.05,1.7,63.75 -5826,46,30,2.5,111.05,1.7,63.75 -5827,46,30,2.5,111.05,1.7,63.75 -5828,46,30,2.5,111.05,1.7,63.75 -5829,46,30,2.5,111.05,1.7,63.75 -5830,46,30,2.5,111.05,1.7,63.75 -5831,46,30,2.5,111.05,1.7,63.75 -5832,46,30,2.5,111.05,1.7,63.75 -5833,46,30,2.5,111.05,1.7,63.75 -5834,46,30,2.5,111.05,1.7,63.75 -5835,46,30,2.5,111.05,1.7,63.75 -5836,46,30,2.5,111.05,1.7,63.75 -5837,46,30,2.5,111.05,1.7,63.75 -5838,46,30,2.5,111.05,1.7,63.75 -5839,46,30,2.5,111.05,1.7,63.75 -5840,46,30,2.5,111.05,1.7,63.75 -5841,46,30,2.5,111.05,1.7,63.75 -5842,46,30,2.5,111.05,1.7,63.75 -5843,46,30,2.5,111.05,1.7,63.75 -5844,46,30,2.5,111.05,1.7,63.75 -5845,46,30,2.5,111.05,1.7,63.75 -5846,46,30,2.5,111.05,1.7,63.75 -5847,46,30,2.5,111.05,1.7,63.75 -5848,46,30,2.5,111.05,1.7,63.75 -5849,46,30,2.5,111.05,1.7,63.75 -5850,46,30,2.5,111.05,1.7,63.75 -5851,46,30,2.5,111.05,1.7,63.75 -5852,46,30,2.5,111.05,1.7,63.75 -5853,46,30,2.5,111.05,1.7,63.75 -5854,46,30,2.5,111.05,1.7,63.75 -5855,46,30,2.5,111.05,1.7,63.75 -5856,46,30,2.5,111.05,1.7,63.75 -5857,46,30,2.5,111.05,1.7,63.75 -5858,46,30,2.5,111.05,1.7,63.75 -5859,46,30,2.5,111.05,1.7,63.75 -5860,46,30,2.5,111.05,1.7,63.75 -5861,46,30,2.5,111.05,1.7,63.75 -5862,46,30,2.5,111.05,1.7,63.75 -5863,46,30,2.5,111.05,1.7,63.75 -5864,46,30,2.5,111.05,1.7,63.75 -5865,46,30,2.5,111.05,1.7,63.75 -5866,46,30,2.5,111.05,1.7,63.75 -5867,46,30,2.5,111.05,1.7,63.75 -5868,46,30,2.5,111.05,1.7,63.75 -5869,46,30,2.5,111.05,1.7,63.75 -5870,46,30,2.5,111.05,1.7,63.75 -5871,46,30,2.5,111.05,1.7,63.75 -5872,46,30,2.5,111.05,1.7,63.75 -5873,46,30,2.5,111.05,1.7,63.75 -5874,46,30,2.5,111.05,1.7,63.75 -5875,46,30,2.5,111.05,1.7,63.75 -5876,46,30,2.5,111.05,1.7,63.75 -5877,46,30,2.5,111.05,1.7,63.75 -5878,46,30,2.5,111.05,1.7,63.75 -5879,46,30,2.5,111.05,1.7,63.75 -5880,46,30,2.5,111.05,1.7,63.75 -5881,46,30,2.5,111.05,1.7,63.75 -5882,46,30,2.5,111.05,1.7,63.75 -5883,46,30,2.5,111.05,1.7,63.75 -5884,46,30,2.5,111.05,1.7,63.75 -5885,46,30,2.5,111.05,1.7,63.75 -5886,46,30,2.5,111.05,1.7,63.75 -5887,46,30,2.5,111.05,1.7,63.75 -5888,46,30,2.5,111.05,1.7,63.75 -5889,46,30,2.5,111.05,1.7,63.75 -5890,46,30,2.5,111.05,1.7,63.75 -5891,46,30,2.5,111.05,1.7,63.75 -5892,46,30,2.5,111.05,1.7,63.75 -5893,46,30,2.5,111.05,1.7,63.75 -5894,46,30,2.5,111.05,1.7,63.75 -5895,46,30,2.5,111.05,1.7,63.75 -5896,46,30,2.5,111.05,1.7,63.75 -5897,46,30,2.5,111.05,1.7,63.75 -5898,46,30,2.5,111.05,1.7,63.75 -5899,46,30,2.5,111.05,1.7,63.75 -5900,46,30,2.5,111.05,1.7,63.75 -5901,46,30,2.5,111.05,1.7,63.75 -5902,46,30,2.5,111.05,1.7,63.75 -5903,46,30,2.5,111.05,1.7,63.75 -5904,46,30,2.5,111.05,1.7,63.75 -5905,46,30,2.5,111.05,1.7,63.75 -5906,46,30,2.5,111.05,1.7,63.75 -5907,46,30,2.5,111.05,1.7,63.75 -5908,46,30,2.5,111.05,1.7,63.75 -5909,46,30,2.5,111.05,1.7,63.75 -5910,46,30,2.5,111.05,1.7,63.75 -5911,46,30,2.5,111.05,1.7,63.75 -5912,46,30,2.5,111.05,1.7,63.75 -5913,46,30,2.5,111.05,1.7,63.75 -5914,46,30,2.5,111.05,1.7,63.75 -5915,46,30,2.5,111.05,1.7,63.75 -5916,46,30,2.5,111.05,1.7,63.75 -5917,46,30,2.5,111.05,1.7,63.75 -5918,46,30,2.5,111.05,1.7,63.75 -5919,46,30,2.5,111.05,1.7,63.75 -5920,46,30,2.5,111.05,1.7,63.75 -5921,46,30,2.5,111.05,1.7,63.75 -5922,46,30,2.5,111.05,1.7,63.75 -5923,46,30,2.5,111.05,1.7,63.75 -5924,46,30,2.5,111.05,1.7,63.75 -5925,46,30,2.5,111.05,1.7,63.75 -5926,46,30,2.5,111.05,1.7,63.75 -5927,46,30,2.5,111.05,1.7,63.75 -5928,46,30,2.5,111.05,1.7,63.75 -5929,46,30,2.5,111.05,1.7,63.75 -5930,46,30,2.5,111.05,1.7,63.75 -5931,46,30,2.5,111.05,1.7,63.75 -5932,46,30,2.5,111.05,1.7,63.75 -5933,46,30,2.5,111.05,1.7,63.75 -5934,46,30,2.5,111.05,1.7,63.75 -5935,46,30,2.5,111.05,1.7,63.75 -5936,46,30,2.5,111.05,1.7,63.75 -5937,46,30,2.5,111.05,1.7,63.75 -5938,46,30,2.5,111.05,1.7,63.75 -5939,46,30,2.5,111.05,1.7,63.75 -5940,46,30,2.5,111.05,1.7,63.75 -5941,46,30,2.5,111.05,1.7,63.75 -5942,46,30,2.5,111.05,1.7,63.75 -5943,46,30,2.5,111.05,1.7,63.75 -5944,46,30,2.5,111.05,1.7,63.75 -5945,46,30,2.5,111.05,1.7,63.75 -5946,46,30,2.5,111.05,1.7,63.75 -5947,46,30,2.5,111.05,1.7,63.75 -5948,46,30,2.5,111.05,1.7,63.75 -5949,46,30,2.5,111.05,1.7,63.75 -5950,46,30,2.5,111.05,1.7,63.75 -5951,46,30,2.5,111.05,1.7,63.75 -5952,46,30,2.5,111.05,1.7,63.75 -5953,46,30,2.5,111.05,1.7,63.75 -5954,46,30,2.5,111.05,1.7,63.75 -5955,46,30,2.5,111.05,1.7,63.75 -5956,46,30,2.5,111.05,1.7,63.75 -5957,46,30,2.5,111.05,1.7,63.75 -5958,46,30,2.5,111.05,1.7,63.75 -5959,46,30,2.5,111.05,1.7,63.75 -5960,46,30,2.5,111.05,1.7,63.75 -5961,46,30,2.5,111.05,1.7,63.75 -5962,46,30,2.5,111.05,1.7,63.75 -5963,46,30,2.5,111.05,1.7,63.75 -5964,46,30,2.5,111.05,1.7,63.75 -5965,46,30,2.5,111.05,1.7,63.75 -5966,46,30,2.5,111.05,1.7,63.75 -5967,46,30,2.5,111.05,1.7,63.75 -5968,46,30,2.5,111.05,1.7,63.75 -5969,46,30,2.5,111.05,1.7,63.75 -5970,46,30,2.5,111.05,1.7,63.75 -5971,46,30,2.5,111.05,1.7,63.75 -5972,46,30,2.5,111.05,1.7,63.75 -5973,46,30,2.5,111.05,1.7,63.75 -5974,46,30,2.5,111.05,1.7,63.75 -5975,46,30,2.5,111.05,1.7,63.75 -5976,46,30,2.5,111.05,1.7,63.75 -5977,46,30,2.5,111.05,1.7,63.75 -5978,46,30,2.5,111.05,1.7,63.75 -5979,46,30,2.5,111.05,1.7,63.75 -5980,46,30,2.5,111.05,1.7,63.75 -5981,46,30,2.5,111.05,1.7,63.75 -5982,46,30,2.5,111.05,1.7,63.75 -5983,46,30,2.5,111.05,1.7,63.75 -5984,46,30,2.5,111.05,1.7,63.75 -5985,46,30,2.5,111.05,1.7,63.75 -5986,46,30,2.5,111.05,1.7,63.75 -5987,46,30,2.5,111.05,1.7,63.75 -5988,46,30,2.5,111.05,1.7,63.75 -5989,46,30,2.5,111.05,1.7,63.75 -5990,46,30,2.5,111.05,1.7,63.75 -5991,46,30,2.5,111.05,1.7,63.75 -5992,46,30,2.5,111.05,1.7,63.75 -5993,46,30,2.5,111.05,1.7,63.75 -5994,46,30,2.5,111.05,1.7,63.75 -5995,46,30,2.5,111.05,1.7,63.75 -5996,46,30,2.5,111.05,1.7,63.75 -5997,46,30,2.5,111.05,1.7,63.75 -5998,46,30,2.5,111.05,1.7,63.75 -5999,46,30,2.5,111.05,1.7,63.75 -6000,46,30,2.5,111.05,1.7,63.75 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv.original b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv.original deleted file mode 100644 index 44d05b7..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test3.csv.original +++ /dev/null @@ -1,6002 +0,0 @@ -#t (100ms),EW2-Voset (kV),EW3-VOset (kV),EW101-MC-Ioset (A),EW101-GC-Ioset (A),FPS101-Voset (V) -0,20,15,111.3,1.7,53.2 -1,20.5,14.5,111.3,1.7,62 -2,21,14,111.3,1.7,62 -3,21.5,13.5,111.3,1.7,62 -4,22,13,111.3,1.7,62 -5,22.5,12.5,111.3,1.7,62 -6,23,12,111.3,1.7,62 -7,23.5,11.5,111.3,1.7,62 -8,24,11,111.3,1.7,62 -9,24.5,10.5,111.3,1.7,62 -10,25,10,111.3,1.7,62 -11,25.5,9.5,111.3,1.7,62 -12,26,9,111.3,1.7,62 -13,26.5,8.5,111.3,1.7,62 -14,27,8,111.3,1.7,62 -15,27.5,7.5,111.3,1.7,62 -16,28,7,111.3,1.7,62 -17,28.5,6.5,111.3,1.7,62 -18,29,6,111.3,1.7,62 -19,29.5,5.5,111.3,1.7,62 -20,30,5,111.3,1.7,62 -21,30,4.5,111.3,1.7,62 -22,30,4,111.3,1.7,62 -23,30,4,111.3,1.7,62 -24,30,4,111.3,1.7,62 -25,30,4,111.3,1.7,62 -26,30,4,111.3,1.7,62 -27,30,4,111.3,1.7,62 -28,30,4,111.3,1.7,62 -29,30,4,111.3,1.7,62 -30,30,4,111.3,1.7,62 -31,30,3.4,111.3,1.7,62 -32,30,3.4,111.3,1.7,62 -33,30,3.4,111.3,1.7,62 -34,30,3.4,111.3,1.7,62 -35,30,3.4,111.3,1.7,62 -36,30,3.4,111.3,1.7,62 -37,30,3.4,111.3,1.7,62 -38,30,3.4,111.3,1.7,62 -39,30,3.4,111.3,1.7,62 -40,30,3.4,111.3,1.7,62 -41,30,3.4,111.3,1.7,62 -42,30,3.4,111.3,1.7,62 -43,30,3.4,111.3,1.7,62 -44,30,3.4,111.3,1.7,62 -45,30,3.4,111.3,1.7,62 -46,30,3.4,111.3,1.7,62 -47,30,3.4,111.3,1.7,62 -48,30,3.4,111.3,1.7,62 -49,30,3.4,111.3,1.7,62 -50,30,3.4,111.3,1.7,62 -51,30,3.4,111.3,1.7,62.1 -52,30,3.4,111.3,1.7,62.2 -53,30,3.4,111.3,1.7,62.3 -54,30,3.4,111.3,1.7,62.4 -55,30,3.4,111.3,1.7,62.5 -56,30,3.4,111.3,1.7,62.6 -57,30,3.4,111.3,1.7,62.7 -58,30,3.4,111.3,1.7,62.8 -59,30,3.4,111.3,1.7,62.9 -60,30,3.4,111.3,1.7,63 -61,30,3,111.3,1.7,63.1 -62,30,3,111.3,1.7,63.2 -63,30,3,111.3,1.7,63.3 -64,30,3,111.3,1.7,63.4 -65,30,3,111.3,1.7,63.5 -66,30,3,111.3,1.7,63.6 -67,30,3,111.3,1.7,63.7 -68,30,3,111.3,1.7,63.8 -69,30,3,111.3,1.7,63.9 -70,30,3,111.3,1.7,64 -71,30,3,111.3,1.7,64.1 -72,30,3,111.3,1.7,64.2 -73,30,3,111.3,1.7,64.3 -74,30,3,111.3,1.7,64.4 -75,30,3,111.3,1.7,64.5 -76,30,3,111.3,1.7,64.6 -77,30,3,111.3,1.7,64.7 -78,30,3,111.3,1.7,64.8 -79,30,3,111.3,1.7,64.9 -80,30,3,111.3,1.7,65 -81,30,3,111.3,1.7,65.1 -82,30,3,111.3,1.7,65.2 -83,30,3,111.3,1.7,65.3 -84,30,3,111.3,1.7,65.4 -85,30,3,111.3,1.7,65.5 -86,30,3,111.3,1.7,65.6 -87,30,3,111.3,1.7,65.7 -88,30,3,111.3,1.7,65.8 -89,30,3,111.3,1.7,65.9 -90,30,3,111.3,1.7,66 -91,30,3,111.3,1.7,66.1 -92,30,3,111.3,1.7,66.2 -93,30,3,111.3,1.7,66.3 -94,30,3,111.3,1.7,66.4 -95,30,3,111.3,1.7,66.5 -96,30,3,111.3,1.7,66.6 -97,30,3,111.3,1.7,66.7 -98,30,3,111.3,1.7,66.8 -99,30,3,111.3,1.7,66.9 -100,30,3,111.3,1.7,67 -101,30,3,111.3,1.7,67 -102,30,3,111.3,1.7,67 -103,30,3,111.3,1.7,67 -104,30,3,111.3,1.7,67 -105,30,3,111.3,1.7,67 -106,30,3,111.3,1.7,67 -107,30,3,111.3,1.7,67 -108,30,3,111.3,1.7,67 -109,30,3,111.3,1.7,67 -110,30,3,111.3,1.7,67 -111,30,3,111.3,1.7,67 -112,30,3,111.3,1.7,67 -113,30,3,111.3,1.7,67 -114,30,3,111.3,1.7,67 -115,30,3,111.3,1.7,67 -116,30,3,111.3,1.7,67 -117,30,3,111.3,1.7,67 -118,30,3,111.3,1.7,67 -119,30,3,111.3,1.7,67 -120,30,3,111.3,1.7,67 -121,30,3,111.3,1.7,67 -122,30,3,111.3,1.7,67 -123,30,3,111.3,1.7,67 -124,30,3,111.3,1.7,67 -125,30,3,111.3,1.7,67 -126,30,3,111.3,1.7,67 -127,30,3,111.3,1.7,67 -128,30,3,111.3,1.7,67 -129,30,3,111.3,1.7,67 -130,30,3,111.3,1.7,67 -131,30,3,111.3,1.7,67 -132,30,3,111.3,1.7,67 -133,30,3,111.3,1.7,67 -134,30,3,111.3,1.7,67 -135,30,3,111.3,1.7,67 -136,30,3,111.3,1.7,67 -137,30,3,111.3,1.7,67 -138,30,3,111.3,1.7,67 -139,30,3,111.3,1.7,67 -140,30,3,111.3,1.7,67 -141,30,3,111.3,1.7,67 -142,30,3,111.3,1.7,67 -143,30,3,111.3,1.7,67 -144,30,3,111.3,1.7,67 -145,30,3,111.3,1.7,67 -146,30,3,111.3,1.7,67 -147,30,3,111.3,1.7,67 -148,30,3,111.3,1.7,67 -149,30,3,111.3,1.7,67 -150,30,3,111.3,1.7,67 -151,30,3,111.3,1.7,67 -152,30,3,111.3,1.7,67 -153,30,3,111.3,1.7,67 -154,30,3,111.3,1.7,67 -155,30,3,111.3,1.7,67 -156,30,3,111.3,1.7,67 -157,30,3,111.3,1.7,67 -158,30,3,111.3,1.7,67 -159,30,3,111.3,1.7,67 -160,30,3,111.3,1.7,67 -161,30,3,111.3,1.7,67 -162,30,3,111.3,1.7,67 -163,30,3,111.3,1.7,67 -164,30,3,111.3,1.7,67 -165,30,3,111.3,1.7,67 -166,30,3,111.3,1.7,67 -167,30,3,111.3,1.7,67 -168,30,3,111.3,1.7,67 -169,30,3,111.3,1.7,67 -170,30,3,111.3,1.7,67 -171,30,3,111.3,1.7,67 -172,30,3,111.3,1.7,67 -173,30,3,111.3,1.7,67 -174,30,3,111.3,1.7,67 -175,30,3,111.3,1.7,67 -176,30,3,111.3,1.7,67 -177,30,3,111.3,1.7,67 -178,30,3,111.3,1.7,67 -179,30,3,111.3,1.7,67 -180,30,3,111.3,1.7,67 -181,30,3,111.3,1.7,67 -182,30,3,111.3,1.7,67 -183,30,3,111.3,1.7,67 -184,30,3,111.3,1.7,67 -185,30,3,111.3,1.7,67 -186,30,3,111.3,1.7,67 -187,30,3,111.3,1.7,67 -188,30,3,111.3,1.7,67 -189,30,3,111.3,1.7,67 -190,30,3,111.3,1.7,67 -191,30,3,111.3,1.7,67 -192,30,3,111.3,1.7,67 -193,30,3,111.3,1.7,67 -194,30,3,111.3,1.7,67 -195,30,3,111.3,1.7,67 -196,30,3,111.3,1.7,67 -197,30,3,111.3,1.7,67 -198,30,3,111.3,1.7,67 -199,30,3,111.3,1.7,67 -200,30,2.9,111.3,1.7,67 -201,30,2.9,111.05,1.7,67 -202,30,2.9,111.05,1.7,67 -203,30,2.9,111.05,1.7,67 -204,30,2.9,111.05,1.7,67 -205,30,2.9,111.05,1.7,67 -206,30,2.9,111.05,1.7,67 -207,30,2.9,111.05,1.7,67 -208,30,2.9,111.05,1.7,67 -209,30,2.9,111.05,1.7,67 -210,30,2.9,111.05,1.7,67 -211,30,2.9,111.05,1.7,67 -212,30,2.9,111.05,1.7,67 -213,30,2.9,111.05,1.7,67 -214,30,2.9,111.05,1.7,67 -215,30,2.9,111.05,1.7,67 -216,30,2.9,111.05,1.7,67 -217,30,2.9,111.05,1.7,67 -218,30,2.9,111.05,1.7,67 -219,30,2.9,111.05,1.7,67 -220,30,2.9,111.05,1.7,67 -221,30,2.9,111.05,1.7,67 -222,30,2.9,111.05,1.7,67 -223,30,2.9,111.05,1.7,67 -224,30,2.9,111.05,1.7,67 -225,30,2.9,111.05,1.7,67 -226,30,2.9,111.05,1.7,67 -227,30,2.9,111.05,1.7,67 -228,30,2.9,111.05,1.7,67 -229,30,2.9,111.05,1.7,67 -230,30,2.9,111.05,1.7,67 -231,30,2.9,111.05,1.7,67 -232,30,2.9,111.05,1.7,67 -233,30,2.9,111.05,1.7,67 -234,30,2.9,111.05,1.7,67 -235,30,2.9,111.05,1.7,67 -236,30,2.9,111.05,1.7,67 -237,30,2.9,111.05,1.7,67 -238,30,2.9,111.05,1.7,67 -239,30,2.9,111.05,1.7,67 -240,30,2.9,111.05,1.7,67 -241,30,2.9,111.05,1.7,67 -242,30,2.9,111.05,1.7,67 -243,30,2.9,111.05,1.7,67 -244,30,2.9,111.05,1.7,67 -245,30,2.9,111.05,1.7,67 -246,30,2.9,111.05,1.7,67 -247,30,2.9,111.05,1.7,67 -248,30,2.9,111.05,1.7,67 -249,30,2.9,111.05,1.7,67 -250,30,2.8,111.05,1.7,67 -251,30,2.8,111.05,1.7,67 -252,30,2.8,111.05,1.7,67 -253,30,2.8,111.05,1.7,67 -254,30,2.8,111.05,1.7,67 -255,30,2.8,111.05,1.7,67 -256,30,2.8,111.05,1.7,67 -257,30,2.8,111.05,1.7,67 -258,30,2.8,111.05,1.7,67 -259,30,2.8,111.05,1.7,67 -260,30,2.8,111.05,1.7,67 -261,30,2.8,111.05,1.7,67 -262,30,2.8,111.05,1.7,67 -263,30,2.8,111.05,1.7,67 -264,30,2.8,111.05,1.7,67 -265,30,2.8,111.05,1.7,67 -266,30,2.8,111.05,1.7,67 -267,30,2.8,111.05,1.7,67 -268,30,2.8,111.05,1.7,67 -269,30,2.8,111.05,1.7,67 -270,30,2.8,111.05,1.7,67 -271,30,2.8,111.05,1.7,67 -272,30,2.8,111.05,1.7,67 -273,30,2.8,111.05,1.7,67 -274,30,2.8,111.05,1.7,67 -275,30,2.8,111.05,1.7,67 -276,30,2.8,111.05,1.7,67 -277,30,2.8,111.05,1.7,67 -278,30,2.8,111.05,1.7,67 -279,30,2.8,111.05,1.7,67 -280,30,2.8,111.05,1.7,67 -281,30,2.8,111.05,1.7,67 -282,30,2.8,111.05,1.7,67 -283,30,2.8,111.05,1.7,67 -284,30,2.8,111.05,1.7,67 -285,30,2.8,111.05,1.7,67 -286,30,2.8,111.05,1.7,67 -287,30,2.8,111.05,1.7,67 -288,30,2.8,111.05,1.7,67 -289,30,2.8,111.05,1.7,67 -290,30,2.8,111.05,1.7,67 -291,30,2.8,111.05,1.7,67 -292,30,2.8,111.05,1.7,67 -293,30,2.8,111.05,1.7,67 -294,30,2.8,111.05,1.7,67 -295,30,2.8,111.05,1.7,67 -296,30,2.8,111.05,1.7,67 -297,30,2.8,111.05,1.7,67 -298,30,2.8,111.05,1.7,67 -299,30,2.8,111.05,1.7,67 -300,30,2.7,111.05,1.7,67 -301,30,2.7,111.05,1.7,67 -302,30,2.7,111.05,1.7,67 -303,30,2.7,111.05,1.7,67 -304,30,2.7,111.05,1.7,67 -305,30,2.7,111.05,1.7,67 -306,30,2.7,111.05,1.7,67 -307,30,2.7,111.05,1.7,67 -308,30,2.7,111.05,1.7,67 -309,30,2.7,111.05,1.7,67 -310,30,2.7,111.05,1.7,67 -311,30,2.7,111.05,1.7,67 -312,30,2.7,111.05,1.7,67 -313,30,2.7,111.05,1.7,67 -314,30,2.7,111.05,1.7,67 -315,30,2.7,111.05,1.7,67 -316,30,2.7,111.05,1.7,67 -317,30,2.7,111.05,1.7,67 -318,30,2.7,111.05,1.7,67 -319,30,2.7,111.05,1.7,67 -320,30,2.7,111.05,1.7,67 -321,30,2.7,111.05,1.7,67 -322,30,2.7,111.05,1.7,67 -323,30,2.7,111.05,1.7,67 -324,30,2.7,111.05,1.7,67 -325,30,2.7,111.05,1.7,67 -326,30,2.7,111.05,1.7,67 -327,30,2.7,111.05,1.7,67 -328,30,2.7,111.05,1.7,67 -329,30,2.7,111.05,1.7,67 -330,30,2.7,111.05,1.7,67 -331,30,2.7,111.05,1.7,67 -332,30,2.7,111.05,1.7,67 -333,30,2.7,111.05,1.7,67 -334,30,2.7,111.05,1.7,67 -335,30,2.7,111.05,1.7,67 -336,30,2.7,111.05,1.7,67 -337,30,2.7,111.05,1.7,67 -338,30,2.7,111.05,1.7,67 -339,30,2.7,111.05,1.7,67 -340,30,2.7,111.05,1.7,67 -341,30,2.7,111.05,1.7,67 -342,30,2.7,111.05,1.7,67 -343,30,2.7,111.05,1.7,67 -344,30,2.7,111.05,1.7,67 -345,30,2.7,111.05,1.7,67 -346,30,2.7,111.05,1.7,67 -347,30,2.7,111.05,1.7,67 -348,30,2.7,111.05,1.7,67 -349,30,2.7,111.05,1.7,67 -350,30,2.7,111.05,1.7,67 -351,30,2.7,111.05,1.7,67 -352,30,2.7,111.05,1.7,67 -353,30,2.7,111.05,1.7,67 -354,30,2.7,111.05,1.7,67 -355,30,2.7,111.05,1.7,67 -356,30,2.7,111.05,1.7,67 -357,30,2.7,111.05,1.7,67 -358,30,2.7,111.05,1.7,67 -359,30,2.7,111.05,1.7,67 -360,30,2.7,111.05,1.7,67 -361,30,2.7,111.05,1.7,67 -362,30,2.7,111.05,1.7,67 -363,30,2.7,111.05,1.7,67 -364,30,2.7,111.05,1.7,67 -365,30,2.7,111.05,1.7,67 -366,30,2.7,111.05,1.7,67 -367,30,2.7,111.05,1.7,67 -368,30,2.7,111.05,1.7,67 -369,30,2.7,111.05,1.7,67 -370,30,2.7,111.05,1.7,67 -371,30,2.7,111.05,1.7,67 -372,30,2.7,111.05,1.7,67 -373,30,2.7,111.05,1.7,67 -374,30,2.7,111.05,1.7,67 -375,30,2.7,111.05,1.7,67 -376,30,2.7,111.05,1.7,67 -377,30,2.7,111.05,1.7,67 -378,30,2.7,111.05,1.7,67 -379,30,2.7,111.05,1.7,67 -380,30,2.7,111.05,1.7,67 -381,30,2.7,111.05,1.7,67 -382,30,2.7,111.05,1.7,67 -383,30,2.7,111.05,1.7,67 -384,30,2.7,111.05,1.7,67 -385,30,2.7,111.05,1.7,67 -386,30,2.7,111.05,1.7,67 -387,30,2.7,111.05,1.7,67 -388,30,2.7,111.05,1.7,67 -389,30,2.7,111.05,1.7,67 -390,30,2.7,111.05,1.7,67 -391,30,2.7,111.05,1.7,67 -392,30,2.7,111.05,1.7,67 -393,30,2.7,111.05,1.7,67 -394,30,2.7,111.05,1.7,67 -395,30,2.7,111.05,1.7,67 -396,30,2.7,111.05,1.7,67 -397,30,2.7,111.05,1.7,67 -398,30,2.7,111.05,1.7,67 -399,30,2.7,111.05,1.7,67 -400,30,2.7,111.05,1.7,67 -401,30,2.7,111.05,1.7,66.9975 -402,30,2.7,111.05,1.7,66.995 -403,30,2.7,111.05,1.7,66.9925 -404,30,2.7,111.05,1.7,66.99 -405,30,2.7,111.05,1.7,66.9875 -406,30,2.7,111.05,1.7,66.985 -407,30,2.7,111.05,1.7,66.9825 -408,30,2.7,111.05,1.7,66.98 -409,30,2.7,111.05,1.7,66.9775 -410,30,2.7,111.05,1.7,66.975 -411,30,2.7,111.05,1.7,66.9725 -412,30,2.7,111.05,1.7,66.97 -413,30,2.7,111.05,1.7,66.9675 -414,30,2.7,111.05,1.7,66.965 -415,30,2.7,111.05,1.7,66.9625 -416,30,2.7,111.05,1.7,66.96 -417,30,2.7,111.05,1.7,66.9575 -418,30,2.7,111.05,1.7,66.955 -419,30,2.7,111.05,1.7,66.9525 -420,30,2.7,111.05,1.7,66.95 -421,30,2.7,111.05,1.7,66.9475 -422,30,2.7,111.05,1.7,66.945 -423,30,2.7,111.05,1.7,66.9425 -424,30,2.7,111.05,1.7,66.94 -425,30,2.7,111.05,1.7,66.9375 -426,30,2.7,111.05,1.7,66.935 -427,30,2.7,111.05,1.7,66.9325 -428,30,2.7,111.05,1.7,66.93 -429,30,2.7,111.05,1.7,66.9275 -430,30,2.7,111.05,1.7,66.925 -431,30,2.7,111.05,1.7,66.9225 -432,30,2.7,111.05,1.7,66.92 -433,30,2.7,111.05,1.7,66.9175 -434,30,2.7,111.05,1.7,66.915 -435,30,2.7,111.05,1.7,66.9125 -436,30,2.7,111.05,1.7,66.91 -437,30,2.7,111.05,1.7,66.9075 -438,30,2.7,111.05,1.7,66.905 -439,30,2.7,111.05,1.7,66.9025 -440,30,2.7,111.05,1.7,66.9 -441,30,2.7,111.05,1.7,66.8975 -442,30,2.7,111.05,1.7,66.895 -443,30,2.7,111.05,1.7,66.8925 -444,30,2.7,111.05,1.7,66.89 -445,30,2.7,111.05,1.7,66.8875 -446,30,2.7,111.05,1.7,66.885 -447,30,2.7,111.05,1.7,66.8825 -448,30,2.7,111.05,1.7,66.88 -449,30,2.7,111.05,1.7,66.8775 -450,30,2.7,111.05,1.7,66.875 -451,30,2.7,111.05,1.7,66.8725 -452,30,2.7,111.05,1.7,66.87 -453,30,2.7,111.05,1.7,66.8675 -454,30,2.7,111.05,1.7,66.865 -455,30,2.7,111.05,1.7,66.8625 -456,30,2.7,111.05,1.7,66.86 -457,30,2.7,111.05,1.7,66.8575 -458,30,2.7,111.05,1.7,66.855 -459,30,2.7,111.05,1.7,66.8525 -460,30,2.7,111.05,1.7,66.85 -461,30,2.7,111.05,1.7,66.8475 -462,30,2.7,111.05,1.7,66.845 -463,30,2.7,111.05,1.7,66.8425 -464,30,2.7,111.05,1.7,66.84 -465,30,2.7,111.05,1.7,66.8375 -466,30,2.7,111.05,1.7,66.835 -467,30,2.7,111.05,1.7,66.8325 -468,30,2.7,111.05,1.7,66.83 -469,30,2.7,111.05,1.7,66.8275 -470,30,2.7,111.05,1.7,66.825 -471,30,2.7,111.05,1.7,66.8225 -472,30,2.7,111.05,1.7,66.82 -473,30,2.7,111.05,1.7,66.8175 -474,30,2.7,111.05,1.7,66.815 -475,30,2.7,111.05,1.7,66.8125 -476,30,2.7,111.05,1.7,66.81 -477,30,2.7,111.05,1.7,66.8075 -478,30,2.7,111.05,1.7,66.805 -479,30,2.7,111.05,1.7,66.8025 -480,30,2.7,111.05,1.7,66.8 -481,30,2.7,111.05,1.7,66.7975 -482,30,2.7,111.05,1.7,66.795 -483,30,2.7,111.05,1.7,66.7925 -484,30,2.7,111.05,1.7,66.79 -485,30,2.7,111.05,1.7,66.7875 -486,30,2.7,111.05,1.7,66.785 -487,30,2.7,111.05,1.7,66.7825 -488,30,2.7,111.05,1.7,66.78 -489,30,2.7,111.05,1.7,66.7775 -490,30,2.7,111.05,1.7,66.775 -491,30,2.7,111.05,1.7,66.7725 -492,30,2.7,111.05,1.7,66.77 -493,30,2.7,111.05,1.7,66.7675 -494,30,2.7,111.05,1.7,66.765 -495,30,2.7,111.05,1.7,66.7625 -496,30,2.7,111.05,1.7,66.76 -497,30,2.7,111.05,1.7,66.7575 -498,30,2.7,111.05,1.7,66.755 -499,30,2.7,111.05,1.7,66.7525 -500,30,2.7,111.05,1.7,66.75 -501,30,2.7,111.05,1.7,66.7475 -502,30,2.7,111.05,1.7,66.745 -503,30,2.7,111.05,1.7,66.7425 -504,30,2.7,111.05,1.7,66.74 -505,30,2.7,111.05,1.7,66.7375 -506,30,2.7,111.05,1.7,66.735 -507,30,2.7,111.05,1.7,66.7325 -508,30,2.7,111.05,1.7,66.73 -509,30,2.7,111.05,1.7,66.7275 -510,30,2.7,111.05,1.7,66.725 -511,30,2.7,111.05,1.7,66.7225 -512,30,2.7,111.05,1.7,66.72 -513,30,2.7,111.05,1.7,66.7175 -514,30,2.7,111.05,1.7,66.715 -515,30,2.7,111.05,1.7,66.7125 -516,30,2.7,111.05,1.7,66.71 -517,30,2.7,111.05,1.7,66.7075 -518,30,2.7,111.05,1.7,66.705 -519,30,2.7,111.05,1.7,66.7025 -520,30,2.7,111.05,1.7,66.7 -521,30,2.7,111.05,1.7,66.6975 -522,30,2.7,111.05,1.7,66.695 -523,30,2.7,111.05,1.7,66.6925 -524,30,2.7,111.05,1.7,66.69 -525,30,2.7,111.05,1.7,66.6875 -526,30,2.7,111.05,1.7,66.685 -527,30,2.7,111.05,1.7,66.6825 -528,30,2.7,111.05,1.7,66.68 -529,30,2.7,111.05,1.7,66.6775 -530,30,2.7,111.05,1.7,66.675 -531,30,2.7,111.05,1.7,66.6725 -532,30,2.7,111.05,1.7,66.67 -533,30,2.7,111.05,1.7,66.6675 -534,30,2.7,111.05,1.7,66.665 -535,30,2.7,111.05,1.7,66.6625 -536,30,2.7,111.05,1.7,66.66 -537,30,2.7,111.05,1.7,66.6575 -538,30,2.7,111.05,1.7,66.655 -539,30,2.7,111.05,1.7,66.6525 -540,30,2.7,111.05,1.7,66.65 -541,30,2.7,111.05,1.7,66.6475 -542,30,2.7,111.05,1.7,66.645 -543,30,2.7,111.05,1.7,66.6425 -544,30,2.7,111.05,1.7,66.64 -545,30,2.7,111.05,1.7,66.6375 -546,30,2.7,111.05,1.7,66.635 -547,30,2.7,111.05,1.7,66.6325 -548,30,2.7,111.05,1.7,66.63 -549,30,2.7,111.05,1.7,66.6275 -550,30,2.7,111.05,1.7,66.625 -551,30,2.7,111.05,1.7,66.6225 -552,30,2.7,111.05,1.7,66.62 -553,30,2.7,111.05,1.7,66.6175 -554,30,2.7,111.05,1.7,66.615 -555,30,2.7,111.05,1.7,66.6125 -556,30,2.7,111.05,1.7,66.61 -557,30,2.7,111.05,1.7,66.6075 -558,30,2.7,111.05,1.7,66.605 -559,30,2.7,111.05,1.7,66.6025 -560,30,2.7,111.05,1.7,66.6 -561,30,2.7,111.05,1.7,66.5975 -562,30,2.7,111.05,1.7,66.595 -563,30,2.7,111.05,1.7,66.5925 -564,30,2.7,111.05,1.7,66.59 -565,30,2.7,111.05,1.7,66.5875 -566,30,2.7,111.05,1.7,66.585 -567,30,2.7,111.05,1.7,66.5825 -568,30,2.7,111.05,1.7,66.58 -569,30,2.7,111.05,1.7,66.5775 -570,30,2.7,111.05,1.7,66.575 -571,30,2.7,111.05,1.7,66.5725 -572,30,2.7,111.05,1.7,66.57 -573,30,2.7,111.05,1.7,66.5675 -574,30,2.7,111.05,1.7,66.565 -575,30,2.7,111.05,1.7,66.5625 -576,30,2.7,111.05,1.7,66.56 -577,30,2.7,111.05,1.7,66.5575 -578,30,2.7,111.05,1.7,66.555 -579,30,2.7,111.05,1.7,66.5525 -580,30,2.7,111.05,1.7,66.55 -581,30,2.7,111.05,1.7,66.5475 -582,30,2.7,111.05,1.7,66.545 -583,30,2.7,111.05,1.7,66.5425 -584,30,2.7,111.05,1.7,66.54 -585,30,2.7,111.05,1.7,66.5375 -586,30,2.7,111.05,1.7,66.535 -587,30,2.7,111.05,1.7,66.5325 -588,30,2.7,111.05,1.7,66.53 -589,30,2.7,111.05,1.7,66.5275 -590,30,2.7,111.05,1.7,66.525 -591,30,2.7,111.05,1.7,66.5225 -592,30,2.7,111.05,1.7,66.52 -593,30,2.7,111.05,1.7,66.5175 -594,30,2.7,111.05,1.7,66.515 -595,30,2.7,111.05,1.7,66.5125 -596,30,2.7,111.05,1.7,66.51 -597,30,2.7,111.05,1.7,66.5075 -598,30,2.7,111.05,1.7,66.505 -599,30,2.7,111.05,1.7,66.5025 -600,30,2.7,111.05,1.7,66.5 -601,30,2.7,111.05,1.7,66.495 -602,30,2.7,111.05,1.7,66.49 -603,30,2.7,111.05,1.7,66.485 -604,30,2.7,111.05,1.7,66.48 -605,30,2.7,111.05,1.7,66.475 -606,30,2.7,111.05,1.7,66.47 -607,30,2.7,111.05,1.7,66.465 -608,30,2.7,111.05,1.7,66.46 -609,30,2.7,111.05,1.7,66.455 -610,30,2.7,111.05,1.7,66.45 -611,30,2.7,111.05,1.7,66.445 -612,30,2.7,111.05,1.7,66.44 -613,30,2.7,111.05,1.7,66.435 -614,30,2.7,111.05,1.7,66.43 -615,30,2.7,111.05,1.7,66.425 -616,30,2.7,111.05,1.7,66.42 -617,30,2.7,111.05,1.7,66.415 -618,30,2.7,111.05,1.7,66.41 -619,30,2.7,111.05,1.7,66.405 -620,30,2.7,111.05,1.7,66.4 -621,30,2.7,111.05,1.7,66.395 -622,30,2.7,111.05,1.7,66.39 -623,30,2.7,111.05,1.7,66.385 -624,30,2.7,111.05,1.7,66.38 -625,30,2.7,111.05,1.7,66.375 -626,30,2.7,111.05,1.7,66.37 -627,30,2.7,111.05,1.7,66.365 -628,30,2.7,111.05,1.7,66.36 -629,30,2.7,111.05,1.7,66.355 -630,30,2.7,111.05,1.7,66.35 -631,30,2.7,111.05,1.7,66.345 -632,30,2.7,111.05,1.7,66.34 -633,30,2.7,111.05,1.7,66.335 -634,30,2.7,111.05,1.7,66.33 -635,30,2.7,111.05,1.7,66.325 -636,30,2.7,111.05,1.7,66.32 -637,30,2.7,111.05,1.7,66.315 -638,30,2.7,111.05,1.7,66.31 -639,30,2.7,111.05,1.7,66.305 -640,30,2.7,111.05,1.7,66.3 -641,30,2.7,111.05,1.7,66.295 -642,30,2.7,111.05,1.7,66.29 -643,30,2.7,111.05,1.7,66.285 -644,30,2.7,111.05,1.7,66.28 -645,30,2.7,111.05,1.7,66.275 -646,30,2.7,111.05,1.7,66.27 -647,30,2.7,111.05,1.7,66.265 -648,30,2.7,111.05,1.7,66.26 -649,30,2.7,111.05,1.7,66.255 -650,30,2.7,111.05,1.7,66.25 -651,30,2.7,111.05,1.7,66.245 -652,30,2.7,111.05,1.7,66.24 -653,30,2.7,111.05,1.7,66.235 -654,30,2.7,111.05,1.7,66.23 -655,30,2.7,111.05,1.7,66.225 -656,30,2.7,111.05,1.7,66.22 -657,30,2.7,111.05,1.7,66.215 -658,30,2.7,111.05,1.7,66.21 -659,30,2.7,111.05,1.7,66.205 -660,30,2.7,111.05,1.7,66.2 -661,30,2.7,111.05,1.7,66.195 -662,30,2.7,111.05,1.7,66.19 -663,30,2.7,111.05,1.7,66.185 -664,30,2.7,111.05,1.7,66.18 -665,30,2.7,111.05,1.7,66.175 -666,30,2.7,111.05,1.7,66.17 -667,30,2.7,111.05,1.7,66.165 -668,30,2.7,111.05,1.7,66.16 -669,30,2.7,111.05,1.7,66.155 -670,30,2.7,111.05,1.7,66.15 -671,30,2.7,111.05,1.7,66.145 -672,30,2.7,111.05,1.7,66.14 -673,30,2.7,111.05,1.7,66.135 -674,30,2.7,111.05,1.7,66.13 -675,30,2.7,111.05,1.7,66.125 -676,30,2.7,111.05,1.7,66.12 -677,30,2.7,111.05,1.7,66.115 -678,30,2.7,111.05,1.7,66.11 -679,30,2.7,111.05,1.7,66.105 -680,30,2.7,111.05,1.7,66.1 -681,30,2.7,111.05,1.7,66.095 -682,30,2.7,111.05,1.7,66.09 -683,30,2.7,111.05,1.7,66.085 -684,30,2.7,111.05,1.7,66.08 -685,30,2.7,111.05,1.7,66.075 -686,30,2.7,111.05,1.7,66.07 -687,30,2.7,111.05,1.7,66.065 -688,30,2.7,111.05,1.7,66.06 -689,30,2.7,111.05,1.7,66.055 -690,30,2.7,111.05,1.7,66.05 -691,30,2.7,111.05,1.7,66.045 -692,30,2.7,111.05,1.7,66.04 -693,30,2.7,111.05,1.7,66.035 -694,30,2.7,111.05,1.7,66.03 -695,30,2.7,111.05,1.7,66.025 -696,30,2.7,111.05,1.7,66.02 -697,30,2.7,111.05,1.7,66.015 -698,30,2.7,111.05,1.7,66.01 -699,30,2.7,111.05,1.7,66.005 -700,30,2.7,111.05,1.7,66 -701,30,2.7,111.05,1.7,65.995 -702,30,2.7,111.05,1.7,65.99 -703,30,2.7,111.05,1.7,65.985 -704,30,2.7,111.05,1.7,65.98 -705,30,2.7,111.05,1.7,65.975 -706,30,2.7,111.05,1.7,65.97 -707,30,2.7,111.05,1.7,65.965 -708,30,2.7,111.05,1.7,65.96 -709,30,2.7,111.05,1.7,65.955 -710,30,2.7,111.05,1.7,65.95 -711,30,2.7,111.05,1.7,65.945 -712,30,2.7,111.05,1.7,65.94 -713,30,2.7,111.05,1.7,65.935 -714,30,2.7,111.05,1.7,65.93 -715,30,2.7,111.05,1.7,65.925 -716,30,2.7,111.05,1.7,65.92 -717,30,2.7,111.05,1.7,65.915 -718,30,2.7,111.05,1.7,65.91 -719,30,2.7,111.05,1.7,65.905 -720,30,2.7,111.05,1.7,65.9 -721,30,2.7,111.05,1.7,65.895 -722,30,2.7,111.05,1.7,65.89 -723,30,2.7,111.05,1.7,65.885 -724,30,2.7,111.05,1.7,65.88 -725,30,2.7,111.05,1.7,65.875 -726,30,2.7,111.05,1.7,65.87 -727,30,2.7,111.05,1.7,65.865 -728,30,2.7,111.05,1.7,65.86 -729,30,2.7,111.05,1.7,65.855 -730,30,2.7,111.05,1.7,65.85 -731,30,2.7,111.05,1.7,65.845 -732,30,2.7,111.05,1.7,65.84 -733,30,2.7,111.05,1.7,65.835 -734,30,2.7,111.05,1.7,65.83 -735,30,2.7,111.05,1.7,65.825 -736,30,2.7,111.05,1.7,65.82 -737,30,2.7,111.05,1.7,65.815 -738,30,2.7,111.05,1.7,65.81 -739,30,2.7,111.05,1.7,65.805 -740,30,2.7,111.05,1.7,65.8 -741,30,2.7,111.05,1.7,65.795 -742,30,2.7,111.05,1.7,65.79 -743,30,2.7,111.05,1.7,65.785 -744,30,2.7,111.05,1.7,65.78 -745,30,2.7,111.05,1.7,65.775 -746,30,2.7,111.05,1.7,65.77 -747,30,2.7,111.05,1.7,65.765 -748,30,2.7,111.05,1.7,65.76 -749,30,2.7,111.05,1.7,65.755 -750,30,2.7,111.05,1.7,65.75 -751,30,2.7,111.05,1.7,65.745 -752,30,2.7,111.05,1.7,65.74 -753,30,2.7,111.05,1.7,65.735 -754,30,2.7,111.05,1.7,65.73 -755,30,2.7,111.05,1.7,65.725 -756,30,2.7,111.05,1.7,65.72 -757,30,2.7,111.05,1.7,65.715 -758,30,2.7,111.05,1.7,65.71 -759,30,2.7,111.05,1.7,65.705 -760,30,2.7,111.05,1.7,65.7 -761,30,2.7,111.05,1.7,65.695 -762,30,2.7,111.05,1.7,65.69 -763,30,2.7,111.05,1.7,65.685 -764,30,2.7,111.05,1.7,65.68 -765,30,2.7,111.05,1.7,65.675 -766,30,2.7,111.05,1.7,65.67 -767,30,2.7,111.05,1.7,65.665 -768,30,2.7,111.05,1.7,65.66 -769,30,2.7,111.05,1.7,65.655 -770,30,2.7,111.05,1.7,65.65 -771,30,2.7,111.05,1.7,65.645 -772,30,2.7,111.05,1.7,65.64 -773,30,2.7,111.05,1.7,65.635 -774,30,2.7,111.05,1.7,65.63 -775,30,2.7,111.05,1.7,65.625 -776,30,2.7,111.05,1.7,65.62 -777,30,2.7,111.05,1.7,65.615 -778,30,2.7,111.05,1.7,65.61 -779,30,2.7,111.05,1.7,65.605 -780,30,2.7,111.05,1.7,65.6 -781,30,2.7,111.05,1.7,65.595 -782,30,2.7,111.05,1.7,65.59 -783,30,2.7,111.05,1.7,65.585 -784,30,2.7,111.05,1.7,65.58 -785,30,2.7,111.05,1.7,65.575 -786,30,2.7,111.05,1.7,65.57 -787,30,2.7,111.05,1.7,65.565 -788,30,2.7,111.05,1.7,65.56 -789,30,2.7,111.05,1.7,65.555 -790,30,2.7,111.05,1.7,65.55 -791,30,2.7,111.05,1.7,65.545 -792,30,2.7,111.05,1.7,65.54 -793,30,2.7,111.05,1.7,65.535 -794,30,2.7,111.05,1.7,65.53 -795,30,2.7,111.05,1.7,65.525 -796,30,2.7,111.05,1.7,65.52 -797,30,2.7,111.05,1.7,65.515 -798,30,2.7,111.05,1.7,65.51 -799,30,2.7,111.05,1.7,65.505 -800,30,2.7,111.05,1.7,65.5 -801,30,2.7,111.05,1.7,65.495 -802,30,2.7,111.05,1.7,65.49 -803,30,2.7,111.05,1.7,65.485 -804,30,2.7,111.05,1.7,65.48 -805,30,2.7,111.05,1.7,65.475 -806,30,2.7,111.05,1.7,65.47 -807,30,2.7,111.05,1.7,65.465 -808,30,2.7,111.05,1.7,65.46 -809,30,2.7,111.05,1.7,65.455 -810,30,2.7,111.05,1.7,65.45 -811,30,2.7,111.05,1.7,65.445 -812,30,2.7,111.05,1.7,65.44 -813,30,2.7,111.05,1.7,65.435 -814,30,2.7,111.05,1.7,65.43 -815,30,2.7,111.05,1.7,65.425 -816,30,2.7,111.05,1.7,65.42 -817,30,2.7,111.05,1.7,65.415 -818,30,2.7,111.05,1.7,65.41 -819,30,2.7,111.05,1.7,65.405 -820,30,2.7,111.05,1.7,65.4 -821,30,2.7,111.05,1.7,65.395 -822,30,2.7,111.05,1.7,65.39 -823,30,2.7,111.05,1.7,65.385 -824,30,2.7,111.05,1.7,65.38 -825,30,2.7,111.05,1.7,65.375 -826,30,2.7,111.05,1.7,65.37 -827,30,2.7,111.05,1.7,65.365 -828,30,2.7,111.05,1.7,65.36 -829,30,2.7,111.05,1.7,65.355 -830,30,2.7,111.05,1.7,65.35 -831,30,2.7,111.05,1.7,65.345 -832,30,2.7,111.05,1.7,65.34 -833,30,2.7,111.05,1.7,65.335 -834,30,2.7,111.05,1.7,65.33 -835,30,2.7,111.05,1.7,65.325 -836,30,2.7,111.05,1.7,65.32 -837,30,2.7,111.05,1.7,65.315 -838,30,2.7,111.05,1.7,65.31 -839,30,2.7,111.05,1.7,65.305 -840,30,2.7,111.05,1.7,65.3 -841,30,2.7,111.05,1.7,65.295 -842,30,2.7,111.05,1.7,65.29 -843,30,2.7,111.05,1.7,65.285 -844,30,2.7,111.05,1.7,65.28 -845,30,2.7,111.05,1.7,65.275 -846,30,2.7,111.05,1.7,65.27 -847,30,2.7,111.05,1.7,65.265 -848,30,2.7,111.05,1.7,65.26 -849,30,2.7,111.05,1.7,65.255 -850,30,2.7,111.05,1.7,65.25 -851,30,2.7,111.05,1.7,65.245 -852,30,2.7,111.05,1.7,65.24 -853,30,2.7,111.05,1.7,65.235 -854,30,2.7,111.05,1.7,65.23 -855,30,2.7,111.05,1.7,65.225 -856,30,2.7,111.05,1.7,65.22 -857,30,2.7,111.05,1.7,65.215 -858,30,2.7,111.05,1.7,65.21 -859,30,2.7,111.05,1.7,65.205 -860,30,2.7,111.05,1.7,65.2 -861,30,2.7,111.05,1.7,65.195 -862,30,2.7,111.05,1.7,65.19 -863,30,2.7,111.05,1.7,65.185 -864,30,2.7,111.05,1.7,65.18 -865,30,2.7,111.05,1.7,65.175 -866,30,2.7,111.05,1.7,65.17 -867,30,2.7,111.05,1.7,65.165 -868,30,2.7,111.05,1.7,65.16 -869,30,2.7,111.05,1.7,65.155 -870,30,2.7,111.05,1.7,65.15 -871,30,2.7,111.05,1.7,65.145 -872,30,2.7,111.05,1.7,65.14 -873,30,2.7,111.05,1.7,65.135 -874,30,2.7,111.05,1.7,65.13 -875,30,2.7,111.05,1.7,65.125 -876,30,2.7,111.05,1.7,65.12 -877,30,2.7,111.05,1.7,65.115 -878,30,2.7,111.05,1.7,65.11 -879,30,2.7,111.05,1.7,65.105 -880,30,2.7,111.05,1.7,65.1 -881,30,2.7,111.05,1.7,65.095 -882,30,2.7,111.05,1.7,65.09 -883,30,2.7,111.05,1.7,65.085 -884,30,2.7,111.05,1.7,65.08 -885,30,2.7,111.05,1.7,65.075 -886,30,2.7,111.05,1.7,65.07 -887,30,2.7,111.05,1.7,65.065 -888,30,2.7,111.05,1.7,65.06 -889,30,2.7,111.05,1.7,65.055 -890,30,2.7,111.05,1.7,65.05 -891,30,2.7,111.05,1.7,65.045 -892,30,2.7,111.05,1.7,65.04 -893,30,2.7,111.05,1.7,65.035 -894,30,2.7,111.05,1.7,65.03 -895,30,2.7,111.05,1.7,65.025 -896,30,2.7,111.05,1.7,65.02 -897,30,2.7,111.05,1.7,65.015 -898,30,2.7,111.05,1.7,65.01 -899,30,2.7,111.05,1.7,65.005 -900,30,2.7,111.05,1.7,65 -901,30,2.7,111.05,1.7,64.99833333 -902,30,2.7,111.05,1.7,64.99666667 -903,30,2.7,111.05,1.7,64.995 -904,30,2.7,111.05,1.7,64.99333333 -905,30,2.7,111.05,1.7,64.99166667 -906,30,2.7,111.05,1.7,64.99 -907,30,2.7,111.05,1.7,64.98833333 -908,30,2.7,111.05,1.7,64.98666667 -909,30,2.7,111.05,1.7,64.985 -910,30,2.7,111.05,1.7,64.98333333 -911,30,2.7,111.05,1.7,64.98166667 -912,30,2.7,111.05,1.7,64.98 -913,30,2.7,111.05,1.7,64.97833333 -914,30,2.7,111.05,1.7,64.97666667 -915,30,2.7,111.05,1.7,64.975 -916,30,2.7,111.05,1.7,64.97333333 -917,30,2.7,111.05,1.7,64.97166667 -918,30,2.7,111.05,1.7,64.97 -919,30,2.7,111.05,1.7,64.96833333 -920,30,2.7,111.05,1.7,64.96666667 -921,30,2.7,111.05,1.7,64.965 -922,30,2.7,111.05,1.7,64.96333333 -923,30,2.7,111.05,1.7,64.96166667 -924,30,2.7,111.05,1.7,64.96 -925,30,2.7,111.05,1.7,64.95833333 -926,30,2.7,111.05,1.7,64.95666667 -927,30,2.7,111.05,1.7,64.955 -928,30,2.7,111.05,1.7,64.95333333 -929,30,2.7,111.05,1.7,64.95166667 -930,30,2.7,111.05,1.7,64.95 -931,30,2.7,111.05,1.7,64.94833333 -932,30,2.7,111.05,1.7,64.94666667 -933,30,2.7,111.05,1.7,64.945 -934,30,2.7,111.05,1.7,64.94333333 -935,30,2.7,111.05,1.7,64.94166667 -936,30,2.7,111.05,1.7,64.94 -937,30,2.7,111.05,1.7,64.93833333 -938,30,2.7,111.05,1.7,64.93666667 -939,30,2.7,111.05,1.7,64.935 -940,30,2.7,111.05,1.7,64.93333333 -941,30,2.7,111.05,1.7,64.93166667 -942,30,2.7,111.05,1.7,64.93 -943,30,2.7,111.05,1.7,64.92833333 -944,30,2.7,111.05,1.7,64.92666667 -945,30,2.7,111.05,1.7,64.925 -946,30,2.7,111.05,1.7,64.92333333 -947,30,2.7,111.05,1.7,64.92166667 -948,30,2.7,111.05,1.7,64.92 -949,30,2.7,111.05,1.7,64.91833333 -950,30,2.7,111.05,1.7,64.91666667 -951,30,2.7,111.05,1.7,64.915 -952,30,2.7,111.05,1.7,64.91333333 -953,30,2.7,111.05,1.7,64.91166666 -954,30,2.7,111.05,1.7,64.91 -955,30,2.7,111.05,1.7,64.90833333 -956,30,2.7,111.05,1.7,64.90666666 -957,30,2.7,111.05,1.7,64.905 -958,30,2.7,111.05,1.7,64.90333333 -959,30,2.7,111.05,1.7,64.90166666 -960,30,2.7,111.05,1.7,64.9 -961,30,2.7,111.05,1.7,64.89833333 -962,30,2.7,111.05,1.7,64.89666666 -963,30,2.7,111.05,1.7,64.895 -964,30,2.7,111.05,1.7,64.89333333 -965,30,2.7,111.05,1.7,64.89166666 -966,30,2.7,111.05,1.7,64.89 -967,30,2.7,111.05,1.7,64.88833333 -968,30,2.7,111.05,1.7,64.88666666 -969,30,2.7,111.05,1.7,64.885 -970,30,2.7,111.05,1.7,64.88333333 -971,30,2.7,111.05,1.7,64.88166666 -972,30,2.7,111.05,1.7,64.88 -973,30,2.7,111.05,1.7,64.87833333 -974,30,2.7,111.05,1.7,64.87666666 -975,30,2.7,111.05,1.7,64.875 -976,30,2.7,111.05,1.7,64.87333333 -977,30,2.7,111.05,1.7,64.87166666 -978,30,2.7,111.05,1.7,64.87 -979,30,2.7,111.05,1.7,64.86833333 -980,30,2.7,111.05,1.7,64.86666666 -981,30,2.7,111.05,1.7,64.865 -982,30,2.7,111.05,1.7,64.86333333 -983,30,2.7,111.05,1.7,64.86166666 -984,30,2.7,111.05,1.7,64.86 -985,30,2.7,111.05,1.7,64.85833333 -986,30,2.7,111.05,1.7,64.85666666 -987,30,2.7,111.05,1.7,64.855 -988,30,2.7,111.05,1.7,64.85333333 -989,30,2.7,111.05,1.7,64.85166666 -990,30,2.7,111.05,1.7,64.85 -991,30,2.7,111.05,1.7,64.84833333 -992,30,2.7,111.05,1.7,64.84666666 -993,30,2.7,111.05,1.7,64.845 -994,30,2.7,111.05,1.7,64.84333333 -995,30,2.7,111.05,1.7,64.84166666 -996,30,2.7,111.05,1.7,64.84 -997,30,2.7,111.05,1.7,64.83833333 -998,30,2.7,111.05,1.7,64.83666666 -999,30,2.7,111.05,1.7,64.835 -1000,30,2.7,111.05,1.7,64.83333333 -1001,30,2.7,111.05,1.7,64.83166666 -1002,30,2.7,111.05,1.7,64.83 -1003,30,2.7,111.05,1.7,64.82833333 -1004,30,2.7,111.05,1.7,64.82666666 -1005,30,2.7,111.05,1.7,64.825 -1006,30,2.7,111.05,1.7,64.82333333 -1007,30,2.7,111.05,1.7,64.82166666 -1008,30,2.7,111.05,1.7,64.82 -1009,30,2.7,111.05,1.7,64.81833333 -1010,30,2.7,111.05,1.7,64.81666666 -1011,30,2.7,111.05,1.7,64.815 -1012,30,2.7,111.05,1.7,64.81333333 -1013,30,2.7,111.05,1.7,64.81166666 -1014,30,2.7,111.05,1.7,64.81 -1015,30,2.7,111.05,1.7,64.80833333 -1016,30,2.7,111.05,1.7,64.80666666 -1017,30,2.7,111.05,1.7,64.805 -1018,30,2.7,111.05,1.7,64.80333333 -1019,30,2.7,111.05,1.7,64.80166666 -1020,30,2.7,111.05,1.7,64.8 -1021,30,2.7,111.05,1.7,64.79833333 -1022,30,2.7,111.05,1.7,64.79666666 -1023,30,2.7,111.05,1.7,64.795 -1024,30,2.7,111.05,1.7,64.79333333 -1025,30,2.7,111.05,1.7,64.79166666 -1026,30,2.7,111.05,1.7,64.79 -1027,30,2.7,111.05,1.7,64.78833333 -1028,30,2.7,111.05,1.7,64.78666666 -1029,30,2.7,111.05,1.7,64.785 -1030,30,2.7,111.05,1.7,64.78333333 -1031,30,2.7,111.05,1.7,64.78166666 -1032,30,2.7,111.05,1.7,64.78 -1033,30,2.7,111.05,1.7,64.77833333 -1034,30,2.7,111.05,1.7,64.77666666 -1035,30,2.7,111.05,1.7,64.775 -1036,30,2.7,111.05,1.7,64.77333333 -1037,30,2.7,111.05,1.7,64.77166666 -1038,30,2.7,111.05,1.7,64.77 -1039,30,2.7,111.05,1.7,64.76833333 -1040,30,2.7,111.05,1.7,64.76666666 -1041,30,2.7,111.05,1.7,64.765 -1042,30,2.7,111.05,1.7,64.76333333 -1043,30,2.7,111.05,1.7,64.76166666 -1044,30,2.7,111.05,1.7,64.76 -1045,30,2.7,111.05,1.7,64.75833333 -1046,30,2.7,111.05,1.7,64.75666666 -1047,30,2.7,111.05,1.7,64.755 -1048,30,2.7,111.05,1.7,64.75333333 -1049,30,2.7,111.05,1.7,64.75166666 -1050,30,2.7,111.05,1.7,64.75 -1051,30,2.7,111.05,1.7,64.74833333 -1052,30,2.7,111.05,1.7,64.74666666 -1053,30,2.7,111.05,1.7,64.74499999 -1054,30,2.7,111.05,1.7,64.74333333 -1055,30,2.7,111.05,1.7,64.74166666 -1056,30,2.7,111.05,1.7,64.73999999 -1057,30,2.7,111.05,1.7,64.73833333 -1058,30,2.7,111.05,1.7,64.73666666 -1059,30,2.7,111.05,1.7,64.73499999 -1060,30,2.7,111.05,1.7,64.73333333 -1061,30,2.7,111.05,1.7,64.73166666 -1062,30,2.7,111.05,1.7,64.72999999 -1063,30,2.7,111.05,1.7,64.72833333 -1064,30,2.7,111.05,1.7,64.72666666 -1065,30,2.7,111.05,1.7,64.72499999 -1066,30,2.7,111.05,1.7,64.72333333 -1067,30,2.7,111.05,1.7,64.72166666 -1068,30,2.7,111.05,1.7,64.71999999 -1069,30,2.7,111.05,1.7,64.71833333 -1070,30,2.7,111.05,1.7,64.71666666 -1071,30,2.7,111.05,1.7,64.71499999 -1072,30,2.7,111.05,1.7,64.71333333 -1073,30,2.7,111.05,1.7,64.71166666 -1074,30,2.7,111.05,1.7,64.70999999 -1075,30,2.7,111.05,1.7,64.70833333 -1076,30,2.7,111.05,1.7,64.70666666 -1077,30,2.7,111.05,1.7,64.70499999 -1078,30,2.7,111.05,1.7,64.70333333 -1079,30,2.7,111.05,1.7,64.70166666 -1080,30,2.7,111.05,1.7,64.69999999 -1081,30,2.7,111.05,1.7,64.69833333 -1082,30,2.7,111.05,1.7,64.69666666 -1083,30,2.7,111.05,1.7,64.69499999 -1084,30,2.7,111.05,1.7,64.69333333 -1085,30,2.7,111.05,1.7,64.69166666 -1086,30,2.7,111.05,1.7,64.68999999 -1087,30,2.7,111.05,1.7,64.68833333 -1088,30,2.7,111.05,1.7,64.68666666 -1089,30,2.7,111.05,1.7,64.68499999 -1090,30,2.7,111.05,1.7,64.68333333 -1091,30,2.7,111.05,1.7,64.68166666 -1092,30,2.7,111.05,1.7,64.67999999 -1093,30,2.7,111.05,1.7,64.67833333 -1094,30,2.7,111.05,1.7,64.67666666 -1095,30,2.7,111.05,1.7,64.67499999 -1096,30,2.7,111.05,1.7,64.67333333 -1097,30,2.7,111.05,1.7,64.67166666 -1098,30,2.7,111.05,1.7,64.66999999 -1099,30,2.7,111.05,1.7,64.66833333 -1100,30,2.7,111.05,1.7,64.66666666 -1101,30,2.7,111.05,1.7,64.66499999 -1102,30,2.7,111.05,1.7,64.66333333 -1103,30,2.7,111.05,1.7,64.66166666 -1104,30,2.7,111.05,1.7,64.65999999 -1105,30,2.7,111.05,1.7,64.65833333 -1106,30,2.7,111.05,1.7,64.65666666 -1107,30,2.7,111.05,1.7,64.65499999 -1108,30,2.7,111.05,1.7,64.65333333 -1109,30,2.7,111.05,1.7,64.65166666 -1110,30,2.7,111.05,1.7,64.64999999 -1111,30,2.7,111.05,1.7,64.64833333 -1112,30,2.7,111.05,1.7,64.64666666 -1113,30,2.7,111.05,1.7,64.64499999 -1114,30,2.7,111.05,1.7,64.64333333 -1115,30,2.7,111.05,1.7,64.64166666 -1116,30,2.7,111.05,1.7,64.63999999 -1117,30,2.7,111.05,1.7,64.63833333 -1118,30,2.7,111.05,1.7,64.63666666 -1119,30,2.7,111.05,1.7,64.63499999 -1120,30,2.7,111.05,1.7,64.63333333 -1121,30,2.7,111.05,1.7,64.63166666 -1122,30,2.7,111.05,1.7,64.62999999 -1123,30,2.7,111.05,1.7,64.62833333 -1124,30,2.7,111.05,1.7,64.62666666 -1125,30,2.7,111.05,1.7,64.62499999 -1126,30,2.7,111.05,1.7,64.62333333 -1127,30,2.7,111.05,1.7,64.62166666 -1128,30,2.7,111.05,1.7,64.61999999 -1129,30,2.7,111.05,1.7,64.61833333 -1130,30,2.7,111.05,1.7,64.61666666 -1131,30,2.7,111.05,1.7,64.61499999 -1132,30,2.7,111.05,1.7,64.61333333 -1133,30,2.7,111.05,1.7,64.61166666 -1134,30,2.7,111.05,1.7,64.60999999 -1135,30,2.7,111.05,1.7,64.60833333 -1136,30,2.7,111.05,1.7,64.60666666 -1137,30,2.7,111.05,1.7,64.60499999 -1138,30,2.7,111.05,1.7,64.60333333 -1139,30,2.7,111.05,1.7,64.60166666 -1140,30,2.7,111.05,1.7,64.59999999 -1141,30,2.7,111.05,1.7,64.59833333 -1142,30,2.7,111.05,1.7,64.59666666 -1143,30,2.7,111.05,1.7,64.59499999 -1144,30,2.7,111.05,1.7,64.59333333 -1145,30,2.7,111.05,1.7,64.59166666 -1146,30,2.7,111.05,1.7,64.58999999 -1147,30,2.7,111.05,1.7,64.58833333 -1148,30,2.7,111.05,1.7,64.58666666 -1149,30,2.7,111.05,1.7,64.58499999 -1150,30,2.7,111.05,1.7,64.58333333 -1151,30,2.7,111.05,1.7,64.58166666 -1152,30,2.7,111.05,1.7,64.57999999 -1153,30,2.7,111.05,1.7,64.57833332 -1154,30,2.7,111.05,1.7,64.57666666 -1155,30,2.7,111.05,1.7,64.57499999 -1156,30,2.7,111.05,1.7,64.57333332 -1157,30,2.7,111.05,1.7,64.57166666 -1158,30,2.7,111.05,1.7,64.56999999 -1159,30,2.7,111.05,1.7,64.56833332 -1160,30,2.7,111.05,1.7,64.56666666 -1161,30,2.7,111.05,1.7,64.56499999 -1162,30,2.7,111.05,1.7,64.56333332 -1163,30,2.7,111.05,1.7,64.56166666 -1164,30,2.7,111.05,1.7,64.55999999 -1165,30,2.7,111.05,1.7,64.55833332 -1166,30,2.7,111.05,1.7,64.55666666 -1167,30,2.7,111.05,1.7,64.55499999 -1168,30,2.7,111.05,1.7,64.55333332 -1169,30,2.7,111.05,1.7,64.55166666 -1170,30,2.7,111.05,1.7,64.54999999 -1171,30,2.7,111.05,1.7,64.54833332 -1172,30,2.7,111.05,1.7,64.54666666 -1173,30,2.7,111.05,1.7,64.54499999 -1174,30,2.7,111.05,1.7,64.54333332 -1175,30,2.7,111.05,1.7,64.54166666 -1176,30,2.7,111.05,1.7,64.53999999 -1177,30,2.7,111.05,1.7,64.53833332 -1178,30,2.7,111.05,1.7,64.53666666 -1179,30,2.7,111.05,1.7,64.53499999 -1180,30,2.7,111.05,1.7,64.53333332 -1181,30,2.7,111.05,1.7,64.53166666 -1182,30,2.7,111.05,1.7,64.52999999 -1183,30,2.7,111.05,1.7,64.52833332 -1184,30,2.7,111.05,1.7,64.52666666 -1185,30,2.7,111.05,1.7,64.52499999 -1186,30,2.7,111.05,1.7,64.52333332 -1187,30,2.7,111.05,1.7,64.52166666 -1188,30,2.7,111.05,1.7,64.51999999 -1189,30,2.7,111.05,1.7,64.51833332 -1190,30,2.7,111.05,1.7,64.51666666 -1191,30,2.7,111.05,1.7,64.51499999 -1192,30,2.7,111.05,1.7,64.51333332 -1193,30,2.7,111.05,1.7,64.51166666 -1194,30,2.7,111.05,1.7,64.50999999 -1195,30,2.7,111.05,1.7,64.50833332 -1196,30,2.7,111.05,1.7,64.50666666 -1197,30,2.7,111.05,1.7,64.50499999 -1198,30,2.7,111.05,1.7,64.50333332 -1199,30,2.7,111.05,1.7,64.50166666 -1200,30,2.7,111.05,1.7,64.5 -1201,30,2.7,111.05,1.7,64.499375 -1202,30,2.7,111.05,1.7,64.49875 -1203,30,2.7,111.05,1.7,64.498125 -1204,30,2.7,111.05,1.7,64.4975 -1205,30,2.7,111.05,1.7,64.496875 -1206,30,2.7,111.05,1.7,64.49625 -1207,30,2.7,111.05,1.7,64.495625 -1208,30,2.7,111.05,1.7,64.495 -1209,30,2.7,111.05,1.7,64.494375 -1210,30,2.7,111.05,1.7,64.49375 -1211,30,2.7,111.05,1.7,64.493125 -1212,30,2.7,111.05,1.7,64.4925 -1213,30,2.7,111.05,1.7,64.491875 -1214,30,2.7,111.05,1.7,64.49125 -1215,30,2.7,111.05,1.7,64.490625 -1216,30,2.7,111.05,1.7,64.49 -1217,30,2.7,111.05,1.7,64.489375 -1218,30,2.7,111.05,1.7,64.48875 -1219,30,2.7,111.05,1.7,64.488125 -1220,30,2.7,111.05,1.7,64.4875 -1221,30,2.7,111.05,1.7,64.486875 -1222,30,2.7,111.05,1.7,64.48625 -1223,30,2.7,111.05,1.7,64.485625 -1224,30,2.7,111.05,1.7,64.485 -1225,30,2.7,111.05,1.7,64.484375 -1226,30,2.7,111.05,1.7,64.48375 -1227,30,2.7,111.05,1.7,64.483125 -1228,30,2.7,111.05,1.7,64.4825 -1229,30,2.7,111.05,1.7,64.481875 -1230,30,2.7,111.05,1.7,64.48125 -1231,30,2.7,111.05,1.7,64.480625 -1232,30,2.7,111.05,1.7,64.48 -1233,30,2.7,111.05,1.7,64.479375 -1234,30,2.7,111.05,1.7,64.47875 -1235,30,2.7,111.05,1.7,64.478125 -1236,30,2.7,111.05,1.7,64.4775 -1237,30,2.7,111.05,1.7,64.476875 -1238,30,2.7,111.05,1.7,64.47625 -1239,30,2.7,111.05,1.7,64.475625 -1240,30,2.7,111.05,1.7,64.475 -1241,30,2.7,111.05,1.7,64.474375 -1242,30,2.7,111.05,1.7,64.47375 -1243,30,2.7,111.05,1.7,64.473125 -1244,30,2.7,111.05,1.7,64.4725 -1245,30,2.7,111.05,1.7,64.471875 -1246,30,2.7,111.05,1.7,64.47125 -1247,30,2.7,111.05,1.7,64.470625 -1248,30,2.7,111.05,1.7,64.47 -1249,30,2.7,111.05,1.7,64.469375 -1250,30,2.7,111.05,1.7,64.46875 -1251,30,2.7,111.05,1.7,64.468125 -1252,30,2.7,111.05,1.7,64.4675 -1253,30,2.7,111.05,1.7,64.466875 -1254,30,2.7,111.05,1.7,64.46625 -1255,30,2.7,111.05,1.7,64.465625 -1256,30,2.7,111.05,1.7,64.465 -1257,30,2.7,111.05,1.7,64.464375 -1258,30,2.7,111.05,1.7,64.46375 -1259,30,2.7,111.05,1.7,64.463125 -1260,30,2.7,111.05,1.7,64.4625 -1261,30,2.7,111.05,1.7,64.461875 -1262,30,2.7,111.05,1.7,64.46125 -1263,30,2.7,111.05,1.7,64.460625 -1264,30,2.7,111.05,1.7,64.46 -1265,30,2.7,111.05,1.7,64.459375 -1266,30,2.7,111.05,1.7,64.45875 -1267,30,2.7,111.05,1.7,64.458125 -1268,30,2.7,111.05,1.7,64.4575 -1269,30,2.7,111.05,1.7,64.456875 -1270,30,2.7,111.05,1.7,64.45625 -1271,30,2.7,111.05,1.7,64.455625 -1272,30,2.7,111.05,1.7,64.455 -1273,30,2.7,111.05,1.7,64.454375 -1274,30,2.7,111.05,1.7,64.45375 -1275,30,2.7,111.05,1.7,64.453125 -1276,30,2.7,111.05,1.7,64.4525 -1277,30,2.7,111.05,1.7,64.451875 -1278,30,2.7,111.05,1.7,64.45125 -1279,30,2.7,111.05,1.7,64.450625 -1280,30,2.7,111.05,1.7,64.45 -1281,30,2.7,111.05,1.7,64.449375 -1282,30,2.7,111.05,1.7,64.44875 -1283,30,2.7,111.05,1.7,64.448125 -1284,30,2.7,111.05,1.7,64.4475 -1285,30,2.7,111.05,1.7,64.446875 -1286,30,2.7,111.05,1.7,64.44625 -1287,30,2.7,111.05,1.7,64.445625 -1288,30,2.7,111.05,1.7,64.445 -1289,30,2.7,111.05,1.7,64.444375 -1290,30,2.7,111.05,1.7,64.44375 -1291,30,2.7,111.05,1.7,64.443125 -1292,30,2.7,111.05,1.7,64.4425 -1293,30,2.7,111.05,1.7,64.441875 -1294,30,2.7,111.05,1.7,64.44125 -1295,30,2.7,111.05,1.7,64.440625 -1296,30,2.7,111.05,1.7,64.44 -1297,30,2.7,111.05,1.7,64.439375 -1298,30,2.7,111.05,1.7,64.43875 -1299,30,2.7,111.05,1.7,64.438125 -1300,30,2.7,111.05,1.7,64.4375 -1301,30,2.7,111.05,1.7,64.436875 -1302,30,2.7,111.05,1.7,64.43625 -1303,30,2.7,111.05,1.7,64.435625 -1304,30,2.7,111.05,1.7,64.435 -1305,30,2.7,111.05,1.7,64.434375 -1306,30,2.7,111.05,1.7,64.43375 -1307,30,2.7,111.05,1.7,64.433125 -1308,30,2.7,111.05,1.7,64.4325 -1309,30,2.7,111.05,1.7,64.431875 -1310,30,2.7,111.05,1.7,64.43125 -1311,30,2.7,111.05,1.7,64.430625 -1312,30,2.7,111.05,1.7,64.43 -1313,30,2.7,111.05,1.7,64.429375 -1314,30,2.7,111.05,1.7,64.42875 -1315,30,2.7,111.05,1.7,64.428125 -1316,30,2.7,111.05,1.7,64.4275 -1317,30,2.7,111.05,1.7,64.426875 -1318,30,2.7,111.05,1.7,64.42625 -1319,30,2.7,111.05,1.7,64.425625 -1320,30,2.7,111.05,1.7,64.425 -1321,30,2.7,111.05,1.7,64.424375 -1322,30,2.7,111.05,1.7,64.42375 -1323,30,2.7,111.05,1.7,64.423125 -1324,30,2.7,111.05,1.7,64.4225 -1325,30,2.7,111.05,1.7,64.421875 -1326,30,2.7,111.05,1.7,64.42125 -1327,30,2.7,111.05,1.7,64.420625 -1328,30,2.7,111.05,1.7,64.42 -1329,30,2.7,111.05,1.7,64.419375 -1330,30,2.7,111.05,1.7,64.41875 -1331,30,2.7,111.05,1.7,64.418125 -1332,30,2.7,111.05,1.7,64.4175 -1333,30,2.7,111.05,1.7,64.416875 -1334,30,2.7,111.05,1.7,64.41625 -1335,30,2.7,111.05,1.7,64.415625 -1336,30,2.7,111.05,1.7,64.415 -1337,30,2.7,111.05,1.7,64.414375 -1338,30,2.7,111.05,1.7,64.41375 -1339,30,2.7,111.05,1.7,64.413125 -1340,30,2.7,111.05,1.7,64.4125 -1341,30,2.7,111.05,1.7,64.411875 -1342,30,2.7,111.05,1.7,64.41125 -1343,30,2.7,111.05,1.7,64.410625 -1344,30,2.7,111.05,1.7,64.41 -1345,30,2.7,111.05,1.7,64.409375 -1346,30,2.7,111.05,1.7,64.40875 -1347,30,2.7,111.05,1.7,64.408125 -1348,30,2.7,111.05,1.7,64.4075 -1349,30,2.7,111.05,1.7,64.406875 -1350,30,2.7,111.05,1.7,64.40625 -1351,30,2.7,111.05,1.7,64.405625 -1352,30,2.7,111.05,1.7,64.405 -1353,30,2.7,111.05,1.7,64.404375 -1354,30,2.7,111.05,1.7,64.40375 -1355,30,2.7,111.05,1.7,64.403125 -1356,30,2.7,111.05,1.7,64.4025 -1357,30,2.7,111.05,1.7,64.401875 -1358,30,2.7,111.05,1.7,64.40125 -1359,30,2.7,111.05,1.7,64.400625 -1360,30,2.7,111.05,1.7,64.4 -1361,30,2.7,111.05,1.7,64.399375 -1362,30,2.7,111.05,1.7,64.39875 -1363,30,2.7,111.05,1.7,64.398125 -1364,30,2.7,111.05,1.7,64.3975 -1365,30,2.7,111.05,1.7,64.396875 -1366,30,2.7,111.05,1.7,64.39625 -1367,30,2.7,111.05,1.7,64.395625 -1368,30,2.7,111.05,1.7,64.395 -1369,30,2.7,111.05,1.7,64.394375 -1370,30,2.7,111.05,1.7,64.39375 -1371,30,2.7,111.05,1.7,64.393125 -1372,30,2.7,111.05,1.7,64.3925 -1373,30,2.7,111.05,1.7,64.391875 -1374,30,2.7,111.05,1.7,64.39125 -1375,30,2.7,111.05,1.7,64.390625 -1376,30,2.7,111.05,1.7,64.39 -1377,30,2.7,111.05,1.7,64.389375 -1378,30,2.7,111.05,1.7,64.38875 -1379,30,2.7,111.05,1.7,64.388125 -1380,30,2.7,111.05,1.7,64.3875 -1381,30,2.7,111.05,1.7,64.386875 -1382,30,2.7,111.05,1.7,64.38625 -1383,30,2.7,111.05,1.7,64.385625 -1384,30,2.7,111.05,1.7,64.385 -1385,30,2.7,111.05,1.7,64.384375 -1386,30,2.7,111.05,1.7,64.38375 -1387,30,2.7,111.05,1.7,64.383125 -1388,30,2.7,111.05,1.7,64.3825 -1389,30,2.7,111.05,1.7,64.381875 -1390,30,2.7,111.05,1.7,64.38125 -1391,30,2.7,111.05,1.7,64.380625 -1392,30,2.7,111.05,1.7,64.38 -1393,30,2.7,111.05,1.7,64.379375 -1394,30,2.7,111.05,1.7,64.37875 -1395,30,2.7,111.05,1.7,64.378125 -1396,30,2.7,111.05,1.7,64.3775 -1397,30,2.7,111.05,1.7,64.376875 -1398,30,2.7,111.05,1.7,64.37625 -1399,30,2.7,111.05,1.7,64.375625 -1400,30,2.7,111.05,1.7,64.375 -1401,30,2.7,111.05,1.7,64.374375 -1402,30,2.7,111.05,1.7,64.37375 -1403,30,2.7,111.05,1.7,64.373125 -1404,30,2.7,111.05,1.7,64.3725 -1405,30,2.7,111.05,1.7,64.371875 -1406,30,2.7,111.05,1.7,64.37125 -1407,30,2.7,111.05,1.7,64.370625 -1408,30,2.7,111.05,1.7,64.37 -1409,30,2.7,111.05,1.7,64.369375 -1410,30,2.7,111.05,1.7,64.36875 -1411,30,2.7,111.05,1.7,64.368125 -1412,30,2.7,111.05,1.7,64.3675 -1413,30,2.7,111.05,1.7,64.366875 -1414,30,2.7,111.05,1.7,64.36625 -1415,30,2.7,111.05,1.7,64.365625 -1416,30,2.7,111.05,1.7,64.365 -1417,30,2.7,111.05,1.7,64.364375 -1418,30,2.7,111.05,1.7,64.36375 -1419,30,2.7,111.05,1.7,64.363125 -1420,30,2.7,111.05,1.7,64.3625 -1421,30,2.7,111.05,1.7,64.361875 -1422,30,2.7,111.05,1.7,64.36125 -1423,30,2.7,111.05,1.7,64.360625 -1424,30,2.7,111.05,1.7,64.36 -1425,30,2.7,111.05,1.7,64.359375 -1426,30,2.7,111.05,1.7,64.35875 -1427,30,2.7,111.05,1.7,64.358125 -1428,30,2.7,111.05,1.7,64.3575 -1429,30,2.7,111.05,1.7,64.356875 -1430,30,2.7,111.05,1.7,64.35625 -1431,30,2.7,111.05,1.7,64.355625 -1432,30,2.7,111.05,1.7,64.355 -1433,30,2.7,111.05,1.7,64.354375 -1434,30,2.7,111.05,1.7,64.35375 -1435,30,2.7,111.05,1.7,64.353125 -1436,30,2.7,111.05,1.7,64.3525 -1437,30,2.7,111.05,1.7,64.351875 -1438,30,2.7,111.05,1.7,64.35125 -1439,30,2.7,111.05,1.7,64.350625 -1440,30,2.7,111.05,1.7,64.35 -1441,30,2.7,111.05,1.7,64.349375 -1442,30,2.7,111.05,1.7,64.34875 -1443,30,2.7,111.05,1.7,64.348125 -1444,30,2.7,111.05,1.7,64.3475 -1445,30,2.7,111.05,1.7,64.346875 -1446,30,2.7,111.05,1.7,64.34625 -1447,30,2.7,111.05,1.7,64.345625 -1448,30,2.7,111.05,1.7,64.345 -1449,30,2.7,111.05,1.7,64.344375 -1450,30,2.7,111.05,1.7,64.34375 -1451,30,2.7,111.05,1.7,64.343125 -1452,30,2.7,111.05,1.7,64.3425 -1453,30,2.7,111.05,1.7,64.341875 -1454,30,2.7,111.05,1.7,64.34125 -1455,30,2.7,111.05,1.7,64.340625 -1456,30,2.7,111.05,1.7,64.34 -1457,30,2.7,111.05,1.7,64.339375 -1458,30,2.7,111.05,1.7,64.33875 -1459,30,2.7,111.05,1.7,64.338125 -1460,30,2.7,111.05,1.7,64.3375 -1461,30,2.7,111.05,1.7,64.336875 -1462,30,2.7,111.05,1.7,64.33625 -1463,30,2.7,111.05,1.7,64.335625 -1464,30,2.7,111.05,1.7,64.335 -1465,30,2.7,111.05,1.7,64.334375 -1466,30,2.7,111.05,1.7,64.33375 -1467,30,2.7,111.05,1.7,64.333125 -1468,30,2.7,111.05,1.7,64.3325 -1469,30,2.7,111.05,1.7,64.331875 -1470,30,2.7,111.05,1.7,64.33125 -1471,30,2.7,111.05,1.7,64.330625 -1472,30,2.7,111.05,1.7,64.33 -1473,30,2.7,111.05,1.7,64.329375 -1474,30,2.7,111.05,1.7,64.32875 -1475,30,2.7,111.05,1.7,64.328125 -1476,30,2.7,111.05,1.7,64.3275 -1477,30,2.7,111.05,1.7,64.326875 -1478,30,2.7,111.05,1.7,64.32625 -1479,30,2.7,111.05,1.7,64.325625 -1480,30,2.7,111.05,1.7,64.325 -1481,30,2.7,111.05,1.7,64.324375 -1482,30,2.7,111.05,1.7,64.32375 -1483,30,2.7,111.05,1.7,64.323125 -1484,30,2.7,111.05,1.7,64.3225 -1485,30,2.7,111.05,1.7,64.321875 -1486,30,2.7,111.05,1.7,64.32125 -1487,30,2.7,111.05,1.7,64.320625 -1488,30,2.7,111.05,1.7,64.32 -1489,30,2.7,111.05,1.7,64.319375 -1490,30,2.6,111.05,1.7,64.31875 -1491,30,2.6,111.05,1.7,64.318125 -1492,30,2.6,111.05,1.7,64.3175 -1493,30,2.6,111.05,1.7,64.316875 -1494,30,2.6,111.05,1.7,64.31625 -1495,30,2.6,111.05,1.7,64.315625 -1496,30,2.6,111.05,1.7,64.315 -1497,30,2.6,111.05,1.7,64.314375 -1498,30,2.6,111.05,1.7,64.31375 -1499,30,2.6,111.05,1.7,64.313125 -1500,30,2.6,111.05,1.7,64.3125 -1501,30,2.6,111.05,1.7,64.311875 -1502,30,2.6,111.05,1.7,64.31125 -1503,30,2.6,111.05,1.7,64.310625 -1504,30,2.6,111.05,1.7,64.31 -1505,30,2.6,111.05,1.7,64.309375 -1506,30,2.6,111.05,1.7,64.30875 -1507,30,2.6,111.05,1.7,64.308125 -1508,30,2.6,111.05,1.7,64.3075 -1509,30,2.6,111.05,1.7,64.306875 -1510,30,2.6,111.05,1.7,64.30625 -1511,30,2.6,111.05,1.7,64.305625 -1512,30,2.6,111.05,1.7,64.305 -1513,30,2.6,111.05,1.7,64.304375 -1514,30,2.6,111.05,1.7,64.30375 -1515,30,2.6,111.05,1.7,64.303125 -1516,30,2.6,111.05,1.7,64.3025 -1517,30,2.6,111.05,1.7,64.301875 -1518,30,2.6,111.05,1.7,64.30125 -1519,30,2.6,111.05,1.7,64.300625 -1520,30,2.6,111.05,1.7,64.3 -1521,30,2.6,111.05,1.7,64.299375 -1522,30,2.6,111.05,1.7,64.29875 -1523,30,2.6,111.05,1.7,64.298125 -1524,30,2.6,111.05,1.7,64.2975 -1525,30,2.6,111.05,1.7,64.296875 -1526,30,2.6,111.05,1.7,64.29625 -1527,30,2.6,111.05,1.7,64.295625 -1528,30,2.6,111.05,1.7,64.295 -1529,30,2.6,111.05,1.7,64.294375 -1530,30,2.6,111.05,1.7,64.29375 -1531,30,2.6,111.05,1.7,64.293125 -1532,30,2.6,111.05,1.7,64.2925 -1533,30,2.6,111.05,1.7,64.291875 -1534,30,2.6,111.05,1.7,64.29125 -1535,30,2.6,111.05,1.7,64.290625 -1536,30,2.6,111.05,1.7,64.29 -1537,30,2.6,111.05,1.7,64.289375 -1538,30,2.6,111.05,1.7,64.28875 -1539,30,2.6,111.05,1.7,64.288125 -1540,30,2.6,111.05,1.7,64.2875 -1541,30,2.6,111.05,1.7,64.286875 -1542,30,2.6,111.05,1.7,64.28625 -1543,30,2.6,111.05,1.7,64.285625 -1544,30,2.6,111.05,1.7,64.285 -1545,30,2.6,111.05,1.7,64.284375 -1546,30,2.6,111.05,1.7,64.28375 -1547,30,2.6,111.05,1.7,64.283125 -1548,30,2.6,111.05,1.7,64.2825 -1549,30,2.6,111.05,1.7,64.281875 -1550,30,2.6,111.05,1.7,64.28125 -1551,30,2.6,111.05,1.7,64.280625 -1552,30,2.6,111.05,1.7,64.28 -1553,30,2.6,111.05,1.7,64.279375 -1554,30,2.6,111.05,1.7,64.27875 -1555,30,2.6,111.05,1.7,64.278125 -1556,30,2.6,111.05,1.7,64.2775 -1557,30,2.6,111.05,1.7,64.276875 -1558,30,2.6,111.05,1.7,64.27625 -1559,30,2.6,111.05,1.7,64.275625 -1560,30,2.6,111.05,1.7,64.275 -1561,30,2.6,111.05,1.7,64.274375 -1562,30,2.6,111.05,1.7,64.27375 -1563,30,2.6,111.05,1.7,64.273125 -1564,30,2.6,111.05,1.7,64.2725 -1565,30,2.6,111.05,1.7,64.271875 -1566,30,2.6,111.05,1.7,64.27125 -1567,30,2.6,111.05,1.7,64.270625 -1568,30,2.6,111.05,1.7,64.27 -1569,30,2.6,111.05,1.7,64.269375 -1570,30,2.6,111.05,1.7,64.26875 -1571,30,2.6,111.05,1.7,64.268125 -1572,30,2.6,111.05,1.7,64.2675 -1573,30,2.6,111.05,1.7,64.266875 -1574,30,2.6,111.05,1.7,64.26625 -1575,30,2.6,111.05,1.7,64.265625 -1576,30,2.6,111.05,1.7,64.265 -1577,30,2.6,111.05,1.7,64.264375 -1578,30,2.6,111.05,1.7,64.26375 -1579,30,2.6,111.05,1.7,64.263125 -1580,30,2.6,111.05,1.7,64.2625 -1581,30,2.6,111.05,1.7,64.261875 -1582,30,2.6,111.05,1.7,64.26125 -1583,30,2.6,111.05,1.7,64.260625 -1584,30,2.6,111.05,1.7,64.26 -1585,30,2.6,111.05,1.7,64.259375 -1586,30,2.6,111.05,1.7,64.25875 -1587,30,2.6,111.05,1.7,64.258125 -1588,30,2.6,111.05,1.7,64.2575 -1589,30,2.6,111.05,1.7,64.256875 -1590,30,2.6,111.05,1.7,64.25625 -1591,30,2.6,111.05,1.7,64.255625 -1592,30,2.6,111.05,1.7,64.255 -1593,30,2.6,111.05,1.7,64.254375 -1594,30,2.6,111.05,1.7,64.25375 -1595,30,2.6,111.05,1.7,64.253125 -1596,30,2.6,111.05,1.7,64.2525 -1597,30,2.6,111.05,1.7,64.251875 -1598,30,2.6,111.05,1.7,64.25125 -1599,30,2.6,111.05,1.7,64.250625 -1600,30,2.6,111.05,1.7,64.25 -1601,30,2.6,111.05,1.7,64.249375 -1602,30,2.6,111.05,1.7,64.24875 -1603,30,2.6,111.05,1.7,64.248125 -1604,30,2.6,111.05,1.7,64.2475 -1605,30,2.6,111.05,1.7,64.246875 -1606,30,2.6,111.05,1.7,64.24625 -1607,30,2.6,111.05,1.7,64.245625 -1608,30,2.6,111.05,1.7,64.245 -1609,30,2.6,111.05,1.7,64.244375 -1610,30,2.6,111.05,1.7,64.24375 -1611,30,2.6,111.05,1.7,64.243125 -1612,30,2.6,111.05,1.7,64.2425 -1613,30,2.6,111.05,1.7,64.241875 -1614,30,2.6,111.05,1.7,64.24125 -1615,30,2.6,111.05,1.7,64.240625 -1616,30,2.6,111.05,1.7,64.24 -1617,30,2.6,111.05,1.7,64.239375 -1618,30,2.6,111.05,1.7,64.23875 -1619,30,2.6,111.05,1.7,64.238125 -1620,30,2.6,111.05,1.7,64.2375 -1621,30,2.6,111.05,1.7,64.236875 -1622,30,2.6,111.05,1.7,64.23625 -1623,30,2.6,111.05,1.7,64.235625 -1624,30,2.6,111.05,1.7,64.235 -1625,30,2.6,111.05,1.7,64.234375 -1626,30,2.6,111.05,1.7,64.23375 -1627,30,2.6,111.05,1.7,64.233125 -1628,30,2.6,111.05,1.7,64.2325 -1629,30,2.6,111.05,1.7,64.231875 -1630,30,2.6,111.05,1.7,64.23125 -1631,30,2.6,111.05,1.7,64.230625 -1632,30,2.6,111.05,1.7,64.23 -1633,30,2.6,111.05,1.7,64.229375 -1634,30,2.6,111.05,1.7,64.22875 -1635,30,2.6,111.05,1.7,64.228125 -1636,30,2.6,111.05,1.7,64.2275 -1637,30,2.6,111.05,1.7,64.226875 -1638,30,2.6,111.05,1.7,64.22625 -1639,30,2.6,111.05,1.7,64.225625 -1640,30,2.6,111.05,1.7,64.225 -1641,30,2.6,111.05,1.7,64.224375 -1642,30,2.6,111.05,1.7,64.22375 -1643,30,2.6,111.05,1.7,64.223125 -1644,30,2.6,111.05,1.7,64.2225 -1645,30,2.6,111.05,1.7,64.221875 -1646,30,2.6,111.05,1.7,64.22125 -1647,30,2.6,111.05,1.7,64.220625 -1648,30,2.6,111.05,1.7,64.22 -1649,30,2.6,111.05,1.7,64.219375 -1650,30,2.6,111.05,1.7,64.21875 -1651,30,2.6,111.05,1.7,64.218125 -1652,30,2.6,111.05,1.7,64.2175 -1653,30,2.6,111.05,1.7,64.216875 -1654,30,2.6,111.05,1.7,64.21625 -1655,30,2.6,111.05,1.7,64.215625 -1656,30,2.6,111.05,1.7,64.215 -1657,30,2.6,111.05,1.7,64.214375 -1658,30,2.6,111.05,1.7,64.21375 -1659,30,2.6,111.05,1.7,64.213125 -1660,30,2.6,111.05,1.7,64.2125 -1661,30,2.6,111.05,1.7,64.211875 -1662,30,2.6,111.05,1.7,64.21125 -1663,30,2.6,111.05,1.7,64.210625 -1664,30,2.6,111.05,1.7,64.21 -1665,30,2.6,111.05,1.7,64.209375 -1666,30,2.6,111.05,1.7,64.20875 -1667,30,2.6,111.05,1.7,64.208125 -1668,30,2.6,111.05,1.7,64.2075 -1669,30,2.6,111.05,1.7,64.206875 -1670,30,2.6,111.05,1.7,64.20625 -1671,30,2.6,111.05,1.7,64.205625 -1672,30,2.6,111.05,1.7,64.205 -1673,30,2.6,111.05,1.7,64.204375 -1674,30,2.6,111.05,1.7,64.20375 -1675,30,2.6,111.05,1.7,64.203125 -1676,30,2.6,111.05,1.7,64.2025 -1677,30,2.6,111.05,1.7,64.201875 -1678,30,2.6,111.05,1.7,64.20125 -1679,30,2.6,111.05,1.7,64.200625 -1680,30,2.6,111.05,1.7,64.2 -1681,30,2.6,111.05,1.7,64.199375 -1682,30,2.6,111.05,1.7,64.19875 -1683,30,2.6,111.05,1.7,64.198125 -1684,30,2.6,111.05,1.7,64.1975 -1685,30,2.6,111.05,1.7,64.196875 -1686,30,2.6,111.05,1.7,64.19625 -1687,30,2.6,111.05,1.7,64.195625 -1688,30,2.6,111.05,1.7,64.195 -1689,30,2.6,111.05,1.7,64.194375 -1690,30,2.6,111.05,1.7,64.19375 -1691,30,2.6,111.05,1.7,64.193125 -1692,30,2.6,111.05,1.7,64.1925 -1693,30,2.6,111.05,1.7,64.191875 -1694,30,2.6,111.05,1.7,64.19125 -1695,30,2.6,111.05,1.7,64.190625 -1696,30,2.6,111.05,1.7,64.19 -1697,30,2.6,111.05,1.7,64.189375 -1698,30,2.6,111.05,1.7,64.18875 -1699,30,2.6,111.05,1.7,64.188125 -1700,30,2.6,111.05,1.7,64.1875 -1701,30,2.6,111.05,1.7,64.186875 -1702,30,2.6,111.05,1.7,64.18625 -1703,30,2.6,111.05,1.7,64.185625 -1704,30,2.6,111.05,1.7,64.185 -1705,30,2.6,111.05,1.7,64.184375 -1706,30,2.6,111.05,1.7,64.18375 -1707,30,2.6,111.05,1.7,64.183125 -1708,30,2.6,111.05,1.7,64.1825 -1709,30,2.6,111.05,1.7,64.181875 -1710,30,2.6,111.05,1.7,64.18125 -1711,30,2.6,111.05,1.7,64.180625 -1712,30,2.6,111.05,1.7,64.18 -1713,30,2.6,111.05,1.7,64.179375 -1714,30,2.6,111.05,1.7,64.17875 -1715,30,2.6,111.05,1.7,64.178125 -1716,30,2.6,111.05,1.7,64.1775 -1717,30,2.6,111.05,1.7,64.176875 -1718,30,2.6,111.05,1.7,64.17625 -1719,30,2.6,111.05,1.7,64.175625 -1720,30,2.6,111.05,1.7,64.175 -1721,30,2.6,111.05,1.7,64.174375 -1722,30,2.6,111.05,1.7,64.17375 -1723,30,2.6,111.05,1.7,64.173125 -1724,30,2.6,111.05,1.7,64.1725 -1725,30,2.6,111.05,1.7,64.171875 -1726,30,2.6,111.05,1.7,64.17125 -1727,30,2.6,111.05,1.7,64.170625 -1728,30,2.6,111.05,1.7,64.17 -1729,30,2.6,111.05,1.7,64.169375 -1730,30,2.6,111.05,1.7,64.16875 -1731,30,2.6,111.05,1.7,64.168125 -1732,30,2.6,111.05,1.7,64.1675 -1733,30,2.6,111.05,1.7,64.166875 -1734,30,2.6,111.05,1.7,64.16625 -1735,30,2.6,111.05,1.7,64.165625 -1736,30,2.6,111.05,1.7,64.165 -1737,30,2.6,111.05,1.7,64.164375 -1738,30,2.6,111.05,1.7,64.16375 -1739,30,2.6,111.05,1.7,64.163125 -1740,30,2.6,111.05,1.7,64.1625 -1741,30,2.6,111.05,1.7,64.161875 -1742,30,2.6,111.05,1.7,64.16125 -1743,30,2.6,111.05,1.7,64.160625 -1744,30,2.6,111.05,1.7,64.16 -1745,30,2.6,111.05,1.7,64.159375 -1746,30,2.6,111.05,1.7,64.15875 -1747,30,2.6,111.05,1.7,64.158125 -1748,30,2.6,111.05,1.7,64.1575 -1749,30,2.6,111.05,1.7,64.156875 -1750,30,2.6,111.05,1.7,64.15625 -1751,30,2.6,111.05,1.7,64.155625 -1752,30,2.6,111.05,1.7,64.155 -1753,30,2.6,111.05,1.7,64.154375 -1754,30,2.6,111.05,1.7,64.15375 -1755,30,2.6,111.05,1.7,64.153125 -1756,30,2.6,111.05,1.7,64.1525 -1757,30,2.6,111.05,1.7,64.151875 -1758,30,2.6,111.05,1.7,64.15125 -1759,30,2.6,111.05,1.7,64.150625 -1760,30,2.6,111.05,1.7,64.15 -1761,30,2.6,111.05,1.7,64.149375 -1762,30,2.6,111.05,1.7,64.14875 -1763,30,2.6,111.05,1.7,64.148125 -1764,30,2.6,111.05,1.7,64.1475 -1765,30,2.6,111.05,1.7,64.146875 -1766,30,2.6,111.05,1.7,64.14625 -1767,30,2.6,111.05,1.7,64.145625 -1768,30,2.6,111.05,1.7,64.145 -1769,30,2.6,111.05,1.7,64.144375 -1770,30,2.6,111.05,1.7,64.14375 -1771,30,2.6,111.05,1.7,64.143125 -1772,30,2.6,111.05,1.7,64.1425 -1773,30,2.6,111.05,1.7,64.141875 -1774,30,2.6,111.05,1.7,64.14125 -1775,30,2.6,111.05,1.7,64.140625 -1776,30,2.6,111.05,1.7,64.14 -1777,30,2.6,111.05,1.7,64.139375 -1778,30,2.6,111.05,1.7,64.13875 -1779,30,2.6,111.05,1.7,64.138125 -1780,30,2.6,111.05,1.7,64.1375 -1781,30,2.6,111.05,1.7,64.136875 -1782,30,2.6,111.05,1.7,64.13625 -1783,30,2.6,111.05,1.7,64.135625 -1784,30,2.6,111.05,1.7,64.135 -1785,30,2.6,111.05,1.7,64.134375 -1786,30,2.6,111.05,1.7,64.13375 -1787,30,2.6,111.05,1.7,64.133125 -1788,30,2.6,111.05,1.7,64.1325 -1789,30,2.6,111.05,1.7,64.131875 -1790,30,2.6,111.05,1.7,64.13125 -1791,30,2.6,111.05,1.7,64.130625 -1792,30,2.6,111.05,1.7,64.13 -1793,30,2.6,111.05,1.7,64.129375 -1794,30,2.6,111.05,1.7,64.12875 -1795,30,2.6,111.05,1.7,64.128125 -1796,30,2.6,111.05,1.7,64.1275 -1797,30,2.6,111.05,1.7,64.126875 -1798,30,2.6,111.05,1.7,64.12625 -1799,30,2.6,111.05,1.7,64.125625 -1800,30,2.6,111.05,1.7,64.125 -1801,30,2.6,111.05,1.7,64.124375 -1802,30,2.6,111.05,1.7,64.12375 -1803,30,2.6,111.05,1.7,64.123125 -1804,30,2.6,111.05,1.7,64.1225 -1805,30,2.6,111.05,1.7,64.121875 -1806,30,2.6,111.05,1.7,64.12125 -1807,30,2.6,111.05,1.7,64.120625 -1808,30,2.6,111.05,1.7,64.12 -1809,30,2.6,111.05,1.7,64.119375 -1810,30,2.6,111.05,1.7,64.11875 -1811,30,2.6,111.05,1.7,64.118125 -1812,30,2.6,111.05,1.7,64.1175 -1813,30,2.6,111.05,1.7,64.116875 -1814,30,2.6,111.05,1.7,64.11625 -1815,30,2.6,111.05,1.7,64.115625 -1816,30,2.6,111.05,1.7,64.115 -1817,30,2.6,111.05,1.7,64.114375 -1818,30,2.6,111.05,1.7,64.11375 -1819,30,2.6,111.05,1.7,64.113125 -1820,30,2.6,111.05,1.7,64.1125 -1821,30,2.6,111.05,1.7,64.111875 -1822,30,2.6,111.05,1.7,64.11125 -1823,30,2.6,111.05,1.7,64.110625 -1824,30,2.6,111.05,1.7,64.11 -1825,30,2.6,111.05,1.7,64.109375 -1826,30,2.6,111.05,1.7,64.10875 -1827,30,2.6,111.05,1.7,64.108125 -1828,30,2.6,111.05,1.7,64.1075 -1829,30,2.6,111.05,1.7,64.106875 -1830,30,2.6,111.05,1.7,64.10625 -1831,30,2.6,111.05,1.7,64.105625 -1832,30,2.6,111.05,1.7,64.105 -1833,30,2.6,111.05,1.7,64.104375 -1834,30,2.6,111.05,1.7,64.10375 -1835,30,2.6,111.05,1.7,64.103125 -1836,30,2.6,111.05,1.7,64.1025 -1837,30,2.6,111.05,1.7,64.101875 -1838,30,2.6,111.05,1.7,64.10125 -1839,30,2.6,111.05,1.7,64.100625 -1840,30,2.6,111.05,1.7,64.1 -1841,30,2.6,111.05,1.7,64.099375 -1842,30,2.6,111.05,1.7,64.09875 -1843,30,2.6,111.05,1.7,64.098125 -1844,30,2.6,111.05,1.7,64.0975 -1845,30,2.6,111.05,1.7,64.096875 -1846,30,2.6,111.05,1.7,64.09625 -1847,30,2.6,111.05,1.7,64.095625 -1848,30,2.6,111.05,1.7,64.095 -1849,30,2.6,111.05,1.7,64.094375 -1850,30,2.6,111.05,1.7,64.09375 -1851,30,2.6,111.05,1.7,64.093125 -1852,30,2.6,111.05,1.7,64.0925 -1853,30,2.6,111.05,1.7,64.091875 -1854,30,2.6,111.05,1.7,64.09125 -1855,30,2.6,111.05,1.7,64.090625 -1856,30,2.6,111.05,1.7,64.09 -1857,30,2.6,111.05,1.7,64.089375 -1858,30,2.6,111.05,1.7,64.08875 -1859,30,2.6,111.05,1.7,64.088125 -1860,30,2.6,111.05,1.7,64.0875 -1861,30,2.6,111.05,1.7,64.086875 -1862,30,2.6,111.05,1.7,64.08625 -1863,30,2.6,111.05,1.7,64.085625 -1864,30,2.6,111.05,1.7,64.085 -1865,30,2.6,111.05,1.7,64.084375 -1866,30,2.6,111.05,1.7,64.08375 -1867,30,2.6,111.05,1.7,64.083125 -1868,30,2.6,111.05,1.7,64.0825 -1869,30,2.6,111.05,1.7,64.081875 -1870,30,2.6,111.05,1.7,64.08125 -1871,30,2.6,111.05,1.7,64.080625 -1872,30,2.6,111.05,1.7,64.08 -1873,30,2.6,111.05,1.7,64.079375 -1874,30,2.6,111.05,1.7,64.07875 -1875,30,2.6,111.05,1.7,64.078125 -1876,30,2.6,111.05,1.7,64.0775 -1877,30,2.6,111.05,1.7,64.076875 -1878,30,2.6,111.05,1.7,64.07625 -1879,30,2.6,111.05,1.7,64.075625 -1880,30,2.6,111.05,1.7,64.075 -1881,30,2.6,111.05,1.7,64.074375 -1882,30,2.6,111.05,1.7,64.07375 -1883,30,2.6,111.05,1.7,64.073125 -1884,30,2.6,111.05,1.7,64.0725 -1885,30,2.6,111.05,1.7,64.071875 -1886,30,2.6,111.05,1.7,64.07125 -1887,30,2.6,111.05,1.7,64.070625 -1888,30,2.6,111.05,1.7,64.07 -1889,30,2.6,111.05,1.7,64.069375 -1890,30,2.6,111.05,1.7,64.06875 -1891,30,2.6,111.05,1.7,64.068125 -1892,30,2.6,111.05,1.7,64.0675 -1893,30,2.6,111.05,1.7,64.066875 -1894,30,2.6,111.05,1.7,64.06625 -1895,30,2.6,111.05,1.7,64.065625 -1896,30,2.6,111.05,1.7,64.065 -1897,30,2.6,111.05,1.7,64.064375 -1898,30,2.6,111.05,1.7,64.06375 -1899,30,2.6,111.05,1.7,64.063125 -1900,30,2.6,111.05,1.7,64.0625 -1901,30,2.6,111.05,1.7,64.061875 -1902,30,2.6,111.05,1.7,64.06125 -1903,30,2.6,111.05,1.7,64.060625 -1904,30,2.6,111.05,1.7,64.06 -1905,30,2.6,111.05,1.7,64.059375 -1906,30,2.6,111.05,1.7,64.05875 -1907,30,2.6,111.05,1.7,64.058125 -1908,30,2.6,111.05,1.7,64.0575 -1909,30,2.6,111.05,1.7,64.056875 -1910,30,2.6,111.05,1.7,64.05625 -1911,30,2.6,111.05,1.7,64.055625 -1912,30,2.6,111.05,1.7,64.055 -1913,30,2.6,111.05,1.7,64.054375 -1914,30,2.6,111.05,1.7,64.05375 -1915,30,2.6,111.05,1.7,64.053125 -1916,30,2.6,111.05,1.7,64.0525 -1917,30,2.6,111.05,1.7,64.051875 -1918,30,2.6,111.05,1.7,64.05125 -1919,30,2.6,111.05,1.7,64.050625 -1920,30,2.6,111.05,1.7,64.05 -1921,30,2.6,111.05,1.7,64.049375 -1922,30,2.6,111.05,1.7,64.04875 -1923,30,2.6,111.05,1.7,64.048125 -1924,30,2.6,111.05,1.7,64.0475 -1925,30,2.6,111.05,1.7,64.046875 -1926,30,2.6,111.05,1.7,64.04625 -1927,30,2.6,111.05,1.7,64.045625 -1928,30,2.6,111.05,1.7,64.045 -1929,30,2.6,111.05,1.7,64.044375 -1930,30,2.6,111.05,1.7,64.04375 -1931,30,2.6,111.05,1.7,64.043125 -1932,30,2.6,111.05,1.7,64.0425 -1933,30,2.6,111.05,1.7,64.041875 -1934,30,2.6,111.05,1.7,64.04125 -1935,30,2.6,111.05,1.7,64.040625 -1936,30,2.6,111.05,1.7,64.04 -1937,30,2.6,111.05,1.7,64.039375 -1938,30,2.6,111.05,1.7,64.03875 -1939,30,2.6,111.05,1.7,64.038125 -1940,30,2.6,111.05,1.7,64.0375 -1941,30,2.6,111.05,1.7,64.036875 -1942,30,2.6,111.05,1.7,64.03625 -1943,30,2.6,111.05,1.7,64.035625 -1944,30,2.6,111.05,1.7,64.035 -1945,30,2.6,111.05,1.7,64.034375 -1946,30,2.6,111.05,1.7,64.03375 -1947,30,2.6,111.05,1.7,64.033125 -1948,30,2.6,111.05,1.7,64.0325 -1949,30,2.6,111.05,1.7,64.031875 -1950,30,2.6,111.05,1.7,64.03125 -1951,30,2.6,111.05,1.7,64.030625 -1952,30,2.6,111.05,1.7,64.03 -1953,30,2.6,111.05,1.7,64.029375 -1954,30,2.6,111.05,1.7,64.02875 -1955,30,2.6,111.05,1.7,64.028125 -1956,30,2.6,111.05,1.7,64.0275 -1957,30,2.6,111.05,1.7,64.026875 -1958,30,2.6,111.05,1.7,64.02625 -1959,30,2.6,111.05,1.7,64.025625 -1960,30,2.6,111.05,1.7,64.025 -1961,30,2.6,111.05,1.7,64.024375 -1962,30,2.6,111.05,1.7,64.02375 -1963,30,2.6,111.05,1.7,64.023125 -1964,30,2.6,111.05,1.7,64.0225 -1965,30,2.6,111.05,1.7,64.021875 -1966,30,2.6,111.05,1.7,64.02125 -1967,30,2.6,111.05,1.7,64.020625 -1968,30,2.6,111.05,1.7,64.02 -1969,30,2.6,111.05,1.7,64.019375 -1970,30,2.6,111.05,1.7,64.01875 -1971,30,2.6,111.05,1.7,64.018125 -1972,30,2.6,111.05,1.7,64.0175 -1973,30,2.6,111.05,1.7,64.016875 -1974,30,2.6,111.05,1.7,64.01625 -1975,30,2.6,111.05,1.7,64.015625 -1976,30,2.6,111.05,1.7,64.015 -1977,30,2.6,111.05,1.7,64.014375 -1978,30,2.6,111.05,1.7,64.01375 -1979,30,2.6,111.05,1.7,64.013125 -1980,30,2.6,111.05,1.7,64.0125 -1981,30,2.6,111.05,1.7,64.011875 -1982,30,2.6,111.05,1.7,64.01125 -1983,30,2.6,111.05,1.7,64.010625 -1984,30,2.6,111.05,1.7,64.01 -1985,30,2.6,111.05,1.7,64.009375 -1986,30,2.6,111.05,1.7,64.00875 -1987,30,2.6,111.05,1.7,64.008125 -1988,30,2.6,111.05,1.7,64.0075 -1989,30,2.6,111.05,1.7,64.006875 -1990,30,2.6,111.05,1.7,64.00625 -1991,30,2.6,111.05,1.7,64.005625 -1992,30,2.6,111.05,1.7,64.005 -1993,30,2.6,111.05,1.7,64.004375 -1994,30,2.6,111.05,1.7,64.00375 -1995,30,2.6,111.05,1.7,64.003125 -1996,30,2.6,111.05,1.7,64.0025 -1997,30,2.6,111.05,1.7,64.001875 -1998,30,2.6,111.05,1.7,64.00125 -1999,30,2.6,111.05,1.7,64.000625 -2000,30,2.6,111.05,1.7,64 -2001,30,2.6,111.05,1.7,63.99975 -2002,30,2.6,111.05,1.7,63.9995 -2003,30,2.6,111.05,1.7,63.99925 -2004,30,2.6,111.05,1.7,63.999 -2005,30,2.6,111.05,1.7,63.99875 -2006,30,2.6,111.05,1.7,63.9985 -2007,30,2.6,111.05,1.7,63.99825 -2008,30,2.6,111.05,1.7,63.998 -2009,30,2.6,111.05,1.7,63.99775 -2010,30,2.6,111.05,1.7,63.9975 -2011,30,2.6,111.05,1.7,63.99725 -2012,30,2.6,111.05,1.7,63.997 -2013,30,2.6,111.05,1.7,63.99675 -2014,30,2.6,111.05,1.7,63.9965 -2015,30,2.6,111.05,1.7,63.99625 -2016,30,2.6,111.05,1.7,63.996 -2017,30,2.6,111.05,1.7,63.99575 -2018,30,2.6,111.05,1.7,63.9955 -2019,30,2.6,111.05,1.7,63.99525 -2020,30,2.6,111.05,1.7,63.995 -2021,30,2.6,111.05,1.7,63.99475 -2022,30,2.6,111.05,1.7,63.9945 -2023,30,2.6,111.05,1.7,63.99425 -2024,30,2.6,111.05,1.7,63.994 -2025,30,2.6,111.05,1.7,63.99375 -2026,30,2.6,111.05,1.7,63.9935 -2027,30,2.6,111.05,1.7,63.99325 -2028,30,2.6,111.05,1.7,63.993 -2029,30,2.6,111.05,1.7,63.99275 -2030,30,2.6,111.05,1.7,63.9925 -2031,30,2.6,111.05,1.7,63.99225 -2032,30,2.6,111.05,1.7,63.992 -2033,30,2.6,111.05,1.7,63.99175 -2034,30,2.6,111.05,1.7,63.9915 -2035,30,2.6,111.05,1.7,63.99125 -2036,30,2.6,111.05,1.7,63.991 -2037,30,2.6,111.05,1.7,63.99075 -2038,30,2.6,111.05,1.7,63.9905 -2039,30,2.6,111.05,1.7,63.99025 -2040,30,2.6,111.05,1.7,63.99 -2041,30,2.6,111.05,1.7,63.98975 -2042,30,2.6,111.05,1.7,63.9895 -2043,30,2.6,111.05,1.7,63.98925 -2044,30,2.6,111.05,1.7,63.989 -2045,30,2.6,111.05,1.7,63.98875 -2046,30,2.6,111.05,1.7,63.9885 -2047,30,2.6,111.05,1.7,63.98825 -2048,30,2.6,111.05,1.7,63.988 -2049,30,2.6,111.05,1.7,63.98775 -2050,30,2.6,111.05,1.7,63.9875 -2051,30,2.6,111.05,1.7,63.98725 -2052,30,2.6,111.05,1.7,63.987 -2053,30,2.6,111.05,1.7,63.98675 -2054,30,2.6,111.05,1.7,63.9865 -2055,30,2.6,111.05,1.7,63.98625 -2056,30,2.6,111.05,1.7,63.986 -2057,30,2.6,111.05,1.7,63.98575 -2058,30,2.6,111.05,1.7,63.9855 -2059,30,2.6,111.05,1.7,63.98525 -2060,30,2.6,111.05,1.7,63.985 -2061,30,2.6,111.05,1.7,63.98475 -2062,30,2.6,111.05,1.7,63.9845 -2063,30,2.6,111.05,1.7,63.98425 -2064,30,2.6,111.05,1.7,63.984 -2065,30,2.6,111.05,1.7,63.98375 -2066,30,2.6,111.05,1.7,63.9835 -2067,30,2.6,111.05,1.7,63.98325 -2068,30,2.6,111.05,1.7,63.983 -2069,30,2.6,111.05,1.7,63.98275 -2070,30,2.6,111.05,1.7,63.9825 -2071,30,2.6,111.05,1.7,63.98225 -2072,30,2.6,111.05,1.7,63.982 -2073,30,2.6,111.05,1.7,63.98175 -2074,30,2.6,111.05,1.7,63.9815 -2075,30,2.6,111.05,1.7,63.98125 -2076,30,2.6,111.05,1.7,63.981 -2077,30,2.6,111.05,1.7,63.98075 -2078,30,2.6,111.05,1.7,63.9805 -2079,30,2.6,111.05,1.7,63.98025 -2080,30,2.6,111.05,1.7,63.98 -2081,30,2.6,111.05,1.7,63.97975 -2082,30,2.6,111.05,1.7,63.9795 -2083,30,2.6,111.05,1.7,63.97925 -2084,30,2.6,111.05,1.7,63.979 -2085,30,2.6,111.05,1.7,63.97875 -2086,30,2.6,111.05,1.7,63.9785 -2087,30,2.6,111.05,1.7,63.97825 -2088,30,2.6,111.05,1.7,63.978 -2089,30,2.6,111.05,1.7,63.97775 -2090,30,2.6,111.05,1.7,63.9775 -2091,30,2.6,111.05,1.7,63.97725 -2092,30,2.6,111.05,1.7,63.977 -2093,30,2.6,111.05,1.7,63.97675 -2094,30,2.6,111.05,1.7,63.9765 -2095,30,2.6,111.05,1.7,63.97625 -2096,30,2.6,111.05,1.7,63.976 -2097,30,2.6,111.05,1.7,63.97575 -2098,30,2.6,111.05,1.7,63.9755 -2099,30,2.6,111.05,1.7,63.97525 -2100,30,2.6,111.05,1.7,63.975 -2101,30,2.6,111.05,1.7,63.97475 -2102,30,2.6,111.05,1.7,63.9745 -2103,30,2.6,111.05,1.7,63.97425 -2104,30,2.6,111.05,1.7,63.974 -2105,30,2.6,111.05,1.7,63.97375 -2106,30,2.6,111.05,1.7,63.9735 -2107,30,2.6,111.05,1.7,63.97325 -2108,30,2.6,111.05,1.7,63.973 -2109,30,2.6,111.05,1.7,63.97275 -2110,30,2.6,111.05,1.7,63.9725 -2111,30,2.6,111.05,1.7,63.97225 -2112,30,2.6,111.05,1.7,63.972 -2113,30,2.6,111.05,1.7,63.97175 -2114,30,2.6,111.05,1.7,63.9715 -2115,30,2.6,111.05,1.7,63.97125 -2116,30,2.6,111.05,1.7,63.971 -2117,30,2.6,111.05,1.7,63.97075 -2118,30,2.6,111.05,1.7,63.9705 -2119,30,2.6,111.05,1.7,63.97025 -2120,30,2.6,111.05,1.7,63.97 -2121,30,2.6,111.05,1.7,63.96975 -2122,30,2.6,111.05,1.7,63.9695 -2123,30,2.6,111.05,1.7,63.96925 -2124,30,2.6,111.05,1.7,63.969 -2125,30,2.6,111.05,1.7,63.96875 -2126,30,2.6,111.05,1.7,63.9685 -2127,30,2.6,111.05,1.7,63.96825 -2128,30,2.6,111.05,1.7,63.968 -2129,30,2.6,111.05,1.7,63.96775 -2130,30,2.6,111.05,1.7,63.9675 -2131,30,2.6,111.05,1.7,63.96725 -2132,30,2.6,111.05,1.7,63.967 -2133,30,2.6,111.05,1.7,63.96675 -2134,30,2.6,111.05,1.7,63.9665 -2135,30,2.6,111.05,1.7,63.96625 -2136,30,2.6,111.05,1.7,63.966 -2137,30,2.6,111.05,1.7,63.96575 -2138,30,2.6,111.05,1.7,63.9655 -2139,30,2.6,111.05,1.7,63.96525 -2140,30,2.6,111.05,1.7,63.965 -2141,30,2.6,111.05,1.7,63.96475 -2142,30,2.6,111.05,1.7,63.9645 -2143,30,2.6,111.05,1.7,63.96425 -2144,30,2.6,111.05,1.7,63.964 -2145,30,2.6,111.05,1.7,63.96375 -2146,30,2.6,111.05,1.7,63.9635 -2147,30,2.6,111.05,1.7,63.96325 -2148,30,2.6,111.05,1.7,63.963 -2149,30,2.6,111.05,1.7,63.96275 -2150,30,2.6,111.05,1.7,63.9625 -2151,30,2.6,111.05,1.7,63.96225 -2152,30,2.6,111.05,1.7,63.962 -2153,30,2.6,111.05,1.7,63.96175 -2154,30,2.6,111.05,1.7,63.9615 -2155,30,2.6,111.05,1.7,63.96125 -2156,30,2.6,111.05,1.7,63.961 -2157,30,2.6,111.05,1.7,63.96075 -2158,30,2.6,111.05,1.7,63.9605 -2159,30,2.6,111.05,1.7,63.96025 -2160,30,2.6,111.05,1.7,63.96 -2161,30,2.6,111.05,1.7,63.95975 -2162,30,2.6,111.05,1.7,63.9595 -2163,30,2.6,111.05,1.7,63.95925 -2164,30,2.6,111.05,1.7,63.959 -2165,30,2.6,111.05,1.7,63.95875 -2166,30,2.6,111.05,1.7,63.9585 -2167,30,2.6,111.05,1.7,63.95825 -2168,30,2.6,111.05,1.7,63.958 -2169,30,2.6,111.05,1.7,63.95775 -2170,30,2.6,111.05,1.7,63.9575 -2171,30,2.6,111.05,1.7,63.95725 -2172,30,2.6,111.05,1.7,63.957 -2173,30,2.6,111.05,1.7,63.95675 -2174,30,2.6,111.05,1.7,63.9565 -2175,30,2.6,111.05,1.7,63.95625 -2176,30,2.6,111.05,1.7,63.956 -2177,30,2.6,111.05,1.7,63.95575 -2178,30,2.6,111.05,1.7,63.9555 -2179,30,2.6,111.05,1.7,63.95525 -2180,30,2.6,111.05,1.7,63.955 -2181,30,2.6,111.05,1.7,63.95475 -2182,30,2.6,111.05,1.7,63.9545 -2183,30,2.6,111.05,1.7,63.95425 -2184,30,2.6,111.05,1.7,63.954 -2185,30,2.6,111.05,1.7,63.95375 -2186,30,2.6,111.05,1.7,63.9535 -2187,30,2.6,111.05,1.7,63.95325 -2188,30,2.6,111.05,1.7,63.953 -2189,30,2.6,111.05,1.7,63.95275 -2190,30,2.6,111.05,1.7,63.9525 -2191,30,2.6,111.05,1.7,63.95225 -2192,30,2.6,111.05,1.7,63.952 -2193,30,2.6,111.05,1.7,63.95175 -2194,30,2.6,111.05,1.7,63.9515 -2195,30,2.6,111.05,1.7,63.95125 -2196,30,2.6,111.05,1.7,63.951 -2197,30,2.6,111.05,1.7,63.95075 -2198,30,2.6,111.05,1.7,63.9505 -2199,30,2.6,111.05,1.7,63.95025 -2200,30,2.6,111.05,1.7,63.95 -2201,30,2.6,111.05,1.7,63.94975 -2202,30,2.6,111.05,1.7,63.9495 -2203,30,2.6,111.05,1.7,63.94925 -2204,30,2.6,111.05,1.7,63.949 -2205,30,2.6,111.05,1.7,63.94875 -2206,30,2.6,111.05,1.7,63.9485 -2207,30,2.6,111.05,1.7,63.94825 -2208,30,2.6,111.05,1.7,63.948 -2209,30,2.6,111.05,1.7,63.94775 -2210,30,2.6,111.05,1.7,63.9475 -2211,30,2.6,111.05,1.7,63.94725 -2212,30,2.6,111.05,1.7,63.947 -2213,30,2.6,111.05,1.7,63.94675 -2214,30,2.6,111.05,1.7,63.9465 -2215,30,2.6,111.05,1.7,63.94625 -2216,30,2.6,111.05,1.7,63.946 -2217,30,2.6,111.05,1.7,63.94575 -2218,30,2.6,111.05,1.7,63.9455 -2219,30,2.6,111.05,1.7,63.94525 -2220,30,2.6,111.05,1.7,63.945 -2221,30,2.6,111.05,1.7,63.94475 -2222,30,2.6,111.05,1.7,63.9445 -2223,30,2.6,111.05,1.7,63.94425 -2224,30,2.6,111.05,1.7,63.944 -2225,30,2.6,111.05,1.7,63.94375 -2226,30,2.6,111.05,1.7,63.9435 -2227,30,2.6,111.05,1.7,63.94325 -2228,30,2.6,111.05,1.7,63.943 -2229,30,2.6,111.05,1.7,63.94275 -2230,30,2.6,111.05,1.7,63.9425 -2231,30,2.6,111.05,1.7,63.94225 -2232,30,2.6,111.05,1.7,63.942 -2233,30,2.6,111.05,1.7,63.94175 -2234,30,2.6,111.05,1.7,63.9415 -2235,30,2.6,111.05,1.7,63.94125 -2236,30,2.6,111.05,1.7,63.941 -2237,30,2.6,111.05,1.7,63.94075 -2238,30,2.6,111.05,1.7,63.9405 -2239,30,2.6,111.05,1.7,63.94025 -2240,30,2.6,111.05,1.7,63.94 -2241,30,2.6,111.05,1.7,63.93975 -2242,30,2.6,111.05,1.7,63.9395 -2243,30,2.6,111.05,1.7,63.93925 -2244,30,2.6,111.05,1.7,63.939 -2245,30,2.6,111.05,1.7,63.93875 -2246,30,2.6,111.05,1.7,63.9385 -2247,30,2.6,111.05,1.7,63.93825 -2248,30,2.6,111.05,1.7,63.938 -2249,30,2.6,111.05,1.7,63.93775 -2250,30,2.6,111.05,1.7,63.9375 -2251,30,2.6,111.05,1.7,63.93725 -2252,30,2.6,111.05,1.7,63.937 -2253,30,2.6,111.05,1.7,63.93675 -2254,30,2.6,111.05,1.7,63.9365 -2255,30,2.6,111.05,1.7,63.93625 -2256,30,2.6,111.05,1.7,63.936 -2257,30,2.6,111.05,1.7,63.93575 -2258,30,2.6,111.05,1.7,63.9355 -2259,30,2.6,111.05,1.7,63.93525 -2260,30,2.6,111.05,1.7,63.935 -2261,30,2.6,111.05,1.7,63.93475 -2262,30,2.6,111.05,1.7,63.9345 -2263,30,2.6,111.05,1.7,63.93425 -2264,30,2.6,111.05,1.7,63.934 -2265,30,2.6,111.05,1.7,63.93375 -2266,30,2.6,111.05,1.7,63.9335 -2267,30,2.6,111.05,1.7,63.93325 -2268,30,2.6,111.05,1.7,63.933 -2269,30,2.6,111.05,1.7,63.93275 -2270,30,2.6,111.05,1.7,63.9325 -2271,30,2.6,111.05,1.7,63.93225 -2272,30,2.6,111.05,1.7,63.932 -2273,30,2.6,111.05,1.7,63.93175 -2274,30,2.6,111.05,1.7,63.9315 -2275,30,2.6,111.05,1.7,63.93125 -2276,30,2.6,111.05,1.7,63.931 -2277,30,2.6,111.05,1.7,63.93075 -2278,30,2.6,111.05,1.7,63.9305 -2279,30,2.6,111.05,1.7,63.93025 -2280,30,2.6,111.05,1.7,63.93 -2281,30,2.6,111.05,1.7,63.92975 -2282,30,2.6,111.05,1.7,63.9295 -2283,30,2.6,111.05,1.7,63.92925 -2284,30,2.6,111.05,1.7,63.929 -2285,30,2.6,111.05,1.7,63.92875 -2286,30,2.6,111.05,1.7,63.9285 -2287,30,2.6,111.05,1.7,63.92825 -2288,30,2.6,111.05,1.7,63.928 -2289,30,2.6,111.05,1.7,63.92775 -2290,30,2.6,111.05,1.7,63.9275 -2291,30,2.6,111.05,1.7,63.92725 -2292,30,2.6,111.05,1.7,63.927 -2293,30,2.6,111.05,1.7,63.92675 -2294,30,2.6,111.05,1.7,63.9265 -2295,30,2.6,111.05,1.7,63.92625 -2296,30,2.6,111.05,1.7,63.926 -2297,30,2.6,111.05,1.7,63.92575 -2298,30,2.6,111.05,1.7,63.9255 -2299,30,2.6,111.05,1.7,63.92525 -2300,30,2.6,111.05,1.7,63.925 -2301,30,2.6,111.05,1.7,63.92475 -2302,30,2.6,111.05,1.7,63.9245 -2303,30,2.6,111.05,1.7,63.92425 -2304,30,2.6,111.05,1.7,63.924 -2305,30,2.6,111.05,1.7,63.92375 -2306,30,2.6,111.05,1.7,63.9235 -2307,30,2.6,111.05,1.7,63.92325 -2308,30,2.6,111.05,1.7,63.923 -2309,30,2.6,111.05,1.7,63.92275 -2310,30,2.6,111.05,1.7,63.9225 -2311,30,2.6,111.05,1.7,63.92225 -2312,30,2.6,111.05,1.7,63.922 -2313,30,2.6,111.05,1.7,63.92175 -2314,30,2.6,111.05,1.7,63.9215 -2315,30,2.6,111.05,1.7,63.92125 -2316,30,2.6,111.05,1.7,63.921 -2317,30,2.6,111.05,1.7,63.92075 -2318,30,2.6,111.05,1.7,63.9205 -2319,30,2.6,111.05,1.7,63.92025 -2320,30,2.6,111.05,1.7,63.92 -2321,30,2.6,111.05,1.7,63.91975 -2322,30,2.6,111.05,1.7,63.9195 -2323,30,2.6,111.05,1.7,63.91925 -2324,30,2.6,111.05,1.7,63.919 -2325,30,2.6,111.05,1.7,63.91875 -2326,30,2.6,111.05,1.7,63.9185 -2327,30,2.6,111.05,1.7,63.91825 -2328,30,2.6,111.05,1.7,63.918 -2329,30,2.6,111.05,1.7,63.91775 -2330,30,2.6,111.05,1.7,63.9175 -2331,30,2.6,111.05,1.7,63.91725 -2332,30,2.6,111.05,1.7,63.917 -2333,30,2.6,111.05,1.7,63.91675 -2334,30,2.6,111.05,1.7,63.9165 -2335,30,2.6,111.05,1.7,63.91625 -2336,30,2.6,111.05,1.7,63.916 -2337,30,2.6,111.05,1.7,63.91575 -2338,30,2.6,111.05,1.7,63.9155 -2339,30,2.6,111.05,1.7,63.91525 -2340,30,2.6,111.05,1.7,63.915 -2341,30,2.6,111.05,1.7,63.91475 -2342,30,2.6,111.05,1.7,63.9145 -2343,30,2.6,111.05,1.7,63.91425 -2344,30,2.6,111.05,1.7,63.914 -2345,30,2.6,111.05,1.7,63.91375 -2346,30,2.6,111.05,1.7,63.9135 -2347,30,2.6,111.05,1.7,63.91325 -2348,30,2.6,111.05,1.7,63.913 -2349,30,2.6,111.05,1.7,63.91275 -2350,30,2.6,111.05,1.7,63.9125 -2351,30,2.6,111.05,1.7,63.91225 -2352,30,2.6,111.05,1.7,63.912 -2353,30,2.6,111.05,1.7,63.91175 -2354,30,2.6,111.05,1.7,63.9115 -2355,30,2.6,111.05,1.7,63.91125 -2356,30,2.6,111.05,1.7,63.911 -2357,30,2.6,111.05,1.7,63.91075 -2358,30,2.6,111.05,1.7,63.9105 -2359,30,2.6,111.05,1.7,63.91025 -2360,30,2.6,111.05,1.7,63.91 -2361,30,2.6,111.05,1.7,63.90975 -2362,30,2.6,111.05,1.7,63.9095 -2363,30,2.6,111.05,1.7,63.90925 -2364,30,2.6,111.05,1.7,63.909 -2365,30,2.6,111.05,1.7,63.90875 -2366,30,2.6,111.05,1.7,63.9085 -2367,30,2.6,111.05,1.7,63.90825 -2368,30,2.6,111.05,1.7,63.908 -2369,30,2.6,111.05,1.7,63.90775 -2370,30,2.6,111.05,1.7,63.9075 -2371,30,2.6,111.05,1.7,63.90725 -2372,30,2.6,111.05,1.7,63.907 -2373,30,2.6,111.05,1.7,63.90675 -2374,30,2.6,111.05,1.7,63.9065 -2375,30,2.6,111.05,1.7,63.90625 -2376,30,2.6,111.05,1.7,63.906 -2377,30,2.6,111.05,1.7,63.90575 -2378,30,2.6,111.05,1.7,63.9055 -2379,30,2.6,111.05,1.7,63.90525 -2380,30,2.6,111.05,1.7,63.905 -2381,30,2.6,111.05,1.7,63.90475 -2382,30,2.6,111.05,1.7,63.9045 -2383,30,2.6,111.05,1.7,63.90425 -2384,30,2.6,111.05,1.7,63.904 -2385,30,2.6,111.05,1.7,63.90375 -2386,30,2.6,111.05,1.7,63.9035 -2387,30,2.6,111.05,1.7,63.90325 -2388,30,2.6,111.05,1.7,63.903 -2389,30,2.6,111.05,1.7,63.90275 -2390,30,2.6,111.05,1.7,63.9025 -2391,30,2.6,111.05,1.7,63.90225 -2392,30,2.6,111.05,1.7,63.902 -2393,30,2.6,111.05,1.7,63.90175 -2394,30,2.6,111.05,1.7,63.9015 -2395,30,2.6,111.05,1.7,63.90125 -2396,30,2.6,111.05,1.7,63.901 -2397,30,2.6,111.05,1.7,63.90075 -2398,30,2.6,111.05,1.7,63.9005 -2399,30,2.6,111.05,1.7,63.90025 -2400,30,2.6,111.05,1.7,63.9 -2401,30,2.6,111.05,1.7,63.89975 -2402,30,2.6,111.05,1.7,63.8995 -2403,30,2.6,111.05,1.7,63.89925 -2404,30,2.6,111.05,1.7,63.899 -2405,30,2.6,111.05,1.7,63.89875 -2406,30,2.6,111.05,1.7,63.8985 -2407,30,2.6,111.05,1.7,63.89825 -2408,30,2.6,111.05,1.7,63.898 -2409,30,2.6,111.05,1.7,63.89775 -2410,30,2.6,111.05,1.7,63.8975 -2411,30,2.6,111.05,1.7,63.89725 -2412,30,2.6,111.05,1.7,63.897 -2413,30,2.6,111.05,1.7,63.89675 -2414,30,2.6,111.05,1.7,63.8965 -2415,30,2.6,111.05,1.7,63.89625 -2416,30,2.6,111.05,1.7,63.896 -2417,30,2.6,111.05,1.7,63.89575 -2418,30,2.6,111.05,1.7,63.8955 -2419,30,2.6,111.05,1.7,63.89525 -2420,30,2.6,111.05,1.7,63.895 -2421,30,2.6,111.05,1.7,63.89475 -2422,30,2.6,111.05,1.7,63.8945 -2423,30,2.6,111.05,1.7,63.89425 -2424,30,2.6,111.05,1.7,63.894 -2425,30,2.6,111.05,1.7,63.89375 -2426,30,2.6,111.05,1.7,63.8935 -2427,30,2.6,111.05,1.7,63.89325 -2428,30,2.6,111.05,1.7,63.893 -2429,30,2.6,111.05,1.7,63.89275 -2430,30,2.6,111.05,1.7,63.8925 -2431,30,2.6,111.05,1.7,63.89225 -2432,30,2.6,111.05,1.7,63.892 -2433,30,2.6,111.05,1.7,63.89175 -2434,30,2.6,111.05,1.7,63.8915 -2435,30,2.6,111.05,1.7,63.89125 -2436,30,2.6,111.05,1.7,63.891 -2437,30,2.6,111.05,1.7,63.89075 -2438,30,2.6,111.05,1.7,63.8905 -2439,30,2.6,111.05,1.7,63.89025 -2440,30,2.6,111.05,1.7,63.89 -2441,30,2.6,111.05,1.7,63.88975 -2442,30,2.6,111.05,1.7,63.8895 -2443,30,2.6,111.05,1.7,63.88925 -2444,30,2.6,111.05,1.7,63.889 -2445,30,2.6,111.05,1.7,63.88875 -2446,30,2.6,111.05,1.7,63.8885 -2447,30,2.6,111.05,1.7,63.88825 -2448,30,2.6,111.05,1.7,63.888 -2449,30,2.6,111.05,1.7,63.88775 -2450,30,2.6,111.05,1.7,63.8875 -2451,30,2.6,111.05,1.7,63.88725 -2452,30,2.6,111.05,1.7,63.887 -2453,30,2.6,111.05,1.7,63.88675 -2454,30,2.6,111.05,1.7,63.8865 -2455,30,2.6,111.05,1.7,63.88625 -2456,30,2.6,111.05,1.7,63.886 -2457,30,2.6,111.05,1.7,63.88575 -2458,30,2.6,111.05,1.7,63.8855 -2459,30,2.6,111.05,1.7,63.88525 -2460,30,2.6,111.05,1.7,63.885 -2461,30,2.6,111.05,1.7,63.88475 -2462,30,2.6,111.05,1.7,63.8845 -2463,30,2.6,111.05,1.7,63.88425 -2464,30,2.6,111.05,1.7,63.884 -2465,30,2.6,111.05,1.7,63.88375 -2466,30,2.6,111.05,1.7,63.8835 -2467,30,2.6,111.05,1.7,63.88325 -2468,30,2.6,111.05,1.7,63.883 -2469,30,2.6,111.05,1.7,63.88275 -2470,30,2.6,111.05,1.7,63.8825 -2471,30,2.6,111.05,1.7,63.88225 -2472,30,2.6,111.05,1.7,63.882 -2473,30,2.6,111.05,1.7,63.88175 -2474,30,2.6,111.05,1.7,63.8815 -2475,30,2.6,111.05,1.7,63.88125 -2476,30,2.6,111.05,1.7,63.881 -2477,30,2.6,111.05,1.7,63.88075 -2478,30,2.6,111.05,1.7,63.8805 -2479,30,2.6,111.05,1.7,63.88025 -2480,30,2.6,111.05,1.7,63.88 -2481,30,2.6,111.05,1.7,63.87975 -2482,30,2.6,111.05,1.7,63.8795 -2483,30,2.6,111.05,1.7,63.87925 -2484,30,2.6,111.05,1.7,63.879 -2485,30,2.6,111.05,1.7,63.87875 -2486,30,2.6,111.05,1.7,63.8785 -2487,30,2.6,111.05,1.7,63.87825 -2488,30,2.6,111.05,1.7,63.878 -2489,30,2.6,111.05,1.7,63.87775 -2490,30,2.5,111.05,1.7,63.8775 -2491,30,2.5,111.05,1.7,63.87725 -2492,30,2.5,111.05,1.7,63.877 -2493,30,2.5,111.05,1.7,63.87675 -2494,30,2.5,111.05,1.7,63.8765 -2495,30,2.5,111.05,1.7,63.87625 -2496,30,2.5,111.05,1.7,63.876 -2497,30,2.5,111.05,1.7,63.87575 -2498,30,2.5,111.05,1.7,63.8755 -2499,30,2.5,111.05,1.7,63.87525 -2500,30,2.5,111.05,1.7,63.875 -2501,30,2.5,111.05,1.7,63.87475 -2502,30,2.5,111.05,1.7,63.8745 -2503,30,2.5,111.05,1.7,63.87425 -2504,30,2.5,111.05,1.7,63.874 -2505,30,2.5,111.05,1.7,63.87375 -2506,30,2.5,111.05,1.7,63.8735 -2507,30,2.5,111.05,1.7,63.87325 -2508,30,2.5,111.05,1.7,63.873 -2509,30,2.5,111.05,1.7,63.87275 -2510,30,2.5,111.05,1.7,63.8725 -2511,30,2.5,111.05,1.7,63.87225 -2512,30,2.5,111.05,1.7,63.872 -2513,30,2.5,111.05,1.7,63.87175 -2514,30,2.5,111.05,1.7,63.8715 -2515,30,2.5,111.05,1.7,63.87125 -2516,30,2.5,111.05,1.7,63.871 -2517,30,2.5,111.05,1.7,63.87075 -2518,30,2.5,111.05,1.7,63.8705 -2519,30,2.5,111.05,1.7,63.87025 -2520,30,2.5,111.05,1.7,63.87 -2521,30,2.5,111.05,1.7,63.86975 -2522,30,2.5,111.05,1.7,63.8695 -2523,30,2.5,111.05,1.7,63.86925 -2524,30,2.5,111.05,1.7,63.869 -2525,30,2.5,111.05,1.7,63.86875 -2526,30,2.5,111.05,1.7,63.8685 -2527,30,2.5,111.05,1.7,63.86825 -2528,30,2.5,111.05,1.7,63.868 -2529,30,2.5,111.05,1.7,63.86775 -2530,30,2.5,111.05,1.7,63.8675 -2531,30,2.5,111.05,1.7,63.86725 -2532,30,2.5,111.05,1.7,63.867 -2533,30,2.5,111.05,1.7,63.86675 -2534,30,2.5,111.05,1.7,63.8665 -2535,30,2.5,111.05,1.7,63.86625 -2536,30,2.5,111.05,1.7,63.866 -2537,30,2.5,111.05,1.7,63.86575 -2538,30,2.5,111.05,1.7,63.8655 -2539,30,2.5,111.05,1.7,63.86525 -2540,30,2.5,111.05,1.7,63.865 -2541,30,2.5,111.05,1.7,63.86475 -2542,30,2.5,111.05,1.7,63.8645 -2543,30,2.5,111.05,1.7,63.86425 -2544,30,2.5,111.05,1.7,63.864 -2545,30,2.5,111.05,1.7,63.86375 -2546,30,2.5,111.05,1.7,63.8635 -2547,30,2.5,111.05,1.7,63.86325 -2548,30,2.5,111.05,1.7,63.863 -2549,30,2.5,111.05,1.7,63.86275 -2550,30,2.5,111.05,1.7,63.8625 -2551,30,2.5,111.05,1.7,63.86225 -2552,30,2.5,111.05,1.7,63.862 -2553,30,2.5,111.05,1.7,63.86175 -2554,30,2.5,111.05,1.7,63.8615 -2555,30,2.5,111.05,1.7,63.86125 -2556,30,2.5,111.05,1.7,63.861 -2557,30,2.5,111.05,1.7,63.86075 -2558,30,2.5,111.05,1.7,63.8605 -2559,30,2.5,111.05,1.7,63.86025 -2560,30,2.5,111.05,1.7,63.86 -2561,30,2.5,111.05,1.7,63.85975 -2562,30,2.5,111.05,1.7,63.8595 -2563,30,2.5,111.05,1.7,63.85925 -2564,30,2.5,111.05,1.7,63.859 -2565,30,2.5,111.05,1.7,63.85875 -2566,30,2.5,111.05,1.7,63.8585 -2567,30,2.5,111.05,1.7,63.85825 -2568,30,2.5,111.05,1.7,63.858 -2569,30,2.5,111.05,1.7,63.85775 -2570,30,2.5,111.05,1.7,63.8575 -2571,30,2.5,111.05,1.7,63.85725 -2572,30,2.5,111.05,1.7,63.857 -2573,30,2.5,111.05,1.7,63.85675 -2574,30,2.5,111.05,1.7,63.8565 -2575,30,2.5,111.05,1.7,63.85625 -2576,30,2.5,111.05,1.7,63.856 -2577,30,2.5,111.05,1.7,63.85575 -2578,30,2.5,111.05,1.7,63.8555 -2579,30,2.5,111.05,1.7,63.85525 -2580,30,2.5,111.05,1.7,63.855 -2581,30,2.5,111.05,1.7,63.85475 -2582,30,2.5,111.05,1.7,63.8545 -2583,30,2.5,111.05,1.7,63.85425 -2584,30,2.5,111.05,1.7,63.854 -2585,30,2.5,111.05,1.7,63.85375 -2586,30,2.5,111.05,1.7,63.8535 -2587,30,2.5,111.05,1.7,63.85325 -2588,30,2.5,111.05,1.7,63.853 -2589,30,2.5,111.05,1.7,63.85275 -2590,30,2.5,111.05,1.7,63.8525 -2591,30,2.5,111.05,1.7,63.85225 -2592,30,2.5,111.05,1.7,63.852 -2593,30,2.5,111.05,1.7,63.85175 -2594,30,2.5,111.05,1.7,63.8515 -2595,30,2.5,111.05,1.7,63.85125 -2596,30,2.5,111.05,1.7,63.851 -2597,30,2.5,111.05,1.7,63.85075 -2598,30,2.5,111.05,1.7,63.8505 -2599,30,2.5,111.05,1.7,63.85025 -2600,30,2.5,111.05,1.7,63.85 -2601,30,2.5,111.05,1.7,63.84975 -2602,30,2.5,111.05,1.7,63.8495 -2603,30,2.5,111.05,1.7,63.84925 -2604,30,2.5,111.05,1.7,63.849 -2605,30,2.5,111.05,1.7,63.84875 -2606,30,2.5,111.05,1.7,63.8485 -2607,30,2.5,111.05,1.7,63.84825 -2608,30,2.5,111.05,1.7,63.848 -2609,30,2.5,111.05,1.7,63.84775 -2610,30,2.5,111.05,1.7,63.8475 -2611,30,2.5,111.05,1.7,63.84725 -2612,30,2.5,111.05,1.7,63.847 -2613,30,2.5,111.05,1.7,63.84675 -2614,30,2.5,111.05,1.7,63.8465 -2615,30,2.5,111.05,1.7,63.84625 -2616,30,2.5,111.05,1.7,63.846 -2617,30,2.5,111.05,1.7,63.84575 -2618,30,2.5,111.05,1.7,63.8455 -2619,30,2.5,111.05,1.7,63.84525 -2620,30,2.5,111.05,1.7,63.845 -2621,30,2.5,111.05,1.7,63.84475 -2622,30,2.5,111.05,1.7,63.8445 -2623,30,2.5,111.05,1.7,63.84425 -2624,30,2.5,111.05,1.7,63.844 -2625,30,2.5,111.05,1.7,63.84375 -2626,30,2.5,111.05,1.7,63.8435 -2627,30,2.5,111.05,1.7,63.84325 -2628,30,2.5,111.05,1.7,63.843 -2629,30,2.5,111.05,1.7,63.84275 -2630,30,2.5,111.05,1.7,63.8425 -2631,30,2.5,111.05,1.7,63.84225 -2632,30,2.5,111.05,1.7,63.842 -2633,30,2.5,111.05,1.7,63.84175 -2634,30,2.5,111.05,1.7,63.8415 -2635,30,2.5,111.05,1.7,63.84125 -2636,30,2.5,111.05,1.7,63.841 -2637,30,2.5,111.05,1.7,63.84075 -2638,30,2.5,111.05,1.7,63.8405 -2639,30,2.5,111.05,1.7,63.84025 -2640,30,2.5,111.05,1.7,63.84 -2641,30,2.5,111.05,1.7,63.83975 -2642,30,2.5,111.05,1.7,63.8395 -2643,30,2.5,111.05,1.7,63.83925 -2644,30,2.5,111.05,1.7,63.839 -2645,30,2.5,111.05,1.7,63.83875 -2646,30,2.5,111.05,1.7,63.8385 -2647,30,2.5,111.05,1.7,63.83825 -2648,30,2.5,111.05,1.7,63.838 -2649,30,2.5,111.05,1.7,63.83775 -2650,30,2.5,111.05,1.7,63.8375 -2651,30,2.5,111.05,1.7,63.83725 -2652,30,2.5,111.05,1.7,63.837 -2653,30,2.5,111.05,1.7,63.83675 -2654,30,2.5,111.05,1.7,63.8365 -2655,30,2.5,111.05,1.7,63.83625 -2656,30,2.5,111.05,1.7,63.836 -2657,30,2.5,111.05,1.7,63.83575 -2658,30,2.5,111.05,1.7,63.8355 -2659,30,2.5,111.05,1.7,63.83525 -2660,30,2.5,111.05,1.7,63.835 -2661,30,2.5,111.05,1.7,63.83475 -2662,30,2.5,111.05,1.7,63.8345 -2663,30,2.5,111.05,1.7,63.83425 -2664,30,2.5,111.05,1.7,63.834 -2665,30,2.5,111.05,1.7,63.83375 -2666,30,2.5,111.05,1.7,63.8335 -2667,30,2.5,111.05,1.7,63.83325 -2668,30,2.5,111.05,1.7,63.833 -2669,30,2.5,111.05,1.7,63.83275 -2670,30,2.5,111.05,1.7,63.8325 -2671,30,2.5,111.05,1.7,63.83225 -2672,30,2.5,111.05,1.7,63.832 -2673,30,2.5,111.05,1.7,63.83175 -2674,30,2.5,111.05,1.7,63.8315 -2675,30,2.5,111.05,1.7,63.83125 -2676,30,2.5,111.05,1.7,63.831 -2677,30,2.5,111.05,1.7,63.83075 -2678,30,2.5,111.05,1.7,63.8305 -2679,30,2.5,111.05,1.7,63.83025 -2680,30,2.5,111.05,1.7,63.83 -2681,30,2.5,111.05,1.7,63.82975 -2682,30,2.5,111.05,1.7,63.8295 -2683,30,2.5,111.05,1.7,63.82925 -2684,30,2.5,111.05,1.7,63.829 -2685,30,2.5,111.05,1.7,63.82875 -2686,30,2.5,111.05,1.7,63.8285 -2687,30,2.5,111.05,1.7,63.82825 -2688,30,2.5,111.05,1.7,63.828 -2689,30,2.5,111.05,1.7,63.82775 -2690,30,2.5,111.05,1.7,63.8275 -2691,30,2.5,111.05,1.7,63.82725 -2692,30,2.5,111.05,1.7,63.827 -2693,30,2.5,111.05,1.7,63.82675 -2694,30,2.5,111.05,1.7,63.8265 -2695,30,2.5,111.05,1.7,63.82625 -2696,30,2.5,111.05,1.7,63.826 -2697,30,2.5,111.05,1.7,63.82575 -2698,30,2.5,111.05,1.7,63.8255 -2699,30,2.5,111.05,1.7,63.82525 -2700,30,2.5,111.05,1.7,63.825 -2701,30,2.5,111.05,1.7,63.82475 -2702,30,2.5,111.05,1.7,63.8245 -2703,30,2.5,111.05,1.7,63.82425 -2704,30,2.5,111.05,1.7,63.824 -2705,30,2.5,111.05,1.7,63.82375 -2706,30,2.5,111.05,1.7,63.8235 -2707,30,2.5,111.05,1.7,63.82325 -2708,30,2.5,111.05,1.7,63.823 -2709,30,2.5,111.05,1.7,63.82275 -2710,30,2.5,111.05,1.7,63.8225 -2711,30,2.5,111.05,1.7,63.82225 -2712,30,2.5,111.05,1.7,63.822 -2713,30,2.5,111.05,1.7,63.82175 -2714,30,2.5,111.05,1.7,63.8215 -2715,30,2.5,111.05,1.7,63.82125 -2716,30,2.5,111.05,1.7,63.821 -2717,30,2.5,111.05,1.7,63.82075 -2718,30,2.5,111.05,1.7,63.8205 -2719,30,2.5,111.05,1.7,63.82025 -2720,30,2.5,111.05,1.7,63.82 -2721,30,2.5,111.05,1.7,63.81975 -2722,30,2.5,111.05,1.7,63.8195 -2723,30,2.5,111.05,1.7,63.81925 -2724,30,2.5,111.05,1.7,63.819 -2725,30,2.5,111.05,1.7,63.81875 -2726,30,2.5,111.05,1.7,63.8185 -2727,30,2.5,111.05,1.7,63.81825 -2728,30,2.5,111.05,1.7,63.818 -2729,30,2.5,111.05,1.7,63.81775 -2730,30,2.5,111.05,1.7,63.8175 -2731,30,2.5,111.05,1.7,63.81725 -2732,30,2.5,111.05,1.7,63.817 -2733,30,2.5,111.05,1.7,63.81675 -2734,30,2.5,111.05,1.7,63.8165 -2735,30,2.5,111.05,1.7,63.81625 -2736,30,2.5,111.05,1.7,63.816 -2737,30,2.5,111.05,1.7,63.81575 -2738,30,2.5,111.05,1.7,63.8155 -2739,30,2.5,111.05,1.7,63.81525 -2740,30,2.5,111.05,1.7,63.815 -2741,30,2.5,111.05,1.7,63.81475 -2742,30,2.5,111.05,1.7,63.8145 -2743,30,2.5,111.05,1.7,63.81425 -2744,30,2.5,111.05,1.7,63.814 -2745,30,2.5,111.05,1.7,63.81375 -2746,30,2.5,111.05,1.7,63.8135 -2747,30,2.5,111.05,1.7,63.81325 -2748,30,2.5,111.05,1.7,63.813 -2749,30,2.5,111.05,1.7,63.81275 -2750,30,2.5,111.05,1.7,63.8125 -2751,30,2.5,111.05,1.7,63.81225 -2752,30,2.5,111.05,1.7,63.812 -2753,30,2.5,111.05,1.7,63.81175 -2754,30,2.5,111.05,1.7,63.8115 -2755,30,2.5,111.05,1.7,63.81125 -2756,30,2.5,111.05,1.7,63.811 -2757,30,2.5,111.05,1.7,63.81075 -2758,30,2.5,111.05,1.7,63.8105 -2759,30,2.5,111.05,1.7,63.81025 -2760,30,2.5,111.05,1.7,63.81 -2761,30,2.5,111.05,1.7,63.80975 -2762,30,2.5,111.05,1.7,63.8095 -2763,30,2.5,111.05,1.7,63.80925 -2764,30,2.5,111.05,1.7,63.809 -2765,30,2.5,111.05,1.7,63.80875 -2766,30,2.5,111.05,1.7,63.8085 -2767,30,2.5,111.05,1.7,63.80825 -2768,30,2.5,111.05,1.7,63.808 -2769,30,2.5,111.05,1.7,63.80775 -2770,30,2.5,111.05,1.7,63.8075 -2771,30,2.5,111.05,1.7,63.80725 -2772,30,2.5,111.05,1.7,63.807 -2773,30,2.5,111.05,1.7,63.80675 -2774,30,2.5,111.05,1.7,63.8065 -2775,30,2.5,111.05,1.7,63.80625 -2776,30,2.5,111.05,1.7,63.806 -2777,30,2.5,111.05,1.7,63.80575 -2778,30,2.5,111.05,1.7,63.8055 -2779,30,2.5,111.05,1.7,63.80525 -2780,30,2.5,111.05,1.7,63.805 -2781,30,2.5,111.05,1.7,63.80475 -2782,30,2.5,111.05,1.7,63.8045 -2783,30,2.5,111.05,1.7,63.80425 -2784,30,2.5,111.05,1.7,63.804 -2785,30,2.5,111.05,1.7,63.80375 -2786,30,2.5,111.05,1.7,63.8035 -2787,30,2.5,111.05,1.7,63.80325 -2788,30,2.5,111.05,1.7,63.803 -2789,30,2.5,111.05,1.7,63.80275 -2790,30,2.5,111.05,1.7,63.8025 -2791,30,2.5,111.05,1.7,63.80225 -2792,30,2.5,111.05,1.7,63.802 -2793,30,2.5,111.05,1.7,63.80175 -2794,30,2.5,111.05,1.7,63.8015 -2795,30,2.5,111.05,1.7,63.80125 -2796,30,2.5,111.05,1.7,63.801 -2797,30,2.5,111.05,1.7,63.80075 -2798,30,2.5,111.05,1.7,63.8005 -2799,30,2.5,111.05,1.7,63.80025 -2800,30,2.5,111.05,1.7,63.8 -2801,30,2.5,111.05,1.7,63.79975 -2802,30,2.5,111.05,1.7,63.7995 -2803,30,2.5,111.05,1.7,63.79925 -2804,30,2.5,111.05,1.7,63.799 -2805,30,2.5,111.05,1.7,63.79875 -2806,30,2.5,111.05,1.7,63.7985 -2807,30,2.5,111.05,1.7,63.79825 -2808,30,2.5,111.05,1.7,63.798 -2809,30,2.5,111.05,1.7,63.79775 -2810,30,2.5,111.05,1.7,63.7975 -2811,30,2.5,111.05,1.7,63.79725 -2812,30,2.5,111.05,1.7,63.797 -2813,30,2.5,111.05,1.7,63.79675 -2814,30,2.5,111.05,1.7,63.7965 -2815,30,2.5,111.05,1.7,63.79625 -2816,30,2.5,111.05,1.7,63.796 -2817,30,2.5,111.05,1.7,63.79575 -2818,30,2.5,111.05,1.7,63.7955 -2819,30,2.5,111.05,1.7,63.79525 -2820,30,2.5,111.05,1.7,63.795 -2821,30,2.5,111.05,1.7,63.79475 -2822,30,2.5,111.05,1.7,63.7945 -2823,30,2.5,111.05,1.7,63.79425 -2824,30,2.5,111.05,1.7,63.794 -2825,30,2.5,111.05,1.7,63.79375 -2826,30,2.5,111.05,1.7,63.7935 -2827,30,2.5,111.05,1.7,63.79325 -2828,30,2.5,111.05,1.7,63.793 -2829,30,2.5,111.05,1.7,63.79275 -2830,30,2.5,111.05,1.7,63.7925 -2831,30,2.5,111.05,1.7,63.79225 -2832,30,2.5,111.05,1.7,63.792 -2833,30,2.5,111.05,1.7,63.79175 -2834,30,2.5,111.05,1.7,63.7915 -2835,30,2.5,111.05,1.7,63.79125 -2836,30,2.5,111.05,1.7,63.791 -2837,30,2.5,111.05,1.7,63.79075 -2838,30,2.5,111.05,1.7,63.7905 -2839,30,2.5,111.05,1.7,63.79025 -2840,30,2.5,111.05,1.7,63.79 -2841,30,2.5,111.05,1.7,63.78975 -2842,30,2.5,111.05,1.7,63.7895 -2843,30,2.5,111.05,1.7,63.78925 -2844,30,2.5,111.05,1.7,63.789 -2845,30,2.5,111.05,1.7,63.78875 -2846,30,2.5,111.05,1.7,63.7885 -2847,30,2.5,111.05,1.7,63.78825 -2848,30,2.5,111.05,1.7,63.788 -2849,30,2.5,111.05,1.7,63.78775 -2850,30,2.5,111.05,1.7,63.7875 -2851,30,2.5,111.05,1.7,63.78725 -2852,30,2.5,111.05,1.7,63.787 -2853,30,2.5,111.05,1.7,63.78675 -2854,30,2.5,111.05,1.7,63.7865 -2855,30,2.5,111.05,1.7,63.78625 -2856,30,2.5,111.05,1.7,63.786 -2857,30,2.5,111.05,1.7,63.78575 -2858,30,2.5,111.05,1.7,63.7855 -2859,30,2.5,111.05,1.7,63.78525 -2860,30,2.5,111.05,1.7,63.785 -2861,30,2.5,111.05,1.7,63.78475 -2862,30,2.5,111.05,1.7,63.7845 -2863,30,2.5,111.05,1.7,63.78425 -2864,30,2.5,111.05,1.7,63.784 -2865,30,2.5,111.05,1.7,63.78375 -2866,30,2.5,111.05,1.7,63.7835 -2867,30,2.5,111.05,1.7,63.78325 -2868,30,2.5,111.05,1.7,63.783 -2869,30,2.5,111.05,1.7,63.78275 -2870,30,2.5,111.05,1.7,63.7825 -2871,30,2.5,111.05,1.7,63.78225 -2872,30,2.5,111.05,1.7,63.782 -2873,30,2.5,111.05,1.7,63.78175 -2874,30,2.5,111.05,1.7,63.7815 -2875,30,2.5,111.05,1.7,63.78125 -2876,30,2.5,111.05,1.7,63.781 -2877,30,2.5,111.05,1.7,63.78075 -2878,30,2.5,111.05,1.7,63.7805 -2879,30,2.5,111.05,1.7,63.78025 -2880,30,2.5,111.05,1.7,63.78 -2881,30,2.5,111.05,1.7,63.77975 -2882,30,2.5,111.05,1.7,63.7795 -2883,30,2.5,111.05,1.7,63.77925 -2884,30,2.5,111.05,1.7,63.779 -2885,30,2.5,111.05,1.7,63.77875 -2886,30,2.5,111.05,1.7,63.7785 -2887,30,2.5,111.05,1.7,63.77825 -2888,30,2.5,111.05,1.7,63.778 -2889,30,2.5,111.05,1.7,63.77775 -2890,30,2.5,111.05,1.7,63.7775 -2891,30,2.5,111.05,1.7,63.77725 -2892,30,2.5,111.05,1.7,63.777 -2893,30,2.5,111.05,1.7,63.77675 -2894,30,2.5,111.05,1.7,63.7765 -2895,30,2.5,111.05,1.7,63.77625 -2896,30,2.5,111.05,1.7,63.776 -2897,30,2.5,111.05,1.7,63.77575 -2898,30,2.5,111.05,1.7,63.7755 -2899,30,2.5,111.05,1.7,63.77525 -2900,30,2.5,111.05,1.7,63.775 -2901,30,2.5,111.05,1.7,63.77475 -2902,30,2.5,111.05,1.7,63.7745 -2903,30,2.5,111.05,1.7,63.77425 -2904,30,2.5,111.05,1.7,63.774 -2905,30,2.5,111.05,1.7,63.77375 -2906,30,2.5,111.05,1.7,63.7735 -2907,30,2.5,111.05,1.7,63.77325 -2908,30,2.5,111.05,1.7,63.773 -2909,30,2.5,111.05,1.7,63.77275 -2910,30,2.5,111.05,1.7,63.7725 -2911,30,2.5,111.05,1.7,63.77225 -2912,30,2.5,111.05,1.7,63.772 -2913,30,2.5,111.05,1.7,63.77175 -2914,30,2.5,111.05,1.7,63.7715 -2915,30,2.5,111.05,1.7,63.77125 -2916,30,2.5,111.05,1.7,63.771 -2917,30,2.5,111.05,1.7,63.77075 -2918,30,2.5,111.05,1.7,63.7705 -2919,30,2.5,111.05,1.7,63.77025 -2920,30,2.5,111.05,1.7,63.77 -2921,30,2.5,111.05,1.7,63.76975 -2922,30,2.5,111.05,1.7,63.7695 -2923,30,2.5,111.05,1.7,63.76925 -2924,30,2.5,111.05,1.7,63.769 -2925,30,2.5,111.05,1.7,63.76875 -2926,30,2.5,111.05,1.7,63.7685 -2927,30,2.5,111.05,1.7,63.76825 -2928,30,2.5,111.05,1.7,63.768 -2929,30,2.5,111.05,1.7,63.76775 -2930,30,2.5,111.05,1.7,63.7675 -2931,30,2.5,111.05,1.7,63.76725 -2932,30,2.5,111.05,1.7,63.767 -2933,30,2.5,111.05,1.7,63.76675 -2934,30,2.5,111.05,1.7,63.7665 -2935,30,2.5,111.05,1.7,63.76625 -2936,30,2.5,111.05,1.7,63.766 -2937,30,2.5,111.05,1.7,63.76575 -2938,30,2.5,111.05,1.7,63.7655 -2939,30,2.5,111.05,1.7,63.76525 -2940,30,2.5,111.05,1.7,63.765 -2941,30,2.5,111.05,1.7,63.76475 -2942,30,2.5,111.05,1.7,63.7645 -2943,30,2.5,111.05,1.7,63.76425 -2944,30,2.5,111.05,1.7,63.764 -2945,30,2.5,111.05,1.7,63.76375 -2946,30,2.5,111.05,1.7,63.7635 -2947,30,2.5,111.05,1.7,63.76325 -2948,30,2.5,111.05,1.7,63.763 -2949,30,2.5,111.05,1.7,63.76275 -2950,30,2.5,111.05,1.7,63.7625 -2951,30,2.5,111.05,1.7,63.76225 -2952,30,2.5,111.05,1.7,63.762 -2953,30,2.5,111.05,1.7,63.76175 -2954,30,2.5,111.05,1.7,63.7615 -2955,30,2.5,111.05,1.7,63.76125 -2956,30,2.5,111.05,1.7,63.761 -2957,30,2.5,111.05,1.7,63.76075 -2958,30,2.5,111.05,1.7,63.7605 -2959,30,2.5,111.05,1.7,63.76025 -2960,30,2.5,111.05,1.7,63.76 -2961,30,2.5,111.05,1.7,63.75975 -2962,30,2.5,111.05,1.7,63.7595 -2963,30,2.5,111.05,1.7,63.75925 -2964,30,2.5,111.05,1.7,63.759 -2965,30,2.5,111.05,1.7,63.75875 -2966,30,2.5,111.05,1.7,63.7585 -2967,30,2.5,111.05,1.7,63.75825 -2968,30,2.5,111.05,1.7,63.758 -2969,30,2.5,111.05,1.7,63.75775 -2970,30,2.5,111.05,1.7,63.7575 -2971,30,2.5,111.05,1.7,63.75725 -2972,30,2.5,111.05,1.7,63.757 -2973,30,2.5,111.05,1.7,63.75675 -2974,30,2.5,111.05,1.7,63.7565 -2975,30,2.5,111.05,1.7,63.75625 -2976,30,2.5,111.05,1.7,63.756 -2977,30,2.5,111.05,1.7,63.75575 -2978,30,2.5,111.05,1.7,63.7555 -2979,30,2.5,111.05,1.7,63.75525 -2980,30,2.5,111.05,1.7,63.755 -2981,30,2.5,111.05,1.7,63.75475 -2982,30,2.5,111.05,1.7,63.7545 -2983,30,2.5,111.05,1.7,63.75425 -2984,30,2.5,111.05,1.7,63.754 -2985,30,2.5,111.05,1.7,63.75375 -2986,30,2.5,111.05,1.7,63.7535 -2987,30,2.5,111.05,1.7,63.75325 -2988,30,2.5,111.05,1.7,63.753 -2989,30,2.5,111.05,1.7,63.75275 -2990,30,2.5,111.05,1.7,63.7525 -2991,30,2.5,111.05,1.7,63.75225 -2992,30,2.5,111.05,1.7,63.752 -2993,30,2.5,111.05,1.7,63.75175 -2994,30,2.5,111.05,1.7,63.7515 -2995,30,2.5,111.05,1.7,63.75125 -2996,30,2.5,111.05,1.7,63.751 -2997,30,2.5,111.05,1.7,63.75075 -2998,30,2.5,111.05,1.7,63.7505 -2999,30,2.5,111.05,1.7,63.75025 -3000,30,2.5,111.05,1.7,63.75 -3001,30,2.5,111.05,1.7,63.75 -3002,30,2.5,111.05,1.7,63.75 -3003,30,2.5,111.05,1.7,63.75 -3004,30,2.5,111.05,1.7,63.75 -3005,30,2.5,111.05,1.7,63.75 -3006,30,2.5,111.05,1.7,63.75 -3007,30,2.5,111.05,1.7,63.75 -3008,30,2.5,111.05,1.7,63.75 -3009,30,2.5,111.05,1.7,63.75 -3010,30,2.5,111.05,1.7,63.75 -3011,30,2.5,111.05,1.7,63.75 -3012,30,2.5,111.05,1.7,63.75 -3013,30,2.5,111.05,1.7,63.75 -3014,30,2.5,111.05,1.7,63.75 -3015,30,2.5,111.05,1.7,63.75 -3016,30,2.5,111.05,1.7,63.75 -3017,30,2.5,111.05,1.7,63.75 -3018,30,2.5,111.05,1.7,63.75 -3019,30,2.5,111.05,1.7,63.75 -3020,30,2.5,111.05,1.7,63.75 -3021,30,2.5,111.05,1.7,63.75 -3022,30,2.5,111.05,1.7,63.75 -3023,30,2.5,111.05,1.7,63.75 -3024,30,2.5,111.05,1.7,63.75 -3025,30,2.5,111.05,1.7,63.75 -3026,30,2.5,111.05,1.7,63.75 -3027,30,2.5,111.05,1.7,63.75 -3028,30,2.5,111.05,1.7,63.75 -3029,30,2.5,111.05,1.7,63.75 -3030,30,2.5,111.05,1.7,63.75 -3031,30,2.5,111.05,1.7,63.75 -3032,30,2.5,111.05,1.7,63.75 -3033,30,2.5,111.05,1.7,63.75 -3034,30,2.5,111.05,1.7,63.75 -3035,30,2.5,111.05,1.7,63.75 -3036,30,2.5,111.05,1.7,63.75 -3037,30,2.5,111.05,1.7,63.75 -3038,30,2.5,111.05,1.7,63.75 -3039,30,2.5,111.05,1.7,63.75 -3040,30,2.5,111.05,1.7,63.75 -3041,30,2.5,111.05,1.7,63.75 -3042,30,2.5,111.05,1.7,63.75 -3043,30,2.5,111.05,1.7,63.75 -3044,30,2.5,111.05,1.7,63.75 -3045,30,2.5,111.05,1.7,63.75 -3046,30,2.5,111.05,1.7,63.75 -3047,30,2.5,111.05,1.7,63.75 -3048,30,2.5,111.05,1.7,63.75 -3049,30,2.5,111.05,1.7,63.75 -3050,30,2.5,111.05,1.7,63.75 -3051,30,2.5,111.05,1.7,63.75 -3052,30,2.5,111.05,1.7,63.75 -3053,30,2.5,111.05,1.7,63.75 -3054,30,2.5,111.05,1.7,63.75 -3055,30,2.5,111.05,1.7,63.75 -3056,30,2.5,111.05,1.7,63.75 -3057,30,2.5,111.05,1.7,63.75 -3058,30,2.5,111.05,1.7,63.75 -3059,30,2.5,111.05,1.7,63.75 -3060,30,2.5,111.05,1.7,63.75 -3061,30,2.5,111.05,1.7,63.75 -3062,30,2.5,111.05,1.7,63.75 -3063,30,2.5,111.05,1.7,63.75 -3064,30,2.5,111.05,1.7,63.75 -3065,30,2.5,111.05,1.7,63.75 -3066,30,2.5,111.05,1.7,63.75 -3067,30,2.5,111.05,1.7,63.75 -3068,30,2.5,111.05,1.7,63.75 -3069,30,2.5,111.05,1.7,63.75 -3070,30,2.5,111.05,1.7,63.75 -3071,30,2.5,111.05,1.7,63.75 -3072,30,2.5,111.05,1.7,63.75 -3073,30,2.5,111.05,1.7,63.75 -3074,30,2.5,111.05,1.7,63.75 -3075,30,2.5,111.05,1.7,63.75 -3076,30,2.5,111.05,1.7,63.75 -3077,30,2.5,111.05,1.7,63.75 -3078,30,2.5,111.05,1.7,63.75 -3079,30,2.5,111.05,1.7,63.75 -3080,30,2.5,111.05,1.7,63.75 -3081,30,2.5,111.05,1.7,63.75 -3082,30,2.5,111.05,1.7,63.75 -3083,30,2.5,111.05,1.7,63.75 -3084,30,2.5,111.05,1.7,63.75 -3085,30,2.5,111.05,1.7,63.75 -3086,30,2.5,111.05,1.7,63.75 -3087,30,2.5,111.05,1.7,63.75 -3088,30,2.5,111.05,1.7,63.75 -3089,30,2.5,111.05,1.7,63.75 -3090,30,2.5,111.05,1.7,63.75 -3091,30,2.5,111.05,1.7,63.75 -3092,30,2.5,111.05,1.7,63.75 -3093,30,2.5,111.05,1.7,63.75 -3094,30,2.5,111.05,1.7,63.75 -3095,30,2.5,111.05,1.7,63.75 -3096,30,2.5,111.05,1.7,63.75 -3097,30,2.5,111.05,1.7,63.75 -3098,30,2.5,111.05,1.7,63.75 -3099,30,2.5,111.05,1.7,63.75 -3100,30,2.5,111.05,1.7,63.75 -3101,30,2.5,111.05,1.7,63.75 -3102,30,2.5,111.05,1.7,63.75 -3103,30,2.5,111.05,1.7,63.75 -3104,30,2.5,111.05,1.7,63.75 -3105,30,2.5,111.05,1.7,63.75 -3106,30,2.5,111.05,1.7,63.75 -3107,30,2.5,111.05,1.7,63.75 -3108,30,2.5,111.05,1.7,63.75 -3109,30,2.5,111.05,1.7,63.75 -3110,30,2.5,111.05,1.7,63.75 -3111,30,2.5,111.05,1.7,63.75 -3112,30,2.5,111.05,1.7,63.75 -3113,30,2.5,111.05,1.7,63.75 -3114,30,2.5,111.05,1.7,63.75 -3115,30,2.5,111.05,1.7,63.75 -3116,30,2.5,111.05,1.7,63.75 -3117,30,2.5,111.05,1.7,63.75 -3118,30,2.5,111.05,1.7,63.75 -3119,30,2.5,111.05,1.7,63.75 -3120,30,2.5,111.05,1.7,63.75 -3121,30,2.5,111.05,1.7,63.75 -3122,30,2.5,111.05,1.7,63.75 -3123,30,2.5,111.05,1.7,63.75 -3124,30,2.5,111.05,1.7,63.75 -3125,30,2.5,111.05,1.7,63.75 -3126,30,2.5,111.05,1.7,63.75 -3127,30,2.5,111.05,1.7,63.75 -3128,30,2.5,111.05,1.7,63.75 -3129,30,2.5,111.05,1.7,63.75 -3130,30,2.5,111.05,1.7,63.75 -3131,30,2.5,111.05,1.7,63.75 -3132,30,2.5,111.05,1.7,63.75 -3133,30,2.5,111.05,1.7,63.75 -3134,30,2.5,111.05,1.7,63.75 -3135,30,2.5,111.05,1.7,63.75 -3136,30,2.5,111.05,1.7,63.75 -3137,30,2.5,111.05,1.7,63.75 -3138,30,2.5,111.05,1.7,63.75 -3139,30,2.5,111.05,1.7,63.75 -3140,30,2.5,111.05,1.7,63.75 -3141,30,2.5,111.05,1.7,63.75 -3142,30,2.5,111.05,1.7,63.75 -3143,30,2.5,111.05,1.7,63.75 -3144,30,2.5,111.05,1.7,63.75 -3145,30,2.5,111.05,1.7,63.75 -3146,30,2.5,111.05,1.7,63.75 -3147,30,2.5,111.05,1.7,63.75 -3148,30,2.5,111.05,1.7,63.75 -3149,30,2.5,111.05,1.7,63.75 -3150,30,2.5,111.05,1.7,63.75 -3151,30,2.5,111.05,1.7,63.75 -3152,30,2.5,111.05,1.7,63.75 -3153,30,2.5,111.05,1.7,63.75 -3154,30,2.5,111.05,1.7,63.75 -3155,30,2.5,111.05,1.7,63.75 -3156,30,2.5,111.05,1.7,63.75 -3157,30,2.5,111.05,1.7,63.75 -3158,30,2.5,111.05,1.7,63.75 -3159,30,2.5,111.05,1.7,63.75 -3160,30,2.5,111.05,1.7,63.75 -3161,30,2.5,111.05,1.7,63.75 -3162,30,2.5,111.05,1.7,63.75 -3163,30,2.5,111.05,1.7,63.75 -3164,30,2.5,111.05,1.7,63.75 -3165,30,2.5,111.05,1.7,63.75 -3166,30,2.5,111.05,1.7,63.75 -3167,30,2.5,111.05,1.7,63.75 -3168,30,2.5,111.05,1.7,63.75 -3169,30,2.5,111.05,1.7,63.75 -3170,30,2.5,111.05,1.7,63.75 -3171,30,2.5,111.05,1.7,63.75 -3172,30,2.5,111.05,1.7,63.75 -3173,30,2.5,111.05,1.7,63.75 -3174,30,2.5,111.05,1.7,63.75 -3175,30,2.5,111.05,1.7,63.75 -3176,30,2.5,111.05,1.7,63.75 -3177,30,2.5,111.05,1.7,63.75 -3178,30,2.5,111.05,1.7,63.75 -3179,30,2.5,111.05,1.7,63.75 -3180,30,2.5,111.05,1.7,63.75 -3181,30,2.5,111.05,1.7,63.75 -3182,30,2.5,111.05,1.7,63.75 -3183,30,2.5,111.05,1.7,63.75 -3184,30,2.5,111.05,1.7,63.75 -3185,30,2.5,111.05,1.7,63.75 -3186,30,2.5,111.05,1.7,63.75 -3187,30,2.5,111.05,1.7,63.75 -3188,30,2.5,111.05,1.7,63.75 -3189,30,2.5,111.05,1.7,63.75 -3190,30,2.5,111.05,1.7,63.75 -3191,30,2.5,111.05,1.7,63.75 -3192,30,2.5,111.05,1.7,63.75 -3193,30,2.5,111.05,1.7,63.75 -3194,30,2.5,111.05,1.7,63.75 -3195,30,2.5,111.05,1.7,63.75 -3196,30,2.5,111.05,1.7,63.75 -3197,30,2.5,111.05,1.7,63.75 -3198,30,2.5,111.05,1.7,63.75 -3199,30,2.5,111.05,1.7,63.75 -3200,30,2.5,111.05,1.7,63.75 -3201,30,2.5,111.05,1.7,63.75 -3202,30,2.5,111.05,1.7,63.75 -3203,30,2.5,111.05,1.7,63.75 -3204,30,2.5,111.05,1.7,63.75 -3205,30,2.5,111.05,1.7,63.75 -3206,30,2.5,111.05,1.7,63.75 -3207,30,2.5,111.05,1.7,63.75 -3208,30,2.5,111.05,1.7,63.75 -3209,30,2.5,111.05,1.7,63.75 -3210,30,2.5,111.05,1.7,63.75 -3211,30,2.5,111.05,1.7,63.75 -3212,30,2.5,111.05,1.7,63.75 -3213,30,2.5,111.05,1.7,63.75 -3214,30,2.5,111.05,1.7,63.75 -3215,30,2.5,111.05,1.7,63.75 -3216,30,2.5,111.05,1.7,63.75 -3217,30,2.5,111.05,1.7,63.75 -3218,30,2.5,111.05,1.7,63.75 -3219,30,2.5,111.05,1.7,63.75 -3220,30,2.5,111.05,1.7,63.75 -3221,30,2.5,111.05,1.7,63.75 -3222,30,2.5,111.05,1.7,63.75 -3223,30,2.5,111.05,1.7,63.75 -3224,30,2.5,111.05,1.7,63.75 -3225,30,2.5,111.05,1.7,63.75 -3226,30,2.5,111.05,1.7,63.75 -3227,30,2.5,111.05,1.7,63.75 -3228,30,2.5,111.05,1.7,63.75 -3229,30,2.5,111.05,1.7,63.75 -3230,30,2.5,111.05,1.7,63.75 -3231,30,2.5,111.05,1.7,63.75 -3232,30,2.5,111.05,1.7,63.75 -3233,30,2.5,111.05,1.7,63.75 -3234,30,2.5,111.05,1.7,63.75 -3235,30,2.5,111.05,1.7,63.75 -3236,30,2.5,111.05,1.7,63.75 -3237,30,2.5,111.05,1.7,63.75 -3238,30,2.5,111.05,1.7,63.75 -3239,30,2.5,111.05,1.7,63.75 -3240,30,2.5,111.05,1.7,63.75 -3241,30,2.5,111.05,1.7,63.75 -3242,30,2.5,111.05,1.7,63.75 -3243,30,2.5,111.05,1.7,63.75 -3244,30,2.5,111.05,1.7,63.75 -3245,30,2.5,111.05,1.7,63.75 -3246,30,2.5,111.05,1.7,63.75 -3247,30,2.5,111.05,1.7,63.75 -3248,30,2.5,111.05,1.7,63.75 -3249,30,2.5,111.05,1.7,63.75 -3250,30,2.5,111.05,1.7,63.75 -3251,30,2.5,111.05,1.7,63.75 -3252,30,2.5,111.05,1.7,63.75 -3253,30,2.5,111.05,1.7,63.75 -3254,30,2.5,111.05,1.7,63.75 -3255,30,2.5,111.05,1.7,63.75 -3256,30,2.5,111.05,1.7,63.75 -3257,30,2.5,111.05,1.7,63.75 -3258,30,2.5,111.05,1.7,63.75 -3259,30,2.5,111.05,1.7,63.75 -3260,30,2.5,111.05,1.7,63.75 -3261,30,2.5,111.05,1.7,63.75 -3262,30,2.5,111.05,1.7,63.75 -3263,30,2.5,111.05,1.7,63.75 -3264,30,2.5,111.05,1.7,63.75 -3265,30,2.5,111.05,1.7,63.75 -3266,30,2.5,111.05,1.7,63.75 -3267,30,2.5,111.05,1.7,63.75 -3268,30,2.5,111.05,1.7,63.75 -3269,30,2.5,111.05,1.7,63.75 -3270,30,2.5,111.05,1.7,63.75 -3271,30,2.5,111.05,1.7,63.75 -3272,30,2.5,111.05,1.7,63.75 -3273,30,2.5,111.05,1.7,63.75 -3274,30,2.5,111.05,1.7,63.75 -3275,30,2.5,111.05,1.7,63.75 -3276,30,2.5,111.05,1.7,63.75 -3277,30,2.5,111.05,1.7,63.75 -3278,30,2.5,111.05,1.7,63.75 -3279,30,2.5,111.05,1.7,63.75 -3280,30,2.5,111.05,1.7,63.75 -3281,30,2.5,111.05,1.7,63.75 -3282,30,2.5,111.05,1.7,63.75 -3283,30,2.5,111.05,1.7,63.75 -3284,30,2.5,111.05,1.7,63.75 -3285,30,2.5,111.05,1.7,63.75 -3286,30,2.5,111.05,1.7,63.75 -3287,30,2.5,111.05,1.7,63.75 -3288,30,2.5,111.05,1.7,63.75 -3289,30,2.5,111.05,1.7,63.75 -3290,30,2.5,111.05,1.7,63.75 -3291,30,2.5,111.05,1.7,63.75 -3292,30,2.5,111.05,1.7,63.75 -3293,30,2.5,111.05,1.7,63.75 -3294,30,2.5,111.05,1.7,63.75 -3295,30,2.5,111.05,1.7,63.75 -3296,30,2.5,111.05,1.7,63.75 -3297,30,2.5,111.05,1.7,63.75 -3298,30,2.5,111.05,1.7,63.75 -3299,30,2.5,111.05,1.7,63.75 -3300,30,2.5,111.05,1.7,63.75 -3301,30,2.5,111.05,1.7,63.75 -3302,30,2.5,111.05,1.7,63.75 -3303,30,2.5,111.05,1.7,63.75 -3304,30,2.5,111.05,1.7,63.75 -3305,30,2.5,111.05,1.7,63.75 -3306,30,2.5,111.05,1.7,63.75 -3307,30,2.5,111.05,1.7,63.75 -3308,30,2.5,111.05,1.7,63.75 -3309,30,2.5,111.05,1.7,63.75 -3310,30,2.5,111.05,1.7,63.75 -3311,30,2.5,111.05,1.7,63.75 -3312,30,2.5,111.05,1.7,63.75 -3313,30,2.5,111.05,1.7,63.75 -3314,30,2.5,111.05,1.7,63.75 -3315,30,2.5,111.05,1.7,63.75 -3316,30,2.5,111.05,1.7,63.75 -3317,30,2.5,111.05,1.7,63.75 -3318,30,2.5,111.05,1.7,63.75 -3319,30,2.5,111.05,1.7,63.75 -3320,30,2.5,111.05,1.7,63.75 -3321,30,2.5,111.05,1.7,63.75 -3322,30,2.5,111.05,1.7,63.75 -3323,30,2.5,111.05,1.7,63.75 -3324,30,2.5,111.05,1.7,63.75 -3325,30,2.5,111.05,1.7,63.75 -3326,30,2.5,111.05,1.7,63.75 -3327,30,2.5,111.05,1.7,63.75 -3328,30,2.5,111.05,1.7,63.75 -3329,30,2.5,111.05,1.7,63.75 -3330,30,2.5,111.05,1.7,63.75 -3331,30,2.5,111.05,1.7,63.75 -3332,30,2.5,111.05,1.7,63.75 -3333,30,2.5,111.05,1.7,63.75 -3334,30,2.5,111.05,1.7,63.75 -3335,30,2.5,111.05,1.7,63.75 -3336,30,2.5,111.05,1.7,63.75 -3337,30,2.5,111.05,1.7,63.75 -3338,30,2.5,111.05,1.7,63.75 -3339,30,2.5,111.05,1.7,63.75 -3340,30,2.5,111.05,1.7,63.75 -3341,30,2.5,111.05,1.7,63.75 -3342,30,2.5,111.05,1.7,63.75 -3343,30,2.5,111.05,1.7,63.75 -3344,30,2.5,111.05,1.7,63.75 -3345,30,2.5,111.05,1.7,63.75 -3346,30,2.5,111.05,1.7,63.75 -3347,30,2.5,111.05,1.7,63.75 -3348,30,2.5,111.05,1.7,63.75 -3349,30,2.5,111.05,1.7,63.75 -3350,30,2.5,111.05,1.7,63.75 -3351,30,2.5,111.05,1.7,63.75 -3352,30,2.5,111.05,1.7,63.75 -3353,30,2.5,111.05,1.7,63.75 -3354,30,2.5,111.05,1.7,63.75 -3355,30,2.5,111.05,1.7,63.75 -3356,30,2.5,111.05,1.7,63.75 -3357,30,2.5,111.05,1.7,63.75 -3358,30,2.5,111.05,1.7,63.75 -3359,30,2.5,111.05,1.7,63.75 -3360,30,2.5,111.05,1.7,63.75 -3361,30,2.5,111.05,1.7,63.75 -3362,30,2.5,111.05,1.7,63.75 -3363,30,2.5,111.05,1.7,63.75 -3364,30,2.5,111.05,1.7,63.75 -3365,30,2.5,111.05,1.7,63.75 -3366,30,2.5,111.05,1.7,63.75 -3367,30,2.5,111.05,1.7,63.75 -3368,30,2.5,111.05,1.7,63.75 -3369,30,2.5,111.05,1.7,63.75 -3370,30,2.5,111.05,1.7,63.75 -3371,30,2.5,111.05,1.7,63.75 -3372,30,2.5,111.05,1.7,63.75 -3373,30,2.5,111.05,1.7,63.75 -3374,30,2.5,111.05,1.7,63.75 -3375,30,2.5,111.05,1.7,63.75 -3376,30,2.5,111.05,1.7,63.75 -3377,30,2.5,111.05,1.7,63.75 -3378,30,2.5,111.05,1.7,63.75 -3379,30,2.5,111.05,1.7,63.75 -3380,30,2.5,111.05,1.7,63.75 -3381,30,2.5,111.05,1.7,63.75 -3382,30,2.5,111.05,1.7,63.75 -3383,30,2.5,111.05,1.7,63.75 -3384,30,2.5,111.05,1.7,63.75 -3385,30,2.5,111.05,1.7,63.75 -3386,30,2.5,111.05,1.7,63.75 -3387,30,2.5,111.05,1.7,63.75 -3388,30,2.5,111.05,1.7,63.75 -3389,30,2.5,111.05,1.7,63.75 -3390,30,2.5,111.05,1.7,63.75 -3391,30,2.5,111.05,1.7,63.75 -3392,30,2.5,111.05,1.7,63.75 -3393,30,2.5,111.05,1.7,63.75 -3394,30,2.5,111.05,1.7,63.75 -3395,30,2.5,111.05,1.7,63.75 -3396,30,2.5,111.05,1.7,63.75 -3397,30,2.5,111.05,1.7,63.75 -3398,30,2.5,111.05,1.7,63.75 -3399,30,2.5,111.05,1.7,63.75 -3400,30,2.5,111.05,1.7,63.75 -3401,30,2.5,111.05,1.7,63.75 -3402,30,2.5,111.05,1.7,63.75 -3403,30,2.5,111.05,1.7,63.75 -3404,30,2.5,111.05,1.7,63.75 -3405,30,2.5,111.05,1.7,63.75 -3406,30,2.5,111.05,1.7,63.75 -3407,30,2.5,111.05,1.7,63.75 -3408,30,2.5,111.05,1.7,63.75 -3409,30,2.5,111.05,1.7,63.75 -3410,30,2.5,111.05,1.7,63.75 -3411,30,2.5,111.05,1.7,63.75 -3412,30,2.5,111.05,1.7,63.75 -3413,30,2.5,111.05,1.7,63.75 -3414,30,2.5,111.05,1.7,63.75 -3415,30,2.5,111.05,1.7,63.75 -3416,30,2.5,111.05,1.7,63.75 -3417,30,2.5,111.05,1.7,63.75 -3418,30,2.5,111.05,1.7,63.75 -3419,30,2.5,111.05,1.7,63.75 -3420,30,2.5,111.05,1.7,63.75 -3421,30,2.5,111.05,1.7,63.75 -3422,30,2.5,111.05,1.7,63.75 -3423,30,2.5,111.05,1.7,63.75 -3424,30,2.5,111.05,1.7,63.75 -3425,30,2.5,111.05,1.7,63.75 -3426,30,2.5,111.05,1.7,63.75 -3427,30,2.5,111.05,1.7,63.75 -3428,30,2.5,111.05,1.7,63.75 -3429,30,2.5,111.05,1.7,63.75 -3430,30,2.5,111.05,1.7,63.75 -3431,30,2.5,111.05,1.7,63.75 -3432,30,2.5,111.05,1.7,63.75 -3433,30,2.5,111.05,1.7,63.75 -3434,30,2.5,111.05,1.7,63.75 -3435,30,2.5,111.05,1.7,63.75 -3436,30,2.5,111.05,1.7,63.75 -3437,30,2.5,111.05,1.7,63.75 -3438,30,2.5,111.05,1.7,63.75 -3439,30,2.5,111.05,1.7,63.75 -3440,30,2.5,111.05,1.7,63.75 -3441,30,2.5,111.05,1.7,63.75 -3442,30,2.5,111.05,1.7,63.75 -3443,30,2.5,111.05,1.7,63.75 -3444,30,2.5,111.05,1.7,63.75 -3445,30,2.5,111.05,1.7,63.75 -3446,30,2.5,111.05,1.7,63.75 -3447,30,2.5,111.05,1.7,63.75 -3448,30,2.5,111.05,1.7,63.75 -3449,30,2.5,111.05,1.7,63.75 -3450,30,2.5,111.05,1.7,63.75 -3451,30,2.5,111.05,1.7,63.75 -3452,30,2.5,111.05,1.7,63.75 -3453,30,2.5,111.05,1.7,63.75 -3454,30,2.5,111.05,1.7,63.75 -3455,30,2.5,111.05,1.7,63.75 -3456,30,2.5,111.05,1.7,63.75 -3457,30,2.5,111.05,1.7,63.75 -3458,30,2.5,111.05,1.7,63.75 -3459,30,2.5,111.05,1.7,63.75 -3460,30,2.5,111.05,1.7,63.75 -3461,30,2.5,111.05,1.7,63.75 -3462,30,2.5,111.05,1.7,63.75 -3463,30,2.5,111.05,1.7,63.75 -3464,30,2.5,111.05,1.7,63.75 -3465,30,2.5,111.05,1.7,63.75 -3466,30,2.5,111.05,1.7,63.75 -3467,30,2.5,111.05,1.7,63.75 -3468,30,2.5,111.05,1.7,63.75 -3469,30,2.5,111.05,1.7,63.75 -3470,30,2.5,111.05,1.7,63.75 -3471,30,2.5,111.05,1.7,63.75 -3472,30,2.5,111.05,1.7,63.75 -3473,30,2.5,111.05,1.7,63.75 -3474,30,2.5,111.05,1.7,63.75 -3475,30,2.5,111.05,1.7,63.75 -3476,30,2.5,111.05,1.7,63.75 -3477,30,2.5,111.05,1.7,63.75 -3478,30,2.5,111.05,1.7,63.75 -3479,30,2.5,111.05,1.7,63.75 -3480,30,2.5,111.05,1.7,63.75 -3481,30,2.5,111.05,1.7,63.75 -3482,30,2.5,111.05,1.7,63.75 -3483,30,2.5,111.05,1.7,63.75 -3484,30,2.5,111.05,1.7,63.75 -3485,30,2.5,111.05,1.7,63.75 -3486,30,2.5,111.05,1.7,63.75 -3487,30,2.5,111.05,1.7,63.75 -3488,30,2.5,111.05,1.7,63.75 -3489,30,2.5,111.05,1.7,63.75 -3490,30,2.5,111.05,1.7,63.75 -3491,30,2.5,111.05,1.7,63.75 -3492,30,2.5,111.05,1.7,63.75 -3493,30,2.5,111.05,1.7,63.75 -3494,30,2.5,111.05,1.7,63.75 -3495,30,2.5,111.05,1.7,63.75 -3496,30,2.5,111.05,1.7,63.75 -3497,30,2.5,111.05,1.7,63.75 -3498,30,2.5,111.05,1.7,63.75 -3499,30,2.5,111.05,1.7,63.75 -3500,30,2.5,111.05,1.7,63.75 -3501,30,2.5,111.05,1.7,63.75 -3502,30,2.5,111.05,1.7,63.75 -3503,30,2.5,111.05,1.7,63.75 -3504,30,2.5,111.05,1.7,63.75 -3505,30,2.5,111.05,1.7,63.75 -3506,30,2.5,111.05,1.7,63.75 -3507,30,2.5,111.05,1.7,63.75 -3508,30,2.5,111.05,1.7,63.75 -3509,30,2.5,111.05,1.7,63.75 -3510,30,2.5,111.05,1.7,63.75 -3511,30,2.5,111.05,1.7,63.75 -3512,30,2.5,111.05,1.7,63.75 -3513,30,2.5,111.05,1.7,63.75 -3514,30,2.5,111.05,1.7,63.75 -3515,30,2.5,111.05,1.7,63.75 -3516,30,2.5,111.05,1.7,63.75 -3517,30,2.5,111.05,1.7,63.75 -3518,30,2.5,111.05,1.7,63.75 -3519,30,2.5,111.05,1.7,63.75 -3520,30,2.5,111.05,1.7,63.75 -3521,30,2.5,111.05,1.7,63.75 -3522,30,2.5,111.05,1.7,63.75 -3523,30,2.5,111.05,1.7,63.75 -3524,30,2.5,111.05,1.7,63.75 -3525,30,2.5,111.05,1.7,63.75 -3526,30,2.5,111.05,1.7,63.75 -3527,30,2.5,111.05,1.7,63.75 -3528,30,2.5,111.05,1.7,63.75 -3529,30,2.5,111.05,1.7,63.75 -3530,30,2.5,111.05,1.7,63.75 -3531,30,2.5,111.05,1.7,63.75 -3532,30,2.5,111.05,1.7,63.75 -3533,30,2.5,111.05,1.7,63.75 -3534,30,2.5,111.05,1.7,63.75 -3535,30,2.5,111.05,1.7,63.75 -3536,30,2.5,111.05,1.7,63.75 -3537,30,2.5,111.05,1.7,63.75 -3538,30,2.5,111.05,1.7,63.75 -3539,30,2.5,111.05,1.7,63.75 -3540,30,2.5,111.05,1.7,63.75 -3541,30,2.5,111.05,1.7,63.75 -3542,30,2.5,111.05,1.7,63.75 -3543,30,2.5,111.05,1.7,63.75 -3544,30,2.5,111.05,1.7,63.75 -3545,30,2.5,111.05,1.7,63.75 -3546,30,2.5,111.05,1.7,63.75 -3547,30,2.5,111.05,1.7,63.75 -3548,30,2.5,111.05,1.7,63.75 -3549,30,2.5,111.05,1.7,63.75 -3550,30,2.5,111.05,1.7,63.75 -3551,30,2.5,111.05,1.7,63.75 -3552,30,2.5,111.05,1.7,63.75 -3553,30,2.5,111.05,1.7,63.75 -3554,30,2.5,111.05,1.7,63.75 -3555,30,2.5,111.05,1.7,63.75 -3556,30,2.5,111.05,1.7,63.75 -3557,30,2.5,111.05,1.7,63.75 -3558,30,2.5,111.05,1.7,63.75 -3559,30,2.5,111.05,1.7,63.75 -3560,30,2.5,111.05,1.7,63.75 -3561,30,2.5,111.05,1.7,63.75 -3562,30,2.5,111.05,1.7,63.75 -3563,30,2.5,111.05,1.7,63.75 -3564,30,2.5,111.05,1.7,63.75 -3565,30,2.5,111.05,1.7,63.75 -3566,30,2.5,111.05,1.7,63.75 -3567,30,2.5,111.05,1.7,63.75 -3568,30,2.5,111.05,1.7,63.75 -3569,30,2.5,111.05,1.7,63.75 -3570,30,2.5,111.05,1.7,63.75 -3571,30,2.5,111.05,1.7,63.75 -3572,30,2.5,111.05,1.7,63.75 -3573,30,2.5,111.05,1.7,63.75 -3574,30,2.5,111.05,1.7,63.75 -3575,30,2.5,111.05,1.7,63.75 -3576,30,2.5,111.05,1.7,63.75 -3577,30,2.5,111.05,1.7,63.75 -3578,30,2.5,111.05,1.7,63.75 -3579,30,2.5,111.05,1.7,63.75 -3580,30,2.5,111.05,1.7,63.75 -3581,30,2.5,111.05,1.7,63.75 -3582,30,2.5,111.05,1.7,63.75 -3583,30,2.5,111.05,1.7,63.75 -3584,30,2.5,111.05,1.7,63.75 -3585,30,2.5,111.05,1.7,63.75 -3586,30,2.5,111.05,1.7,63.75 -3587,30,2.5,111.05,1.7,63.75 -3588,30,2.5,111.05,1.7,63.75 -3589,30,2.5,111.05,1.7,63.75 -3590,30,2.5,111.05,1.7,63.75 -3591,30,2.5,111.05,1.7,63.75 -3592,30,2.5,111.05,1.7,63.75 -3593,30,2.5,111.05,1.7,63.75 -3594,30,2.5,111.05,1.7,63.75 -3595,30,2.5,111.05,1.7,63.75 -3596,30,2.5,111.05,1.7,63.75 -3597,30,2.5,111.05,1.7,63.75 -3598,30,2.5,111.05,1.7,63.75 -3599,30,2.5,111.05,1.7,63.75 -3600,30,2.5,111.05,1.7,63.75 -3601,30,2.5,111.05,1.7,63.75 -3602,30,2.5,111.05,1.7,63.75 -3603,30,2.5,111.05,1.7,63.75 -3604,30,2.5,111.05,1.7,63.75 -3605,30,2.5,111.05,1.7,63.75 -3606,30,2.5,111.05,1.7,63.75 -3607,30,2.5,111.05,1.7,63.75 -3608,30,2.5,111.05,1.7,63.75 -3609,30,2.5,111.05,1.7,63.75 -3610,30,2.5,111.05,1.7,63.75 -3611,30,2.5,111.05,1.7,63.75 -3612,30,2.5,111.05,1.7,63.75 -3613,30,2.5,111.05,1.7,63.75 -3614,30,2.5,111.05,1.7,63.75 -3615,30,2.5,111.05,1.7,63.75 -3616,30,2.5,111.05,1.7,63.75 -3617,30,2.5,111.05,1.7,63.75 -3618,30,2.5,111.05,1.7,63.75 -3619,30,2.5,111.05,1.7,63.75 -3620,30,2.5,111.05,1.7,63.75 -3621,30,2.5,111.05,1.7,63.75 -3622,30,2.5,111.05,1.7,63.75 -3623,30,2.5,111.05,1.7,63.75 -3624,30,2.5,111.05,1.7,63.75 -3625,30,2.5,111.05,1.7,63.75 -3626,30,2.5,111.05,1.7,63.75 -3627,30,2.5,111.05,1.7,63.75 -3628,30,2.5,111.05,1.7,63.75 -3629,30,2.5,111.05,1.7,63.75 -3630,30,2.5,111.05,1.7,63.75 -3631,30,2.5,111.05,1.7,63.75 -3632,30,2.5,111.05,1.7,63.75 -3633,30,2.5,111.05,1.7,63.75 -3634,30,2.5,111.05,1.7,63.75 -3635,30,2.5,111.05,1.7,63.75 -3636,30,2.5,111.05,1.7,63.75 -3637,30,2.5,111.05,1.7,63.75 -3638,30,2.5,111.05,1.7,63.75 -3639,30,2.5,111.05,1.7,63.75 -3640,30,2.5,111.05,1.7,63.75 -3641,30,2.5,111.05,1.7,63.75 -3642,30,2.5,111.05,1.7,63.75 -3643,30,2.5,111.05,1.7,63.75 -3644,30,2.5,111.05,1.7,63.75 -3645,30,2.5,111.05,1.7,63.75 -3646,30,2.5,111.05,1.7,63.75 -3647,30,2.5,111.05,1.7,63.75 -3648,30,2.5,111.05,1.7,63.75 -3649,30,2.5,111.05,1.7,63.75 -3650,30,2.5,111.05,1.7,63.75 -3651,30,2.5,111.05,1.7,63.75 -3652,30,2.5,111.05,1.7,63.75 -3653,30,2.5,111.05,1.7,63.75 -3654,30,2.5,111.05,1.7,63.75 -3655,30,2.5,111.05,1.7,63.75 -3656,30,2.5,111.05,1.7,63.75 -3657,30,2.5,111.05,1.7,63.75 -3658,30,2.5,111.05,1.7,63.75 -3659,30,2.5,111.05,1.7,63.75 -3660,30,2.5,111.05,1.7,63.75 -3661,30,2.5,111.05,1.7,63.75 -3662,30,2.5,111.05,1.7,63.75 -3663,30,2.5,111.05,1.7,63.75 -3664,30,2.5,111.05,1.7,63.75 -3665,30,2.5,111.05,1.7,63.75 -3666,30,2.5,111.05,1.7,63.75 -3667,30,2.5,111.05,1.7,63.75 -3668,30,2.5,111.05,1.7,63.75 -3669,30,2.5,111.05,1.7,63.75 -3670,30,2.5,111.05,1.7,63.75 -3671,30,2.5,111.05,1.7,63.75 -3672,30,2.5,111.05,1.7,63.75 -3673,30,2.5,111.05,1.7,63.75 -3674,30,2.5,111.05,1.7,63.75 -3675,30,2.5,111.05,1.7,63.75 -3676,30,2.5,111.05,1.7,63.75 -3677,30,2.5,111.05,1.7,63.75 -3678,30,2.5,111.05,1.7,63.75 -3679,30,2.5,111.05,1.7,63.75 -3680,30,2.5,111.05,1.7,63.75 -3681,30,2.5,111.05,1.7,63.75 -3682,30,2.5,111.05,1.7,63.75 -3683,30,2.5,111.05,1.7,63.75 -3684,30,2.5,111.05,1.7,63.75 -3685,30,2.5,111.05,1.7,63.75 -3686,30,2.5,111.05,1.7,63.75 -3687,30,2.5,111.05,1.7,63.75 -3688,30,2.5,111.05,1.7,63.75 -3689,30,2.5,111.05,1.7,63.75 -3690,30,2.5,111.05,1.7,63.75 -3691,30,2.5,111.05,1.7,63.75 -3692,30,2.5,111.05,1.7,63.75 -3693,30,2.5,111.05,1.7,63.75 -3694,30,2.5,111.05,1.7,63.75 -3695,30,2.5,111.05,1.7,63.75 -3696,30,2.5,111.05,1.7,63.75 -3697,30,2.5,111.05,1.7,63.75 -3698,30,2.5,111.05,1.7,63.75 -3699,30,2.5,111.05,1.7,63.75 -3700,30,2.5,111.05,1.7,63.75 -3701,30,2.5,111.05,1.7,63.75 -3702,30,2.5,111.05,1.7,63.75 -3703,30,2.5,111.05,1.7,63.75 -3704,30,2.5,111.05,1.7,63.75 -3705,30,2.5,111.05,1.7,63.75 -3706,30,2.5,111.05,1.7,63.75 -3707,30,2.5,111.05,1.7,63.75 -3708,30,2.5,111.05,1.7,63.75 -3709,30,2.5,111.05,1.7,63.75 -3710,30,2.5,111.05,1.7,63.75 -3711,30,2.5,111.05,1.7,63.75 -3712,30,2.5,111.05,1.7,63.75 -3713,30,2.5,111.05,1.7,63.75 -3714,30,2.5,111.05,1.7,63.75 -3715,30,2.5,111.05,1.7,63.75 -3716,30,2.5,111.05,1.7,63.75 -3717,30,2.5,111.05,1.7,63.75 -3718,30,2.5,111.05,1.7,63.75 -3719,30,2.5,111.05,1.7,63.75 -3720,30,2.5,111.05,1.7,63.75 -3721,30,2.5,111.05,1.7,63.75 -3722,30,2.5,111.05,1.7,63.75 -3723,30,2.5,111.05,1.7,63.75 -3724,30,2.5,111.05,1.7,63.75 -3725,30,2.5,111.05,1.7,63.75 -3726,30,2.5,111.05,1.7,63.75 -3727,30,2.5,111.05,1.7,63.75 -3728,30,2.5,111.05,1.7,63.75 -3729,30,2.5,111.05,1.7,63.75 -3730,30,2.5,111.05,1.7,63.75 -3731,30,2.5,111.05,1.7,63.75 -3732,30,2.5,111.05,1.7,63.75 -3733,30,2.5,111.05,1.7,63.75 -3734,30,2.5,111.05,1.7,63.75 -3735,30,2.5,111.05,1.7,63.75 -3736,30,2.5,111.05,1.7,63.75 -3737,30,2.5,111.05,1.7,63.75 -3738,30,2.5,111.05,1.7,63.75 -3739,30,2.5,111.05,1.7,63.75 -3740,30,2.5,111.05,1.7,63.75 -3741,30,2.5,111.05,1.7,63.75 -3742,30,2.5,111.05,1.7,63.75 -3743,30,2.5,111.05,1.7,63.75 -3744,30,2.5,111.05,1.7,63.75 -3745,30,2.5,111.05,1.7,63.75 -3746,30,2.5,111.05,1.7,63.75 -3747,30,2.5,111.05,1.7,63.75 -3748,30,2.5,111.05,1.7,63.75 -3749,30,2.5,111.05,1.7,63.75 -3750,30,2.5,111.05,1.7,63.75 -3751,30,2.5,111.05,1.7,63.75 -3752,30,2.5,111.05,1.7,63.75 -3753,30,2.5,111.05,1.7,63.75 -3754,30,2.5,111.05,1.7,63.75 -3755,30,2.5,111.05,1.7,63.75 -3756,30,2.5,111.05,1.7,63.75 -3757,30,2.5,111.05,1.7,63.75 -3758,30,2.5,111.05,1.7,63.75 -3759,30,2.5,111.05,1.7,63.75 -3760,30,2.5,111.05,1.7,63.75 -3761,30,2.5,111.05,1.7,63.75 -3762,30,2.5,111.05,1.7,63.75 -3763,30,2.5,111.05,1.7,63.75 -3764,30,2.5,111.05,1.7,63.75 -3765,30,2.5,111.05,1.7,63.75 -3766,30,2.5,111.05,1.7,63.75 -3767,30,2.5,111.05,1.7,63.75 -3768,30,2.5,111.05,1.7,63.75 -3769,30,2.5,111.05,1.7,63.75 -3770,30,2.5,111.05,1.7,63.75 -3771,30,2.5,111.05,1.7,63.75 -3772,30,2.5,111.05,1.7,63.75 -3773,30,2.5,111.05,1.7,63.75 -3774,30,2.5,111.05,1.7,63.75 -3775,30,2.5,111.05,1.7,63.75 -3776,30,2.5,111.05,1.7,63.75 -3777,30,2.5,111.05,1.7,63.75 -3778,30,2.5,111.05,1.7,63.75 -3779,30,2.5,111.05,1.7,63.75 -3780,30,2.5,111.05,1.7,63.75 -3781,30,2.5,111.05,1.7,63.75 -3782,30,2.5,111.05,1.7,63.75 -3783,30,2.5,111.05,1.7,63.75 -3784,30,2.5,111.05,1.7,63.75 -3785,30,2.5,111.05,1.7,63.75 -3786,30,2.5,111.05,1.7,63.75 -3787,30,2.5,111.05,1.7,63.75 -3788,30,2.5,111.05,1.7,63.75 -3789,30,2.5,111.05,1.7,63.75 -3790,30,2.5,111.05,1.7,63.75 -3791,30,2.5,111.05,1.7,63.75 -3792,30,2.5,111.05,1.7,63.75 -3793,30,2.5,111.05,1.7,63.75 -3794,30,2.5,111.05,1.7,63.75 -3795,30,2.5,111.05,1.7,63.75 -3796,30,2.5,111.05,1.7,63.75 -3797,30,2.5,111.05,1.7,63.75 -3798,30,2.5,111.05,1.7,63.75 -3799,30,2.5,111.05,1.7,63.75 -3800,30,2.5,111.05,1.7,63.75 -3801,30,2.5,111.05,1.7,63.75 -3802,30,2.5,111.05,1.7,63.75 -3803,30,2.5,111.05,1.7,63.75 -3804,30,2.5,111.05,1.7,63.75 -3805,30,2.5,111.05,1.7,63.75 -3806,30,2.5,111.05,1.7,63.75 -3807,30,2.5,111.05,1.7,63.75 -3808,30,2.5,111.05,1.7,63.75 -3809,30,2.5,111.05,1.7,63.75 -3810,30,2.5,111.05,1.7,63.75 -3811,30,2.5,111.05,1.7,63.75 -3812,30,2.5,111.05,1.7,63.75 -3813,30,2.5,111.05,1.7,63.75 -3814,30,2.5,111.05,1.7,63.75 -3815,30,2.5,111.05,1.7,63.75 -3816,30,2.5,111.05,1.7,63.75 -3817,30,2.5,111.05,1.7,63.75 -3818,30,2.5,111.05,1.7,63.75 -3819,30,2.5,111.05,1.7,63.75 -3820,30,2.5,111.05,1.7,63.75 -3821,30,2.5,111.05,1.7,63.75 -3822,30,2.5,111.05,1.7,63.75 -3823,30,2.5,111.05,1.7,63.75 -3824,30,2.5,111.05,1.7,63.75 -3825,30,2.5,111.05,1.7,63.75 -3826,30,2.5,111.05,1.7,63.75 -3827,30,2.5,111.05,1.7,63.75 -3828,30,2.5,111.05,1.7,63.75 -3829,30,2.5,111.05,1.7,63.75 -3830,30,2.5,111.05,1.7,63.75 -3831,30,2.5,111.05,1.7,63.75 -3832,30,2.5,111.05,1.7,63.75 -3833,30,2.5,111.05,1.7,63.75 -3834,30,2.5,111.05,1.7,63.75 -3835,30,2.5,111.05,1.7,63.75 -3836,30,2.5,111.05,1.7,63.75 -3837,30,2.5,111.05,1.7,63.75 -3838,30,2.5,111.05,1.7,63.75 -3839,30,2.5,111.05,1.7,63.75 -3840,30,2.5,111.05,1.7,63.75 -3841,30,2.5,111.05,1.7,63.75 -3842,30,2.5,111.05,1.7,63.75 -3843,30,2.5,111.05,1.7,63.75 -3844,30,2.5,111.05,1.7,63.75 -3845,30,2.5,111.05,1.7,63.75 -3846,30,2.5,111.05,1.7,63.75 -3847,30,2.5,111.05,1.7,63.75 -3848,30,2.5,111.05,1.7,63.75 -3849,30,2.5,111.05,1.7,63.75 -3850,30,2.5,111.05,1.7,63.75 -3851,30,2.5,111.05,1.7,63.75 -3852,30,2.5,111.05,1.7,63.75 -3853,30,2.5,111.05,1.7,63.75 -3854,30,2.5,111.05,1.7,63.75 -3855,30,2.5,111.05,1.7,63.75 -3856,30,2.5,111.05,1.7,63.75 -3857,30,2.5,111.05,1.7,63.75 -3858,30,2.5,111.05,1.7,63.75 -3859,30,2.5,111.05,1.7,63.75 -3860,30,2.5,111.05,1.7,63.75 -3861,30,2.5,111.05,1.7,63.75 -3862,30,2.5,111.05,1.7,63.75 -3863,30,2.5,111.05,1.7,63.75 -3864,30,2.5,111.05,1.7,63.75 -3865,30,2.5,111.05,1.7,63.75 -3866,30,2.5,111.05,1.7,63.75 -3867,30,2.5,111.05,1.7,63.75 -3868,30,2.5,111.05,1.7,63.75 -3869,30,2.5,111.05,1.7,63.75 -3870,30,2.5,111.05,1.7,63.75 -3871,30,2.5,111.05,1.7,63.75 -3872,30,2.5,111.05,1.7,63.75 -3873,30,2.5,111.05,1.7,63.75 -3874,30,2.5,111.05,1.7,63.75 -3875,30,2.5,111.05,1.7,63.75 -3876,30,2.5,111.05,1.7,63.75 -3877,30,2.5,111.05,1.7,63.75 -3878,30,2.5,111.05,1.7,63.75 -3879,30,2.5,111.05,1.7,63.75 -3880,30,2.5,111.05,1.7,63.75 -3881,30,2.5,111.05,1.7,63.75 -3882,30,2.5,111.05,1.7,63.75 -3883,30,2.5,111.05,1.7,63.75 -3884,30,2.5,111.05,1.7,63.75 -3885,30,2.5,111.05,1.7,63.75 -3886,30,2.5,111.05,1.7,63.75 -3887,30,2.5,111.05,1.7,63.75 -3888,30,2.5,111.05,1.7,63.75 -3889,30,2.5,111.05,1.7,63.75 -3890,30,2.5,111.05,1.7,63.75 -3891,30,2.5,111.05,1.7,63.75 -3892,30,2.5,111.05,1.7,63.75 -3893,30,2.5,111.05,1.7,63.75 -3894,30,2.5,111.05,1.7,63.75 -3895,30,2.5,111.05,1.7,63.75 -3896,30,2.5,111.05,1.7,63.75 -3897,30,2.5,111.05,1.7,63.75 -3898,30,2.5,111.05,1.7,63.75 -3899,30,2.5,111.05,1.7,63.75 -3900,30,2.5,111.05,1.7,63.75 -3901,30,2.5,111.05,1.7,63.75 -3902,30,2.5,111.05,1.7,63.75 -3903,30,2.5,111.05,1.7,63.75 -3904,30,2.5,111.05,1.7,63.75 -3905,30,2.5,111.05,1.7,63.75 -3906,30,2.5,111.05,1.7,63.75 -3907,30,2.5,111.05,1.7,63.75 -3908,30,2.5,111.05,1.7,63.75 -3909,30,2.5,111.05,1.7,63.75 -3910,30,2.5,111.05,1.7,63.75 -3911,30,2.5,111.05,1.7,63.75 -3912,30,2.5,111.05,1.7,63.75 -3913,30,2.5,111.05,1.7,63.75 -3914,30,2.5,111.05,1.7,63.75 -3915,30,2.5,111.05,1.7,63.75 -3916,30,2.5,111.05,1.7,63.75 -3917,30,2.5,111.05,1.7,63.75 -3918,30,2.5,111.05,1.7,63.75 -3919,30,2.5,111.05,1.7,63.75 -3920,30,2.5,111.05,1.7,63.75 -3921,30,2.5,111.05,1.7,63.75 -3922,30,2.5,111.05,1.7,63.75 -3923,30,2.5,111.05,1.7,63.75 -3924,30,2.5,111.05,1.7,63.75 -3925,30,2.5,111.05,1.7,63.75 -3926,30,2.5,111.05,1.7,63.75 -3927,30,2.5,111.05,1.7,63.75 -3928,30,2.5,111.05,1.7,63.75 -3929,30,2.5,111.05,1.7,63.75 -3930,30,2.5,111.05,1.7,63.75 -3931,30,2.5,111.05,1.7,63.75 -3932,30,2.5,111.05,1.7,63.75 -3933,30,2.5,111.05,1.7,63.75 -3934,30,2.5,111.05,1.7,63.75 -3935,30,2.5,111.05,1.7,63.75 -3936,30,2.5,111.05,1.7,63.75 -3937,30,2.5,111.05,1.7,63.75 -3938,30,2.5,111.05,1.7,63.75 -3939,30,2.5,111.05,1.7,63.75 -3940,30,2.5,111.05,1.7,63.75 -3941,30,2.5,111.05,1.7,63.75 -3942,30,2.5,111.05,1.7,63.75 -3943,30,2.5,111.05,1.7,63.75 -3944,30,2.5,111.05,1.7,63.75 -3945,30,2.5,111.05,1.7,63.75 -3946,30,2.5,111.05,1.7,63.75 -3947,30,2.5,111.05,1.7,63.75 -3948,30,2.5,111.05,1.7,63.75 -3949,30,2.5,111.05,1.7,63.75 -3950,30,2.5,111.05,1.7,63.75 -3951,30,2.5,111.05,1.7,63.75 -3952,30,2.5,111.05,1.7,63.75 -3953,30,2.5,111.05,1.7,63.75 -3954,30,2.5,111.05,1.7,63.75 -3955,30,2.5,111.05,1.7,63.75 -3956,30,2.5,111.05,1.7,63.75 -3957,30,2.5,111.05,1.7,63.75 -3958,30,2.5,111.05,1.7,63.75 -3959,30,2.5,111.05,1.7,63.75 -3960,30,2.5,111.05,1.7,63.75 -3961,30,2.5,111.05,1.7,63.75 -3962,30,2.5,111.05,1.7,63.75 -3963,30,2.5,111.05,1.7,63.75 -3964,30,2.5,111.05,1.7,63.75 -3965,30,2.5,111.05,1.7,63.75 -3966,30,2.5,111.05,1.7,63.75 -3967,30,2.5,111.05,1.7,63.75 -3968,30,2.5,111.05,1.7,63.75 -3969,30,2.5,111.05,1.7,63.75 -3970,30,2.5,111.05,1.7,63.75 -3971,30,2.5,111.05,1.7,63.75 -3972,30,2.5,111.05,1.7,63.75 -3973,30,2.5,111.05,1.7,63.75 -3974,30,2.5,111.05,1.7,63.75 -3975,30,2.5,111.05,1.7,63.75 -3976,30,2.5,111.05,1.7,63.75 -3977,30,2.5,111.05,1.7,63.75 -3978,30,2.5,111.05,1.7,63.75 -3979,30,2.5,111.05,1.7,63.75 -3980,30,2.5,111.05,1.7,63.75 -3981,30,2.5,111.05,1.7,63.75 -3982,30,2.5,111.05,1.7,63.75 -3983,30,2.5,111.05,1.7,63.75 -3984,30,2.5,111.05,1.7,63.75 -3985,30,2.5,111.05,1.7,63.75 -3986,30,2.5,111.05,1.7,63.75 -3987,30,2.5,111.05,1.7,63.75 -3988,30,2.5,111.05,1.7,63.75 -3989,30,2.5,111.05,1.7,63.75 -3990,30,2.5,111.05,1.7,63.75 -3991,30,2.5,111.05,1.7,63.75 -3992,30,2.5,111.05,1.7,63.75 -3993,30,2.5,111.05,1.7,63.75 -3994,30,2.5,111.05,1.7,63.75 -3995,30,2.5,111.05,1.7,63.75 -3996,30,2.5,111.05,1.7,63.75 -3997,30,2.5,111.05,1.7,63.75 -3998,30,2.5,111.05,1.7,63.75 -3999,30,2.5,111.05,1.7,63.75 -4000,30,2.5,111.05,1.7,63.75 -4001,30,2.5,111.05,1.7,63.75 -4002,30,2.5,111.05,1.7,63.75 -4003,30,2.5,111.05,1.7,63.75 -4004,30,2.5,111.05,1.7,63.75 -4005,30,2.5,111.05,1.7,63.75 -4006,30,2.5,111.05,1.7,63.75 -4007,30,2.5,111.05,1.7,63.75 -4008,30,2.5,111.05,1.7,63.75 -4009,30,2.5,111.05,1.7,63.75 -4010,30,2.5,111.05,1.7,63.75 -4011,30,2.5,111.05,1.7,63.75 -4012,30,2.5,111.05,1.7,63.75 -4013,30,2.5,111.05,1.7,63.75 -4014,30,2.5,111.05,1.7,63.75 -4015,30,2.5,111.05,1.7,63.75 -4016,30,2.5,111.05,1.7,63.75 -4017,30,2.5,111.05,1.7,63.75 -4018,30,2.5,111.05,1.7,63.75 -4019,30,2.5,111.05,1.7,63.75 -4020,30,2.5,111.05,1.7,63.75 -4021,30,2.5,111.05,1.7,63.75 -4022,30,2.5,111.05,1.7,63.75 -4023,30,2.5,111.05,1.7,63.75 -4024,30,2.5,111.05,1.7,63.75 -4025,30,2.5,111.05,1.7,63.75 -4026,30,2.5,111.05,1.7,63.75 -4027,30,2.5,111.05,1.7,63.75 -4028,30,2.5,111.05,1.7,63.75 -4029,30,2.5,111.05,1.7,63.75 -4030,30,2.5,111.05,1.7,63.75 -4031,30,2.5,111.05,1.7,63.75 -4032,30,2.5,111.05,1.7,63.75 -4033,30,2.5,111.05,1.7,63.75 -4034,30,2.5,111.05,1.7,63.75 -4035,30,2.5,111.05,1.7,63.75 -4036,30,2.5,111.05,1.7,63.75 -4037,30,2.5,111.05,1.7,63.75 -4038,30,2.5,111.05,1.7,63.75 -4039,30,2.5,111.05,1.7,63.75 -4040,30,2.5,111.05,1.7,63.75 -4041,30,2.5,111.05,1.7,63.75 -4042,30,2.5,111.05,1.7,63.75 -4043,30,2.5,111.05,1.7,63.75 -4044,30,2.5,111.05,1.7,63.75 -4045,30,2.5,111.05,1.7,63.75 -4046,30,2.5,111.05,1.7,63.75 -4047,30,2.5,111.05,1.7,63.75 -4048,30,2.5,111.05,1.7,63.75 -4049,30,2.5,111.05,1.7,63.75 -4050,30,2.5,111.05,1.7,63.75 -4051,30,2.5,111.05,1.7,63.75 -4052,30,2.5,111.05,1.7,63.75 -4053,30,2.5,111.05,1.7,63.75 -4054,30,2.5,111.05,1.7,63.75 -4055,30,2.5,111.05,1.7,63.75 -4056,30,2.5,111.05,1.7,63.75 -4057,30,2.5,111.05,1.7,63.75 -4058,30,2.5,111.05,1.7,63.75 -4059,30,2.5,111.05,1.7,63.75 -4060,30,2.5,111.05,1.7,63.75 -4061,30,2.5,111.05,1.7,63.75 -4062,30,2.5,111.05,1.7,63.75 -4063,30,2.5,111.05,1.7,63.75 -4064,30,2.5,111.05,1.7,63.75 -4065,30,2.5,111.05,1.7,63.75 -4066,30,2.5,111.05,1.7,63.75 -4067,30,2.5,111.05,1.7,63.75 -4068,30,2.5,111.05,1.7,63.75 -4069,30,2.5,111.05,1.7,63.75 -4070,30,2.5,111.05,1.7,63.75 -4071,30,2.5,111.05,1.7,63.75 -4072,30,2.5,111.05,1.7,63.75 -4073,30,2.5,111.05,1.7,63.75 -4074,30,2.5,111.05,1.7,63.75 -4075,30,2.5,111.05,1.7,63.75 -4076,30,2.5,111.05,1.7,63.75 -4077,30,2.5,111.05,1.7,63.75 -4078,30,2.5,111.05,1.7,63.75 -4079,30,2.5,111.05,1.7,63.75 -4080,30,2.5,111.05,1.7,63.75 -4081,30,2.5,111.05,1.7,63.75 -4082,30,2.5,111.05,1.7,63.75 -4083,30,2.5,111.05,1.7,63.75 -4084,30,2.5,111.05,1.7,63.75 -4085,30,2.5,111.05,1.7,63.75 -4086,30,2.5,111.05,1.7,63.75 -4087,30,2.5,111.05,1.7,63.75 -4088,30,2.5,111.05,1.7,63.75 -4089,30,2.5,111.05,1.7,63.75 -4090,30,2.5,111.05,1.7,63.75 -4091,30,2.5,111.05,1.7,63.75 -4092,30,2.5,111.05,1.7,63.75 -4093,30,2.5,111.05,1.7,63.75 -4094,30,2.5,111.05,1.7,63.75 -4095,30,2.5,111.05,1.7,63.75 -4096,30,2.5,111.05,1.7,63.75 -4097,30,2.5,111.05,1.7,63.75 -4098,30,2.5,111.05,1.7,63.75 -4099,30,2.5,111.05,1.7,63.75 -4100,30,2.5,111.05,1.7,63.75 -4101,30,2.5,111.05,1.7,63.75 -4102,30,2.5,111.05,1.7,63.75 -4103,30,2.5,111.05,1.7,63.75 -4104,30,2.5,111.05,1.7,63.75 -4105,30,2.5,111.05,1.7,63.75 -4106,30,2.5,111.05,1.7,63.75 -4107,30,2.5,111.05,1.7,63.75 -4108,30,2.5,111.05,1.7,63.75 -4109,30,2.5,111.05,1.7,63.75 -4110,30,2.5,111.05,1.7,63.75 -4111,30,2.5,111.05,1.7,63.75 -4112,30,2.5,111.05,1.7,63.75 -4113,30,2.5,111.05,1.7,63.75 -4114,30,2.5,111.05,1.7,63.75 -4115,30,2.5,111.05,1.7,63.75 -4116,30,2.5,111.05,1.7,63.75 -4117,30,2.5,111.05,1.7,63.75 -4118,30,2.5,111.05,1.7,63.75 -4119,30,2.5,111.05,1.7,63.75 -4120,30,2.5,111.05,1.7,63.75 -4121,30,2.5,111.05,1.7,63.75 -4122,30,2.5,111.05,1.7,63.75 -4123,30,2.5,111.05,1.7,63.75 -4124,30,2.5,111.05,1.7,63.75 -4125,30,2.5,111.05,1.7,63.75 -4126,30,2.5,111.05,1.7,63.75 -4127,30,2.5,111.05,1.7,63.75 -4128,30,2.5,111.05,1.7,63.75 -4129,30,2.5,111.05,1.7,63.75 -4130,30,2.5,111.05,1.7,63.75 -4131,30,2.5,111.05,1.7,63.75 -4132,30,2.5,111.05,1.7,63.75 -4133,30,2.5,111.05,1.7,63.75 -4134,30,2.5,111.05,1.7,63.75 -4135,30,2.5,111.05,1.7,63.75 -4136,30,2.5,111.05,1.7,63.75 -4137,30,2.5,111.05,1.7,63.75 -4138,30,2.5,111.05,1.7,63.75 -4139,30,2.5,111.05,1.7,63.75 -4140,30,2.5,111.05,1.7,63.75 -4141,30,2.5,111.05,1.7,63.75 -4142,30,2.5,111.05,1.7,63.75 -4143,30,2.5,111.05,1.7,63.75 -4144,30,2.5,111.05,1.7,63.75 -4145,30,2.5,111.05,1.7,63.75 -4146,30,2.5,111.05,1.7,63.75 -4147,30,2.5,111.05,1.7,63.75 -4148,30,2.5,111.05,1.7,63.75 -4149,30,2.5,111.05,1.7,63.75 -4150,30,2.5,111.05,1.7,63.75 -4151,30,2.5,111.05,1.7,63.75 -4152,30,2.5,111.05,1.7,63.75 -4153,30,2.5,111.05,1.7,63.75 -4154,30,2.5,111.05,1.7,63.75 -4155,30,2.5,111.05,1.7,63.75 -4156,30,2.5,111.05,1.7,63.75 -4157,30,2.5,111.05,1.7,63.75 -4158,30,2.5,111.05,1.7,63.75 -4159,30,2.5,111.05,1.7,63.75 -4160,30,2.5,111.05,1.7,63.75 -4161,30,2.5,111.05,1.7,63.75 -4162,30,2.5,111.05,1.7,63.75 -4163,30,2.5,111.05,1.7,63.75 -4164,30,2.5,111.05,1.7,63.75 -4165,30,2.5,111.05,1.7,63.75 -4166,30,2.5,111.05,1.7,63.75 -4167,30,2.5,111.05,1.7,63.75 -4168,30,2.5,111.05,1.7,63.75 -4169,30,2.5,111.05,1.7,63.75 -4170,30,2.5,111.05,1.7,63.75 -4171,30,2.5,111.05,1.7,63.75 -4172,30,2.5,111.05,1.7,63.75 -4173,30,2.5,111.05,1.7,63.75 -4174,30,2.5,111.05,1.7,63.75 -4175,30,2.5,111.05,1.7,63.75 -4176,30,2.5,111.05,1.7,63.75 -4177,30,2.5,111.05,1.7,63.75 -4178,30,2.5,111.05,1.7,63.75 -4179,30,2.5,111.05,1.7,63.75 -4180,30,2.5,111.05,1.7,63.75 -4181,30,2.5,111.05,1.7,63.75 -4182,30,2.5,111.05,1.7,63.75 -4183,30,2.5,111.05,1.7,63.75 -4184,30,2.5,111.05,1.7,63.75 -4185,30,2.5,111.05,1.7,63.75 -4186,30,2.5,111.05,1.7,63.75 -4187,30,2.5,111.05,1.7,63.75 -4188,30,2.5,111.05,1.7,63.75 -4189,30,2.5,111.05,1.7,63.75 -4190,30,2.5,111.05,1.7,63.75 -4191,30,2.5,111.05,1.7,63.75 -4192,30,2.5,111.05,1.7,63.75 -4193,30,2.5,111.05,1.7,63.75 -4194,30,2.5,111.05,1.7,63.75 -4195,30,2.5,111.05,1.7,63.75 -4196,30,2.5,111.05,1.7,63.75 -4197,30,2.5,111.05,1.7,63.75 -4198,30,2.5,111.05,1.7,63.75 -4199,30,2.5,111.05,1.7,63.75 -4200,30,2.5,111.05,1.7,63.75 -4201,30,2.5,111.05,1.7,63.75 -4202,30,2.5,111.05,1.7,63.75 -4203,30,2.5,111.05,1.7,63.75 -4204,30,2.5,111.05,1.7,63.75 -4205,30,2.5,111.05,1.7,63.75 -4206,30,2.5,111.05,1.7,63.75 -4207,30,2.5,111.05,1.7,63.75 -4208,30,2.5,111.05,1.7,63.75 -4209,30,2.5,111.05,1.7,63.75 -4210,30,2.5,111.05,1.7,63.75 -4211,30,2.5,111.05,1.7,63.75 -4212,30,2.5,111.05,1.7,63.75 -4213,30,2.5,111.05,1.7,63.75 -4214,30,2.5,111.05,1.7,63.75 -4215,30,2.5,111.05,1.7,63.75 -4216,30,2.5,111.05,1.7,63.75 -4217,30,2.5,111.05,1.7,63.75 -4218,30,2.5,111.05,1.7,63.75 -4219,30,2.5,111.05,1.7,63.75 -4220,30,2.5,111.05,1.7,63.75 -4221,30,2.5,111.05,1.7,63.75 -4222,30,2.5,111.05,1.7,63.75 -4223,30,2.5,111.05,1.7,63.75 -4224,30,2.5,111.05,1.7,63.75 -4225,30,2.5,111.05,1.7,63.75 -4226,30,2.5,111.05,1.7,63.75 -4227,30,2.5,111.05,1.7,63.75 -4228,30,2.5,111.05,1.7,63.75 -4229,30,2.5,111.05,1.7,63.75 -4230,30,2.5,111.05,1.7,63.75 -4231,30,2.5,111.05,1.7,63.75 -4232,30,2.5,111.05,1.7,63.75 -4233,30,2.5,111.05,1.7,63.75 -4234,30,2.5,111.05,1.7,63.75 -4235,30,2.5,111.05,1.7,63.75 -4236,30,2.5,111.05,1.7,63.75 -4237,30,2.5,111.05,1.7,63.75 -4238,30,2.5,111.05,1.7,63.75 -4239,30,2.5,111.05,1.7,63.75 -4240,30,2.5,111.05,1.7,63.75 -4241,30,2.5,111.05,1.7,63.75 -4242,30,2.5,111.05,1.7,63.75 -4243,30,2.5,111.05,1.7,63.75 -4244,30,2.5,111.05,1.7,63.75 -4245,30,2.5,111.05,1.7,63.75 -4246,30,2.5,111.05,1.7,63.75 -4247,30,2.5,111.05,1.7,63.75 -4248,30,2.5,111.05,1.7,63.75 -4249,30,2.5,111.05,1.7,63.75 -4250,30,2.5,111.05,1.7,63.75 -4251,30,2.5,111.05,1.7,63.75 -4252,30,2.5,111.05,1.7,63.75 -4253,30,2.5,111.05,1.7,63.75 -4254,30,2.5,111.05,1.7,63.75 -4255,30,2.5,111.05,1.7,63.75 -4256,30,2.5,111.05,1.7,63.75 -4257,30,2.5,111.05,1.7,63.75 -4258,30,2.5,111.05,1.7,63.75 -4259,30,2.5,111.05,1.7,63.75 -4260,30,2.5,111.05,1.7,63.75 -4261,30,2.5,111.05,1.7,63.75 -4262,30,2.5,111.05,1.7,63.75 -4263,30,2.5,111.05,1.7,63.75 -4264,30,2.5,111.05,1.7,63.75 -4265,30,2.5,111.05,1.7,63.75 -4266,30,2.5,111.05,1.7,63.75 -4267,30,2.5,111.05,1.7,63.75 -4268,30,2.5,111.05,1.7,63.75 -4269,30,2.5,111.05,1.7,63.75 -4270,30,2.5,111.05,1.7,63.75 -4271,30,2.5,111.05,1.7,63.75 -4272,30,2.5,111.05,1.7,63.75 -4273,30,2.5,111.05,1.7,63.75 -4274,30,2.5,111.05,1.7,63.75 -4275,30,2.5,111.05,1.7,63.75 -4276,30,2.5,111.05,1.7,63.75 -4277,30,2.5,111.05,1.7,63.75 -4278,30,2.5,111.05,1.7,63.75 -4279,30,2.5,111.05,1.7,63.75 -4280,30,2.5,111.05,1.7,63.75 -4281,30,2.5,111.05,1.7,63.75 -4282,30,2.5,111.05,1.7,63.75 -4283,30,2.5,111.05,1.7,63.75 -4284,30,2.5,111.05,1.7,63.75 -4285,30,2.5,111.05,1.7,63.75 -4286,30,2.5,111.05,1.7,63.75 -4287,30,2.5,111.05,1.7,63.75 -4288,30,2.5,111.05,1.7,63.75 -4289,30,2.5,111.05,1.7,63.75 -4290,30,2.5,111.05,1.7,63.75 -4291,30,2.5,111.05,1.7,63.75 -4292,30,2.5,111.05,1.7,63.75 -4293,30,2.5,111.05,1.7,63.75 -4294,30,2.5,111.05,1.7,63.75 -4295,30,2.5,111.05,1.7,63.75 -4296,30,2.5,111.05,1.7,63.75 -4297,30,2.5,111.05,1.7,63.75 -4298,30,2.5,111.05,1.7,63.75 -4299,30,2.5,111.05,1.7,63.75 -4300,30,2.5,111.05,1.7,63.75 -4301,30,2.5,111.05,1.7,63.75 -4302,30,2.5,111.05,1.7,63.75 -4303,30,2.5,111.05,1.7,63.75 -4304,30,2.5,111.05,1.7,63.75 -4305,30,2.5,111.05,1.7,63.75 -4306,30,2.5,111.05,1.7,63.75 -4307,30,2.5,111.05,1.7,63.75 -4308,30,2.5,111.05,1.7,63.75 -4309,30,2.5,111.05,1.7,63.75 -4310,30,2.5,111.05,1.7,63.75 -4311,30,2.5,111.05,1.7,63.75 -4312,30,2.5,111.05,1.7,63.75 -4313,30,2.5,111.05,1.7,63.75 -4314,30,2.5,111.05,1.7,63.75 -4315,30,2.5,111.05,1.7,63.75 -4316,30,2.5,111.05,1.7,63.75 -4317,30,2.5,111.05,1.7,63.75 -4318,30,2.5,111.05,1.7,63.75 -4319,30,2.5,111.05,1.7,63.75 -4320,30,2.5,111.05,1.7,63.75 -4321,30,2.5,111.05,1.7,63.75 -4322,30,2.5,111.05,1.7,63.75 -4323,30,2.5,111.05,1.7,63.75 -4324,30,2.5,111.05,1.7,63.75 -4325,30,2.5,111.05,1.7,63.75 -4326,30,2.5,111.05,1.7,63.75 -4327,30,2.5,111.05,1.7,63.75 -4328,30,2.5,111.05,1.7,63.75 -4329,30,2.5,111.05,1.7,63.75 -4330,30,2.5,111.05,1.7,63.75 -4331,30,2.5,111.05,1.7,63.75 -4332,30,2.5,111.05,1.7,63.75 -4333,30,2.5,111.05,1.7,63.75 -4334,30,2.5,111.05,1.7,63.75 -4335,30,2.5,111.05,1.7,63.75 -4336,30,2.5,111.05,1.7,63.75 -4337,30,2.5,111.05,1.7,63.75 -4338,30,2.5,111.05,1.7,63.75 -4339,30,2.5,111.05,1.7,63.75 -4340,30,2.5,111.05,1.7,63.75 -4341,30,2.5,111.05,1.7,63.75 -4342,30,2.5,111.05,1.7,63.75 -4343,30,2.5,111.05,1.7,63.75 -4344,30,2.5,111.05,1.7,63.75 -4345,30,2.5,111.05,1.7,63.75 -4346,30,2.5,111.05,1.7,63.75 -4347,30,2.5,111.05,1.7,63.75 -4348,30,2.5,111.05,1.7,63.75 -4349,30,2.5,111.05,1.7,63.75 -4350,30,2.5,111.05,1.7,63.75 -4351,30,2.5,111.05,1.7,63.75 -4352,30,2.5,111.05,1.7,63.75 -4353,30,2.5,111.05,1.7,63.75 -4354,30,2.5,111.05,1.7,63.75 -4355,30,2.5,111.05,1.7,63.75 -4356,30,2.5,111.05,1.7,63.75 -4357,30,2.5,111.05,1.7,63.75 -4358,30,2.5,111.05,1.7,63.75 -4359,30,2.5,111.05,1.7,63.75 -4360,30,2.5,111.05,1.7,63.75 -4361,30,2.5,111.05,1.7,63.75 -4362,30,2.5,111.05,1.7,63.75 -4363,30,2.5,111.05,1.7,63.75 -4364,30,2.5,111.05,1.7,63.75 -4365,30,2.5,111.05,1.7,63.75 -4366,30,2.5,111.05,1.7,63.75 -4367,30,2.5,111.05,1.7,63.75 -4368,30,2.5,111.05,1.7,63.75 -4369,30,2.5,111.05,1.7,63.75 -4370,30,2.5,111.05,1.7,63.75 -4371,30,2.5,111.05,1.7,63.75 -4372,30,2.5,111.05,1.7,63.75 -4373,30,2.5,111.05,1.7,63.75 -4374,30,2.5,111.05,1.7,63.75 -4375,30,2.5,111.05,1.7,63.75 -4376,30,2.5,111.05,1.7,63.75 -4377,30,2.5,111.05,1.7,63.75 -4378,30,2.5,111.05,1.7,63.75 -4379,30,2.5,111.05,1.7,63.75 -4380,30,2.5,111.05,1.7,63.75 -4381,30,2.5,111.05,1.7,63.75 -4382,30,2.5,111.05,1.7,63.75 -4383,30,2.5,111.05,1.7,63.75 -4384,30,2.5,111.05,1.7,63.75 -4385,30,2.5,111.05,1.7,63.75 -4386,30,2.5,111.05,1.7,63.75 -4387,30,2.5,111.05,1.7,63.75 -4388,30,2.5,111.05,1.7,63.75 -4389,30,2.5,111.05,1.7,63.75 -4390,30,2.5,111.05,1.7,63.75 -4391,30,2.5,111.05,1.7,63.75 -4392,30,2.5,111.05,1.7,63.75 -4393,30,2.5,111.05,1.7,63.75 -4394,30,2.5,111.05,1.7,63.75 -4395,30,2.5,111.05,1.7,63.75 -4396,30,2.5,111.05,1.7,63.75 -4397,30,2.5,111.05,1.7,63.75 -4398,30,2.5,111.05,1.7,63.75 -4399,30,2.5,111.05,1.7,63.75 -4400,30,2.5,111.05,1.7,63.75 -4401,30,2.5,111.05,1.7,63.75 -4402,30,2.5,111.05,1.7,63.75 -4403,30,2.5,111.05,1.7,63.75 -4404,30,2.5,111.05,1.7,63.75 -4405,30,2.5,111.05,1.7,63.75 -4406,30,2.5,111.05,1.7,63.75 -4407,30,2.5,111.05,1.7,63.75 -4408,30,2.5,111.05,1.7,63.75 -4409,30,2.5,111.05,1.7,63.75 -4410,30,2.5,111.05,1.7,63.75 -4411,30,2.5,111.05,1.7,63.75 -4412,30,2.5,111.05,1.7,63.75 -4413,30,2.5,111.05,1.7,63.75 -4414,30,2.5,111.05,1.7,63.75 -4415,30,2.5,111.05,1.7,63.75 -4416,30,2.5,111.05,1.7,63.75 -4417,30,2.5,111.05,1.7,63.75 -4418,30,2.5,111.05,1.7,63.75 -4419,30,2.5,111.05,1.7,63.75 -4420,30,2.5,111.05,1.7,63.75 -4421,30,2.5,111.05,1.7,63.75 -4422,30,2.5,111.05,1.7,63.75 -4423,30,2.5,111.05,1.7,63.75 -4424,30,2.5,111.05,1.7,63.75 -4425,30,2.5,111.05,1.7,63.75 -4426,30,2.5,111.05,1.7,63.75 -4427,30,2.5,111.05,1.7,63.75 -4428,30,2.5,111.05,1.7,63.75 -4429,30,2.5,111.05,1.7,63.75 -4430,30,2.5,111.05,1.7,63.75 -4431,30,2.5,111.05,1.7,63.75 -4432,30,2.5,111.05,1.7,63.75 -4433,30,2.5,111.05,1.7,63.75 -4434,30,2.5,111.05,1.7,63.75 -4435,30,2.5,111.05,1.7,63.75 -4436,30,2.5,111.05,1.7,63.75 -4437,30,2.5,111.05,1.7,63.75 -4438,30,2.5,111.05,1.7,63.75 -4439,30,2.5,111.05,1.7,63.75 -4440,30,2.5,111.05,1.7,63.75 -4441,30,2.5,111.05,1.7,63.75 -4442,30,2.5,111.05,1.7,63.75 -4443,30,2.5,111.05,1.7,63.75 -4444,30,2.5,111.05,1.7,63.75 -4445,30,2.5,111.05,1.7,63.75 -4446,30,2.5,111.05,1.7,63.75 -4447,30,2.5,111.05,1.7,63.75 -4448,30,2.5,111.05,1.7,63.75 -4449,30,2.5,111.05,1.7,63.75 -4450,30,2.5,111.05,1.7,63.75 -4451,30,2.5,111.05,1.7,63.75 -4452,30,2.5,111.05,1.7,63.75 -4453,30,2.5,111.05,1.7,63.75 -4454,30,2.5,111.05,1.7,63.75 -4455,30,2.5,111.05,1.7,63.75 -4456,30,2.5,111.05,1.7,63.75 -4457,30,2.5,111.05,1.7,63.75 -4458,30,2.5,111.05,1.7,63.75 -4459,30,2.5,111.05,1.7,63.75 -4460,30,2.5,111.05,1.7,63.75 -4461,30,2.5,111.05,1.7,63.75 -4462,30,2.5,111.05,1.7,63.75 -4463,30,2.5,111.05,1.7,63.75 -4464,30,2.5,111.05,1.7,63.75 -4465,30,2.5,111.05,1.7,63.75 -4466,30,2.5,111.05,1.7,63.75 -4467,30,2.5,111.05,1.7,63.75 -4468,30,2.5,111.05,1.7,63.75 -4469,30,2.5,111.05,1.7,63.75 -4470,30,2.5,111.05,1.7,63.75 -4471,30,2.5,111.05,1.7,63.75 -4472,30,2.5,111.05,1.7,63.75 -4473,30,2.5,111.05,1.7,63.75 -4474,30,2.5,111.05,1.7,63.75 -4475,30,2.5,111.05,1.7,63.75 -4476,30,2.5,111.05,1.7,63.75 -4477,30,2.5,111.05,1.7,63.75 -4478,30,2.5,111.05,1.7,63.75 -4479,30,2.5,111.05,1.7,63.75 -4480,30,2.5,111.05,1.7,63.75 -4481,30,2.5,111.05,1.7,63.75 -4482,30,2.5,111.05,1.7,63.75 -4483,30,2.5,111.05,1.7,63.75 -4484,30,2.5,111.05,1.7,63.75 -4485,30,2.5,111.05,1.7,63.75 -4486,30,2.5,111.05,1.7,63.75 -4487,30,2.5,111.05,1.7,63.75 -4488,30,2.5,111.05,1.7,63.75 -4489,30,2.5,111.05,1.7,63.75 -4490,30,2.5,111.05,1.7,63.75 -4491,30,2.5,111.05,1.7,63.75 -4492,30,2.5,111.05,1.7,63.75 -4493,30,2.5,111.05,1.7,63.75 -4494,30,2.5,111.05,1.7,63.75 -4495,30,2.5,111.05,1.7,63.75 -4496,30,2.5,111.05,1.7,63.75 -4497,30,2.5,111.05,1.7,63.75 -4498,30,2.5,111.05,1.7,63.75 -4499,30,2.5,111.05,1.7,63.75 -4500,30,2.5,111.05,1.7,63.75 -4501,30,2.5,111.05,1.7,63.75 -4502,30,2.5,111.05,1.7,63.75 -4503,30,2.5,111.05,1.7,63.75 -4504,30,2.5,111.05,1.7,63.75 -4505,30,2.5,111.05,1.7,63.75 -4506,30,2.5,111.05,1.7,63.75 -4507,30,2.5,111.05,1.7,63.75 -4508,30,2.5,111.05,1.7,63.75 -4509,30,2.5,111.05,1.7,63.75 -4510,30,2.5,111.05,1.7,63.75 -4511,30,2.5,111.05,1.7,63.75 -4512,30,2.5,111.05,1.7,63.75 -4513,30,2.5,111.05,1.7,63.75 -4514,30,2.5,111.05,1.7,63.75 -4515,30,2.5,111.05,1.7,63.75 -4516,30,2.5,111.05,1.7,63.75 -4517,30,2.5,111.05,1.7,63.75 -4518,30,2.5,111.05,1.7,63.75 -4519,30,2.5,111.05,1.7,63.75 -4520,30,2.5,111.05,1.7,63.75 -4521,30,2.5,111.05,1.7,63.75 -4522,30,2.5,111.05,1.7,63.75 -4523,30,2.5,111.05,1.7,63.75 -4524,30,2.5,111.05,1.7,63.75 -4525,30,2.5,111.05,1.7,63.75 -4526,30,2.5,111.05,1.7,63.75 -4527,30,2.5,111.05,1.7,63.75 -4528,30,2.5,111.05,1.7,63.75 -4529,30,2.5,111.05,1.7,63.75 -4530,30,2.5,111.05,1.7,63.75 -4531,30,2.5,111.05,1.7,63.75 -4532,30,2.5,111.05,1.7,63.75 -4533,30,2.5,111.05,1.7,63.75 -4534,30,2.5,111.05,1.7,63.75 -4535,30,2.5,111.05,1.7,63.75 -4536,30,2.5,111.05,1.7,63.75 -4537,30,2.5,111.05,1.7,63.75 -4538,30,2.5,111.05,1.7,63.75 -4539,30,2.5,111.05,1.7,63.75 -4540,30,2.5,111.05,1.7,63.75 -4541,30,2.5,111.05,1.7,63.75 -4542,30,2.5,111.05,1.7,63.75 -4543,30,2.5,111.05,1.7,63.75 -4544,30,2.5,111.05,1.7,63.75 -4545,30,2.5,111.05,1.7,63.75 -4546,30,2.5,111.05,1.7,63.75 -4547,30,2.5,111.05,1.7,63.75 -4548,30,2.5,111.05,1.7,63.75 -4549,30,2.5,111.05,1.7,63.75 -4550,30,2.5,111.05,1.7,63.75 -4551,30,2.5,111.05,1.7,63.75 -4552,30,2.5,111.05,1.7,63.75 -4553,30,2.5,111.05,1.7,63.75 -4554,30,2.5,111.05,1.7,63.75 -4555,30,2.5,111.05,1.7,63.75 -4556,30,2.5,111.05,1.7,63.75 -4557,30,2.5,111.05,1.7,63.75 -4558,30,2.5,111.05,1.7,63.75 -4559,30,2.5,111.05,1.7,63.75 -4560,30,2.5,111.05,1.7,63.75 -4561,30,2.5,111.05,1.7,63.75 -4562,30,2.5,111.05,1.7,63.75 -4563,30,2.5,111.05,1.7,63.75 -4564,30,2.5,111.05,1.7,63.75 -4565,30,2.5,111.05,1.7,63.75 -4566,30,2.5,111.05,1.7,63.75 -4567,30,2.5,111.05,1.7,63.75 -4568,30,2.5,111.05,1.7,63.75 -4569,30,2.5,111.05,1.7,63.75 -4570,30,2.5,111.05,1.7,63.75 -4571,30,2.5,111.05,1.7,63.75 -4572,30,2.5,111.05,1.7,63.75 -4573,30,2.5,111.05,1.7,63.75 -4574,30,2.5,111.05,1.7,63.75 -4575,30,2.5,111.05,1.7,63.75 -4576,30,2.5,111.05,1.7,63.75 -4577,30,2.5,111.05,1.7,63.75 -4578,30,2.5,111.05,1.7,63.75 -4579,30,2.5,111.05,1.7,63.75 -4580,30,2.5,111.05,1.7,63.75 -4581,30,2.5,111.05,1.7,63.75 -4582,30,2.5,111.05,1.7,63.75 -4583,30,2.5,111.05,1.7,63.75 -4584,30,2.5,111.05,1.7,63.75 -4585,30,2.5,111.05,1.7,63.75 -4586,30,2.5,111.05,1.7,63.75 -4587,30,2.5,111.05,1.7,63.75 -4588,30,2.5,111.05,1.7,63.75 -4589,30,2.5,111.05,1.7,63.75 -4590,30,2.5,111.05,1.7,63.75 -4591,30,2.5,111.05,1.7,63.75 -4592,30,2.5,111.05,1.7,63.75 -4593,30,2.5,111.05,1.7,63.75 -4594,30,2.5,111.05,1.7,63.75 -4595,30,2.5,111.05,1.7,63.75 -4596,30,2.5,111.05,1.7,63.75 -4597,30,2.5,111.05,1.7,63.75 -4598,30,2.5,111.05,1.7,63.75 -4599,30,2.5,111.05,1.7,63.75 -4600,30,2.5,111.05,1.7,63.75 -4601,30,2.5,111.05,1.7,63.75 -4602,30,2.5,111.05,1.7,63.75 -4603,30,2.5,111.05,1.7,63.75 -4604,30,2.5,111.05,1.7,63.75 -4605,30,2.5,111.05,1.7,63.75 -4606,30,2.5,111.05,1.7,63.75 -4607,30,2.5,111.05,1.7,63.75 -4608,30,2.5,111.05,1.7,63.75 -4609,30,2.5,111.05,1.7,63.75 -4610,30,2.5,111.05,1.7,63.75 -4611,30,2.5,111.05,1.7,63.75 -4612,30,2.5,111.05,1.7,63.75 -4613,30,2.5,111.05,1.7,63.75 -4614,30,2.5,111.05,1.7,63.75 -4615,30,2.5,111.05,1.7,63.75 -4616,30,2.5,111.05,1.7,63.75 -4617,30,2.5,111.05,1.7,63.75 -4618,30,2.5,111.05,1.7,63.75 -4619,30,2.5,111.05,1.7,63.75 -4620,30,2.5,111.05,1.7,63.75 -4621,30,2.5,111.05,1.7,63.75 -4622,30,2.5,111.05,1.7,63.75 -4623,30,2.5,111.05,1.7,63.75 -4624,30,2.5,111.05,1.7,63.75 -4625,30,2.5,111.05,1.7,63.75 -4626,30,2.5,111.05,1.7,63.75 -4627,30,2.5,111.05,1.7,63.75 -4628,30,2.5,111.05,1.7,63.75 -4629,30,2.5,111.05,1.7,63.75 -4630,30,2.5,111.05,1.7,63.75 -4631,30,2.5,111.05,1.7,63.75 -4632,30,2.5,111.05,1.7,63.75 -4633,30,2.5,111.05,1.7,63.75 -4634,30,2.5,111.05,1.7,63.75 -4635,30,2.5,111.05,1.7,63.75 -4636,30,2.5,111.05,1.7,63.75 -4637,30,2.5,111.05,1.7,63.75 -4638,30,2.5,111.05,1.7,63.75 -4639,30,2.5,111.05,1.7,63.75 -4640,30,2.5,111.05,1.7,63.75 -4641,30,2.5,111.05,1.7,63.75 -4642,30,2.5,111.05,1.7,63.75 -4643,30,2.5,111.05,1.7,63.75 -4644,30,2.5,111.05,1.7,63.75 -4645,30,2.5,111.05,1.7,63.75 -4646,30,2.5,111.05,1.7,63.75 -4647,30,2.5,111.05,1.7,63.75 -4648,30,2.5,111.05,1.7,63.75 -4649,30,2.5,111.05,1.7,63.75 -4650,30,2.5,111.05,1.7,63.75 -4651,30,2.5,111.05,1.7,63.75 -4652,30,2.5,111.05,1.7,63.75 -4653,30,2.5,111.05,1.7,63.75 -4654,30,2.5,111.05,1.7,63.75 -4655,30,2.5,111.05,1.7,63.75 -4656,30,2.5,111.05,1.7,63.75 -4657,30,2.5,111.05,1.7,63.75 -4658,30,2.5,111.05,1.7,63.75 -4659,30,2.5,111.05,1.7,63.75 -4660,30,2.5,111.05,1.7,63.75 -4661,30,2.5,111.05,1.7,63.75 -4662,30,2.5,111.05,1.7,63.75 -4663,30,2.5,111.05,1.7,63.75 -4664,30,2.5,111.05,1.7,63.75 -4665,30,2.5,111.05,1.7,63.75 -4666,30,2.5,111.05,1.7,63.75 -4667,30,2.5,111.05,1.7,63.75 -4668,30,2.5,111.05,1.7,63.75 -4669,30,2.5,111.05,1.7,63.75 -4670,30,2.5,111.05,1.7,63.75 -4671,30,2.5,111.05,1.7,63.75 -4672,30,2.5,111.05,1.7,63.75 -4673,30,2.5,111.05,1.7,63.75 -4674,30,2.5,111.05,1.7,63.75 -4675,30,2.5,111.05,1.7,63.75 -4676,30,2.5,111.05,1.7,63.75 -4677,30,2.5,111.05,1.7,63.75 -4678,30,2.5,111.05,1.7,63.75 -4679,30,2.5,111.05,1.7,63.75 -4680,30,2.5,111.05,1.7,63.75 -4681,30,2.5,111.05,1.7,63.75 -4682,30,2.5,111.05,1.7,63.75 -4683,30,2.5,111.05,1.7,63.75 -4684,30,2.5,111.05,1.7,63.75 -4685,30,2.5,111.05,1.7,63.75 -4686,30,2.5,111.05,1.7,63.75 -4687,30,2.5,111.05,1.7,63.75 -4688,30,2.5,111.05,1.7,63.75 -4689,30,2.5,111.05,1.7,63.75 -4690,30,2.5,111.05,1.7,63.75 -4691,30,2.5,111.05,1.7,63.75 -4692,30,2.5,111.05,1.7,63.75 -4693,30,2.5,111.05,1.7,63.75 -4694,30,2.5,111.05,1.7,63.75 -4695,30,2.5,111.05,1.7,63.75 -4696,30,2.5,111.05,1.7,63.75 -4697,30,2.5,111.05,1.7,63.75 -4698,30,2.5,111.05,1.7,63.75 -4699,30,2.5,111.05,1.7,63.75 -4700,30,2.5,111.05,1.7,63.75 -4701,30,2.5,111.05,1.7,63.75 -4702,30,2.5,111.05,1.7,63.75 -4703,30,2.5,111.05,1.7,63.75 -4704,30,2.5,111.05,1.7,63.75 -4705,30,2.5,111.05,1.7,63.75 -4706,30,2.5,111.05,1.7,63.75 -4707,30,2.5,111.05,1.7,63.75 -4708,30,2.5,111.05,1.7,63.75 -4709,30,2.5,111.05,1.7,63.75 -4710,30,2.5,111.05,1.7,63.75 -4711,30,2.5,111.05,1.7,63.75 -4712,30,2.5,111.05,1.7,63.75 -4713,30,2.5,111.05,1.7,63.75 -4714,30,2.5,111.05,1.7,63.75 -4715,30,2.5,111.05,1.7,63.75 -4716,30,2.5,111.05,1.7,63.75 -4717,30,2.5,111.05,1.7,63.75 -4718,30,2.5,111.05,1.7,63.75 -4719,30,2.5,111.05,1.7,63.75 -4720,30,2.5,111.05,1.7,63.75 -4721,30,2.5,111.05,1.7,63.75 -4722,30,2.5,111.05,1.7,63.75 -4723,30,2.5,111.05,1.7,63.75 -4724,30,2.5,111.05,1.7,63.75 -4725,30,2.5,111.05,1.7,63.75 -4726,30,2.5,111.05,1.7,63.75 -4727,30,2.5,111.05,1.7,63.75 -4728,30,2.5,111.05,1.7,63.75 -4729,30,2.5,111.05,1.7,63.75 -4730,30,2.5,111.05,1.7,63.75 -4731,30,2.5,111.05,1.7,63.75 -4732,30,2.5,111.05,1.7,63.75 -4733,30,2.5,111.05,1.7,63.75 -4734,30,2.5,111.05,1.7,63.75 -4735,30,2.5,111.05,1.7,63.75 -4736,30,2.5,111.05,1.7,63.75 -4737,30,2.5,111.05,1.7,63.75 -4738,30,2.5,111.05,1.7,63.75 -4739,30,2.5,111.05,1.7,63.75 -4740,30,2.5,111.05,1.7,63.75 -4741,30,2.5,111.05,1.7,63.75 -4742,30,2.5,111.05,1.7,63.75 -4743,30,2.5,111.05,1.7,63.75 -4744,30,2.5,111.05,1.7,63.75 -4745,30,2.5,111.05,1.7,63.75 -4746,30,2.5,111.05,1.7,63.75 -4747,30,2.5,111.05,1.7,63.75 -4748,30,2.5,111.05,1.7,63.75 -4749,30,2.5,111.05,1.7,63.75 -4750,30,2.5,111.05,1.7,63.75 -4751,30,2.5,111.05,1.7,63.75 -4752,30,2.5,111.05,1.7,63.75 -4753,30,2.5,111.05,1.7,63.75 -4754,30,2.5,111.05,1.7,63.75 -4755,30,2.5,111.05,1.7,63.75 -4756,30,2.5,111.05,1.7,63.75 -4757,30,2.5,111.05,1.7,63.75 -4758,30,2.5,111.05,1.7,63.75 -4759,30,2.5,111.05,1.7,63.75 -4760,30,2.5,111.05,1.7,63.75 -4761,30,2.5,111.05,1.7,63.75 -4762,30,2.5,111.05,1.7,63.75 -4763,30,2.5,111.05,1.7,63.75 -4764,30,2.5,111.05,1.7,63.75 -4765,30,2.5,111.05,1.7,63.75 -4766,30,2.5,111.05,1.7,63.75 -4767,30,2.5,111.05,1.7,63.75 -4768,30,2.5,111.05,1.7,63.75 -4769,30,2.5,111.05,1.7,63.75 -4770,30,2.5,111.05,1.7,63.75 -4771,30,2.5,111.05,1.7,63.75 -4772,30,2.5,111.05,1.7,63.75 -4773,30,2.5,111.05,1.7,63.75 -4774,30,2.5,111.05,1.7,63.75 -4775,30,2.5,111.05,1.7,63.75 -4776,30,2.5,111.05,1.7,63.75 -4777,30,2.5,111.05,1.7,63.75 -4778,30,2.5,111.05,1.7,63.75 -4779,30,2.5,111.05,1.7,63.75 -4780,30,2.5,111.05,1.7,63.75 -4781,30,2.5,111.05,1.7,63.75 -4782,30,2.5,111.05,1.7,63.75 -4783,30,2.5,111.05,1.7,63.75 -4784,30,2.5,111.05,1.7,63.75 -4785,30,2.5,111.05,1.7,63.75 -4786,30,2.5,111.05,1.7,63.75 -4787,30,2.5,111.05,1.7,63.75 -4788,30,2.5,111.05,1.7,63.75 -4789,30,2.5,111.05,1.7,63.75 -4790,30,2.5,111.05,1.7,63.75 -4791,30,2.5,111.05,1.7,63.75 -4792,30,2.5,111.05,1.7,63.75 -4793,30,2.5,111.05,1.7,63.75 -4794,30,2.5,111.05,1.7,63.75 -4795,30,2.5,111.05,1.7,63.75 -4796,30,2.5,111.05,1.7,63.75 -4797,30,2.5,111.05,1.7,63.75 -4798,30,2.5,111.05,1.7,63.75 -4799,30,2.5,111.05,1.7,63.75 -4800,30,2.5,111.05,1.7,63.75 -4801,30,2.5,111.05,1.7,63.75 -4802,30,2.5,111.05,1.7,63.75 -4803,30,2.5,111.05,1.7,63.75 -4804,30,2.5,111.05,1.7,63.75 -4805,30,2.5,111.05,1.7,63.75 -4806,30,2.5,111.05,1.7,63.75 -4807,30,2.5,111.05,1.7,63.75 -4808,30,2.5,111.05,1.7,63.75 -4809,30,2.5,111.05,1.7,63.75 -4810,30,2.5,111.05,1.7,63.75 -4811,30,2.5,111.05,1.7,63.75 -4812,30,2.5,111.05,1.7,63.75 -4813,30,2.5,111.05,1.7,63.75 -4814,30,2.5,111.05,1.7,63.75 -4815,30,2.5,111.05,1.7,63.75 -4816,30,2.5,111.05,1.7,63.75 -4817,30,2.5,111.05,1.7,63.75 -4818,30,2.5,111.05,1.7,63.75 -4819,30,2.5,111.05,1.7,63.75 -4820,30,2.5,111.05,1.7,63.75 -4821,30,2.5,111.05,1.7,63.75 -4822,30,2.5,111.05,1.7,63.75 -4823,30,2.5,111.05,1.7,63.75 -4824,30,2.5,111.05,1.7,63.75 -4825,30,2.5,111.05,1.7,63.75 -4826,30,2.5,111.05,1.7,63.75 -4827,30,2.5,111.05,1.7,63.75 -4828,30,2.5,111.05,1.7,63.75 -4829,30,2.5,111.05,1.7,63.75 -4830,30,2.5,111.05,1.7,63.75 -4831,30,2.5,111.05,1.7,63.75 -4832,30,2.5,111.05,1.7,63.75 -4833,30,2.5,111.05,1.7,63.75 -4834,30,2.5,111.05,1.7,63.75 -4835,30,2.5,111.05,1.7,63.75 -4836,30,2.5,111.05,1.7,63.75 -4837,30,2.5,111.05,1.7,63.75 -4838,30,2.5,111.05,1.7,63.75 -4839,30,2.5,111.05,1.7,63.75 -4840,30,2.5,111.05,1.7,63.75 -4841,30,2.5,111.05,1.7,63.75 -4842,30,2.5,111.05,1.7,63.75 -4843,30,2.5,111.05,1.7,63.75 -4844,30,2.5,111.05,1.7,63.75 -4845,30,2.5,111.05,1.7,63.75 -4846,30,2.5,111.05,1.7,63.75 -4847,30,2.5,111.05,1.7,63.75 -4848,30,2.5,111.05,1.7,63.75 -4849,30,2.5,111.05,1.7,63.75 -4850,30,2.5,111.05,1.7,63.75 -4851,30,2.5,111.05,1.7,63.75 -4852,30,2.5,111.05,1.7,63.75 -4853,30,2.5,111.05,1.7,63.75 -4854,30,2.5,111.05,1.7,63.75 -4855,30,2.5,111.05,1.7,63.75 -4856,30,2.5,111.05,1.7,63.75 -4857,30,2.5,111.05,1.7,63.75 -4858,30,2.5,111.05,1.7,63.75 -4859,30,2.5,111.05,1.7,63.75 -4860,30,2.5,111.05,1.7,63.75 -4861,30,2.5,111.05,1.7,63.75 -4862,30,2.5,111.05,1.7,63.75 -4863,30,2.5,111.05,1.7,63.75 -4864,30,2.5,111.05,1.7,63.75 -4865,30,2.5,111.05,1.7,63.75 -4866,30,2.5,111.05,1.7,63.75 -4867,30,2.5,111.05,1.7,63.75 -4868,30,2.5,111.05,1.7,63.75 -4869,30,2.5,111.05,1.7,63.75 -4870,30,2.5,111.05,1.7,63.75 -4871,30,2.5,111.05,1.7,63.75 -4872,30,2.5,111.05,1.7,63.75 -4873,30,2.5,111.05,1.7,63.75 -4874,30,2.5,111.05,1.7,63.75 -4875,30,2.5,111.05,1.7,63.75 -4876,30,2.5,111.05,1.7,63.75 -4877,30,2.5,111.05,1.7,63.75 -4878,30,2.5,111.05,1.7,63.75 -4879,30,2.5,111.05,1.7,63.75 -4880,30,2.5,111.05,1.7,63.75 -4881,30,2.5,111.05,1.7,63.75 -4882,30,2.5,111.05,1.7,63.75 -4883,30,2.5,111.05,1.7,63.75 -4884,30,2.5,111.05,1.7,63.75 -4885,30,2.5,111.05,1.7,63.75 -4886,30,2.5,111.05,1.7,63.75 -4887,30,2.5,111.05,1.7,63.75 -4888,30,2.5,111.05,1.7,63.75 -4889,30,2.5,111.05,1.7,63.75 -4890,30,2.5,111.05,1.7,63.75 -4891,30,2.5,111.05,1.7,63.75 -4892,30,2.5,111.05,1.7,63.75 -4893,30,2.5,111.05,1.7,63.75 -4894,30,2.5,111.05,1.7,63.75 -4895,30,2.5,111.05,1.7,63.75 -4896,30,2.5,111.05,1.7,63.75 -4897,30,2.5,111.05,1.7,63.75 -4898,30,2.5,111.05,1.7,63.75 -4899,30,2.5,111.05,1.7,63.75 -4900,30,2.5,111.05,1.7,63.75 -4901,30,2.5,111.05,1.7,63.75 -4902,30,2.5,111.05,1.7,63.75 -4903,30,2.5,111.05,1.7,63.75 -4904,30,2.5,111.05,1.7,63.75 -4905,30,2.5,111.05,1.7,63.75 -4906,30,2.5,111.05,1.7,63.75 -4907,30,2.5,111.05,1.7,63.75 -4908,30,2.5,111.05,1.7,63.75 -4909,30,2.5,111.05,1.7,63.75 -4910,30,2.5,111.05,1.7,63.75 -4911,30,2.5,111.05,1.7,63.75 -4912,30,2.5,111.05,1.7,63.75 -4913,30,2.5,111.05,1.7,63.75 -4914,30,2.5,111.05,1.7,63.75 -4915,30,2.5,111.05,1.7,63.75 -4916,30,2.5,111.05,1.7,63.75 -4917,30,2.5,111.05,1.7,63.75 -4918,30,2.5,111.05,1.7,63.75 -4919,30,2.5,111.05,1.7,63.75 -4920,30,2.5,111.05,1.7,63.75 -4921,30,2.5,111.05,1.7,63.75 -4922,30,2.5,111.05,1.7,63.75 -4923,30,2.5,111.05,1.7,63.75 -4924,30,2.5,111.05,1.7,63.75 -4925,30,2.5,111.05,1.7,63.75 -4926,30,2.5,111.05,1.7,63.75 -4927,30,2.5,111.05,1.7,63.75 -4928,30,2.5,111.05,1.7,63.75 -4929,30,2.5,111.05,1.7,63.75 -4930,30,2.5,111.05,1.7,63.75 -4931,30,2.5,111.05,1.7,63.75 -4932,30,2.5,111.05,1.7,63.75 -4933,30,2.5,111.05,1.7,63.75 -4934,30,2.5,111.05,1.7,63.75 -4935,30,2.5,111.05,1.7,63.75 -4936,30,2.5,111.05,1.7,63.75 -4937,30,2.5,111.05,1.7,63.75 -4938,30,2.5,111.05,1.7,63.75 -4939,30,2.5,111.05,1.7,63.75 -4940,30,2.5,111.05,1.7,63.75 -4941,30,2.5,111.05,1.7,63.75 -4942,30,2.5,111.05,1.7,63.75 -4943,30,2.5,111.05,1.7,63.75 -4944,30,2.5,111.05,1.7,63.75 -4945,30,2.5,111.05,1.7,63.75 -4946,30,2.5,111.05,1.7,63.75 -4947,30,2.5,111.05,1.7,63.75 -4948,30,2.5,111.05,1.7,63.75 -4949,30,2.5,111.05,1.7,63.75 -4950,30,2.5,111.05,1.7,63.75 -4951,30,2.5,111.05,1.7,63.75 -4952,30,2.5,111.05,1.7,63.75 -4953,30,2.5,111.05,1.7,63.75 -4954,30,2.5,111.05,1.7,63.75 -4955,30,2.5,111.05,1.7,63.75 -4956,30,2.5,111.05,1.7,63.75 -4957,30,2.5,111.05,1.7,63.75 -4958,30,2.5,111.05,1.7,63.75 -4959,30,2.5,111.05,1.7,63.75 -4960,30,2.5,111.05,1.7,63.75 -4961,30,2.5,111.05,1.7,63.75 -4962,30,2.5,111.05,1.7,63.75 -4963,30,2.5,111.05,1.7,63.75 -4964,30,2.5,111.05,1.7,63.75 -4965,30,2.5,111.05,1.7,63.75 -4966,30,2.5,111.05,1.7,63.75 -4967,30,2.5,111.05,1.7,63.75 -4968,30,2.5,111.05,1.7,63.75 -4969,30,2.5,111.05,1.7,63.75 -4970,30,2.5,111.05,1.7,63.75 -4971,30,2.5,111.05,1.7,63.75 -4972,30,2.5,111.05,1.7,63.75 -4973,30,2.5,111.05,1.7,63.75 -4974,30,2.5,111.05,1.7,63.75 -4975,30,2.5,111.05,1.7,63.75 -4976,30,2.5,111.05,1.7,63.75 -4977,30,2.5,111.05,1.7,63.75 -4978,30,2.5,111.05,1.7,63.75 -4979,30,2.5,111.05,1.7,63.75 -4980,30,2.5,111.05,1.7,63.75 -4981,30,2.5,111.05,1.7,63.75 -4982,30,2.5,111.05,1.7,63.75 -4983,30,2.5,111.05,1.7,63.75 -4984,30,2.5,111.05,1.7,63.75 -4985,30,2.5,111.05,1.7,63.75 -4986,30,2.5,111.05,1.7,63.75 -4987,30,2.5,111.05,1.7,63.75 -4988,30,2.5,111.05,1.7,63.75 -4989,30,2.5,111.05,1.7,63.75 -4990,30,2.5,111.05,1.7,63.75 -4991,30,2.5,111.05,1.7,63.75 -4992,30,2.5,111.05,1.7,63.75 -4993,30,2.5,111.05,1.7,63.75 -4994,30,2.5,111.05,1.7,63.75 -4995,30,2.5,111.05,1.7,63.75 -4996,30,2.5,111.05,1.7,63.75 -4997,30,2.5,111.05,1.7,63.75 -4998,30,2.5,111.05,1.7,63.75 -4999,30,2.5,111.05,1.7,63.75 -5000,30,2.5,111.05,1.7,63.75 -5001,30,2.5,111.05,1.7,63.75 -5002,30,2.5,111.05,1.7,63.75 -5003,30,2.5,111.05,1.7,63.75 -5004,30,2.5,111.05,1.7,63.75 -5005,30,2.5,111.05,1.7,63.75 -5006,30,2.5,111.05,1.7,63.75 -5007,30,2.5,111.05,1.7,63.75 -5008,30,2.5,111.05,1.7,63.75 -5009,30,2.5,111.05,1.7,63.75 -5010,30,2.5,111.05,1.7,63.75 -5011,30,2.5,111.05,1.7,63.75 -5012,30,2.5,111.05,1.7,63.75 -5013,30,2.5,111.05,1.7,63.75 -5014,30,2.5,111.05,1.7,63.75 -5015,30,2.5,111.05,1.7,63.75 -5016,30,2.5,111.05,1.7,63.75 -5017,30,2.5,111.05,1.7,63.75 -5018,30,2.5,111.05,1.7,63.75 -5019,30,2.5,111.05,1.7,63.75 -5020,30,2.5,111.05,1.7,63.75 -5021,30,2.5,111.05,1.7,63.75 -5022,30,2.5,111.05,1.7,63.75 -5023,30,2.5,111.05,1.7,63.75 -5024,30,2.5,111.05,1.7,63.75 -5025,30,2.5,111.05,1.7,63.75 -5026,30,2.5,111.05,1.7,63.75 -5027,30,2.5,111.05,1.7,63.75 -5028,30,2.5,111.05,1.7,63.75 -5029,30,2.5,111.05,1.7,63.75 -5030,30,2.5,111.05,1.7,63.75 -5031,30,2.5,111.05,1.7,63.75 -5032,30,2.5,111.05,1.7,63.75 -5033,30,2.5,111.05,1.7,63.75 -5034,30,2.5,111.05,1.7,63.75 -5035,30,2.5,111.05,1.7,63.75 -5036,30,2.5,111.05,1.7,63.75 -5037,30,2.5,111.05,1.7,63.75 -5038,30,2.5,111.05,1.7,63.75 -5039,30,2.5,111.05,1.7,63.75 -5040,30,2.5,111.05,1.7,63.75 -5041,30,2.5,111.05,1.7,63.75 -5042,30,2.5,111.05,1.7,63.75 -5043,30,2.5,111.05,1.7,63.75 -5044,30,2.5,111.05,1.7,63.75 -5045,30,2.5,111.05,1.7,63.75 -5046,30,2.5,111.05,1.7,63.75 -5047,30,2.5,111.05,1.7,63.75 -5048,30,2.5,111.05,1.7,63.75 -5049,30,2.5,111.05,1.7,63.75 -5050,30,2.5,111.05,1.7,63.75 -5051,30,2.5,111.05,1.7,63.75 -5052,30,2.5,111.05,1.7,63.75 -5053,30,2.5,111.05,1.7,63.75 -5054,30,2.5,111.05,1.7,63.75 -5055,30,2.5,111.05,1.7,63.75 -5056,30,2.5,111.05,1.7,63.75 -5057,30,2.5,111.05,1.7,63.75 -5058,30,2.5,111.05,1.7,63.75 -5059,30,2.5,111.05,1.7,63.75 -5060,30,2.5,111.05,1.7,63.75 -5061,30,2.5,111.05,1.7,63.75 -5062,30,2.5,111.05,1.7,63.75 -5063,30,2.5,111.05,1.7,63.75 -5064,30,2.5,111.05,1.7,63.75 -5065,30,2.5,111.05,1.7,63.75 -5066,30,2.5,111.05,1.7,63.75 -5067,30,2.5,111.05,1.7,63.75 -5068,30,2.5,111.05,1.7,63.75 -5069,30,2.5,111.05,1.7,63.75 -5070,30,2.5,111.05,1.7,63.75 -5071,30,2.5,111.05,1.7,63.75 -5072,30,2.5,111.05,1.7,63.75 -5073,30,2.5,111.05,1.7,63.75 -5074,30,2.5,111.05,1.7,63.75 -5075,30,2.5,111.05,1.7,63.75 -5076,30,2.5,111.05,1.7,63.75 -5077,30,2.5,111.05,1.7,63.75 -5078,30,2.5,111.05,1.7,63.75 -5079,30,2.5,111.05,1.7,63.75 -5080,30,2.5,111.05,1.7,63.75 -5081,30,2.5,111.05,1.7,63.75 -5082,30,2.5,111.05,1.7,63.75 -5083,30,2.5,111.05,1.7,63.75 -5084,30,2.5,111.05,1.7,63.75 -5085,30,2.5,111.05,1.7,63.75 -5086,30,2.5,111.05,1.7,63.75 -5087,30,2.5,111.05,1.7,63.75 -5088,30,2.5,111.05,1.7,63.75 -5089,30,2.5,111.05,1.7,63.75 -5090,30,2.5,111.05,1.7,63.75 -5091,30,2.5,111.05,1.7,63.75 -5092,30,2.5,111.05,1.7,63.75 -5093,30,2.5,111.05,1.7,63.75 -5094,30,2.5,111.05,1.7,63.75 -5095,30,2.5,111.05,1.7,63.75 -5096,30,2.5,111.05,1.7,63.75 -5097,30,2.5,111.05,1.7,63.75 -5098,30,2.5,111.05,1.7,63.75 -5099,30,2.5,111.05,1.7,63.75 -5100,30,2.5,111.05,1.7,63.75 -5101,30,2.5,111.05,1.7,63.75 -5102,30,2.5,111.05,1.7,63.75 -5103,30,2.5,111.05,1.7,63.75 -5104,30,2.5,111.05,1.7,63.75 -5105,30,2.5,111.05,1.7,63.75 -5106,30,2.5,111.05,1.7,63.75 -5107,30,2.5,111.05,1.7,63.75 -5108,30,2.5,111.05,1.7,63.75 -5109,30,2.5,111.05,1.7,63.75 -5110,30,2.5,111.05,1.7,63.75 -5111,30,2.5,111.05,1.7,63.75 -5112,30,2.5,111.05,1.7,63.75 -5113,30,2.5,111.05,1.7,63.75 -5114,30,2.5,111.05,1.7,63.75 -5115,30,2.5,111.05,1.7,63.75 -5116,30,2.5,111.05,1.7,63.75 -5117,30,2.5,111.05,1.7,63.75 -5118,30,2.5,111.05,1.7,63.75 -5119,30,2.5,111.05,1.7,63.75 -5120,30,2.5,111.05,1.7,63.75 -5121,30,2.5,111.05,1.7,63.75 -5122,30,2.5,111.05,1.7,63.75 -5123,30,2.5,111.05,1.7,63.75 -5124,30,2.5,111.05,1.7,63.75 -5125,30,2.5,111.05,1.7,63.75 -5126,30,2.5,111.05,1.7,63.75 -5127,30,2.5,111.05,1.7,63.75 -5128,30,2.5,111.05,1.7,63.75 -5129,30,2.5,111.05,1.7,63.75 -5130,30,2.5,111.05,1.7,63.75 -5131,30,2.5,111.05,1.7,63.75 -5132,30,2.5,111.05,1.7,63.75 -5133,30,2.5,111.05,1.7,63.75 -5134,30,2.5,111.05,1.7,63.75 -5135,30,2.5,111.05,1.7,63.75 -5136,30,2.5,111.05,1.7,63.75 -5137,30,2.5,111.05,1.7,63.75 -5138,30,2.5,111.05,1.7,63.75 -5139,30,2.5,111.05,1.7,63.75 -5140,30,2.5,111.05,1.7,63.75 -5141,30,2.5,111.05,1.7,63.75 -5142,30,2.5,111.05,1.7,63.75 -5143,30,2.5,111.05,1.7,63.75 -5144,30,2.5,111.05,1.7,63.75 -5145,30,2.5,111.05,1.7,63.75 -5146,30,2.5,111.05,1.7,63.75 -5147,30,2.5,111.05,1.7,63.75 -5148,30,2.5,111.05,1.7,63.75 -5149,30,2.5,111.05,1.7,63.75 -5150,30,2.5,111.05,1.7,63.75 -5151,30,2.5,111.05,1.7,63.75 -5152,30,2.5,111.05,1.7,63.75 -5153,30,2.5,111.05,1.7,63.75 -5154,30,2.5,111.05,1.7,63.75 -5155,30,2.5,111.05,1.7,63.75 -5156,30,2.5,111.05,1.7,63.75 -5157,30,2.5,111.05,1.7,63.75 -5158,30,2.5,111.05,1.7,63.75 -5159,30,2.5,111.05,1.7,63.75 -5160,30,2.5,111.05,1.7,63.75 -5161,30,2.5,111.05,1.7,63.75 -5162,30,2.5,111.05,1.7,63.75 -5163,30,2.5,111.05,1.7,63.75 -5164,30,2.5,111.05,1.7,63.75 -5165,30,2.5,111.05,1.7,63.75 -5166,30,2.5,111.05,1.7,63.75 -5167,30,2.5,111.05,1.7,63.75 -5168,30,2.5,111.05,1.7,63.75 -5169,30,2.5,111.05,1.7,63.75 -5170,30,2.5,111.05,1.7,63.75 -5171,30,2.5,111.05,1.7,63.75 -5172,30,2.5,111.05,1.7,63.75 -5173,30,2.5,111.05,1.7,63.75 -5174,30,2.5,111.05,1.7,63.75 -5175,30,2.5,111.05,1.7,63.75 -5176,30,2.5,111.05,1.7,63.75 -5177,30,2.5,111.05,1.7,63.75 -5178,30,2.5,111.05,1.7,63.75 -5179,30,2.5,111.05,1.7,63.75 -5180,30,2.5,111.05,1.7,63.75 -5181,30,2.5,111.05,1.7,63.75 -5182,30,2.5,111.05,1.7,63.75 -5183,30,2.5,111.05,1.7,63.75 -5184,30,2.5,111.05,1.7,63.75 -5185,30,2.5,111.05,1.7,63.75 -5186,30,2.5,111.05,1.7,63.75 -5187,30,2.5,111.05,1.7,63.75 -5188,30,2.5,111.05,1.7,63.75 -5189,30,2.5,111.05,1.7,63.75 -5190,30,2.5,111.05,1.7,63.75 -5191,30,2.5,111.05,1.7,63.75 -5192,30,2.5,111.05,1.7,63.75 -5193,30,2.5,111.05,1.7,63.75 -5194,30,2.5,111.05,1.7,63.75 -5195,30,2.5,111.05,1.7,63.75 -5196,30,2.5,111.05,1.7,63.75 -5197,30,2.5,111.05,1.7,63.75 -5198,30,2.5,111.05,1.7,63.75 -5199,30,2.5,111.05,1.7,63.75 -5200,30,2.5,111.05,1.7,63.75 -5201,30,2.5,111.05,1.7,63.75 -5202,30,2.5,111.05,1.7,63.75 -5203,30,2.5,111.05,1.7,63.75 -5204,30,2.5,111.05,1.7,63.75 -5205,30,2.5,111.05,1.7,63.75 -5206,30,2.5,111.05,1.7,63.75 -5207,30,2.5,111.05,1.7,63.75 -5208,30,2.5,111.05,1.7,63.75 -5209,30,2.5,111.05,1.7,63.75 -5210,30,2.5,111.05,1.7,63.75 -5211,30,2.5,111.05,1.7,63.75 -5212,30,2.5,111.05,1.7,63.75 -5213,30,2.5,111.05,1.7,63.75 -5214,30,2.5,111.05,1.7,63.75 -5215,30,2.5,111.05,1.7,63.75 -5216,30,2.5,111.05,1.7,63.75 -5217,30,2.5,111.05,1.7,63.75 -5218,30,2.5,111.05,1.7,63.75 -5219,30,2.5,111.05,1.7,63.75 -5220,30,2.5,111.05,1.7,63.75 -5221,30,2.5,111.05,1.7,63.75 -5222,30,2.5,111.05,1.7,63.75 -5223,30,2.5,111.05,1.7,63.75 -5224,30,2.5,111.05,1.7,63.75 -5225,30,2.5,111.05,1.7,63.75 -5226,30,2.5,111.05,1.7,63.75 -5227,30,2.5,111.05,1.7,63.75 -5228,30,2.5,111.05,1.7,63.75 -5229,30,2.5,111.05,1.7,63.75 -5230,30,2.5,111.05,1.7,63.75 -5231,30,2.5,111.05,1.7,63.75 -5232,30,2.5,111.05,1.7,63.75 -5233,30,2.5,111.05,1.7,63.75 -5234,30,2.5,111.05,1.7,63.75 -5235,30,2.5,111.05,1.7,63.75 -5236,30,2.5,111.05,1.7,63.75 -5237,30,2.5,111.05,1.7,63.75 -5238,30,2.5,111.05,1.7,63.75 -5239,30,2.5,111.05,1.7,63.75 -5240,30,2.5,111.05,1.7,63.75 -5241,30,2.5,111.05,1.7,63.75 -5242,30,2.5,111.05,1.7,63.75 -5243,30,2.5,111.05,1.7,63.75 -5244,30,2.5,111.05,1.7,63.75 -5245,30,2.5,111.05,1.7,63.75 -5246,30,2.5,111.05,1.7,63.75 -5247,30,2.5,111.05,1.7,63.75 -5248,30,2.5,111.05,1.7,63.75 -5249,30,2.5,111.05,1.7,63.75 -5250,30,2.5,111.05,1.7,63.75 -5251,30,2.5,111.05,1.7,63.75 -5252,30,2.5,111.05,1.7,63.75 -5253,30,2.5,111.05,1.7,63.75 -5254,30,2.5,111.05,1.7,63.75 -5255,30,2.5,111.05,1.7,63.75 -5256,30,2.5,111.05,1.7,63.75 -5257,30,2.5,111.05,1.7,63.75 -5258,30,2.5,111.05,1.7,63.75 -5259,30,2.5,111.05,1.7,63.75 -5260,30,2.5,111.05,1.7,63.75 -5261,30,2.5,111.05,1.7,63.75 -5262,30,2.5,111.05,1.7,63.75 -5263,30,2.5,111.05,1.7,63.75 -5264,30,2.5,111.05,1.7,63.75 -5265,30,2.5,111.05,1.7,63.75 -5266,30,2.5,111.05,1.7,63.75 -5267,30,2.5,111.05,1.7,63.75 -5268,30,2.5,111.05,1.7,63.75 -5269,30,2.5,111.05,1.7,63.75 -5270,30,2.5,111.05,1.7,63.75 -5271,30,2.5,111.05,1.7,63.75 -5272,30,2.5,111.05,1.7,63.75 -5273,30,2.5,111.05,1.7,63.75 -5274,30,2.5,111.05,1.7,63.75 -5275,30,2.5,111.05,1.7,63.75 -5276,30,2.5,111.05,1.7,63.75 -5277,30,2.5,111.05,1.7,63.75 -5278,30,2.5,111.05,1.7,63.75 -5279,30,2.5,111.05,1.7,63.75 -5280,30,2.5,111.05,1.7,63.75 -5281,30,2.5,111.05,1.7,63.75 -5282,30,2.5,111.05,1.7,63.75 -5283,30,2.5,111.05,1.7,63.75 -5284,30,2.5,111.05,1.7,63.75 -5285,30,2.5,111.05,1.7,63.75 -5286,30,2.5,111.05,1.7,63.75 -5287,30,2.5,111.05,1.7,63.75 -5288,30,2.5,111.05,1.7,63.75 -5289,30,2.5,111.05,1.7,63.75 -5290,30,2.5,111.05,1.7,63.75 -5291,30,2.5,111.05,1.7,63.75 -5292,30,2.5,111.05,1.7,63.75 -5293,30,2.5,111.05,1.7,63.75 -5294,30,2.5,111.05,1.7,63.75 -5295,30,2.5,111.05,1.7,63.75 -5296,30,2.5,111.05,1.7,63.75 -5297,30,2.5,111.05,1.7,63.75 -5298,30,2.5,111.05,1.7,63.75 -5299,30,2.5,111.05,1.7,63.75 -5300,30,2.5,111.05,1.7,63.75 -5301,30,2.5,111.05,1.7,63.75 -5302,30,2.5,111.05,1.7,63.75 -5303,30,2.5,111.05,1.7,63.75 -5304,30,2.5,111.05,1.7,63.75 -5305,30,2.5,111.05,1.7,63.75 -5306,30,2.5,111.05,1.7,63.75 -5307,30,2.5,111.05,1.7,63.75 -5308,30,2.5,111.05,1.7,63.75 -5309,30,2.5,111.05,1.7,63.75 -5310,30,2.5,111.05,1.7,63.75 -5311,30,2.5,111.05,1.7,63.75 -5312,30,2.5,111.05,1.7,63.75 -5313,30,2.5,111.05,1.7,63.75 -5314,30,2.5,111.05,1.7,63.75 -5315,30,2.5,111.05,1.7,63.75 -5316,30,2.5,111.05,1.7,63.75 -5317,30,2.5,111.05,1.7,63.75 -5318,30,2.5,111.05,1.7,63.75 -5319,30,2.5,111.05,1.7,63.75 -5320,30,2.5,111.05,1.7,63.75 -5321,30,2.5,111.05,1.7,63.75 -5322,30,2.5,111.05,1.7,63.75 -5323,30,2.5,111.05,1.7,63.75 -5324,30,2.5,111.05,1.7,63.75 -5325,30,2.5,111.05,1.7,63.75 -5326,30,2.5,111.05,1.7,63.75 -5327,30,2.5,111.05,1.7,63.75 -5328,30,2.5,111.05,1.7,63.75 -5329,30,2.5,111.05,1.7,63.75 -5330,30,2.5,111.05,1.7,63.75 -5331,30,2.5,111.05,1.7,63.75 -5332,30,2.5,111.05,1.7,63.75 -5333,30,2.5,111.05,1.7,63.75 -5334,30,2.5,111.05,1.7,63.75 -5335,30,2.5,111.05,1.7,63.75 -5336,30,2.5,111.05,1.7,63.75 -5337,30,2.5,111.05,1.7,63.75 -5338,30,2.5,111.05,1.7,63.75 -5339,30,2.5,111.05,1.7,63.75 -5340,30,2.5,111.05,1.7,63.75 -5341,30,2.5,111.05,1.7,63.75 -5342,30,2.5,111.05,1.7,63.75 -5343,30,2.5,111.05,1.7,63.75 -5344,30,2.5,111.05,1.7,63.75 -5345,30,2.5,111.05,1.7,63.75 -5346,30,2.5,111.05,1.7,63.75 -5347,30,2.5,111.05,1.7,63.75 -5348,30,2.5,111.05,1.7,63.75 -5349,30,2.5,111.05,1.7,63.75 -5350,30,2.5,111.05,1.7,63.75 -5351,30,2.5,111.05,1.7,63.75 -5352,30,2.5,111.05,1.7,63.75 -5353,30,2.5,111.05,1.7,63.75 -5354,30,2.5,111.05,1.7,63.75 -5355,30,2.5,111.05,1.7,63.75 -5356,30,2.5,111.05,1.7,63.75 -5357,30,2.5,111.05,1.7,63.75 -5358,30,2.5,111.05,1.7,63.75 -5359,30,2.5,111.05,1.7,63.75 -5360,30,2.5,111.05,1.7,63.75 -5361,30,2.5,111.05,1.7,63.75 -5362,30,2.5,111.05,1.7,63.75 -5363,30,2.5,111.05,1.7,63.75 -5364,30,2.5,111.05,1.7,63.75 -5365,30,2.5,111.05,1.7,63.75 -5366,30,2.5,111.05,1.7,63.75 -5367,30,2.5,111.05,1.7,63.75 -5368,30,2.5,111.05,1.7,63.75 -5369,30,2.5,111.05,1.7,63.75 -5370,30,2.5,111.05,1.7,63.75 -5371,30,2.5,111.05,1.7,63.75 -5372,30,2.5,111.05,1.7,63.75 -5373,30,2.5,111.05,1.7,63.75 -5374,30,2.5,111.05,1.7,63.75 -5375,30,2.5,111.05,1.7,63.75 -5376,30,2.5,111.05,1.7,63.75 -5377,30,2.5,111.05,1.7,63.75 -5378,30,2.5,111.05,1.7,63.75 -5379,30,2.5,111.05,1.7,63.75 -5380,30,2.5,111.05,1.7,63.75 -5381,30,2.5,111.05,1.7,63.75 -5382,30,2.5,111.05,1.7,63.75 -5383,30,2.5,111.05,1.7,63.75 -5384,30,2.5,111.05,1.7,63.75 -5385,30,2.5,111.05,1.7,63.75 -5386,30,2.5,111.05,1.7,63.75 -5387,30,2.5,111.05,1.7,63.75 -5388,30,2.5,111.05,1.7,63.75 -5389,30,2.5,111.05,1.7,63.75 -5390,30,2.5,111.05,1.7,63.75 -5391,30,2.5,111.05,1.7,63.75 -5392,30,2.5,111.05,1.7,63.75 -5393,30,2.5,111.05,1.7,63.75 -5394,30,2.5,111.05,1.7,63.75 -5395,30,2.5,111.05,1.7,63.75 -5396,30,2.5,111.05,1.7,63.75 -5397,30,2.5,111.05,1.7,63.75 -5398,30,2.5,111.05,1.7,63.75 -5399,30,2.5,111.05,1.7,63.75 -5400,30,2.5,111.05,1.7,63.75 -5401,30,2.5,111.05,1.7,63.75 -5402,30,2.5,111.05,1.7,63.75 -5403,30,2.5,111.05,1.7,63.75 -5404,30,2.5,111.05,1.7,63.75 -5405,30,2.5,111.05,1.7,63.75 -5406,30,2.5,111.05,1.7,63.75 -5407,30,2.5,111.05,1.7,63.75 -5408,30,2.5,111.05,1.7,63.75 -5409,30,2.5,111.05,1.7,63.75 -5410,30,2.5,111.05,1.7,63.75 -5411,30,2.5,111.05,1.7,63.75 -5412,30,2.5,111.05,1.7,63.75 -5413,30,2.5,111.05,1.7,63.75 -5414,30,2.5,111.05,1.7,63.75 -5415,30,2.5,111.05,1.7,63.75 -5416,30,2.5,111.05,1.7,63.75 -5417,30,2.5,111.05,1.7,63.75 -5418,30,2.5,111.05,1.7,63.75 -5419,30,2.5,111.05,1.7,63.75 -5420,30,2.5,111.05,1.7,63.75 -5421,30,2.5,111.05,1.7,63.75 -5422,30,2.5,111.05,1.7,63.75 -5423,30,2.5,111.05,1.7,63.75 -5424,30,2.5,111.05,1.7,63.75 -5425,30,2.5,111.05,1.7,63.75 -5426,30,2.5,111.05,1.7,63.75 -5427,30,2.5,111.05,1.7,63.75 -5428,30,2.5,111.05,1.7,63.75 -5429,30,2.5,111.05,1.7,63.75 -5430,30,2.5,111.05,1.7,63.75 -5431,30,2.5,111.05,1.7,63.75 -5432,30,2.5,111.05,1.7,63.75 -5433,30,2.5,111.05,1.7,63.75 -5434,30,2.5,111.05,1.7,63.75 -5435,30,2.5,111.05,1.7,63.75 -5436,30,2.5,111.05,1.7,63.75 -5437,30,2.5,111.05,1.7,63.75 -5438,30,2.5,111.05,1.7,63.75 -5439,30,2.5,111.05,1.7,63.75 -5440,30,2.5,111.05,1.7,63.75 -5441,30,2.5,111.05,1.7,63.75 -5442,30,2.5,111.05,1.7,63.75 -5443,30,2.5,111.05,1.7,63.75 -5444,30,2.5,111.05,1.7,63.75 -5445,30,2.5,111.05,1.7,63.75 -5446,30,2.5,111.05,1.7,63.75 -5447,30,2.5,111.05,1.7,63.75 -5448,30,2.5,111.05,1.7,63.75 -5449,30,2.5,111.05,1.7,63.75 -5450,30,2.5,111.05,1.7,63.75 -5451,30,2.5,111.05,1.7,63.75 -5452,30,2.5,111.05,1.7,63.75 -5453,30,2.5,111.05,1.7,63.75 -5454,30,2.5,111.05,1.7,63.75 -5455,30,2.5,111.05,1.7,63.75 -5456,30,2.5,111.05,1.7,63.75 -5457,30,2.5,111.05,1.7,63.75 -5458,30,2.5,111.05,1.7,63.75 -5459,30,2.5,111.05,1.7,63.75 -5460,30,2.5,111.05,1.7,63.75 -5461,30,2.5,111.05,1.7,63.75 -5462,30,2.5,111.05,1.7,63.75 -5463,30,2.5,111.05,1.7,63.75 -5464,30,2.5,111.05,1.7,63.75 -5465,30,2.5,111.05,1.7,63.75 -5466,30,2.5,111.05,1.7,63.75 -5467,30,2.5,111.05,1.7,63.75 -5468,30,2.5,111.05,1.7,63.75 -5469,30,2.5,111.05,1.7,63.75 -5470,30,2.5,111.05,1.7,63.75 -5471,30,2.5,111.05,1.7,63.75 -5472,30,2.5,111.05,1.7,63.75 -5473,30,2.5,111.05,1.7,63.75 -5474,30,2.5,111.05,1.7,63.75 -5475,30,2.5,111.05,1.7,63.75 -5476,30,2.5,111.05,1.7,63.75 -5477,30,2.5,111.05,1.7,63.75 -5478,30,2.5,111.05,1.7,63.75 -5479,30,2.5,111.05,1.7,63.75 -5480,30,2.5,111.05,1.7,63.75 -5481,30,2.5,111.05,1.7,63.75 -5482,30,2.5,111.05,1.7,63.75 -5483,30,2.5,111.05,1.7,63.75 -5484,30,2.5,111.05,1.7,63.75 -5485,30,2.5,111.05,1.7,63.75 -5486,30,2.5,111.05,1.7,63.75 -5487,30,2.5,111.05,1.7,63.75 -5488,30,2.5,111.05,1.7,63.75 -5489,30,2.5,111.05,1.7,63.75 -5490,30,2.5,111.05,1.7,63.75 -5491,30,2.5,111.05,1.7,63.75 -5492,30,2.5,111.05,1.7,63.75 -5493,30,2.5,111.05,1.7,63.75 -5494,30,2.5,111.05,1.7,63.75 -5495,30,2.5,111.05,1.7,63.75 -5496,30,2.5,111.05,1.7,63.75 -5497,30,2.5,111.05,1.7,63.75 -5498,30,2.5,111.05,1.7,63.75 -5499,30,2.5,111.05,1.7,63.75 -5500,30,2.5,111.05,1.7,63.75 -5501,30,2.5,111.05,1.7,63.75 -5502,30,2.5,111.05,1.7,63.75 -5503,30,2.5,111.05,1.7,63.75 -5504,30,2.5,111.05,1.7,63.75 -5505,30,2.5,111.05,1.7,63.75 -5506,30,2.5,111.05,1.7,63.75 -5507,30,2.5,111.05,1.7,63.75 -5508,30,2.5,111.05,1.7,63.75 -5509,30,2.5,111.05,1.7,63.75 -5510,30,2.5,111.05,1.7,63.75 -5511,30,2.5,111.05,1.7,63.75 -5512,30,2.5,111.05,1.7,63.75 -5513,30,2.5,111.05,1.7,63.75 -5514,30,2.5,111.05,1.7,63.75 -5515,30,2.5,111.05,1.7,63.75 -5516,30,2.5,111.05,1.7,63.75 -5517,30,2.5,111.05,1.7,63.75 -5518,30,2.5,111.05,1.7,63.75 -5519,30,2.5,111.05,1.7,63.75 -5520,30,2.5,111.05,1.7,63.75 -5521,30,2.5,111.05,1.7,63.75 -5522,30,2.5,111.05,1.7,63.75 -5523,30,2.5,111.05,1.7,63.75 -5524,30,2.5,111.05,1.7,63.75 -5525,30,2.5,111.05,1.7,63.75 -5526,30,2.5,111.05,1.7,63.75 -5527,30,2.5,111.05,1.7,63.75 -5528,30,2.5,111.05,1.7,63.75 -5529,30,2.5,111.05,1.7,63.75 -5530,30,2.5,111.05,1.7,63.75 -5531,30,2.5,111.05,1.7,63.75 -5532,30,2.5,111.05,1.7,63.75 -5533,30,2.5,111.05,1.7,63.75 -5534,30,2.5,111.05,1.7,63.75 -5535,30,2.5,111.05,1.7,63.75 -5536,30,2.5,111.05,1.7,63.75 -5537,30,2.5,111.05,1.7,63.75 -5538,30,2.5,111.05,1.7,63.75 -5539,30,2.5,111.05,1.7,63.75 -5540,30,2.5,111.05,1.7,63.75 -5541,30,2.5,111.05,1.7,63.75 -5542,30,2.5,111.05,1.7,63.75 -5543,30,2.5,111.05,1.7,63.75 -5544,30,2.5,111.05,1.7,63.75 -5545,30,2.5,111.05,1.7,63.75 -5546,30,2.5,111.05,1.7,63.75 -5547,30,2.5,111.05,1.7,63.75 -5548,30,2.5,111.05,1.7,63.75 -5549,30,2.5,111.05,1.7,63.75 -5550,30,2.5,111.05,1.7,63.75 -5551,30,2.5,111.05,1.7,63.75 -5552,30,2.5,111.05,1.7,63.75 -5553,30,2.5,111.05,1.7,63.75 -5554,30,2.5,111.05,1.7,63.75 -5555,30,2.5,111.05,1.7,63.75 -5556,30,2.5,111.05,1.7,63.75 -5557,30,2.5,111.05,1.7,63.75 -5558,30,2.5,111.05,1.7,63.75 -5559,30,2.5,111.05,1.7,63.75 -5560,30,2.5,111.05,1.7,63.75 -5561,30,2.5,111.05,1.7,63.75 -5562,30,2.5,111.05,1.7,63.75 -5563,30,2.5,111.05,1.7,63.75 -5564,30,2.5,111.05,1.7,63.75 -5565,30,2.5,111.05,1.7,63.75 -5566,30,2.5,111.05,1.7,63.75 -5567,30,2.5,111.05,1.7,63.75 -5568,30,2.5,111.05,1.7,63.75 -5569,30,2.5,111.05,1.7,63.75 -5570,30,2.5,111.05,1.7,63.75 -5571,30,2.5,111.05,1.7,63.75 -5572,30,2.5,111.05,1.7,63.75 -5573,30,2.5,111.05,1.7,63.75 -5574,30,2.5,111.05,1.7,63.75 -5575,30,2.5,111.05,1.7,63.75 -5576,30,2.5,111.05,1.7,63.75 -5577,30,2.5,111.05,1.7,63.75 -5578,30,2.5,111.05,1.7,63.75 -5579,30,2.5,111.05,1.7,63.75 -5580,30,2.5,111.05,1.7,63.75 -5581,30,2.5,111.05,1.7,63.75 -5582,30,2.5,111.05,1.7,63.75 -5583,30,2.5,111.05,1.7,63.75 -5584,30,2.5,111.05,1.7,63.75 -5585,30,2.5,111.05,1.7,63.75 -5586,30,2.5,111.05,1.7,63.75 -5587,30,2.5,111.05,1.7,63.75 -5588,30,2.5,111.05,1.7,63.75 -5589,30,2.5,111.05,1.7,63.75 -5590,30,2.5,111.05,1.7,63.75 -5591,30,2.5,111.05,1.7,63.75 -5592,30,2.5,111.05,1.7,63.75 -5593,30,2.5,111.05,1.7,63.75 -5594,30,2.5,111.05,1.7,63.75 -5595,30,2.5,111.05,1.7,63.75 -5596,30,2.5,111.05,1.7,63.75 -5597,30,2.5,111.05,1.7,63.75 -5598,30,2.5,111.05,1.7,63.75 -5599,30,2.5,111.05,1.7,63.75 -5600,30,2.5,111.05,1.7,63.75 -5601,30,2.5,111.05,1.7,63.75 -5602,30,2.5,111.05,1.7,63.75 -5603,30,2.5,111.05,1.7,63.75 -5604,30,2.5,111.05,1.7,63.75 -5605,30,2.5,111.05,1.7,63.75 -5606,30,2.5,111.05,1.7,63.75 -5607,30,2.5,111.05,1.7,63.75 -5608,30,2.5,111.05,1.7,63.75 -5609,30,2.5,111.05,1.7,63.75 -5610,30,2.5,111.05,1.7,63.75 -5611,30,2.5,111.05,1.7,63.75 -5612,30,2.5,111.05,1.7,63.75 -5613,30,2.5,111.05,1.7,63.75 -5614,30,2.5,111.05,1.7,63.75 -5615,30,2.5,111.05,1.7,63.75 -5616,30,2.5,111.05,1.7,63.75 -5617,30,2.5,111.05,1.7,63.75 -5618,30,2.5,111.05,1.7,63.75 -5619,30,2.5,111.05,1.7,63.75 -5620,30,2.5,111.05,1.7,63.75 -5621,30,2.5,111.05,1.7,63.75 -5622,30,2.5,111.05,1.7,63.75 -5623,30,2.5,111.05,1.7,63.75 -5624,30,2.5,111.05,1.7,63.75 -5625,30,2.5,111.05,1.7,63.75 -5626,30,2.5,111.05,1.7,63.75 -5627,30,2.5,111.05,1.7,63.75 -5628,30,2.5,111.05,1.7,63.75 -5629,30,2.5,111.05,1.7,63.75 -5630,30,2.5,111.05,1.7,63.75 -5631,30,2.5,111.05,1.7,63.75 -5632,30,2.5,111.05,1.7,63.75 -5633,30,2.5,111.05,1.7,63.75 -5634,30,2.5,111.05,1.7,63.75 -5635,30,2.5,111.05,1.7,63.75 -5636,30,2.5,111.05,1.7,63.75 -5637,30,2.5,111.05,1.7,63.75 -5638,30,2.5,111.05,1.7,63.75 -5639,30,2.5,111.05,1.7,63.75 -5640,30,2.5,111.05,1.7,63.75 -5641,30,2.5,111.05,1.7,63.75 -5642,30,2.5,111.05,1.7,63.75 -5643,30,2.5,111.05,1.7,63.75 -5644,30,2.5,111.05,1.7,63.75 -5645,30,2.5,111.05,1.7,63.75 -5646,30,2.5,111.05,1.7,63.75 -5647,30,2.5,111.05,1.7,63.75 -5648,30,2.5,111.05,1.7,63.75 -5649,30,2.5,111.05,1.7,63.75 -5650,30,2.5,111.05,1.7,63.75 -5651,30,2.5,111.05,1.7,63.75 -5652,30,2.5,111.05,1.7,63.75 -5653,30,2.5,111.05,1.7,63.75 -5654,30,2.5,111.05,1.7,63.75 -5655,30,2.5,111.05,1.7,63.75 -5656,30,2.5,111.05,1.7,63.75 -5657,30,2.5,111.05,1.7,63.75 -5658,30,2.5,111.05,1.7,63.75 -5659,30,2.5,111.05,1.7,63.75 -5660,30,2.5,111.05,1.7,63.75 -5661,30,2.5,111.05,1.7,63.75 -5662,30,2.5,111.05,1.7,63.75 -5663,30,2.5,111.05,1.7,63.75 -5664,30,2.5,111.05,1.7,63.75 -5665,30,2.5,111.05,1.7,63.75 -5666,30,2.5,111.05,1.7,63.75 -5667,30,2.5,111.05,1.7,63.75 -5668,30,2.5,111.05,1.7,63.75 -5669,30,2.5,111.05,1.7,63.75 -5670,30,2.5,111.05,1.7,63.75 -5671,30,2.5,111.05,1.7,63.75 -5672,30,2.5,111.05,1.7,63.75 -5673,30,2.5,111.05,1.7,63.75 -5674,30,2.5,111.05,1.7,63.75 -5675,30,2.5,111.05,1.7,63.75 -5676,30,2.5,111.05,1.7,63.75 -5677,30,2.5,111.05,1.7,63.75 -5678,30,2.5,111.05,1.7,63.75 -5679,30,2.5,111.05,1.7,63.75 -5680,30,2.5,111.05,1.7,63.75 -5681,30,2.5,111.05,1.7,63.75 -5682,30,2.5,111.05,1.7,63.75 -5683,30,2.5,111.05,1.7,63.75 -5684,30,2.5,111.05,1.7,63.75 -5685,30,2.5,111.05,1.7,63.75 -5686,30,2.5,111.05,1.7,63.75 -5687,30,2.5,111.05,1.7,63.75 -5688,30,2.5,111.05,1.7,63.75 -5689,30,2.5,111.05,1.7,63.75 -5690,30,2.5,111.05,1.7,63.75 -5691,30,2.5,111.05,1.7,63.75 -5692,30,2.5,111.05,1.7,63.75 -5693,30,2.5,111.05,1.7,63.75 -5694,30,2.5,111.05,1.7,63.75 -5695,30,2.5,111.05,1.7,63.75 -5696,30,2.5,111.05,1.7,63.75 -5697,30,2.5,111.05,1.7,63.75 -5698,30,2.5,111.05,1.7,63.75 -5699,30,2.5,111.05,1.7,63.75 -5700,30,2.5,111.05,1.7,63.75 -5701,30,2.5,111.05,1.7,63.75 -5702,30,2.5,111.05,1.7,63.75 -5703,30,2.5,111.05,1.7,63.75 -5704,30,2.5,111.05,1.7,63.75 -5705,30,2.5,111.05,1.7,63.75 -5706,30,2.5,111.05,1.7,63.75 -5707,30,2.5,111.05,1.7,63.75 -5708,30,2.5,111.05,1.7,63.75 -5709,30,2.5,111.05,1.7,63.75 -5710,30,2.5,111.05,1.7,63.75 -5711,30,2.5,111.05,1.7,63.75 -5712,30,2.5,111.05,1.7,63.75 -5713,30,2.5,111.05,1.7,63.75 -5714,30,2.5,111.05,1.7,63.75 -5715,30,2.5,111.05,1.7,63.75 -5716,30,2.5,111.05,1.7,63.75 -5717,30,2.5,111.05,1.7,63.75 -5718,30,2.5,111.05,1.7,63.75 -5719,30,2.5,111.05,1.7,63.75 -5720,30,2.5,111.05,1.7,63.75 -5721,30,2.5,111.05,1.7,63.75 -5722,30,2.5,111.05,1.7,63.75 -5723,30,2.5,111.05,1.7,63.75 -5724,30,2.5,111.05,1.7,63.75 -5725,30,2.5,111.05,1.7,63.75 -5726,30,2.5,111.05,1.7,63.75 -5727,30,2.5,111.05,1.7,63.75 -5728,30,2.5,111.05,1.7,63.75 -5729,30,2.5,111.05,1.7,63.75 -5730,30,2.5,111.05,1.7,63.75 -5731,30,2.5,111.05,1.7,63.75 -5732,30,2.5,111.05,1.7,63.75 -5733,30,2.5,111.05,1.7,63.75 -5734,30,2.5,111.05,1.7,63.75 -5735,30,2.5,111.05,1.7,63.75 -5736,30,2.5,111.05,1.7,63.75 -5737,30,2.5,111.05,1.7,63.75 -5738,30,2.5,111.05,1.7,63.75 -5739,30,2.5,111.05,1.7,63.75 -5740,30,2.5,111.05,1.7,63.75 -5741,30,2.5,111.05,1.7,63.75 -5742,30,2.5,111.05,1.7,63.75 -5743,30,2.5,111.05,1.7,63.75 -5744,30,2.5,111.05,1.7,63.75 -5745,30,2.5,111.05,1.7,63.75 -5746,30,2.5,111.05,1.7,63.75 -5747,30,2.5,111.05,1.7,63.75 -5748,30,2.5,111.05,1.7,63.75 -5749,30,2.5,111.05,1.7,63.75 -5750,30,2.5,111.05,1.7,63.75 -5751,30,2.5,111.05,1.7,63.75 -5752,30,2.5,111.05,1.7,63.75 -5753,30,2.5,111.05,1.7,63.75 -5754,30,2.5,111.05,1.7,63.75 -5755,30,2.5,111.05,1.7,63.75 -5756,30,2.5,111.05,1.7,63.75 -5757,30,2.5,111.05,1.7,63.75 -5758,30,2.5,111.05,1.7,63.75 -5759,30,2.5,111.05,1.7,63.75 -5760,30,2.5,111.05,1.7,63.75 -5761,30,2.5,111.05,1.7,63.75 -5762,30,2.5,111.05,1.7,63.75 -5763,30,2.5,111.05,1.7,63.75 -5764,30,2.5,111.05,1.7,63.75 -5765,30,2.5,111.05,1.7,63.75 -5766,30,2.5,111.05,1.7,63.75 -5767,30,2.5,111.05,1.7,63.75 -5768,30,2.5,111.05,1.7,63.75 -5769,30,2.5,111.05,1.7,63.75 -5770,30,2.5,111.05,1.7,63.75 -5771,30,2.5,111.05,1.7,63.75 -5772,30,2.5,111.05,1.7,63.75 -5773,30,2.5,111.05,1.7,63.75 -5774,30,2.5,111.05,1.7,63.75 -5775,30,2.5,111.05,1.7,63.75 -5776,30,2.5,111.05,1.7,63.75 -5777,30,2.5,111.05,1.7,63.75 -5778,30,2.5,111.05,1.7,63.75 -5779,30,2.5,111.05,1.7,63.75 -5780,30,2.5,111.05,1.7,63.75 -5781,30,2.5,111.05,1.7,63.75 -5782,30,2.5,111.05,1.7,63.75 -5783,30,2.5,111.05,1.7,63.75 -5784,30,2.5,111.05,1.7,63.75 -5785,30,2.5,111.05,1.7,63.75 -5786,30,2.5,111.05,1.7,63.75 -5787,30,2.5,111.05,1.7,63.75 -5788,30,2.5,111.05,1.7,63.75 -5789,30,2.5,111.05,1.7,63.75 -5790,30,2.5,111.05,1.7,63.75 -5791,30,2.5,111.05,1.7,63.75 -5792,30,2.5,111.05,1.7,63.75 -5793,30,2.5,111.05,1.7,63.75 -5794,30,2.5,111.05,1.7,63.75 -5795,30,2.5,111.05,1.7,63.75 -5796,30,2.5,111.05,1.7,63.75 -5797,30,2.5,111.05,1.7,63.75 -5798,30,2.5,111.05,1.7,63.75 -5799,30,2.5,111.05,1.7,63.75 -5800,30,2.5,111.05,1.7,63.75 -5801,30,2.5,111.05,1.7,63.75 -5802,30,2.5,111.05,1.7,63.75 -5803,30,2.5,111.05,1.7,63.75 -5804,30,2.5,111.05,1.7,63.75 -5805,30,2.5,111.05,1.7,63.75 -5806,30,2.5,111.05,1.7,63.75 -5807,30,2.5,111.05,1.7,63.75 -5808,30,2.5,111.05,1.7,63.75 -5809,30,2.5,111.05,1.7,63.75 -5810,30,2.5,111.05,1.7,63.75 -5811,30,2.5,111.05,1.7,63.75 -5812,30,2.5,111.05,1.7,63.75 -5813,30,2.5,111.05,1.7,63.75 -5814,30,2.5,111.05,1.7,63.75 -5815,30,2.5,111.05,1.7,63.75 -5816,30,2.5,111.05,1.7,63.75 -5817,30,2.5,111.05,1.7,63.75 -5818,30,2.5,111.05,1.7,63.75 -5819,30,2.5,111.05,1.7,63.75 -5820,30,2.5,111.05,1.7,63.75 -5821,30,2.5,111.05,1.7,63.75 -5822,30,2.5,111.05,1.7,63.75 -5823,30,2.5,111.05,1.7,63.75 -5824,30,2.5,111.05,1.7,63.75 -5825,30,2.5,111.05,1.7,63.75 -5826,30,2.5,111.05,1.7,63.75 -5827,30,2.5,111.05,1.7,63.75 -5828,30,2.5,111.05,1.7,63.75 -5829,30,2.5,111.05,1.7,63.75 -5830,30,2.5,111.05,1.7,63.75 -5831,30,2.5,111.05,1.7,63.75 -5832,30,2.5,111.05,1.7,63.75 -5833,30,2.5,111.05,1.7,63.75 -5834,30,2.5,111.05,1.7,63.75 -5835,30,2.5,111.05,1.7,63.75 -5836,30,2.5,111.05,1.7,63.75 -5837,30,2.5,111.05,1.7,63.75 -5838,30,2.5,111.05,1.7,63.75 -5839,30,2.5,111.05,1.7,63.75 -5840,30,2.5,111.05,1.7,63.75 -5841,30,2.5,111.05,1.7,63.75 -5842,30,2.5,111.05,1.7,63.75 -5843,30,2.5,111.05,1.7,63.75 -5844,30,2.5,111.05,1.7,63.75 -5845,30,2.5,111.05,1.7,63.75 -5846,30,2.5,111.05,1.7,63.75 -5847,30,2.5,111.05,1.7,63.75 -5848,30,2.5,111.05,1.7,63.75 -5849,30,2.5,111.05,1.7,63.75 -5850,30,2.5,111.05,1.7,63.75 -5851,30,2.5,111.05,1.7,63.75 -5852,30,2.5,111.05,1.7,63.75 -5853,30,2.5,111.05,1.7,63.75 -5854,30,2.5,111.05,1.7,63.75 -5855,30,2.5,111.05,1.7,63.75 -5856,30,2.5,111.05,1.7,63.75 -5857,30,2.5,111.05,1.7,63.75 -5858,30,2.5,111.05,1.7,63.75 -5859,30,2.5,111.05,1.7,63.75 -5860,30,2.5,111.05,1.7,63.75 -5861,30,2.5,111.05,1.7,63.75 -5862,30,2.5,111.05,1.7,63.75 -5863,30,2.5,111.05,1.7,63.75 -5864,30,2.5,111.05,1.7,63.75 -5865,30,2.5,111.05,1.7,63.75 -5866,30,2.5,111.05,1.7,63.75 -5867,30,2.5,111.05,1.7,63.75 -5868,30,2.5,111.05,1.7,63.75 -5869,30,2.5,111.05,1.7,63.75 -5870,30,2.5,111.05,1.7,63.75 -5871,30,2.5,111.05,1.7,63.75 -5872,30,2.5,111.05,1.7,63.75 -5873,30,2.5,111.05,1.7,63.75 -5874,30,2.5,111.05,1.7,63.75 -5875,30,2.5,111.05,1.7,63.75 -5876,30,2.5,111.05,1.7,63.75 -5877,30,2.5,111.05,1.7,63.75 -5878,30,2.5,111.05,1.7,63.75 -5879,30,2.5,111.05,1.7,63.75 -5880,30,2.5,111.05,1.7,63.75 -5881,30,2.5,111.05,1.7,63.75 -5882,30,2.5,111.05,1.7,63.75 -5883,30,2.5,111.05,1.7,63.75 -5884,30,2.5,111.05,1.7,63.75 -5885,30,2.5,111.05,1.7,63.75 -5886,30,2.5,111.05,1.7,63.75 -5887,30,2.5,111.05,1.7,63.75 -5888,30,2.5,111.05,1.7,63.75 -5889,30,2.5,111.05,1.7,63.75 -5890,30,2.5,111.05,1.7,63.75 -5891,30,2.5,111.05,1.7,63.75 -5892,30,2.5,111.05,1.7,63.75 -5893,30,2.5,111.05,1.7,63.75 -5894,30,2.5,111.05,1.7,63.75 -5895,30,2.5,111.05,1.7,63.75 -5896,30,2.5,111.05,1.7,63.75 -5897,30,2.5,111.05,1.7,63.75 -5898,30,2.5,111.05,1.7,63.75 -5899,30,2.5,111.05,1.7,63.75 -5900,30,2.5,111.05,1.7,63.75 -5901,30,2.5,111.05,1.7,63.75 -5902,30,2.5,111.05,1.7,63.75 -5903,30,2.5,111.05,1.7,63.75 -5904,30,2.5,111.05,1.7,63.75 -5905,30,2.5,111.05,1.7,63.75 -5906,30,2.5,111.05,1.7,63.75 -5907,30,2.5,111.05,1.7,63.75 -5908,30,2.5,111.05,1.7,63.75 -5909,30,2.5,111.05,1.7,63.75 -5910,30,2.5,111.05,1.7,63.75 -5911,30,2.5,111.05,1.7,63.75 -5912,30,2.5,111.05,1.7,63.75 -5913,30,2.5,111.05,1.7,63.75 -5914,30,2.5,111.05,1.7,63.75 -5915,30,2.5,111.05,1.7,63.75 -5916,30,2.5,111.05,1.7,63.75 -5917,30,2.5,111.05,1.7,63.75 -5918,30,2.5,111.05,1.7,63.75 -5919,30,2.5,111.05,1.7,63.75 -5920,30,2.5,111.05,1.7,63.75 -5921,30,2.5,111.05,1.7,63.75 -5922,30,2.5,111.05,1.7,63.75 -5923,30,2.5,111.05,1.7,63.75 -5924,30,2.5,111.05,1.7,63.75 -5925,30,2.5,111.05,1.7,63.75 -5926,30,2.5,111.05,1.7,63.75 -5927,30,2.5,111.05,1.7,63.75 -5928,30,2.5,111.05,1.7,63.75 -5929,30,2.5,111.05,1.7,63.75 -5930,30,2.5,111.05,1.7,63.75 -5931,30,2.5,111.05,1.7,63.75 -5932,30,2.5,111.05,1.7,63.75 -5933,30,2.5,111.05,1.7,63.75 -5934,30,2.5,111.05,1.7,63.75 -5935,30,2.5,111.05,1.7,63.75 -5936,30,2.5,111.05,1.7,63.75 -5937,30,2.5,111.05,1.7,63.75 -5938,30,2.5,111.05,1.7,63.75 -5939,30,2.5,111.05,1.7,63.75 -5940,30,2.5,111.05,1.7,63.75 -5941,30,2.5,111.05,1.7,63.75 -5942,30,2.5,111.05,1.7,63.75 -5943,30,2.5,111.05,1.7,63.75 -5944,30,2.5,111.05,1.7,63.75 -5945,30,2.5,111.05,1.7,63.75 -5946,30,2.5,111.05,1.7,63.75 -5947,30,2.5,111.05,1.7,63.75 -5948,30,2.5,111.05,1.7,63.75 -5949,30,2.5,111.05,1.7,63.75 -5950,30,2.5,111.05,1.7,63.75 -5951,30,2.5,111.05,1.7,63.75 -5952,30,2.5,111.05,1.7,63.75 -5953,30,2.5,111.05,1.7,63.75 -5954,30,2.5,111.05,1.7,63.75 -5955,30,2.5,111.05,1.7,63.75 -5956,30,2.5,111.05,1.7,63.75 -5957,30,2.5,111.05,1.7,63.75 -5958,30,2.5,111.05,1.7,63.75 -5959,30,2.5,111.05,1.7,63.75 -5960,30,2.5,111.05,1.7,63.75 -5961,30,2.5,111.05,1.7,63.75 -5962,30,2.5,111.05,1.7,63.75 -5963,30,2.5,111.05,1.7,63.75 -5964,30,2.5,111.05,1.7,63.75 -5965,30,2.5,111.05,1.7,63.75 -5966,30,2.5,111.05,1.7,63.75 -5967,30,2.5,111.05,1.7,63.75 -5968,30,2.5,111.05,1.7,63.75 -5969,30,2.5,111.05,1.7,63.75 -5970,30,2.5,111.05,1.7,63.75 -5971,30,2.5,111.05,1.7,63.75 -5972,30,2.5,111.05,1.7,63.75 -5973,30,2.5,111.05,1.7,63.75 -5974,30,2.5,111.05,1.7,63.75 -5975,30,2.5,111.05,1.7,63.75 -5976,30,2.5,111.05,1.7,63.75 -5977,30,2.5,111.05,1.7,63.75 -5978,30,2.5,111.05,1.7,63.75 -5979,30,2.5,111.05,1.7,63.75 -5980,30,2.5,111.05,1.7,63.75 -5981,30,2.5,111.05,1.7,63.75 -5982,30,2.5,111.05,1.7,63.75 -5983,30,2.5,111.05,1.7,63.75 -5984,30,2.5,111.05,1.7,63.75 -5985,30,2.5,111.05,1.7,63.75 -5986,30,2.5,111.05,1.7,63.75 -5987,30,2.5,111.05,1.7,63.75 -5988,30,2.5,111.05,1.7,63.75 -5989,30,2.5,111.05,1.7,63.75 -5990,30,2.5,111.05,1.7,63.75 -5991,30,2.5,111.05,1.7,63.75 -5992,30,2.5,111.05,1.7,63.75 -5993,30,2.5,111.05,1.7,63.75 -5994,30,2.5,111.05,1.7,63.75 -5995,30,2.5,111.05,1.7,63.75 -5996,30,2.5,111.05,1.7,63.75 -5997,30,2.5,111.05,1.7,63.75 -5998,30,2.5,111.05,1.7,63.75 -5999,30,2.5,111.05,1.7,63.75 -6000,30,2.5,111.05,1.7,63.75 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test5.csv b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test5.csv deleted file mode 100644 index dfaf406..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/test5.csv +++ /dev/null @@ -1,1023 +0,0 @@ -#test configuration file2,,,,,, -#Time,MHVPS,BPS,APS,MC,GC,FHPS -0,60,45,10,10,10,10 -10,55,40,7,9,9,9 -20,50,35,4,8,8,8 -30,45,30,1,7,7,7 -40,40,25,-2,6,6,6 -50,35,20,-5,5,5,5 -60,30,15,-8,4,4,4 -70,25,10,-11,3,3,3 -80,20,5,-14,2,2,2 -90,15,0,-17,1,1,1 -100,10,-5,-20,0,0,0 -110,5,0,-23,1,1,1 -120,0,5,-20,2,2,2 -130,-5,10,-17,3,3,3 -140,0,15,-14,4,4,4 -150,5,20,-11,5,5,5 -160,10,25,-8,6,6,6 -170,15,30,-5,7,7,7 -180,20,35,-2,8,8,8 -190,25,40,1,9,9,9 -200,30,45,4,10,10,10 -210,35,40,7,9,9,9 -220,40,35,10,8,8,8 -230,45,30,13,7,7,7 -240,50,25,10,6,6,6 -250,55,20,7,5,5,5 -260,60,15,4,4,4,4 -270,55,10,1,3,3,3 -280,50,5,-2,2,2,2 -290,45,0,-5,1,1,1 -300,40,-5,-8,0,0,0 -310,35,0,-11,1,1,1 -320,30,5,-14,2,2,2 -330,25,10,-17,3,3,3 -340,20,15,-20,4,4,4 -350,15,20,-23,5,5,5 -360,10,25,-20,6,6,6 -370,5,30,-17,7,7,7 -380,0,35,-14,8,8,8 -390,-5,40,-11,9,9,9 -400,0,45,-8,10,10,10 -410,5,40,-5,9,9,9 -420,10,35,-2,8,8,8 -430,15,30,1,7,7,7 -440,20,25,4,6,6,6 -450,25,20,7,5,5,5 -460,30,15,10,4,4,4 -470,35,10,13,3,3,3 -480,40,5,10,2,2,2 -490,45,0,7,1,1,1 -500,50,-5,4,0,0,0 -510,55,0,1,1,1,1 -520,60,5,-2,2,2,2 -530,55,10,-5,3,3,3 -540,50,15,-8,4,4,4 -550,45,20,-11,5,5,5 -560,40,25,-14,6,6,6 -570,35,30,-17,7,7,7 -580,30,35,-20,8,8,8 -590,25,40,-23,9,9,9 -600,20,45,-20,10,10,10 -610,15,40,-17,9,9,9 -620,10,35,-14,8,8,8 -630,5,30,-11,7,7,7 -640,0,25,-8,6,6,6 -650,-5,20,-5,5,5,5 -660,0,15,-2,4,4,4 -670,5,10,1,3,3,3 -680,10,5,4,2,2,2 -690,15,0,7,1,1,1 -700,20,-5,10,0,0,0 -710,25,0,13,1,1,1 -720,30,5,10,2,2,2 -730,35,10,7,3,3,3 -740,40,15,4,4,4,4 -750,45,20,1,5,5,5 -760,50,25,-2,6,6,6 -770,55,30,-5,7,7,7 -780,60,35,-8,8,8,8 -790,55,40,-11,9,9,9 -800,50,45,-14,10,10,10 -810,45,40,-17,9,9,9 -820,40,35,-20,8,8,8 -830,35,30,-23,7,7,7 -840,30,25,-20,6,6,6 -850,25,20,-17,5,5,5 -860,20,15,-14,4,4,4 -870,15,10,-11,3,3,3 -880,10,5,-8,2,2,2 -890,5,0,-5,1,1,1 -900,0,-5,-2,0,0,0 -910,-5,0,1,1,1,1 -920,0,5,4,2,2,2 -930,5,10,7,3,3,3 -940,10,15,10,4,4,4 -950,15,20,13,5,5,5 -960,20,25,10,6,6,6 -970,25,30,7,7,7,7 -980,30,35,4,8,8,8 -990,35,40,1,9,9,9 -1000,40,45,-2,10,10,10 -1010,10,20,30,40,50,60 -1020,10,20,30,40,50,60 -1030,10,20,30,40,50,60 -1040,10,20,30,40,50,60 -1050,10,20,30,40,50,60 -1060,10,20,30,40,50,60 -1070,10,20,30,40,50,60 -1080,10,20,30,40,50,60 -1090,10,20,30,40,50,60 -1100,10,20,30,40,50,60 -1110,10,20,30,40,50,60 -1120,10,20,30,40,50,60 -1130,10,20,30,40,50,60 -1140,10,20,30,40,50,60 -1150,10,20,30,40,50,60 -1160,10,20,30,40,50,60 -1170,10,20,30,40,50,60 -1180,10,20,30,40,50,60 -1190,10,20,30,40,50,60 -1200,10,20,30,40,50,60 -1210,10,20,30,40,50,60 -1220,10,20,30,40,50,60 -1230,10,20,30,40,50,60 -1240,10,20,30,40,50,60 -1250,10,20,30,40,50,60 -1260,10,20,30,40,50,60 -1270,10,20,30,40,50,60 -1280,10,20,30,40,50,60 -1290,10,20,30,40,50,60 -1300,10,20,30,40,50,60 -1310,10,20,30,40,50,60 -1320,10,20,30,40,50,60 -1330,10,20,30,40,50,60 -1340,10,20,30,40,50,60 -1350,10,20,30,40,50,60 -1360,10,20,30,40,50,60 -1370,10,20,30,40,50,60 -1380,10,20,30,40,50,60 -1390,10,20,30,40,50,60 -1400,10,20,30,40,50,60 -1410,10,20,30,40,50,60 -1420,10,20,30,40,50,60 -1430,10,20,30,40,50,60 -1440,10,20,30,40,50,60 -1450,10,20,30,40,50,60 -1460,10,20,30,40,50,60 -1470,10,20,30,40,50,60 -1480,10,20,30,40,50,60 -1490,10,20,30,40,50,60 -1500,10,20,30,40,50,60 -1510,10,20,30,40,50,60 -1520,10,20,30,40,50,60 -1530,10,20,30,40,50,60 -1540,10,20,30,40,50,60 -1550,10,20,30,40,50,60 -1560,10,20,30,40,50,60 -1570,10,20,30,40,50,60 -1580,10,20,30,40,50,60 -1590,10,20,30,40,50,60 -1600,10,20,30,40,50,60 -1610,10,20,30,40,50,60 -1620,10,20,30,40,50,60 -1630,10,20,30,40,50,60 -1640,10,20,30,40,50,60 -1650,10,20,30,40,50,60 -1660,10,20,30,40,50,60 -1670,10,20,30,40,50,60 -1680,10,20,30,40,50,60 -1690,10,20,30,40,50,60 -1700,10,20,30,40,50,60 -1710,10,20,30,40,50,60 -1720,10,20,30,40,50,60 -1730,10,20,30,40,50,60 -1740,10,20,30,40,50,60 -1750,10,20,30,40,50,60 -1760,10,20,30,40,50,60 -1770,10,20,30,40,50,60 -1780,10,20,30,40,50,60 -1790,10,20,30,40,50,60 -1800,10,20,30,40,50,60 -1810,10,20,30,40,50,60 -1820,10,20,30,40,50,60 -1830,10,20,30,40,50,60 -1840,10,20,30,40,50,60 -1850,10,20,30,40,50,60 -1860,10,20,30,40,50,60 -1870,10,20,30,40,50,60 -1880,10,20,30,40,50,60 -1890,10,20,30,40,50,60 -1900,10,20,30,40,50,60 -1910,10,20,30,40,50,60 -1920,10,20,30,40,50,60 -1930,10,20,30,40,50,60 -1940,10,20,30,40,50,60 -1950,10,20,30,40,50,60 -1960,10,20,30,40,50,60 -1970,10,20,30,40,50,60 -1980,10,20,30,40,50,60 -1990,10,20,30,40,50,60 -2000,10,20,30,40,50,60 -2010,10,20,30,40,50,60 -2020,10,20,30,40,50,60 -2030,10,20,30,40,50,60 -2040,10,20,30,40,50,60 -2050,10,20,30,40,50,60 -2060,10,20,30,40,50,60 -2070,10,20,30,40,50,60 -2080,10,20,30,40,50,60 -2090,10,20,30,40,50,60 -2100,10,20,30,40,50,60 -2110,10,20,30,40,50,60 -2120,10,20,30,40,50,60 -2130,10,20,30,40,50,60 -2140,10,20,30,40,50,60 -2150,10,20,30,40,50,60 -2160,10,20,30,40,50,60 -2170,10,20,30,40,50,60 -2180,10,20,30,40,50,60 -2190,10,20,30,40,50,60 -2200,10,20,30,40,50,60 -2210,10,20,30,40,50,60 -2220,10,20,30,40,50,60 -2230,10,20,30,40,50,60 -2240,10,20,30,40,50,60 -2250,10,20,30,40,50,60 -2260,10,20,30,40,50,60 -2270,10,20,30,40,50,60 -2280,10,20,30,40,50,60 -2290,10,20,30,40,50,60 -2300,10,20,30,40,50,60 -2310,10,20,30,40,50,60 -2320,10,20,30,40,50,60 -2330,10,20,30,40,50,60 -2340,10,20,30,40,50,60 -2350,10,20,30,40,50,60 -2360,10,20,30,40,50,60 -2370,10,20,30,40,50,60 -2380,10,20,30,40,50,60 -2390,10,20,30,40,50,60 -2400,10,20,30,40,50,60 -2410,10,20,30,40,50,60 -2420,10,20,30,40,50,60 -2430,10,20,30,40,50,60 -2440,10,20,30,40,50,60 -2450,10,20,30,40,50,60 -2460,10,20,30,40,50,60 -2470,10,20,30,40,50,60 -2480,10,20,30,40,50,60 -2490,10,20,30,40,50,60 -2500,10,20,30,40,50,60 -2510,10,20,30,40,50,60 -2520,10,20,30,40,50,60 -2530,10,20,30,40,50,60 -2540,10,20,30,40,50,60 -2550,10,20,30,40,50,60 -2560,10,20,30,40,50,60 -2570,10,20,30,40,50,60 -2580,10,20,30,40,50,60 -2590,10,20,30,40,50,60 -2600,10,20,30,40,50,60 -2610,10,20,30,40,50,60 -2620,10,20,30,40,50,60 -2630,10,20,30,40,50,60 -2640,10,20,30,40,50,60 -2650,10,20,30,40,50,60 -2660,10,20,30,40,50,60 -2670,10,20,30,40,50,60 -2680,10,20,30,40,50,60 -2690,10,20,30,40,50,60 -2700,10,20,30,40,50,60 -2710,10,20,30,40,50,60 -2720,10,20,30,40,50,60 -2730,10,20,30,40,50,60 -2740,10,20,30,40,50,60 -2750,10,20,30,40,50,60 -2760,10,20,30,40,50,60 -2770,10,20,30,40,50,60 -2780,10,20,30,40,50,60 -2790,10,20,30,40,50,60 -2800,10,20,30,40,50,60 -2810,10,20,30,40,50,60 -2820,10,20,30,40,50,60 -2830,10,20,30,40,50,60 -2840,10,20,30,40,50,60 -2850,10,20,30,40,50,60 -2860,10,20,30,40,50,60 -2870,10,20,30,40,50,60 -2880,10,20,30,40,50,60 -2890,10,20,30,40,50,60 -2900,10,20,30,40,50,60 -2910,10,20,30,40,50,60 -2920,10,20,30,40,50,60 -2930,10,20,30,40,50,60 -2940,10,20,30,40,50,60 -2950,10,20,30,40,50,60 -2960,10,20,30,40,50,60 -2970,10,20,30,40,50,60 -2980,10,20,30,40,50,60 -2990,10,20,30,40,50,60 -3000,10,20,30,40,50,60 -3010,10,20,30,40,50,60 -3020,10,20,30,40,50,60 -3030,10,20,30,40,50,60 -3040,10,20,30,40,50,60 -3050,10,20,30,40,50,60 -3060,10,20,30,40,50,60 -3070,10,20,30,40,50,60 -3080,10,20,30,40,50,60 -3090,10,20,30,40,50,60 -3100,10,20,30,40,50,60 -3110,10,20,30,40,50,60 -3120,10,20,30,40,50,60 -3130,10,20,30,40,50,60 -3140,10,20,30,40,50,60 -3150,10,20,30,40,50,60 -3160,10,20,30,40,50,60 -3170,10,20,30,40,50,60 -3180,10,20,30,40,50,60 -3190,10,20,30,40,50,60 -3200,10,20,30,40,50,60 -3210,10,20,30,40,50,60 -3220,10,20,30,40,50,60 -3230,10,20,30,40,50,60 -3240,10,20,30,40,50,60 -3250,10,20,30,40,50,60 -3260,10,20,30,40,50,60 -3270,10,20,30,40,50,60 -3280,10,20,30,40,50,60 -3290,10,20,30,40,50,60 -3300,10,20,30,40,50,60 -3310,10,20,30,40,50,60 -3320,10,20,30,40,50,60 -3330,10,20,30,40,50,60 -3340,10,20,30,40,50,60 -3350,10,20,30,40,50,60 -3360,10,20,30,40,50,60 -3370,10,20,30,40,50,60 -3380,10,20,30,40,50,60 -3390,10,20,30,40,50,60 -3400,10,20,30,40,50,60 -3410,10,20,30,40,50,60 -3420,10,20,30,40,50,60 -3430,10,20,30,40,50,60 -3440,10,20,30,40,50,60 -3450,10,20,30,40,50,60 -3460,10,20,30,40,50,60 -3470,10,20,30,40,50,60 -3480,10,20,30,40,50,60 -3490,10,20,30,40,50,60 -3500,10,20,30,40,50,60 -3510,10,20,30,40,50,60 -3520,10,20,30,40,50,60 -3530,10,20,30,40,50,60 -3540,10,20,30,40,50,60 -3550,10,20,30,40,50,60 -3560,10,20,30,40,50,60 -3570,10,20,30,40,50,60 -3580,10,20,30,40,50,60 -3590,10,20,30,40,50,60 -3600,10,20,30,40,50,60 -3610,10,20,30,40,50,60 -3620,10,20,30,40,50,60 -3630,10,20,30,40,50,60 -3640,10,20,30,40,50,60 -3650,10,20,30,40,50,60 -3660,10,20,30,40,50,60 -3670,10,20,30,40,50,60 -3680,10,20,30,40,50,60 -3690,10,20,30,40,50,60 -3700,10,20,30,40,50,60 -3710,10,20,30,40,50,60 -3720,10,20,30,40,50,60 -3730,10,20,30,40,50,60 -3740,10,20,30,40,50,60 -3750,10,20,30,40,50,60 -3760,10,20,30,40,50,60 -3770,10,20,30,40,50,60 -3780,10,20,30,40,50,60 -3790,10,20,30,40,50,60 -3800,10,20,30,40,50,60 -3810,10,20,30,40,50,60 -3820,10,20,30,40,50,60 -3830,10,20,30,40,50,60 -3840,10,20,30,40,50,60 -3850,10,20,30,40,50,60 -3860,10,20,30,40,50,60 -3870,10,20,30,40,50,60 -3880,10,20,30,40,50,60 -3890,10,20,30,40,50,60 -3900,10,20,30,40,50,60 -3910,10,20,30,40,50,60 -3920,10,20,30,40,50,60 -3930,10,20,30,40,50,60 -3940,10,20,30,40,50,60 -3950,10,20,30,40,50,60 -3960,10,20,30,40,50,60 -3970,10,20,30,40,50,60 -3980,10,20,30,40,50,60 -3990,10,20,30,40,50,60 -4000,10,20,30,40,50,60 -4010,10,20,30,40,50,60 -4020,10,20,30,40,50,60 -4030,10,20,30,40,50,60 -4040,10,20,30,40,50,60 -4050,10,20,30,40,50,60 -4060,10,20,30,40,50,60 -4070,10,20,30,40,50,60 -4080,10,20,30,40,50,60 -4090,10,20,30,40,50,60 -4100,10,20,30,40,50,60 -4110,10,20,30,40,50,60 -4120,10,20,30,40,50,60 -4130,10,20,30,40,50,60 -4140,10,20,30,40,50,60 -4150,10,20,30,40,50,60 -4160,10,20,30,40,50,60 -4170,10,20,30,40,50,60 -4180,10,20,30,40,50,60 -4190,10,20,30,40,50,60 -4200,10,20,30,40,50,60 -4210,10,20,30,40,50,60 -4220,10,20,30,40,50,60 -4230,10,20,30,40,50,60 -4240,10,20,30,40,50,60 -4250,10,20,30,40,50,60 -4260,10,20,30,40,50,60 -4270,10,20,30,40,50,60 -4280,10,20,30,40,50,60 -4290,10,20,30,40,50,60 -4300,10,20,30,40,50,60 -4310,10,20,30,40,50,60 -4320,10,20,30,40,50,60 -4330,10,20,30,40,50,60 -4340,10,20,30,40,50,60 -4350,10,20,30,40,50,60 -4360,10,20,30,40,50,60 -4370,10,20,30,40,50,60 -4380,10,20,30,40,50,60 -4390,10,20,30,40,50,60 -4400,10,20,30,40,50,60 -4410,10,20,30,40,50,60 -4420,10,20,30,40,50,60 -4430,10,20,30,40,50,60 -4440,10,20,30,40,50,60 -4450,10,20,30,40,50,60 -4460,10,20,30,40,50,60 -4470,10,20,30,40,50,60 -4480,10,20,30,40,50,60 -4490,10,20,30,40,50,60 -4500,10,20,30,40,50,60 -4510,10,20,30,40,50,60 -4520,10,20,30,40,50,60 -4530,10,20,30,40,50,60 -4540,10,20,30,40,50,60 -4550,10,20,30,40,50,60 -4560,10,20,30,40,50,60 -4570,10,20,30,40,50,60 -4580,10,20,30,40,50,60 -4590,10,20,30,40,50,60 -4600,10,20,30,40,50,60 -4610,10,20,30,40,50,60 -4620,10,20,30,40,50,60 -4630,10,20,30,40,50,60 -4640,10,20,30,40,50,60 -4650,10,20,30,40,50,60 -4660,10,20,30,40,50,60 -4670,10,20,30,40,50,60 -4680,10,20,30,40,50,60 -4690,10,20,30,40,50,60 -4700,10,20,30,40,50,60 -4710,10,20,30,40,50,60 -4720,10,20,30,40,50,60 -4730,10,20,30,40,50,60 -4740,10,20,30,40,50,60 -4750,10,20,30,40,50,60 -4760,10,20,30,40,50,60 -4770,10,20,30,40,50,60 -4780,10,20,30,40,50,60 -4790,10,20,30,40,50,60 -4800,10,20,30,40,50,60 -4810,10,20,30,40,50,60 -4820,10,20,30,40,50,60 -4830,10,20,30,40,50,60 -4840,10,20,30,40,50,60 -4850,10,20,30,40,50,60 -4860,10,20,30,40,50,60 -4870,10,20,30,40,50,60 -4880,10,20,30,40,50,60 -4890,10,20,30,40,50,60 -4900,10,20,30,40,50,60 -4910,10,20,30,40,50,60 -4920,10,20,30,40,50,60 -4930,10,20,30,40,50,60 -4940,10,20,30,40,50,60 -4950,10,20,30,40,50,60 -4960,10,20,30,40,50,60 -4970,10,20,30,40,50,60 -4980,10,20,30,40,50,60 -4990,10,20,30,40,50,60 -5000,10,20,30,40,50,60 -5010,10,20,30,40,50,60 -5020,10,20,30,40,50,60 -5030,10,20,30,40,50,60 -5040,10,20,30,40,50,60 -5050,10,20,30,40,50,60 -5060,10,20,30,40,50,60 -5070,10,20,30,40,50,60 -5080,10,20,30,40,50,60 -5090,10,20,30,40,50,60 -5100,10,20,30,40,50,60 -5110,10,20,30,40,50,60 -5120,10,20,30,40,50,60 -5130,10,20,30,40,50,60 -5140,10,20,30,40,50,60 -5150,10,20,30,40,50,60 -5160,10,20,30,40,50,60 -5170,10,20,30,40,50,60 -5180,10,20,30,40,50,60 -5190,10,20,30,40,50,60 -5200,10,20,30,40,50,60 -5210,10,20,30,40,50,60 -5220,10,20,30,40,50,60 -5230,10,20,30,40,50,60 -5240,10,20,30,40,50,60 -5250,10,20,30,40,50,60 -5260,10,20,30,40,50,60 -5270,10,20,30,40,50,60 -5280,10,20,30,40,50,60 -5290,10,20,30,40,50,60 -5300,10,20,30,40,50,60 -5310,10,20,30,40,50,60 -5320,10,20,30,40,50,60 -5330,10,20,30,40,50,60 -5340,10,20,30,40,50,60 -5350,10,20,30,40,50,60 -5360,10,20,30,40,50,60 -5370,10,20,30,40,50,60 -5380,10,20,30,40,50,60 -5390,10,20,30,40,50,60 -5400,10,20,30,40,50,60 -5410,10,20,30,40,50,60 -5420,10,20,30,40,50,60 -5430,10,20,30,40,50,60 -5440,10,20,30,40,50,60 -5450,10,20,30,40,50,60 -5460,10,20,30,40,50,60 -5470,10,20,30,40,50,60 -5480,10,20,30,40,50,60 -5490,10,20,30,40,50,60 -5500,10,20,30,40,50,60 -5510,10,20,30,40,50,60 -5520,10,20,30,40,50,60 -5530,10,20,30,40,50,60 -5540,10,20,30,40,50,60 -5550,10,20,30,40,50,60 -5560,10,20,30,40,50,60 -5570,10,20,30,40,50,60 -5580,10,20,30,40,50,60 -5590,10,20,30,40,50,60 -5600,10,20,30,40,50,60 -5610,10,20,30,40,50,60 -5620,10,20,30,40,50,60 -5630,10,20,30,40,50,60 -5640,10,20,30,40,50,60 -5650,10,20,30,40,50,60 -5660,10,20,30,40,50,60 -5670,10,20,30,40,50,60 -5680,10,20,30,40,50,60 -5690,10,20,30,40,50,60 -5700,10,20,30,40,50,60 -5710,10,20,30,40,50,60 -5720,10,20,30,40,50,60 -5730,10,20,30,40,50,60 -5740,10,20,30,40,50,60 -5750,10,20,30,40,50,60 -5760,10,20,30,40,50,60 -5770,10,20,30,40,50,60 -5780,10,20,30,40,50,60 -5790,10,20,30,40,50,60 -5800,10,20,30,40,50,60 -5810,10,20,30,40,50,60 -5820,10,20,30,40,50,60 -5830,10,20,30,40,50,60 -5840,10,20,30,40,50,60 -5850,10,20,30,40,50,60 -5860,10,20,30,40,50,60 -5870,10,20,30,40,50,60 -5880,10,20,30,40,50,60 -5890,10,20,30,40,50,60 -5900,10,20,30,40,50,60 -5910,10,20,30,40,50,60 -5920,10,20,30,40,50,60 -5930,10,20,30,40,50,60 -5940,10,20,30,40,50,60 -5950,10,20,30,40,50,60 -5960,10,20,30,40,50,60 -5970,10,20,30,40,50,60 -5980,10,20,30,40,50,60 -5990,10,20,30,40,50,60 -6000,10,20,30,40,50,60 -6010,10,20,30,40,50,60 -6020,10,20,30,40,50,60 -6030,10,20,30,40,50,60 -6040,10,20,30,40,50,60 -6050,10,20,30,40,50,60 -6060,10,20,30,40,50,60 -6070,10,20,30,40,50,60 -6080,10,20,30,40,50,60 -6090,10,20,30,40,50,60 -6100,10,20,30,40,50,60 -6110,10,20,30,40,50,60 -6120,10,20,30,40,50,60 -6130,10,20,30,40,50,60 -6140,10,20,30,40,50,60 -6150,10,20,30,40,50,60 -6160,10,20,30,40,50,60 -6170,10,20,30,40,50,60 -6180,10,20,30,40,50,60 -6190,10,20,30,40,50,60 -6200,10,20,30,40,50,60 -6210,10,20,30,40,50,60 -6220,10,20,30,40,50,60 -6230,10,20,30,40,50,60 -6240,10,20,30,40,50,60 -6250,10,20,30,40,50,60 -6260,10,20,30,40,50,60 -6270,10,20,30,40,50,60 -6280,10,20,30,40,50,60 -6290,10,20,30,40,50,60 -6300,10,20,30,40,50,60 -6310,10,20,30,40,50,60 -6320,10,20,30,40,50,60 -6330,10,20,30,40,50,60 -6340,10,20,30,40,50,60 -6350,10,20,30,40,50,60 -6360,10,20,30,40,50,60 -6370,10,20,30,40,50,60 -6380,10,20,30,40,50,60 -6390,10,20,30,40,50,60 -6400,10,20,30,40,50,60 -6410,10,20,30,40,50,60 -6420,10,20,30,40,50,60 -6430,10,20,30,40,50,60 -6440,10,20,30,40,50,60 -6450,10,20,30,40,50,60 -6460,10,20,30,40,50,60 -6470,10,20,30,40,50,60 -6480,10,20,30,40,50,60 -6490,10,20,30,40,50,60 -6500,10,20,30,40,50,60 -6510,10,20,30,40,50,60 -6520,10,20,30,40,50,60 -6530,10,20,30,40,50,60 -6540,10,20,30,40,50,60 -6550,10,20,30,40,50,60 -6560,10,20,30,40,50,60 -6570,10,20,30,40,50,60 -6580,10,20,30,40,50,60 -6590,10,20,30,40,50,60 -6600,10,20,30,40,50,60 -6610,10,20,30,40,50,60 -6620,10,20,30,40,50,60 -6630,10,20,30,40,50,60 -6640,10,20,30,40,50,60 -6650,10,20,30,40,50,60 -6660,10,20,30,40,50,60 -6670,10,20,30,40,50,60 -6680,10,20,30,40,50,60 -6690,10,20,30,40,50,60 -6700,10,20,30,40,50,60 -6710,10,20,30,40,50,60 -6720,10,20,30,40,50,60 -6730,10,20,30,40,50,60 -6740,10,20,30,40,50,60 -6750,10,20,30,40,50,60 -6760,10,20,30,40,50,60 -6770,10,20,30,40,50,60 -6780,10,20,30,40,50,60 -6790,10,20,30,40,50,60 -6800,10,20,30,40,50,60 -6810,10,20,30,40,50,60 -6820,10,20,30,40,50,60 -6830,10,20,30,40,50,60 -6840,10,20,30,40,50,60 -6850,10,20,30,40,50,60 -6860,10,20,30,40,50,60 -6870,10,20,30,40,50,60 -6880,10,20,30,40,50,60 -6890,10,20,30,40,50,60 -6900,10,20,30,40,50,60 -6910,10,20,30,40,50,60 -6920,10,20,30,40,50,60 -6930,10,20,30,40,50,60 -6940,10,20,30,40,50,60 -6950,10,20,30,40,50,60 -6960,10,20,30,40,50,60 -6970,10,20,30,40,50,60 -6980,10,20,30,40,50,60 -6990,10,20,30,40,50,60 -7000,10,20,30,40,50,60 -7010,10,20,30,40,50,60 -7020,10,20,30,40,50,60 -7030,10,20,30,40,50,60 -7040,10,20,30,40,50,60 -7050,10,20,30,40,50,60 -7060,10,20,30,40,50,60 -7070,10,20,30,40,50,60 -7080,10,20,30,40,50,60 -7090,10,20,30,40,50,60 -7100,10,20,30,40,50,60 -7110,10,20,30,40,50,60 -7120,10,20,30,40,50,60 -7130,10,20,30,40,50,60 -7140,10,20,30,40,50,60 -7150,10,20,30,40,50,60 -7160,10,20,30,40,50,60 -7170,10,20,30,40,50,60 -7180,10,20,30,40,50,60 -7190,10,20,30,40,50,60 -7200,10,20,30,40,50,60 -7210,10,20,30,40,50,60 -7220,10,20,30,40,50,60 -7230,10,20,30,40,50,60 -7240,10,20,30,40,50,60 -7250,10,20,30,40,50,60 -7260,10,20,30,40,50,60 -7270,10,20,30,40,50,60 -7280,10,20,30,40,50,60 -7290,10,20,30,40,50,60 -7300,10,20,30,40,50,60 -7310,10,20,30,40,50,60 -7320,10,20,30,40,50,60 -7330,10,20,30,40,50,60 -7340,10,20,30,40,50,60 -7350,10,20,30,40,50,60 -7360,10,20,30,40,50,60 -7370,10,20,30,40,50,60 -7380,10,20,30,40,50,60 -7390,10,20,30,40,50,60 -7400,10,20,30,40,50,60 -7410,10,20,30,40,50,60 -7420,10,20,30,40,50,60 -7430,10,20,30,40,50,60 -7440,10,20,30,40,50,60 -7450,10,20,30,40,50,60 -7460,10,20,30,40,50,60 -7470,10,20,30,40,50,60 -7480,10,20,30,40,50,60 -7490,10,20,30,40,50,60 -7500,10,20,30,40,50,60 -7510,10,20,30,40,50,60 -7520,10,20,30,40,50,60 -7530,10,20,30,40,50,60 -7540,10,20,30,40,50,60 -7550,10,20,30,40,50,60 -7560,10,20,30,40,50,60 -7570,10,20,30,40,50,60 -7580,10,20,30,40,50,60 -7590,10,20,30,40,50,60 -7600,10,20,30,40,50,60 -7610,10,20,30,40,50,60 -7620,10,20,30,40,50,60 -7630,10,20,30,40,50,60 -7640,10,20,30,40,50,60 -7650,10,20,30,40,50,60 -7660,10,20,30,40,50,60 -7670,10,20,30,40,50,60 -7680,10,20,30,40,50,60 -7690,10,20,30,40,50,60 -7700,10,20,30,40,50,60 -7710,10,20,30,40,50,60 -7720,10,20,30,40,50,60 -7730,10,20,30,40,50,60 -7740,10,20,30,40,50,60 -7750,10,20,30,40,50,60 -7760,10,20,30,40,50,60 -7770,10,20,30,40,50,60 -7780,10,20,30,40,50,60 -7790,10,20,30,40,50,60 -7800,10,20,30,40,50,60 -7810,10,20,30,40,50,60 -7820,10,20,30,40,50,60 -7830,10,20,30,40,50,60 -7840,10,20,30,40,50,60 -7850,10,20,30,40,50,60 -7860,10,20,30,40,50,60 -7870,10,20,30,40,50,60 -7880,10,20,30,40,50,60 -7890,10,20,30,40,50,60 -7900,10,20,30,40,50,60 -7910,10,20,30,40,50,60 -7920,10,20,30,40,50,60 -7930,10,20,30,40,50,60 -7940,10,20,30,40,50,60 -7950,10,20,30,40,50,60 -7960,10,20,30,40,50,60 -7970,10,20,30,40,50,60 -7980,10,20,30,40,50,60 -7990,10,20,30,40,50,60 -8000,10,20,30,40,50,60 -8010,10,20,30,40,50,60 -8020,10,20,30,40,50,60 -8030,10,20,30,40,50,60 -8040,10,20,30,40,50,60 -8050,10,20,30,40,50,60 -8060,10,20,30,40,50,60 -8070,10,20,30,40,50,60 -8080,10,20,30,40,50,60 -8090,10,20,30,40,50,60 -8100,10,20,30,40,50,60 -8110,10,20,30,40,50,60 -8120,10,20,30,40,50,60 -8130,10,20,30,40,50,60 -8140,10,20,30,40,50,60 -8150,10,20,30,40,50,60 -8160,10,20,30,40,50,60 -8170,10,20,30,40,50,60 -8180,10,20,30,40,50,60 -8190,10,20,30,40,50,60 -8200,10,20,30,40,50,60 -8210,10,20,30,40,50,60 -8220,10,20,30,40,50,60 -8230,10,20,30,40,50,60 -8240,10,20,30,40,50,60 -8250,10,20,30,40,50,60 -8260,10,20,30,40,50,60 -8270,10,20,30,40,50,60 -8280,10,20,30,40,50,60 -8290,10,20,30,40,50,60 -8300,10,20,30,40,50,60 -8310,10,20,30,40,50,60 -8320,10,20,30,40,50,60 -8330,10,20,30,40,50,60 -8340,10,20,30,40,50,60 -8350,10,20,30,40,50,60 -8360,10,20,30,40,50,60 -8370,10,20,30,40,50,60 -8380,10,20,30,40,50,60 -8390,10,20,30,40,50,60 -8400,10,20,30,40,50,60 -8410,10,20,30,40,50,60 -8420,10,20,30,40,50,60 -8430,10,20,30,40,50,60 -8440,10,20,30,40,50,60 -8450,10,20,30,40,50,60 -8460,10,20,30,40,50,60 -8470,10,20,30,40,50,60 -8480,10,20,30,40,50,60 -8490,10,20,30,40,50,60 -8500,10,20,30,40,50,60 -8510,10,20,30,40,50,60 -8520,10,20,30,40,50,60 -8530,10,20,30,40,50,60 -8540,10,20,30,40,50,60 -8550,10,20,30,40,50,60 -8560,10,20,30,40,50,60 -8570,10,20,30,40,50,60 -8580,10,20,30,40,50,60 -8590,10,20,30,40,50,60 -8600,10,20,30,40,50,60 -8610,10,20,30,40,50,60 -8620,10,20,30,40,50,60 -8630,10,20,30,40,50,60 -8640,10,20,30,40,50,60 -8650,10,20,30,40,50,60 -8660,10,20,30,40,50,60 -8670,10,20,30,40,50,60 -8680,10,20,30,40,50,60 -8690,10,20,30,40,50,60 -8700,10,20,30,40,50,60 -8710,10,20,30,40,50,60 -8720,10,20,30,40,50,60 -8730,10,20,30,40,50,60 -8740,10,20,30,40,50,60 -8750,10,20,30,40,50,60 -8760,10,20,30,40,50,60 -8770,10,20,30,40,50,60 -8780,10,20,30,40,50,60 -8790,10,20,30,40,50,60 -8800,10,20,30,40,50,60 -8810,10,20,30,40,50,60 -8820,10,20,30,40,50,60 -8830,10,20,30,40,50,60 -8840,10,20,30,40,50,60 -8850,10,20,30,40,50,60 -8860,10,20,30,40,50,60 -8870,10,20,30,40,50,60 -8880,10,20,30,40,50,60 -8890,10,20,30,40,50,60 -8900,10,20,30,40,50,60 -8910,10,20,30,40,50,60 -8920,10,20,30,40,50,60 -8930,10,20,30,40,50,60 -8940,10,20,30,40,50,60 -8950,10,20,30,40,50,60 -8960,10,20,30,40,50,60 -8970,10,20,30,40,50,60 -8980,10,20,30,40,50,60 -8990,10,20,30,40,50,60 -9000,10,20,30,40,50,60 -9010,10,20,30,40,50,60 -9020,10,20,30,40,50,60 -9030,10,20,30,40,50,60 -9040,10,20,30,40,50,60 -9050,10,20,30,40,50,60 -9060,10,20,30,40,50,60 -9070,10,20,30,40,50,60 -9080,10,20,30,40,50,60 -9090,10,20,30,40,50,60 -9100,10,20,30,40,50,60 -9110,10,20,30,40,50,60 -9120,10,20,30,40,50,60 -9130,10,20,30,40,50,60 -9140,10,20,30,40,50,60 -9150,10,20,30,40,50,60 -9160,10,20,30,40,50,60 -9170,10,20,30,40,50,60 -9180,10,20,30,40,50,60 -9190,10,20,30,40,50,60 -9200,10,20,30,40,50,60 -9210,10,20,30,40,50,60 -9220,10,20,30,40,50,60 -9230,10,20,30,40,50,60 -9240,10,20,30,40,50,60 -9250,10,20,30,40,50,60 -9260,10,20,30,40,50,60 -9270,10,20,30,40,50,60 -9280,10,20,30,40,50,60 -9290,10,20,30,40,50,60 -9300,10,20,30,40,50,60 -9310,10,20,30,40,50,60 -9320,10,20,30,40,50,60 -9330,10,20,30,40,50,60 -9340,10,20,30,40,50,60 -9350,10,20,30,40,50,60 -9360,10,20,30,40,50,60 -9370,10,20,30,40,50,60 -9380,10,20,30,40,50,60 -9390,10,20,30,40,50,60 -9400,10,20,30,40,50,60 -9410,10,20,30,40,50,60 -9420,10,20,30,40,50,60 -9430,10,20,30,40,50,60 -9440,10,20,30,40,50,60 -9450,10,20,30,40,50,60 -9460,10,20,30,40,50,60 -9470,10,20,30,40,50,60 -9480,10,20,30,40,50,60 -9490,10,20,30,40,50,60 -9500,10,20,30,40,50,60 -9510,10,20,30,40,50,60 -9520,10,20,30,40,50,60 -9530,10,20,30,40,50,60 -9540,10,20,30,40,50,60 -9550,10,20,30,40,50,60 -9560,10,20,30,40,50,60 -9570,10,20,30,40,50,60 -9580,10,20,30,40,50,60 -9590,10,20,30,40,50,60 -9600,10,20,30,40,50,60 -9610,10,20,30,40,50,60 -9620,10,20,30,40,50,60 -9630,10,20,30,40,50,60 -9640,10,20,30,40,50,60 -9650,10,20,30,40,50,60 -9660,10,20,30,40,50,60 -9670,10,20,30,40,50,60 -9680,10,20,30,40,50,60 -9690,10,20,30,40,50,60 -9700,10,20,30,40,50,60 -9710,10,20,30,40,50,60 -9720,10,20,30,40,50,60 -9730,10,20,30,40,50,60 -9740,10,20,30,40,50,60 -9750,10,20,30,40,50,60 -9760,10,20,30,40,50,60 -9770,10,20,30,40,50,60 -9780,10,20,30,40,50,60 -9790,10,20,30,40,50,60 -9800,10,20,30,40,50,60 -9810,10,20,30,40,50,60 -9820,10,20,30,40,50,60 -9830,10,20,30,40,50,60 -9840,10,20,30,40,50,60 -9850,10,20,30,40,50,60 -9860,10,20,30,40,50,60 -9870,10,20,30,40,50,60 -9880,10,20,30,40,50,60 -9890,10,20,30,40,50,60 -9900,10,20,30,40,50,60 -9910,10,20,30,40,50,60 -9920,10,20,30,40,50,60 -9930,10,20,30,40,50,60 -9940,10,20,30,40,50,60 -9950,10,20,30,40,50,60 -9960,10,20,30,40,50,60 -9970,10,20,30,40,50,60 -9980,10,20,30,40,50,60 -9981,11,21,31,41,51,61 -9982,12,22,32,42,52,62 -9983,13,23,33,43,53,63 -9984,14,24,34,44,54,64 -9985,15,25,35,45,55,65 -9986,16,26,36,46,56,66 -9987,17,27,37,47,57,67 -9988,18,28,38,48,58,68 -9989,19,29,39,49,59,69 -9990,20,30,40,50,60,70 -9991,21,31,41,51,61,71 -9992,22,32,42,52,62,72 -9993,23,33,43,53,63,73 -9994,24,34,44,54,64,74 -9995,25,35,45,55,65,75 -9996,26,36,46,56,66,76 -9997,27,37,47,57,67,77 -9998,28,38,48,58,68,78 -9999,29,39,49,59,69,79 -10000,30,40,50,60,70,80 -10001,31,41,51,61,71,81 -10002,32,42,52,62,72,82 diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/ECPCSubscriber.cfg b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/ECPCSubscriber.cfg deleted file mode 100644 index 1566c70..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/ECPCSubscriber.cfg +++ /dev/null @@ -1,396 +0,0 @@ -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +Start = { - Class = StateMachineEvent - NextState = "WAITSTANDBY" - NextStateError = "WAITSTANDBY" - +PrepareNextStateMsg = { - Class = Message - Destination = JAGyrotronRTApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = WaitStandby - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = JAGyrotronRTApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +WAITSTANDBY = { - Class = ReferenceContainer - +Stay = { - Class = StateMachineEvent - NextState = "WAITSTANDBY" - NextStateError = "WAITSTANDBY" - +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 - } - } - } -} -+JAGyrotronRTApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMSDNSubCommand = { - Class = IOGAM - InputSignals = { - Command = { - DataSource = SDNSubCommands - Type = uint16 - NumberOfDimensions = 1 - NumberOfElements = 64 - Ranges = {{0 0}} - Frequency = 1 - } - ESDNTime = { - DataSource = SDNSubCommands - Type = uint32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - ESDNTimeDisplay = { - Alias = ESDNTime - DataSource = SDNSubCommands - Type = uint32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - } - OutputSignals = { - Command = { - DataSource = Display - Type = uint16 - } - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - ESDNTimeDisplay = { - DataSource = Display - Type = uint32 - } - } - } - +GAMSDNSubWaveform = { - Class = IOGAM - InputSignals = { - GYA_FHPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_MCPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_CCPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - MHVPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_BPS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_APS_SP = { - DataSource = SDNSubWaveform - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - WaveformPacketIDFor1kHz = { - DataSource = SDNSubWaveform - Alias = WaveformPacketID - Type = uint16 - } - } - OutputSignals = { - GYA_FHPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_MCPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_CCPS_SP = { - DataSource = DDB1 - Type = float32 - } - MHVPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_BPS_SP = { - DataSource = DDB1 - Type = float32 - } - GYA_APS_SP = { - DataSource = DDB1 - Type = float32 - } - WaveformPacketIDFor1kHz = { - DataSource = DDB1 - Alias = WaveformPacketID - Type = uint16 - } - } - } - +GAMReply = { - Class = IOGAM - InputSignals = { - ESDNTime = { - DataSource = DDB1 - Type = uint32 - } - WaveformPacketID = { - DataSource = DDB1 - Type = uint16 - } - } - OutputSignals = { - ESDNTime = { - DataSource = SDNReply - Type = uint32 - Trigger = 1 - } - ReplyWaveformAck = { - DataSource = SDNReply - Type = uint16 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timings = { - Class = TimingDataSource - } - +Display = { - Class = LoggerDataSource - } - +SDNSubCommands = { - Class = SDN::SDNSubscriber - Topic = ECPC2SCUJA - Interface = lo - CPUs = 0x2 - Locked = 1 - Timeout = 1000 // TODO: change to 1 ms - 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 = lo - CPUs = 0x8 - 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 - } - } - } - +SDNSubWaveform = { - Class = SDN::SDNSubscriber - Topic = ECPC2SCUJAWF - Interface = lo - Locked = 1 - Timeout = 1000 // TODO: change to 1 ms - 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 - } - WaveformPacketID = { - Type = uint16 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_MCPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_CCPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - MHVPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_BPS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - GYA_APS_SP = { - Type = float32 - NumberOfDimensions = 1 - NumberOfElements = 1 - } - } - } - } - +States = { - Class = ReferenceContainer - +WaitStandby = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMSDNSubCommand GAMSDNSubWaveform GAMReply} - CPUs = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.cfg b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.cfg deleted file mode 100644 index ae4a27b..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.cfg +++ /dev/null @@ -1,249 +0,0 @@ -// +LoggerService = { -// Class = LoggerService -// CPUs = 0x1 -// StackSize = 32768 -// NumberOfLogPages = 128 -// +ConLogger = { -// Class = ConsoleLogger -// Format = "EtOoFmC" -// PrintKeys = 1 -// } -// } -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 1 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - +PV2DDB1 = { - Class = IOGAM - InputSignals = { - AiValue = { - DataSource = EPICSCAInput - Type = float32 - } - LongInValue = { - DataSource = EPICSCAInput - Type = uint32 - } - StringInValue = { - DataSource = EPICSCAInput - Type = char8 - NumberOfElements = 40 - } - } - OutputSignals = { - AValue = { - DataSource = DDB1 - Type = float32 - } - LValue = { - DataSource = DDB1 - Type = uint32 - } - SValue = { - DataSource = DDB1 - Type = char8 - NumberOfElements = 40 - } - } - } - +DDB12PV = { - Class = IOGAM - InputSignals = { - AValue = { - DataSource = DDB1 - Type = float32 - } - LValue = { - DataSource = DDB1 - Type = uint32 - } - SValue = { - DataSource = DDB1 - Type = char8 - NumberOfElements = 40 - } - } - OutputSignals = { - AoValue = { - DataSource = EPICSCAOutput - Type = float32 - } - LongOutValue = { - DataSource = EPICSCAOutput - Type = uint32 - } - StringOutValue = { - DataSource = EPICSCAOutput - Type = char8 - NumberOfElements = 40 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +EPICSCAInput = { - //Class = "EPICSCA::EPICSCAInput" - Class = "JAEPICSCA::JAEPICSCAInput" - CPUMask = "1" - StackSize = "10000000" - Signals = { - AiValue = { - PVName = "ai" - Type = float32 - } - LongInValue = { - PVName = "longin" - Type = uint32 - } - StringInValue = { - PVName = "stringin" - Type = char8 - NumberOfElements = 40 - } - } - } - +EPICSCAOutput = { - //Class = "EPICSCA::EPICSCAOutput" - Class = "JAEPICSCA::JAEPICSCAOutput" - CPUMask = "1" - StackSize = "10000000" - NumberOfBuffers = 2 - Signals = { - AoValue = { - PVName = "ao" - Type = float32 - } - LongOutValue = { - PVName = "longout" - Type = uint32 - } - StringOutValue = { - PVName = "stringout" - Type = char8 - NumberOfElements = 40 - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer PV2DDB1 DDB12PV} - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.db b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.db deleted file mode 100644 index c344eae..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/EPICS_Test.db +++ /dev/null @@ -1,18 +0,0 @@ -record(longin, longin){ - field(SCAN, "Passive") -} -record(longout, longout){ - field(SCAN, "Passive") -} -record(ai, ai){ - field(SCAN, "Passive") -} -record(ao, ao){ - field(SCAN, "Passive") -} -record(stringin, stringin){ - field(SCAN, "Passive") -} -record(stringout, stringout){ - field(SCAN, "Passive") -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.cfg b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.cfg deleted file mode 100644 index 1efebb0..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.cfg +++ /dev/null @@ -1,1081 +0,0 @@ -// +LoggerService = { -// Class = LoggerService -// CPUs = 0x1 -// StackSize = 32768 -// NumberOfLogPages = 128 -// +ConLogger = { -// Class = ConsoleLogger -// Format = "EtOoFmC" -// PrintKeys = 1 -// } -// } - -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 1 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - //EPICS PV read GAM - +PV2DDB1GAM = { - Class = IOGAM - InputSignals = { - ni6259d0p0do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d0p0do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d0p3do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p3do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d0p4do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d0p4do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6259d1p0do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6259d1p0do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d1p3do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p3do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - - ni6528d1p4do0 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do1 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do2 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do3 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do4 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do5 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do6 = { - DataSource = EPICSCAInput - Type = uint32 - } - ni6528d1p4do7 = { - DataSource = EPICSCAInput - Type = uint32 - } - } - OutputSignals = { - ni6259d0p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d0p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d0p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6259d1p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d1p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do7 = { - DataSource = DDB1 - Type = uint32 - } - - ni6528d1p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do7 = { - DataSource = DDB1 - Type = uint32 - } - } - } - //HW Write GAMs - //NI6259 uses uint32, so it is not able to use BitSumGAM - +NI6259D0P0GAM = { - Class = JABitSumGAM - InputSignals = { - ni6259d0p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d0p0do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6259D0P0Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D0P3GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d0p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p3do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D0P3Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D0P4GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d0p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d0p4do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D0P4Value = { - DataSource = Display - Type = uint8 - } - } - } - //NI6259 uses uint32, so it is not able to use BitSumGAM - +NI6259D1P0GAM = { - Class = JABitSumGAM - InputSignals = { - ni6259d1p0do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6259d1p0do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6259D1P0Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D1P3GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d1p3do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p3do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D1P3Value = { - DataSource = Display - Type = uint8 - } - } - } - +NI6528D1P4GAM = { - Class = JABitSumGAM - InputSignals = { - ni6528d1p4do0 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do1 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do2 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do3 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do4 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do5 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do6 = { - DataSource = DDB1 - Type = uint32 - } - ni6528d1p4do7 = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - NI6528D1P4Value = { - DataSource = Display - Type = uint8 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - - /**** - +NI6259D1P0 = { - Class = NI6259::NI6259DIO - DeviceName = "/dev/pxi6259" - BoardId = 1 - Signals = { - NI6269D1P0Value = { - Type = uint32 - Mask = 0xFF - PortId = 0 - } - } - } - +NI6528D1P3 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.1" - Port = 3 - Value = { - NI6528D1P3Value = { - Type = uint32 - } - } - } - +NI6528D1P4 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.1" - Port = 4 - Value = { - NI6528D1P4Value = { - Type = uint32 - } - } - } - +NI6259D0P0 = { - Class = NI6259::NI6259DIO - DeviceName = "/dev/pxi6259" - BoardId = 0 - Signals = { - NI6259D0P0Value = { - Type = uint32 - Mask = 0xFF - PortId = 0 - } - } - } - +NI6528D0P3 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 3 - Value = { - NI6528D0P3Value = { - Type = uint32 - } - } - } - +NI6528D0P4 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 4 - Value = { - NI6528D0P4Value = { - Type = uint32 - } - } - } - ***/ - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "1" - StackSize = "10000000" - Signals = { - // NI6259 DO PVs - ni6259d0p0do0 = { - PVName = "ni6259:d0:p0:do0" - Type = uint32 - } - ni6259d0p0do1 = { - PVName = "ni6259:d0:p0:do1" - Type = uint32 - } - ni6259d0p0do2 = { - PVName = "ni6259:d0:p0:do2" - Type = uint32 - } - ni6259d0p0do3 = { - PVName = "ni6259:d0:p0:do3" - Type = uint32 - } - ni6259d0p0do4 = { - PVName = "ni6259:d0:p0:do4" - Type = uint32 - } - ni6259d0p0do5 = { - PVName = "ni6259:d0:p0:do5" - Type = uint32 - } - ni6259d0p0do6 = { - PVName = "ni6259:d0:p0:do6" - Type = uint32 - } - ni6259d0p0do7 = { - PVName = "ni6259:d0:p0:do7" - Type = uint32 - } - - // NI6528P3 PVs - ni6528d0p3do0 = { - PVName = "ni6528:d0:p3:do0" - Type = uint32 - } - ni6528d0p3do1 = { - PVName = "ni6528:d0:p3:do1" - Type = uint32 - } - ni6528d0p3do2 = { - PVName = "ni6528:d0:p3:do2" - Type = uint32 - } - ni6528d0p3do3 = { - PVName = "ni6528:d0:p3:do3" - Type = uint32 - } - ni6528d0p3do4 = { - PVName = "ni6528:d0:p3:do4" - Type = uint32 - } - ni6528d0p3do5 = { - PVName = "ni6528:d0:p3:do5" - Type = uint32 - } - ni6528d0p3do6 = { - PVName = "ni6528:d0:p3:do6" - Type = uint32 - } - ni6528d0p3do7 = { - PVName = "ni6528:d0:p3:do7" - Type = uint32 - } - - //NI6528P4 PVs - ni6528d0p4do0 = { - PVName = "ni6528:d0:p4:do0" - Type = uint32 - } - ni6528d0p4do1 = { - PVName = "ni6528:d0:p4:do1" - Type = uint32 - } - ni6528d0p4do2 = { - PVName = "ni6528:d0:p4:do2" - Type = uint32 - } - ni6528d0p4do3 = { - PVName = "ni6528:d0:p4:do3" - Type = uint32 - } - ni6528d0p4do4 = { - PVName = "ni6528:d0:p4:do4" - Type = uint32 - } - ni6528d0p4do5 = { - PVName = "ni6528:d0:p4:do5" - Type = uint32 - } - ni6528d0p4do6 = { - PVName = "ni6528:d0:p4:do6" - Type = uint32 - } - ni6528d0p4do7 = { - PVName = "ni6528:d0:p4:do7" - Type = uint32 - } - - // NI6259 DO PVs - ni6259d1p0do0 = { - PVName = "ni6259:d1:p0:do0" - Type = uint32 - } - ni6259d1p0do1 = { - PVName = "ni6259:d1:p0:do1" - Type = uint32 - } - ni6259d1p0do2 = { - PVName = "ni6259:d1:p0:do2" - Type = uint32 - } - ni6259d1p0do3 = { - PVName = "ni6259:d1:p0:do3" - Type = uint32 - } - ni6259d1p0do4 = { - PVName = "ni6259:d1:p0:do4" - Type = uint32 - } - ni6259d1p0do5 = { - PVName = "ni6259:d1:p0:do5" - Type = uint32 - } - ni6259d1p0do6 = { - PVName = "ni6259:d1:p0:do6" - Type = uint32 - } - ni6259d1p0do7 = { - PVName = "ni6259:d1:p0:do7" - Type = uint32 - } - - // NI6528P3 PVs - ni6528d1p3do0 = { - PVName = "ni6528:d1:p3:do0" - Type = uint32 - } - ni6528d1p3do1 = { - PVName = "ni6528:d1:p3:do1" - Type = uint32 - } - ni6528d1p3do2 = { - PVName = "ni6528:d1:p3:do2" - Type = uint32 - } - ni6528d1p3do3 = { - PVName = "ni6528:d1:p3:do3" - Type = uint32 - } - ni6528d1p3do4 = { - PVName = "ni6528:d1:p3:do4" - Type = uint32 - } - ni6528d1p3do5 = { - PVName = "ni6528:d1:p3:do5" - Type = uint32 - } - ni6528d1p3do6 = { - PVName = "ni6528:d1:p3:do6" - Type = uint32 - } - ni6528d1p3do7 = { - PVName = "ni6528:d1:p3:do7" - Type = uint32 - } - - //NI6528P4 PVs - ni6528d1p4do0 = { - PVName = "ni6528:d1:p4:do0" - Type = uint32 - } - ni6528d1p4do1 = { - PVName = "ni6528:d1:p4:do1" - Type = uint32 - } - ni6528d1p4do2 = { - PVName = "ni6528:d1:p4:do2" - Type = uint32 - } - ni6528d1p4do3 = { - PVName = "ni6528:d1:p4:do3" - Type = uint32 - } - ni6528d1p4do4 = { - PVName = "ni6528:d1:p4:do4" - Type = uint32 - } - ni6528d1p4do5 = { - PVName = "ni6528:d1:p4:do5" - Type = uint32 - } - ni6528d1p4do6 = { - PVName = "ni6528:d1:p4:do6" - Type = uint32 - } - ni6528d1p4do7 = { - PVName = "ni6528:d1:p4:do7" - Type = uint32 - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer PV2DDB1GAM NI6259D0P0GAM NI6528D0P3GAM NI6528D0P4GAM NI6259D1P0GAM NI6528D1P3GAM NI6528D1P4GAM } - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.db b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.db deleted file mode 100644 index 1b2696d..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_NI6259_test.db +++ /dev/null @@ -1,257 +0,0 @@ -### The board on the Right Side Slots - -# NI6259 P0 PVs -record(bo, "ni6259:d1:p0:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d1:p0:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - -#NI6528 P3 PVs -record(bo, "ni6528:d1:p3:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p3:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - - -#NI6528 P4 PVs -record(bo, "ni6528:d1:p4:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d1:p4:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - - -### Left Side Slots -# NI6259 P0 PVs -record(bo, "ni6259:d0:p0:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6259:d0:p0:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - -#NI6528 P3 PVs -record(bo, "ni6528:d0:p3:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p3:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} - - -#NI6528 P4 PVs -record(bo, "ni6528:d0:p4:do0"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do4"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do5"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do6"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "ni6528:d0:p4:do7"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.cfg b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.cfg deleted file mode 100644 index 2ac80fa..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.cfg +++ /dev/null @@ -1,191 +0,0 @@ -+LoggerService = { - Class = LoggerService - CPUs = 0x1 - StackSize = 32768 - NumberOfLogPages = 128 - +ConLogger = { - Class = ConsoleLogger - Format = "EtOoFmC" - PrintKeys = 1 - } -} -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 1 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - +GAMEPICSCA = { - Class = IOGAM - InputSignals = { - doValue = { - DataSource = EPICSCAInput - Type = uint8 - } - } - OutputSignals = { - Value = { - DataSource = DDB1 - Type = uint8 - } - } - } - +GAMDebug = { - Class = IOGAM - InputSignals = { - Value = { - DataSource = DDB1 - Type = uint8 - } - - } - OutputSignals = { - Value = { - DataSource = NI6528 - Type = uint8 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +NI6528 = { - Class = NI6528 - DeviceName = "/dev/pxi6528.0" - Port = 3 - Value = { - Counter = { - Type = uint8 - } - } - } - +EPICSCAInput = { - Class = "EPICSCA::EPICSCAInput" - CPUMask = "1" - StackSize = "10000000" - Signals = { - doValue = { - PVName = "test:doValue" - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer GAMEPICSCA GAMDebug} - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.db b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.db deleted file mode 100644 index ccec4a0..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/NI6528_test.db +++ /dev/null @@ -1,18 +0,0 @@ -record(bo, "test:do1"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "test:do2"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(bo, "test:do3"){ - field(SCAN,"Passive") - field(ONAM, "ON") - field(ZNAM, "OFF") -} -record(longin, test:doValue){ - field(SCAN, "Passive") -} \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/README.md b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/README.md deleted file mode 100644 index 01ec4d2..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/README.md +++ /dev/null @@ -1,29 +0,0 @@ -ECPCSubscriber.cfg is a configuration for testing ECPC simulator (JAECPCSimulator.cfg). - -Setup: -1) Run softIoc. In qst-gyrotron-fast-controller/Configurations execute command: - softIoc -d ECPC_IOC.db - -2) Run ECPC simulator. In qst-gyrotron-fast-controller/Startup execute command: - ./Main.sh -f ../Configurations/JAECPCSimulator.cfg -l RealTimeLoader -m StateMachine:Start - -3) Run ECPC subscriber. In qst-gyrotron-fast-controller/Startup execute command: - ./Main.sh -f ../Configurations/tests/ECPCSubscriber.cfg -l RealTimeLoader -m StateMachine:Start - -The ECPC simulator should automatically start sending waveforms, which will be printed by the ECPC subscriber every 10 milliseconds. -The ECPC simulator will also be sending command, which is printed by the ECPC subscriber every millisecond. - -To change command that is being sent, you have to caput 1 to one of following PVs: -MHVPS_ON (command 1) -GYA_BPS_SWON (command 2) -GYA_APS_SWON (command 3) -GYB_BPS_SWON (command 4) -GYB_APS_SWON (command 5) -GYA_BPS_SWOFF (command 6) -GYA_APS_SWOFF (command 7) -GYB_BPS_SWOFF (command 8) -GYB_APS_SWOFF (command 9) -RF_OFF (command 10) - -To stop sending that command, caput 0 to that PV. - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/Timer_Test.cfg b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/Timer_Test.cfg deleted file mode 100644 index cea80cf..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Configurations/tests/Timer_Test.cfg +++ /dev/null @@ -1,163 +0,0 @@ -+LoggerService = { - Class = LoggerService - CPUs = 0x1 - StackSize = 32768 - NumberOfLogPages = 128 - +ConLogger = { - Class = ConsoleLogger - Format = "EtOoFmC" - PrintKeys = 1 - } -} -+StateMachine = { - Class = StateMachine - +INITIAL = { - Class = ReferenceContainer - +START = { - Class = StateMachineEvent - NextState = "RUNNING" - NextStateError = "ERROR" - +PrepareNextStateOnOurRTApp = { - Class = Message - Destination = MyDemoApp - Mode = ExpectsReply - Function = PrepareNextState - +Parameters = { - Class = ConfigurationDatabase - param1 = State1 - } - } - +StartNextStateExecutionMsg = { - Class = Message - Destination = MyDemoApp - Function = StartNextStateExecution - Mode = ExpectsReply - } - } - } - +RUNNING = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = RUNNING - NextStateError = ERROR - } - } - +ERROR = { - Class = ReferenceContainer - +LOCKEDFOREVER = { - Class = StateMachineEvent - NextState = ERROR - NextStateError = ERROR - } - } -} -+MyDemoApp = { - Class = RealTimeApplication - +Functions = { - Class = ReferenceContainer - +GAMTimer = { - Class = IOGAM - InputSignals = { - Time = { //Time attribute is updated with us resolution. - DataSource = Timer - Type = uint32 - } - Counter = { - DataSource = Timer - Type = uint32 - Frequency = 10 //in Hz. Cycle for one state execution. - } - RTThreadPerf = { - DataSource = Timings - Alias = "State1.Thread1_CycleTime" - Type = uint32 - } - } - OutputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - RTThreadPerf = { - DataSource = DDB1 - Type = uint32 - } - } - } - +TimerDisplayGAM = { - Class = IOGAM - InputSignals = { - Time = { - DataSource = DDB1 - Type = uint32 - } - Counter = { - DataSource = DDB1 - Type = uint32 - } - } - OutputSignals = { - TimeDISP = { - DataSource = Display - Type = uint32 - } - CounterDISP = { - DataSource = Display - Type = uint32 - } - } - } - } - +Data = { - Class = ReferenceContainer - DefaultDataSource = DDB1 - +DDB1 = { - Class = GAMDataSource - } - +Timer = { - Class = LinuxTimer - SleepNature = "Busy" - SleepPercentage = 0 - ExecutionMode = RealTimeThread - CPUMask = 0x1 - Signals = { - Counter = { - Type = uint32 - } - Time = { - Type = uint32 - } - } - } - +Display = { - Class = LoggerDataSource - } - +Timings = { - Class = TimingDataSource - } - } - +States = { - Class = ReferenceContainer - +State1 = { - Class = RealTimeState - +Threads = { - Class = ReferenceContainer - +Thread1 = { - Class = RealTimeThread - Functions = {GAMTimer TimerDisplayGAM} - CPUMask = 0x1 - } - } - } - } - +Scheduler = { - Class = GAMScheduler - TimingDataSource = Timings - } -} - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.cpp deleted file mode 100644 index ac3464d..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.cpp +++ /dev/null @@ -1,366 +0,0 @@ -/** - * @file JAEPICSCAInput.cpp - * @brief Source file for class JAEPICSCAInput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 JAEPICSCAInput (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include "JAEPICSCAInput.h" - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "MemoryMapInputBroker.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -namespace MARTe { -/** - * @brief Callback function for the ca_create_subscription. Single point of access which - * delegates the events to the corresponding JAEPICSPV instance. - */ -static FastPollingMutexSem eventCallbackFastMux; -/*lint -e{1746} function must match required prototype and thus cannot be changed to constant reference.*/ -void JAEPICSCAInputEventCallback(struct event_handler_args const args) { - (void) eventCallbackFastMux.FastLock(); - PVWrapper *pv = static_cast(args.usr); - if (pv != NULL_PTR(PVWrapper *)) { - (void) MemoryOperationsHelper::Copy(pv->memory, args.dbr, pv->memorySize); - } - eventCallbackFastMux.FastUnLock(); -} -} -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -JAEPICSCAInput::JAEPICSCAInput() : - DataSourceI(), EmbeddedServiceMethodBinderI(), executor(*this) { - pvs = NULL_PTR(PVWrapper *); - stackSize = THREADS_DEFAULT_STACKSIZE * 4u; - cpuMask = 0xffu; - eventCallbackFastMux.Create(); -} - -/*lint -e{1551} must stop the SingleThreadService in the destructor.*/ -JAEPICSCAInput::~JAEPICSCAInput() { - if (!executor.Stop()) { - if (!executor.Stop()) { - REPORT_ERROR(ErrorManagement::FatalError, "Could not stop SingleThreadService."); - } - } - (void) eventCallbackFastMux.FastLock(); - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - if (pvs[n].memory != NULL_PTR(void *)) { - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].memory); - } - } - delete[] pvs; - } - eventCallbackFastMux.FastUnLock(); -} - -bool JAEPICSCAInput::Initialise(StructuredDataI & data) { - bool ok = DataSourceI::Initialise(data); - if (ok) { - if (!data.Read("CPUs", cpuMask)) { - REPORT_ERROR(ErrorManagement::Information, "No CPUs defined. Using default = %d", cpuMask); - } - if (!data.Read("StackSize", stackSize)) { - REPORT_ERROR(ErrorManagement::Information, "No StackSize defined. Using default = %d", stackSize); - } - executor.SetStackSize(stackSize); - executor.SetCPUMask(cpuMask); - } - if (ok) { - ok = data.MoveRelative("Signals"); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Could not move to the Signals section"); - } - if (ok) { - ok = data.Copy(originalSignalInformation); - } - if (ok) { - ok = originalSignalInformation.MoveToRoot(); - } - //Do not allow to add signals in run-time - if (ok) { - ok = signalsDatabase.MoveRelative("Signals"); - } - if (ok) { - ok = signalsDatabase.Write("Locked", 1u); - } - if (ok) { - ok = signalsDatabase.MoveToAncestor(1u); - } - } - if (ok) { - ok = data.MoveToAncestor(1u); - } - return ok; -} - -bool JAEPICSCAInput::SetConfiguredDatabase(StructuredDataI & data) { - bool ok = DataSourceI::SetConfiguredDatabase(data); - //Check the signal index of the timing signal. - uint32 nOfSignals = GetNumberOfSignals(); - if (ok) { - ok = (nOfSignals > 0u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one signal shall be defined"); - } - } - if (ok) { - //Do not allow samples - uint32 functionNumberOfSignals = 0u; - uint32 n; - if (GetFunctionNumberOfSignals(InputSignals, 0u, functionNumberOfSignals)) { - for (n = 0u; (n < functionNumberOfSignals) && (ok); n++) { - uint32 nSamples; - ok = GetFunctionSignalSamples(InputSignals, 0u, n, nSamples); - if (ok) { - ok = (nSamples == 1u); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The number of samples shall be exactly 1"); - } - } - } - } - if (ok) { - pvs = new PVWrapper[nOfSignals]; - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - pvs[n].memory = NULL_PTR(void *); - } - for (n = 0u; (n < nOfSignals) && (ok); n++) { - //Note that the RealTimeApplicationConfigurationBuilder is allowed to change the order of the signals w.r.t. to the originalSignalInformation - StreamString orderedSignalName; - ok = GetSignalName(n, orderedSignalName); - if (ok) { - //Have to mix and match between the original setting of the DataSource signal - //and the ones which are later added by the RealTimeApplicationConfigurationBuilder - ok = originalSignalInformation.MoveRelative(orderedSignalName.Buffer()); - } - StreamString pvName; - if (ok) { - ok = originalSignalInformation.Read("PVName", pvName); - if (!ok) { - uint32 nn = n; - REPORT_ERROR(ErrorManagement::ParametersError, "No PVName specified for signal at index %d", nn); - } - } - TypeDescriptor td = GetSignalType(n); - if (ok) { - (void) StringHelper::CopyN(&pvs[n].pvName[0], pvName.Buffer(), PV_NAME_MAX_SIZE); - if (td == CharString) { - pvs[n].pvType = DBR_STRING; - } - else if (td == Character8Bit) { - pvs[n].pvType = DBR_STRING; - } - else if (td == SignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == UnsignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == SignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == UnsignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == SignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == UnsignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == Float32Bit) { - pvs[n].pvType = DBR_FLOAT; - } - else if (td == Float64Bit) { - pvs[n].pvType = DBR_DOUBLE; - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Type %s is not supported", TypeDescriptor::GetTypeNameFromTypeDescriptor(td)); - ok = false; - } - } - uint32 numberOfElements = 1u; - if (ok) { - ok = GetSignalNumberOfElements(n, numberOfElements); - } - if (ok) { - if (pvs[n].pvType == DBR_STRING) { - ok = (numberOfElements == 40u); - } - if (!ok) { - //Could support arrays of strings with multiples of char8[40] - REPORT_ERROR(ErrorManagement::ParametersError, "Strings shall be defined with 40 elements char8[40]. Arrays of strings are not currently supported"); - } - } - if (ok) { - pvs[n].numberOfElements = numberOfElements; - } - if (ok) { - pvs[n].memorySize = td.numberOfBits; - pvs[n].memorySize /= 8u; - pvs[n].memorySize *= numberOfElements; - pvs[n].memory = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - ok = originalSignalInformation.MoveToAncestor(1u); - } - } - } - - if (ok) { - ok = (executor.Start() == ErrorManagement::NoError); - } - return ok; -} - -bool JAEPICSCAInput::AllocateMemory() { - return true; -} - -uint32 JAEPICSCAInput::GetNumberOfMemoryBuffers() { - return 1u; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The signalAddress is independent of the bufferIdx.*/ -bool JAEPICSCAInput::GetSignalMemoryBuffer(const uint32 signalIdx, const uint32 bufferIdx, void*& signalAddress) { - bool ok = (pvs != NULL_PTR(PVWrapper *)); - if (ok) { - ok = (signalIdx < GetNumberOfSignals()); - } - if (ok) { - //lint -e{613} pvs cannot as otherwise ok would be false - signalAddress = pvs[signalIdx].memory; - } - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The brokerName only depends on the direction */ -const char8* JAEPICSCAInput::GetBrokerName(StructuredDataI& data, const SignalDirection direction) { - const char8* brokerName = ""; - if (direction == InputSignals) { - brokerName = "MemoryMapInputBroker"; - } - return brokerName; -} - -bool JAEPICSCAInput::GetInputBrokers(ReferenceContainer& inputBrokers, const char8* const functionName, void* const gamMemPtr) { - ReferenceT broker("MemoryMapInputBroker"); - bool ok = broker->Init(InputSignals, *this, functionName, gamMemPtr); - if (ok) { - ok = inputBrokers.Insert(broker); - } - - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: OutputBrokers are not supported. Function returns false irrespectively of the parameters.*/ -bool JAEPICSCAInput::GetOutputBrokers(ReferenceContainer& outputBrokers, const char8* const functionName, void* const gamMemPtr) { - return false; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: NOOP at StateChange, independently of the function parameters.*/ -bool JAEPICSCAInput::PrepareNextState(const char8* const currentStateName, const char8* const nextStateName) { - return true; -} - -ErrorManagement::ErrorType JAEPICSCAInput::Execute(ExecutionInfo& info) { - ErrorManagement::ErrorType err = ErrorManagement::NoError; - if (info.GetStage() == ExecutionInfo::StartupStage) { - (void) eventCallbackFastMux.FastLock(); - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_context_create(ca_enable_preemptive_callback) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_enable_preemptive_callback failed"); - } - - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_create_channel(&pvs[n].pvName[0], NULL_PTR(caCh *), NULL_PTR(void *), 20u, &pvs[n].pvChid) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_create_channel failed for PV with name %s", pvs[n].pvName); - } - if (err.ErrorsCleared()) { - /*lint -e{9130} -e{835} -e{845} -e{747} Several false positives. lint is getting confused here for some reason.*/ - if (ca_create_subscription(pvs[n].pvType, pvs[n].numberOfElements, pvs[n].pvChid, DBE_VALUE, &JAEPICSCAInputEventCallback, &pvs[n], - &pvs[n].pvEvid) != ECA_NORMAL) { - err = ErrorManagement::FatalError; - REPORT_ERROR(err, "ca_create_subscription failed for PV %s", pvs[n].pvName); - } - } - } - } - eventCallbackFastMux.FastUnLock(); - } - else if (info.GetStage() != ExecutionInfo::BadTerminationStage) { - Sleep::Sec(1.0F); - } - else { - (void) eventCallbackFastMux.FastLock(); - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - (void) ca_clear_subscription(pvs[n].pvEvid); - (void) ca_clear_event(pvs[n].pvEvid); - (void) ca_clear_channel(pvs[n].pvChid); - } - } - ca_detach_context(); - ca_context_destroy(); - eventCallbackFastMux.FastUnLock(); - } - - return err; -} - -uint32 JAEPICSCAInput::GetStackSize() const { - return stackSize; -} - -uint32 JAEPICSCAInput::GetCPUMask() const { - return cpuMask; -} - -bool JAEPICSCAInput::Synchronise() { - return false; -} - -CLASS_REGISTER(JAEPICSCAInput, "1.0") - -} - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.h deleted file mode 100644 index 3a5071d..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAInput.h +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @file EPICSCAInput.h - * @brief Header file for class EPICSCAInput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAInput - * 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 JAEPICSCAINPUT_H_ -#define JAEPICSCAINPUT_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" -#include "EmbeddedServiceMethodBinderI.h" -#include "EventSem.h" -#include "SingleThreadService.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -/** - * Maximum size that a PV name may have - */ -/*lint -esym(551, MARTe::PV_NAME_MAX_SIZE) the symbol is used to define the size of PVWrapper below*/ -const uint32 PV_NAME_MAX_SIZE = 64u; - -/** - * Wraps a PV - */ -struct PVWrapper { - /** - * The channel identifier - */ - chid pvChid; - /** - * The event identifier - */ - evid pvEvid; - /** - * The PV type - */ - chtype pvType; - /** - * The memory of the signal associated to this channel - */ - void *memory; - void *previousValue; - /** - * The number of elements > 0 - */ - uint32 numberOfElements; - /** - * The memory size - */ - uint32 memorySize; - /** - * The PV name - */ - char8 pvName[PV_NAME_MAX_SIZE]; -}; - -/** - * @brief A DataSource which allows to retrieved data from any number of PVs using the EPICS channel access client protocol. - * Data is asynchronously retrieved using ca_create_subscriptions in the context of a different thread (w.r.t. to the real-time thread). - * - * The configuration syntax is (names are only given as an example): - * - *
- * +EPICSCAInput_1 = {
- *     Class = JAEPICSCA::JAEPICSCAInput
- *     StackSize = 1048576 //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u
- *     CPUs = 0xff //Optional the affinity of the EmbeddedThread (where the EPICS context is attached).
- *     Signals = {
- *          PV1 = { //At least one shall be defined
- *             PVName = My::PV1 //Compulsory. Name of the PV.
- *             Type = uint32 //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, uint64, int64, float32 and float64
- *             NumberOfElements = 1 //Arrays also supported
- *          }
- *          ...
- *     }
- * }
- *
- * 
- */ -class JAEPICSCAInput: public DataSourceI, public EmbeddedServiceMethodBinderI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Default constructor. NOOP. - */ - JAEPICSCAInput(); - - /** - * @brief Destructor. - * @details TODO. - */ - virtual ~JAEPICSCAInput(); - - /** - * @brief See DataSourceI::AllocateMemory. NOOP. - * @return true. - */ - virtual bool AllocateMemory(); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @return 1. - */ - virtual uint32 GetNumberOfMemoryBuffers(); - - /** - * @brief See DataSourceI::GetSignalMemoryBuffer. - * @pre - * SetConfiguredDatabase - */ - virtual bool GetSignalMemoryBuffer(const uint32 signalIdx, - const uint32 bufferIdx, - void *&signalAddress); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @details Only InputSignals are supported. - * @return MemoryMapInputBroker. - */ - virtual const char8 *GetBrokerName(StructuredDataI &data, - const SignalDirection direction); - - /** - * @brief See DataSourceI::GetInputBrokers. - * @details adds a memory MemoryMapInputBroker instance to the inputBrokers - * @return true. - */ - virtual bool GetInputBrokers(ReferenceContainer &inputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::GetOutputBrokers. - * @return false. - */ - virtual bool GetOutputBrokers(ReferenceContainer &outputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::PrepareNextState. NOOP. - * @return true. - */ - virtual bool PrepareNextState(const char8 * const currentStateName, - const char8 * const nextStateName); - - /** - * @brief Loads and verifies the configuration parameters detailed in the class description. - * @return true if all the mandatory parameters are correctly specified and if the specified optional parameters have valid values. - */ - virtual bool Initialise(StructuredDataI & data); - - /** - * @brief Final verification of all the parameters. Setup of the memory required to hold all the signals. - * @details This method verifies that all the parameters requested by the GAMs interacting with this DataSource - * are valid and consistent with the parameters set during the initialisation phase. - * In particular the following conditions shall be met: - * - All the signals have the PVName defined - * - All the signals have one of the following types: uint32, int32, float32 or float64. - * @return true if all the parameters are valid and the conditions above are met. - */ - virtual bool SetConfiguredDatabase(StructuredDataI & data); - - /** - * @brief Gets the affinity of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - * @return the the affinity of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - */ - uint32 GetCPUMask() const; - - /** - * @brief Gets the stack size of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - * @return the stack size of the thread which is going to be used to asynchronously read data from the ca_create_subscription. - */ - uint32 GetStackSize() const; - - /** - * @brief Provides the context to execute all the EPICS relevant calls. - * @details Executes in the context of a spawned thread the following EPICS calls: - * ca_context_create, ca_create_channel, ca_create_subscription, ca_clear_subscription, - * ca_clear_event, ca_clear_channel, ca_detach_context and ca_context_destroy - * @return ErrorManagement::NoError if all the EPICS calls return without any error. - */ - virtual ErrorManagement::ErrorType Execute(ExecutionInfo & info); - - /** - * @brief See DataSourceI::Synchronise. - * @return false. - */ - virtual bool Synchronise(); - - /** - * @brief Registered as the ca_create_subscription callback function. - * It calls updates the memory of the corresponding PV variable. - */ - friend void JAEPICSCAInputEventCallback(struct event_handler_args args); - -private: - - /** - * List of PVs. - */ - PVWrapper *pvs; - - /** - * The CPU mask for the executor - */ - uint32 cpuMask; - - /** - * The stack size - */ - uint32 stackSize; - - /** - * The EmbeddedThread where the ca_pend_event is executed. - */ - SingleThreadService executor; - - /** - * Stores the configuration information received at Initialise. - */ - ConfigurationDatabase originalSignalInformation; -}; -} - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* EPICSCADATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp deleted file mode 100644 index 951ed07..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.cpp +++ /dev/null @@ -1,375 +0,0 @@ -/** - * @file EPICSCAOutput.cpp - * @brief Source file for class EPICSCAOutput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAOutput (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include "JAEPICSCAOutput.h" - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "MemoryMapAsyncOutputBroker.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -JAEPICSCAOutput::JAEPICSCAOutput() : - DataSourceI() { - pvs = NULL_PTR(PVWrapper *); - stackSize = THREADS_DEFAULT_STACKSIZE * 4u; - cpuMask = 0xffu; - numberOfBuffers = 0u; - ignoreBufferOverrun = 1u; - threadContextSet = false; -} - -/*lint -e{1551} must free the memory allocated to the different PVs.*/ -JAEPICSCAOutput::~JAEPICSCAOutput() { - uint32 nOfSignals = GetNumberOfSignals(); - if (pvs != NULL_PTR(PVWrapper *)) { - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - if (pvs[n].pvChid != NULL_PTR(chid)) { - (void) ca_clear_channel(pvs[n].pvChid); - } - if (pvs[n].memory != NULL_PTR(void *)) { - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].memory); - GlobalObjectsDatabase::Instance()->GetStandardHeap()->Free(pvs[n].previousValue); - } - } - delete[] pvs; - } -} - -bool JAEPICSCAOutput::Initialise(StructuredDataI & data) { - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("NumberOfBuffers", numberOfBuffers); - - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "NumberOfBuffers shall be specified"); - } - } - if (ok) { - if (!data.Read("CPUs", cpuMask)) { - REPORT_ERROR(ErrorManagement::Information, "No CPUs defined. Using default = %d", cpuMask); - } - if (!data.Read("StackSize", stackSize)) { - REPORT_ERROR(ErrorManagement::Information, "No StackSize defined. Using default = %d", stackSize); - } - if (!data.Read("IgnoreBufferOverrun", ignoreBufferOverrun)) { - REPORT_ERROR(ErrorManagement::Information, "No IgnoreBufferOverrun defined. Using default = %d", ignoreBufferOverrun); - } - - } - if (ok) { - ok = data.MoveRelative("Signals"); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Could not move to the Signals section"); - } - if (ok) { - ok = data.Copy(originalSignalInformation); - } - if (ok) { - ok = originalSignalInformation.MoveToRoot(); - } - //Do not allow to add signals in run-time - if (ok) { - ok = signalsDatabase.MoveRelative("Signals"); - } - if (ok) { - ok = signalsDatabase.Write("Locked", 1u); - } - if (ok) { - ok = signalsDatabase.MoveToAncestor(1u); - } - } - if (ok) { - ok = data.MoveToAncestor(1u); - } - return ok; -} - -bool JAEPICSCAOutput::SetConfiguredDatabase(StructuredDataI & data) { - bool ok = DataSourceI::SetConfiguredDatabase(data); - //Check the signal index of the timing signal. - uint32 nOfSignals = GetNumberOfSignals(); - if (ok) { - ok = (nOfSignals > 0u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one signal shall be defined"); - } - } - if (ok) { - //Do not allow samples - uint32 functionNumberOfSignals = 0u; - uint32 n; - if (GetFunctionNumberOfSignals(OutputSignals, 0u, functionNumberOfSignals)) { - for (n = 0u; (n < functionNumberOfSignals) && (ok); n++) { - uint32 nSamples; - ok = GetFunctionSignalSamples(OutputSignals, 0u, n, nSamples); - if (ok) { - ok = (nSamples == 1u); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The number of samples shall be exactly 1"); - } - } - } - } - //Only one and one GAM allowed to interact with this DataSourceI - if (ok) { - ok = (GetNumberOfFunctions() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Exactly one Function allowed to interact with this DataSourceI"); - } - } - - if (ok) { - pvs = new PVWrapper[nOfSignals]; - uint32 n; - for (n = 0u; (n < nOfSignals); n++) { - pvs[n].memory = NULL_PTR(void *); //value to write PV - pvs[n].previousValue = NULL_PTR(void *); //written value - pvs[n].pvChid = NULL_PTR(chid); - - } - for (n = 0u; (n < nOfSignals) && (ok); n++) { - //Note that the RealTimeApplicationConfigurationBuilder is allowed to change the order of the signals w.r.t. to the originalSignalInformation - StreamString orderedSignalName; - ok = GetSignalName(n, orderedSignalName); - if (ok) { - //Have to mix and match between the original setting of the DataSource signal - //and the ones which are later added by the RealTimeApplicationConfigurationBuilder - ok = originalSignalInformation.MoveRelative(orderedSignalName.Buffer()); - } - StreamString pvName; - if (ok) { - ok = originalSignalInformation.Read("PVName", pvName); - if (!ok) { - uint32 nn = n; - REPORT_ERROR(ErrorManagement::ParametersError, "No PVName specified for signal at index %d", nn); - } - } - TypeDescriptor td = GetSignalType(n); - - if (ok) { - (void) StringHelper::CopyN(&pvs[n].pvName[0], pvName.Buffer(), PV_NAME_MAX_SIZE); - if (td == CharString) { - pvs[n].pvType = DBR_STRING; - } - else if (td == Character8Bit) { - pvs[n].pvType = DBR_STRING; - } - else if (td == SignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == UnsignedInteger8Bit) { - pvs[n].pvType = DBR_CHAR; - } - else if (td == SignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == UnsignedInteger16Bit) { - pvs[n].pvType = DBR_SHORT; - } - else if (td == SignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == UnsignedInteger32Bit) { - pvs[n].pvType = DBR_LONG; - } - else if (td == Float32Bit) { - pvs[n].pvType = DBR_FLOAT; - } - else if (td == Float64Bit) { - pvs[n].pvType = DBR_DOUBLE; - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Type %s is not supported", TypeDescriptor::GetTypeNameFromTypeDescriptor(td)); - ok = false; - } - } - uint32 numberOfElements = 1u; - if (ok) { - ok = GetSignalNumberOfElements(n, numberOfElements); - } - if (ok) { - if (pvs[n].pvType == DBR_STRING) { - ok = (numberOfElements == 40u); - } - if (!ok) { - //Could support arrays of strings with multiples of char8[40] - REPORT_ERROR(ErrorManagement::ParametersError, - "Strings shall be defined with 40 elements char8[40]. Arrays of strings are not currently supported"); - } - } - if (ok) { - pvs[n].numberOfElements = numberOfElements; - } - if (ok) { - pvs[n].memorySize = td.numberOfBits; - pvs[n].memorySize /= 8u; - pvs[n].memorySize *= numberOfElements; - pvs[n].memory = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - pvs[n].previousValue = GlobalObjectsDatabase::Instance()->GetStandardHeap()->Malloc(pvs[n].memorySize); - ok = originalSignalInformation.MoveToAncestor(1u); - } - } - } - return ok; -} - -bool JAEPICSCAOutput::AllocateMemory() { - return true; -} - -uint32 JAEPICSCAOutput::GetNumberOfMemoryBuffers() { - return 1u; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The signalAddress is independent of the bufferIdx.*/ -bool JAEPICSCAOutput::GetSignalMemoryBuffer(const uint32 signalIdx, const uint32 bufferIdx, void*& signalAddress) { - bool ok = (pvs != NULL_PTR(PVWrapper *)); - if (ok) { - ok = (signalIdx < GetNumberOfSignals()); - } - if (ok) { - //lint -e{613} pvs cannot as otherwise ok would be false - signalAddress = pvs[signalIdx].memory; - } - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: The brokerName only depends on the direction */ -const char8* JAEPICSCAOutput::GetBrokerName(StructuredDataI& data, const SignalDirection direction) { - const char8* brokerName = ""; - if (direction == OutputSignals) { - brokerName = "MemoryMapAsyncOutputBroker"; - } - return brokerName; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: InputBrokers are not supported. Function returns false irrespectively of the parameters.*/ -bool JAEPICSCAOutput::GetInputBrokers(ReferenceContainer& inputBrokers, const char8* const functionName, void* const gamMemPtr) { - return false; -} - -bool JAEPICSCAOutput::GetOutputBrokers(ReferenceContainer& outputBrokers, const char8* const functionName, void* const gamMemPtr) { - ReferenceT broker("MemoryMapAsyncOutputBroker"); - bool ok = broker->InitWithBufferParameters(OutputSignals, *this, functionName, gamMemPtr, numberOfBuffers, cpuMask, stackSize); - if (ok) { - ok = outputBrokers.Insert(broker); - broker->SetIgnoreBufferOverrun(ignoreBufferOverrun == 1u); - } - - return ok; -} - -/*lint -e{715} [MISRA C++ Rule 0-1-11], [MISRA C++ Rule 0-1-12]. Justification: NOOP at StateChange, independently of the function parameters.*/ -bool JAEPICSCAOutput::PrepareNextState(const char8* const currentStateName, const char8* const nextStateName) { - return true; -} - -uint32 JAEPICSCAOutput::GetStackSize() const { - return stackSize; -} - -uint32 JAEPICSCAOutput::GetCPUMask() const { - return cpuMask; -} - -uint32 JAEPICSCAOutput::GetNumberOfBuffers() const { - return numberOfBuffers; -} - -bool JAEPICSCAOutput::Synchronise() { - bool ok = true; - uint32 n; - uint32 nOfSignals = GetNumberOfSignals(); - if (!threadContextSet) { - ok = (ca_context_create(ca_enable_preemptive_callback) == ECA_NORMAL); - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_enable_preemptive_callback failed"); - } - threadContextSet = ok; - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - ok = (ca_create_channel(&pvs[n].pvName[0], NULL_PTR(caCh *), NULL_PTR(void *), 20u, &pvs[n].pvChid) == ECA_NORMAL); - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_create_channel failed for PV with name %s", pvs[n].pvName); - } - } - } - } - - //Allow to write event at the first time! - if (threadContextSet) { - if (pvs != NULL_PTR(PVWrapper *)) { - for (n = 0u; (n < nOfSignals); n++) { - bool isNewValue = true; - if (pvs[n].pvType == DBR_STRING) { - if(strcmp((char*)pvs[n].memory,(char*)pvs[n].previousValue)==0){ - isNewValue = false; - continue; - } - if(isNewValue){ - ok = (ca_put(pvs[n].pvType, pvs[n].pvChid, pvs[n].memory) == ECA_NORMAL); - memcpy(pvs[n].previousValue,pvs[n].memory, pvs[n].numberOfElements); - } - } - else { - if(memcmp(pvs[n].memory, pvs[n].previousValue, pvs[n].numberOfElements)==0){ - isNewValue = false; - continue; - } - if(isNewValue){ - ok = (ca_array_put(pvs[n].pvType, pvs[n].numberOfElements, pvs[n].pvChid, pvs[n].memory) == ECA_NORMAL); - memcpy(pvs[n].previousValue, pvs[n].memory, pvs[n].numberOfElements); - } - } - if (!ok) { - REPORT_ERROR(ErrorManagement::FatalError, "ca_put failed for PV: %s", pvs[n].pvName); - } - (void) ca_pend_io(0.1); - } - } - } - - return ok; -} - -bool JAEPICSCAOutput::IsIgnoringBufferOverrun() const { - return (ignoreBufferOverrun == 1u); -} - -CLASS_REGISTER(JAEPICSCAOutput, "1.0") - -} - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.h deleted file mode 100644 index 5c2de87..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/JAEPICSCAOutput.h +++ /dev/null @@ -1,233 +0,0 @@ -/** - * @file EPICSCAOutput.h - * @brief Header file for class EPICSCAOutput - * @date 20/04/2017 - * @author Andre Neto - * - * @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 EPICSCAOutput - * 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 JAEPICSCAOutput_H_ -#define JAEPICSCAOutput_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" -#include "JAEPICSCAInput.h" -#include "EmbeddedServiceMethodBinderI.h" -#include "EventSem.h" -#include "SingleThreadService.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -namespace MARTe { -//Maximum size that a PV name may have - -/** - * @brief A DataSource which allows to output data into any number of PVs using the EPICS channel access client protocol. - * Data is asynchronously ca_put in the context of a different thread (w.r.t. to the real-time thread). - * - * The configuration syntax is (names are only given as an example): - * - *
- * +EPICSCAOutput_1 = {
- *     Class = EPICSCA::EPICSCAOutput
- *     StackSize = 1048576 //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u
- *     CPUs = 0xff //Optional the affinity of the EmbeddedThread (where the EPICS context is attached).
- *     IgnoreBufferOverrun = 1 //Optional. If true no error will be triggered when the thread that writes into EPICS does not consume the data fast enough.
- *     NumberOfBuffers = 10 //Compulsory. Number of buffers in a circular buffer that asynchronously writes the PV values. Each buffer is capable of holding a copy of all the DataSourceI signals.
- *     Signals = {
- *          PV1 = { //At least one shall be defined
- *             PVName = My::PV1 //Compulsory. Name of the PV.
- *             Type = uint32 //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, float32 and float64
- *          }
- *          ...
- *     }
- * }
- *
- * 
- */ -class JAEPICSCAOutput: public DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Default constructor. NOOP. - */ - JAEPICSCAOutput(); - - /** - * @brief Destructor. - * @details TODO. - */ - virtual ~JAEPICSCAOutput(); - - /** - * @brief See DataSourceI::AllocateMemory. NOOP. - * @return true. - */ - virtual bool AllocateMemory(); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @return 1. - */ - virtual uint32 GetNumberOfMemoryBuffers(); - - /** - * @brief See DataSourceI::GetSignalMemoryBuffer. - * @pre - * SetConfiguredDatabase - */ - virtual bool GetSignalMemoryBuffer(const uint32 signalIdx, - const uint32 bufferIdx, - void *&signalAddress); - - /** - * @brief See DataSourceI::GetNumberOfMemoryBuffers. - * @details Only OutputSignals are supported. - * @return MemoryMapAsyncOutputBroker. - */ - virtual const char8 *GetBrokerName(StructuredDataI &data, - const SignalDirection direction); - - /** - * @brief See DataSourceI::GetInputBrokers. - * @return false. - */ - virtual bool GetInputBrokers(ReferenceContainer &inputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::GetOutputBrokers. - * @details adds a memory MemoryMapOutputBroker instance to the outputBrokers - * @return true. - */ - virtual bool GetOutputBrokers(ReferenceContainer &outputBrokers, - const char8* const functionName, - void * const gamMemPtr); - - /** - * @brief See DataSourceI::PrepareNextState. NOOP. - * @return true. - */ - virtual bool PrepareNextState(const char8 * const currentStateName, - const char8 * const nextStateName); - - /** - * @brief Loads and verifies the configuration parameters detailed in the class description. - * @return true if all the mandatory parameters are correctly specified and if the specified optional parameters have valid values. - */ - virtual bool Initialise(StructuredDataI & data); - - /** - * @brief Final verification of all the parameters. Setup of the memory required to hold all the signals. - * @details This method verifies that all the parameters requested by the GAMs interacting with this DataSource - * are valid and consistent with the parameters set during the initialisation phase. - * In particular the following conditions shall be met: - * - All the signals have the PVName defined - * - All the signals have one of the following types: uint32, int32, float32 or float64. - * @return true if all the parameters are valid and the conditions above are met. - */ - virtual bool SetConfiguredDatabase(StructuredDataI & data); - - /** - * @brief Gets the affinity of the thread which is going to be used to asynchronously write data with ca_put. - * @return the affinity of the thread which is going to be used to asynchronously write data with ca_put. - */ - uint32 GetCPUMask() const; - - /** - * @brief Gets the stack size of the thread which is going to be used to asynchronously write data with ca_put. - * @return the stack size of the thread which is going to be used to asynchronously write data with ca_put. - */ - uint32 GetStackSize() const; - - /** - * @brief Gets the number of buffers in the circular buffer that asynchronously writes the PV values. - * @return the number of buffers in the circular buffer that asynchronously writes the PV values. - */ - uint32 GetNumberOfBuffers() const; - - /** - * @brief Provides the context to execute all the EPICS ca_put calls. - * @details Executes in the context of the MemoryMapAsyncOutputBroker thread the following EPICS calls: - * ca_context_create, ca_create_channel, ca_create_subscription, ca_clear_subscription, - * ca_clear_event, ca_clear_channel, ca_detach_context and ca_context_destroy - * @return true if all the EPICS calls return without any error. - */ - virtual bool Synchronise(); - - /** - * @brief Gets if buffer overruns is being ignored (i.e. the consumer thread which writes into EPICS is not consuming the data fast enough). - * @return if true no error is to be triggered when there is a buffer overrun. - */ - bool IsIgnoringBufferOverrun() const; - - -private: - /** - * List of PVs. - */ - PVWrapper *pvs; - - /** - * The CPU mask for the executor - */ - uint32 cpuMask; - - /** - * The stack size - */ - uint32 stackSize; - - /** - * Stores the configuration information received at Initialise. - */ - ConfigurationDatabase originalSignalInformation; - - /** - * The number of buffers for the circular buffer that flushes data into EPICS - */ - uint32 numberOfBuffers; - - /** - * True once the epics thread context is set - */ - bool threadContextSet; - - /** - * If true no error will be triggered when the data cannot be consumed by the thread doing the caputs. - */ - uint32 ignoreBufferOverrun; -}; -} - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* EPICSCADATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.gcc deleted file mode 100644 index 1c65faf..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.gcc +++ /dev/null @@ -1,29 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc - -LIBRARIES += -L$(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)/ -lca diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.inc deleted file mode 100644 index 5b7751f..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/JAEPICSCA/Makefile.inc +++ /dev/null @@ -1,58 +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=JAEPICSCAOutput.x JAEPICSCAInput.x - -PACKAGE=DataSources - -ROOT_DIR=../../ -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -INCLUDES += -I. -INCLUDES += -I$(EPICS_BASE)/include/ -INCLUDES += -I$(EPICS_BASE)/include/os/Linux/ -INCLUDES += -I$(EPICS_BASE)/include/compiler/gcc/ -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/Scheduler/L5GAMs - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAEPICSCA$(LIBEXT) \ - $(BUILD_DIR)/JAEPICSCA$(DLLEXT) - echo $(OBJS) - -include depends.$(TARGET) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.gcc deleted file mode 100644 index e0a2fc4..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.gcc +++ /dev/null @@ -1,26 +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. -# -############################################################# - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.inc deleted file mode 100644 index 8bb8ee7..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/Makefile.inc +++ /dev/null @@ -1,42 +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 $ -# -############################################################# -SPB = RandomDataSource.x NI6528.x JAEPICSCA.x - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=.. -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.gcc deleted file mode 100644 index 29201d0..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.gcc +++ /dev/null @@ -1,30 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc - -LIBRARIES += -L$(CODAC_ROOT)/lib/ -lpxi6528 - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.inc deleted file mode 100644 index 30adbd0..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/Makefile.inc +++ /dev/null @@ -1,53 +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=NI6528.x - -PACKAGE=DataSources - -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$(CODAC_ROOT)/include/ - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/NI6528$(LIBEXT) \ - $(BUILD_DIR)/NI6528$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.cpp deleted file mode 100644 index 49f62b1..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @file NI6528.cpp - * @brief Source file for class NI6528 - * @date 01/03/2017 - * @author Andre Neto - * - * @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 NI6528 (public, protected, and private). Be aware that some - * methods, such as those inline could be defined on the header file, instead. - */ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include -#include -#include -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "AdvancedErrorManagement.h" -#include "CompilerTypes.h" -#include "NI6528.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -NI6528::NI6528() : - MARTe::DataSourceI() { - using namespace MARTe; - previousValue = 0u; - value = 0u; - port = 0u; - boardFileDescriptor = 0; -} - -NI6528::~NI6528() { - using namespace MARTe; - (void) pxi6528_close_device(boardFileDescriptor); -} - -bool NI6528::SetConfiguredDatabase(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = (DataSourceI::SetConfiguredDatabase(data)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "DataSourceI::SetConfiguredDatabas() failed"); - } - if (ok) { - ok = (GetNumberOfSignals() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetNumberOfSignals() != 1u"); - } - } - if (ok) { - ok = (GetSignalType(0u) == UnsignedInteger8Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetSignalType(0u) != UnsignedInteger8Bit"); - } - } - - return ok; -} - -bool NI6528::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("Port", port); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The Port shall be specified"); - } - } - if (ok) { - ok = data.Read("DeviceName", deviceName); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The DeviceName shall be specified"); - } - } - int32 ret = pxi6528_open_device(&boardFileDescriptor, deviceName.Buffer(), O_NONBLOCK); - ok = (ret == 0); - if (!ok) { - StreamString err = strerror(-ret); - REPORT_ERROR(ErrorManagement::FatalError, "Could not open device (%s) : %s", deviceName.Buffer(), err.Buffer()); - } - return ok; -} - -bool NI6528::Synchronise() { - using namespace MARTe; - if(previousValue != value){ - int32 ret = (pxi6528_write_port(boardFileDescriptor, port, value) > 0); - previousValue = value; - bool ok = (ret > -1); - if (!ok) { - StreamString err = strerror(-ret); - REPORT_ERROR(ErrorManagement::FatalError, "Could not write to device (%s) : %s", deviceName.Buffer(), err.Buffer()); - } - } - - return true; -} - -bool NI6528::AllocateMemory() { - return true; -} - -bool NI6528::GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress) { - signalAddress = &value; - return true; -} - -const MARTe::char8 *NI6528::GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction) { - using namespace MARTe; - return "MemoryMapSynchronisedOutputBroker"; -} - -bool NI6528::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - return true; -} - -CLASS_REGISTER(NI6528, "1.0") - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.h deleted file mode 100644 index 7074477..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/NI6528/NI6528.h +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file NI6528.h - * @brief Header file for class NI6528 - * @date 07/06/2018 - * @author Andre Neto - * - * @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 NI6528 - * 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 RANDOM_DATASOURCE_H_ -#define RANDOM_DATASOURCE_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ -#include - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief NI6528 simplified data source implementation. - * - * The configuration syntax is (names and signal quantities are only given as an example): - * +NI6528 = { - * Class = NI6528 - * DeviceName = "/dev/pxi6528.0" //Mandatory - * Port = 0 //The port where to write - * Signals = { - * currentValue = {Type = uint8} - * bitmask = {Type = uint8} - * Value = {Type = uint8} - * } - * } - */ -class NI6528: public MARTe::DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Constructor. NOOP. - */ -NI6528 (); - - /** - * @brief Destructor. NOOP. - */ - virtual ~NI6528(); - - /** - * @brief The configuration data detailed in the class description - * @return true if all the compulsory parameters are set. - */ - virtual bool Initialise(MARTe::StructuredDataI & data); - - /** - * @brief Verifies that at most one signal has been set with the correct type (i.e. any integer). - * @return true if the above conditions are met. - */ - virtual bool SetConfiguredDatabase(MARTe::StructuredDataI & data); - - /** - * @brief @see DataSourceI::Synchronise - */ - virtual bool Synchronise(); - - /** - * @brief @see DataSourceI::AllocateMemory - */ - virtual bool AllocateMemory(); - - /** - * @brief @see DataSourceI::GetSignalMemoryBuffer - */ - virtual bool GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress); - - /** - * @return "MemoryMapSynchronisedInputBroker" - */ - virtual const MARTe::char8 *GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction); - - /** - * @brief NOOP - */ - virtual bool PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName); - -private: - /** - * The previous value to write. - */ - MARTe::uint8 previousValue; - - /** - * The bitmask to write value. (new value) = (current value) || (bitmask) && (write value) - */ - MARTe::uint8 bitmask; - - /** - * The value to write. - */ - MARTe::uint8 value; - - /** - * The port number - */ - MARTe::uint32 port; - - /** - * The board file descriptor - */ - pxi6528_device_t boardFileDescriptor; - - /** - * The device name - */ - MARTe::StreamString deviceName; -}; - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* RANDOM_DATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.inc deleted file mode 100644 index 2f1534c..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/Makefile.inc +++ /dev/null @@ -1,53 +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=RandomDataSource.x - -PACKAGE=DataSources - -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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/RandomDataSource$(LIBEXT) \ - $(BUILD_DIR)/RandomDataSource$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.cpp deleted file mode 100644 index bcfc0b0..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/** - * @file RandomDataSource.cpp - * @brief Source file for class RandomDataSource - * @date 01/03/2017 - * @author Andre Neto - * - * @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 RandomDataSource (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 "AdvancedErrorManagement.h" -#include "CompilerTypes.h" -#include "RandomDataSource.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -RandomDataSource::RandomDataSource() : - MARTe::DataSourceI() { - using namespace MARTe; - seed = 0u; - signalPtr = NULL_PTR(MARTe::char8 *); - signalTypeDescriptor = UnsignedInteger8Bit; -} - -RandomDataSource::~RandomDataSource() { - using namespace MARTe; - if (signalPtr) { - delete[] signalPtr; - } -} - -bool RandomDataSource::SetConfiguredDatabase(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = (DataSourceI::SetConfiguredDatabase(data)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "DataSourceI::SetConfiguredDatabas() failed"); - } - if (ok) { - ok = (GetNumberOfSignals() == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetNumberOfSignals() != 1u"); - } - } - if (ok) { - signalTypeDescriptor = GetSignalType(0u); - ok = (signalTypeDescriptor.type == UnsignedInteger); - if (!ok) { - ok = (signalTypeDescriptor.type == SignedInteger); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "GetSignalType(0u) != Un/SignedInteger"); - } - } - - return ok; -} - -bool RandomDataSource::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = DataSourceI::Initialise(data); - if (ok) { - ok = data.Read("Seed", seed); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "The Seed shall be specified"); - } - } - - return ok; -} - -bool RandomDataSource::Synchronise() { - using namespace MARTe; - - if (signalTypeDescriptor.numberOfBits == 8u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 16u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 32u) { - GetValue(); - } - if (signalTypeDescriptor.numberOfBits == 64u) { - GetValue(); - } - - return true; -} - -bool RandomDataSource::AllocateMemory() { - signalPtr = new MARTe::char8[signalTypeDescriptor.numberOfBits]; - return true; -} - -bool RandomDataSource::GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress) { - signalAddress = &signalPtr[0]; - return true; -} - -const MARTe::char8 *RandomDataSource::GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction) { - using namespace MARTe; - - static bool firstTime = true; - const char8 * broker;// = NULL_PTR(const char8 *); - if (firstTime) { - broker = "MemoryMapSynchronisedInputBroker"; - } - else { - firstTime = false; - broker = "MemoryMapInputBroker"; - } - return broker; -} - -bool RandomDataSource::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - return true; -} - -CLASS_REGISTER(RandomDataSource, "1.0") - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.h deleted file mode 100644 index 11cade5..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/DataSources/RandomDataSource/RandomDataSource.h +++ /dev/null @@ -1,137 +0,0 @@ -/** - * @file RandomDataSource.h - * @brief Header file for class RandomDataSource - * @date 07/06/2018 - * @author Andre Neto - * - * @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 RandomDataSource - * 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 RANDOM_DATASOURCE_H_ -#define RANDOM_DATASOURCE_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "DataSourceI.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief DataDource which generates random numbers against a given seed. - * - * The configuration syntax is (names and signal quantities are only given as an example): - * +RandomDataSource = { - * Class = RandomDataSource - * Seed = 8 //Seed against which the the seed will be generated. Note that each signal - * Signals = { - * Random1 = { //Maximum one signal - * Type = uint64 //All the integer types are supported - * } - * } - * } - */ -class RandomDataSource: public MARTe::DataSourceI { -public: - CLASS_REGISTER_DECLARATION() - - /** - * @brief Constructor. NOOP. - */ -RandomDataSource (); - - /** - * @brief Destructor. NOOP. - */ - virtual ~RandomDataSource(); - - /** - * @brief The configuration data detailed in the class description - * @return true if all the compulsory parameters are set. - */ - virtual bool Initialise(MARTe::StructuredDataI & data); - - /** - * @brief Verifies that at most one signal has been set with the correct type (i.e. any integer). - * @return true if the above conditions are met. - */ - virtual bool SetConfiguredDatabase(MARTe::StructuredDataI & data); - - /** - * @brief @see DataSourceI::Synchronise - */ - virtual bool Synchronise(); - - /** - * @brief @see DataSourceI::AllocateMemory - */ - virtual bool AllocateMemory(); - - /** - * @brief @see DataSourceI::GetSignalMemoryBuffer - */ - virtual bool GetSignalMemoryBuffer(const MARTe::uint32 signalIdx, const MARTe::uint32 bufferIdx, void *&signalAddress); - - /** - * @return "MemoryMapSynchronisedInputBroker" - */ - virtual const MARTe::char8 *GetBrokerName(MARTe::StructuredDataI &data, const MARTe::SignalDirection direction); - - /** - * @brief NOOP - */ - virtual bool PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName); - -private: - /** - * The seed to compute the signals. - */ - MARTe::uint32 seed; - - /** - * The signal pointer - */ - MARTe::char8 *signalPtr; - - /** - * The signal type descriptor. - */ - MARTe::TypeDescriptor signalTypeDescriptor; - - /** - * Compute the random value - */ - template - void GetValue(); - -}; - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ -template -void RandomDataSource::GetValue() { - *(reinterpret_cast(&signalPtr[0u])) = static_cast(rand_r(&seed)); -} - -#endif /* RANDOM_DATASOURCE_H_ */ - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Doc/RTAppStates.xml b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Doc/RTAppStates.xml deleted file mode 100644 index 5a244e9..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Doc/RTAppStates.xml +++ /dev/null @@ -1 +0,0 @@ -7V1Zd+K4Ev41Oefeh/TxvjwSlpDbYRkgSfe8cBww4G5jM8ZkmV9/Je+WBMjGNg50P6RtYWup+lRVqirJN3xz/XHvaJtVz57r5g3HzD9u+NYNx0kcC/7Cgk+/QJAkv2DpGHO/iI0Lxsa/elDIBKU7Y65vUw+6tm26xiZdOLMtS5+5qTLNcez39GML20y3utGWOlYwnmkmXvpizN2VX6pwUlze1Y3lKmyZlVT/l1dt9nvp2DsraO+G4xfeP//ntRbWFQx0u9Lm9nuiiG/f8E3Htl3/av3R1E1I2pBs/nudPb9G/XZ0y6V5YbP6+/bVXm9s9y9xvdD+ni6Vx1tV9qt508xdQJAXzXDHrmbNXz+DjrufIbG84eqwQuaGv3tfGa4+3mgz+Os7QAcoW7lrE9yx4BLvYNDnN91x9Y9EUdDhe91e664DmmWCXzmV918JwRXQ8j3mFBvSd5XgUvicFoBjGdUcEwhcBDTKQi8Fo4k+B3gKbm3HXdlL29LMdlx6l6ZagkL6h+H+gMXfxODuZ+KX1kfwhnfzGdz80l33M5hG2s61QVHc6qNtb45Rf2vvnJlOgQlXc5a6S/EgpMBBbjq6qbnGW3rGFc4blgnxFYN5sFiYhqXXDsiccm4kswyHUatlbLVXE5Dl7ORiakctgSgoh7qzNtzz0wuTk+cnmIgRbOgAVQoEgbWsHcFE7vwEk4gIG+navH6KWDq7JmYZFaMXrputeQPaiOBuZmrbrTFDFLAFuuJrYFkM73+GahfexErYuwu1cKS5E3o7rGOv6q5AJUdS/ahOTjBOJPAtLKNW3UELQ9sAg4txo6QlOSsiePCHHryVtF6RipB6ZAmpx6cMVg/gvvaZeGwDH9ju7y/LIu2kbGpw4VcYwzai6AlIZnFNPHxsTsftx3ZzAsphESwN7ZsEwMH0ddOQ3rqO/Vtv2qbtgBLLtqAFujBMEynSTGNpwXkBwKiD8jsoDAywLmoEP6yN+dwzX0nSJS1/ChAwCH9pxTFXmnhh+SLFS0q2fONEWvESPBpKmJLESyQ1ijP5qxEvPIOIFzaneGEFBH9oRQXJFzHdjFiJeMEtsfxIZtNIpgZySk+WpSajFeDX05Mqgj9Uv9ECmRPZb2K6KpkOysXhDTdks+ONiBvuMHD2WnPsEZSegjjhiyIOtXQEFCbUolNCKkJ1ckmmmcBWIjxxB+kNJ5nQ6Jobb+ByCS97zeF42mhOpqO7pL3Gh4+CthNPEypo9FvUz3qNNZ9Go2lv0AeF2hpaZNbrduM9z0RFQQVQR2bvxqsTFt4fGVz85P7X4+4e6B6xoqN97nRB/YOnyaCPdJAthfpec712A5LkgXI4+yq/VGOeR8wclWDNizwu2lilPHOeweYxeY3FXC5bWIQtnCzgfKl4lYU7ca6eLTytt7s8tnD4bMlvwmUIbiUsuEzuuPwGXAbPGlsr+w1ZsEp5zTdk4SFRWm+FGVhcEX6WLwG1LKtToc5Yk/M6cRGsyUzVWMODeE1onT6Mp6Onfv+hf4/YjxesdXgxHdGJbLak1pGq1TpFOKq+iCgQqUWB9EcUlCEKinRS1Rxr9C4qsVZY49MYUficWENjh+gqs3Ss4T6k61vkoMw8/xpHKVACJOZ/iWkAdbMLo9BCFM7KG7VAVyElhffRxDKBZw73iyP3q1yfM0fKbMEckcNRezjtDVptRIKU4POE0mrYHvUe0GyEa3d0IrAlZpHxB+Zf8VItbC0HdjLw8w+aqliSCaQlWcVwwlOq7382pgA/3XZjMp089FDxcy3MEUlBjWrXyzyHMQdmjHafYZwN4UPVCaOSnM5CkFlKg6+8hFEe9zR2nxvOug75yCi5RFEO0zjOSDDcXeYRTJ83tp/WrHZEq0HWO4+7sLrPD9YvfeYatlUXsgkpstVgdwWPe2NGnUG/LvRKw4wlWXkV0wv3KHSfJ3AviqW559/txKJ5jnWQ/vhyvw2W9s75icWrKpKyJzL82clFtQZtWHAgY9cDHZWxXgPqctLZqStQrdJSO3G/CnVl5fzUxRctGKXK9e2nPPuJZNQSnPuB5jzu3A9XCzXxHaKBJBWBQ95AEgqrgjyH6PIvbKdcT6CAr/DyIznlo6ZNpc6Y738CkkN8fr09KClgKHkTcUSkIqEkJIvozEPPjTjyfCUucKGIzZ1EEX54D9W+8GyJOwiocR85MGoCfAQXCuroyivBq96vIpKMsQvFGk+NtXpFGi8Ga6WZpvXDGnXaCV+vtJOLwVqRxmPNsUadTsfXOp3u62KtyD3GGVPj8izVT8GaSo01pVZYYwUGddYI4SkHmTd98jzmtBSRukrHHGlr5oViTqHFXChQ6oI5EYWJKueEHIehV+WqRhwpZRBz294Nx9NRu9H6eVP6ZtTGwaauOJNGUlJIkRRCML3aTBqJtMok5kZhDN2b1Hep7BMFhH2kXBuWwL7ycm0k3MCB83z84u9pPzD3BiO8rNd9Bi/7iTqply+VozIvI8Kb5wlTMjyqpqIpSXW2A5ySe5h8LfNR5tO8I53+p1Y7Hak0cYM8ySrJcr2ja5t4ZIa3O+Rnv7k3u/t6NbuMrJgFiaAaSJq9vKMlFNzPApOXxnXIXWIZnv9Wu/QlBU8s3DN7Uf2aYQacPHv3tl1oS2RTgDBOoqRAJBz9i3cUL16bbGFZxI3Gc7RJuJEHsoTJQtqpSpwsnce8Oyqw6khGa6bJU5e++NNr8JxvLX5Sb4Kmm2dreh8PSm77YTx9mDzmazluhmob0b52rliGCZKCrrRos0k5dPtmgUKMaqk1ao/bkyJFB1H10b+Nz6GC7I9ihOr5OkOSqqf05rQOkgTtuXtTIKtO7A4ujs+HG4LM/mN3kmR2FEw7KrPL87EouI8F94Vd8I5PFT03hLC9TCnJ6/X99w/7+z/P7R9dcdnXh9Pb5WJ3i+cOBdvx6upqqHRDHpFkuGsGo1PeEPGxdJYwRBwGhRMJ1KWEiAmpfYdQVJMA8ZkTYDIfQs2gHw6SFQSkp6VDE1lGcpdVjOIsCWBUKD6EzSSG31dPzd1o9P2p9/z4Igxb2r30XjMMSyyCYS4fhlk2XZEsIxUVl99ApD4e4iS5YGmDGJThUeK7VxcfZVkG/W4DKxO9j6QQqVqA85GICNwCrB0i6AJq8Xk3+HH5V2DKolEzNvxI7zFksYxSErSO7C9mQgqC0n928Bu5dwEto/ukm6aYKG+WRqlCPBkqLCNeXKQ/tBwhRx2+RbeHFreowvOyYPR26OhDx8boUvWiSkFO2Ks0eEumV4mZ3nVbUhF2FRzEUE3sUQVxXPB5j2VUkS2pWC5WQasqtJ2ww6Uuqgifqbpg4+aCbWcVNW5kSrO5POOG+NWorEKywK1Xx7YznCIk6Q+gqNe+fRbgBD0ZJvfnI3nk42Qi5RnTWSUlmol55PxarF98FYK1tIOV63dmBfXXY2p2+oqqovnY2BeVqbHPCFhdlF9PzYG4301d1ExnKz++3LblvvHGqi1CYCTUkis21JLkw5Ti38PCTfTCSrdApd7aagIU7x3ck2FsfV0KY81bHVIh+vTfeOgX3ycLGNAg+Ot9NK7xNBnAqkYwMuzasKJvUEUfWqNt0LK4w4PFwjQsPfNgwu0lfs9gCfwGimd6gCkQjcvvYHKk3qdS/A/teUOLhrC/t1EB/Io9BLf2pi9sZw2puHDsNfhvtoXrZGBlwKaNBWxn/Dx9HDRaIblB6wcbSfN4CE/Bc+moUk2vWsZWezWBxUPVpz6kqr2hqxqsUrs6kAPwBFOaytvAqoJCBs5PxhvvbjP3Dm9j8GN9Ief9vWwd/6aRvPFwPxnd+592HLcnCfTjxd4E8N71YROSHFyC9jVPoHm8COgPKZ+B6ZCRlNM6E33j43RpqgbixfGmjrGGHh7mPxtzNgHX/4UDjiegN9UyYig+qJamI5OdAxuzrYCDwcoi6EPQK5/ms5W+TTw1bU3oJnSyiQZVEw3KJpBBR4fNZh14alF1oF/+c3nGnVjyHSEtfIq6CTDsUa+dFDQJcQxaCoQSbM9d+Y/AAxijyrMqklQSQS6cOwvbQoA+6vg4n9nrta9pxq2+Z2bNfnsD8jru6DMdGDHz7LQncTfsRmnsJTaQmb/o1KFoo1E1ho4hJjrS+Irm5WG+7RN5Gdn20P9fuzl5SOmIcqd/4qDlLKxcLFJkaKbp7k/5FKu3/imxDFyzZezsJtnXkjCddPpflymVjbVNhK/haAIu+4xPGB3edCHy/pycpld2TyFX/UFHTIvZkJ2FGBSGAUMDWZJgaaFas4OyNmwQlsD7jnfR6aQVN3Q6H+tCxol8JVBLHcpe+OokOL88s9RGaXqH3cX0b2DUD5CTJjYMBFBjobBAxBaAEi6K+JYY300A+fjWLbcvQGsDwb0wPdfjypjPAf5LiEnsO9044d2TSAdYsEoRge623mkI/7x2P5vfe389q4v2y2vvNtsHLwMKnxiPoHKtfoWQKhZjyhspwEOdZXlKiSDIFpeqEASHt9bXBAUssy8dI7vTXBUqwgExgZbAdkDicXBrO+7KXtqWZrbjUkRInumQyF+6636OjX9hN7UdUNRAoEe9fbQ92R/n3iC4OYrCQ8nGx2M8PlpxcFKjjla+H+om+ctDRe0QwTQggaRZdohw4VEQVeQzEcmGfxTsys51OpGlqpSWY2FItIRjncCtY8OkyVgSgmGtevZch0/8Hw== \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Doc/StateMachine.txt b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Doc/StateMachine.txt deleted file mode 100644 index 1254477..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Doc/StateMachine.txt +++ /dev/null @@ -1,463 +0,0 @@ -********** -* EXAMLE * -********** - -State1 // RT application state name -========== -1. // Numbered GAMs in order of execution -if (signal_A == 1) // Execution function of the GAM -{ - set signal_B = 3 - change state to State2 -} ----------- - - - -***************** -* RT APP STATES * -***************** - -WaitStandby -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 0) //If a Gyrotron is not selected by PLC. -{ - change state to Disabled -} ----------- -2. // DONE -if (EC-GN-P01-GPF:PLC4110-YTS-ST1R == 1) //If STANDBY signal come from PLC, start Coil&Fil PSs. -{ - // TODO should these signals be set only once every time this state is entered? - set signal EC-GN-P01-GAF-MCPS:PSU2120-ACT-SP = 1 - set signal EC-GN-P01-GAF-GCPS:PSU2130-ACT-SP = 1 - set signal EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START = 1 -} ----------- -3. // DONE -if (EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB == 1 - AND - EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON > 0 - AND - EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB == 1 - AND - EC-GN-P01-GAF-FHPS:PSU2610-CURR-RB > 0) -{ - change state to Offline -} ----------- - - - -Disabled -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 1) -{ - change state to WaitStandby -} ----------- - - - -Offline -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 0) //If Gyrotron selection is turned off. -{ - change state to Disabled -} ----------- -2. // DONE -// If READY signal come from PLC is equal 1, app starts CCPS. -if (EC-GN-P01-GPF:PLC4110-YTS-ST2R == 1 - AND - EC-GN-P01-GAF-CCPS:PLC4110-YON-CCPS1 == 1) -{ - // TODO should this signal be set only once every time this state is entered? - set signal EC-GN-P01-GAF-CCPS:PSU2320-OUTON-SP = 1 -} ----------- -3. // DONE (with a temporary signal that needs to be changed when the record is added) -// TODO: Do we also have to check, that GAM 2. executed? So do we also have to check that EC-GN-P01-GPF:PLC4110-YTS-ST2R == 1? -if (EC-GN-P01-GAF-CCPS:PSU2320-STAT == 1) // TODO: there is no signal named EC-GN-P01-GAF-CCPS:PSU2320-STAT - // MEMO: I need add this record to check whether CCPS in running or stop. -{ - change state to WaitPermit -} ----------- -4. // DONE -// Wait CSV-LOAD trigger. When the app detect it, save data into the app. -if (EC-GN-P01-GAF:STAT-CSV-LOAD == 1) -{ - open csv file (file name: EC-GN-P01-GAF:STAT-CSV-NAME) - load time series data into memory - write data into EPICS waveform PSs.(EC-GN-P01-???:STAT-PREP-WF) // TODO do we realy write first data here or do we wait for PreHeating? - set signal EC-GN-P01-GAF:STAT-CSV-LOADED = 1 // TODO do we write 1 here? - If there is error, write EC-GN-P01-GAF:STAT-CSV-ERROR. // TODO there is no signal named EC-GN-P01-GAF:STAT-CSV-ERROR -} - - -WaitPermit -========== -1. // DONE -if (EC-GN-P01-GAF:PLC4110-CON-OPGY1 == 0) //If Gyrotron is un-selected. -{ - change state to Disabled -} ----------- -2. // DONE -if (EC-GN-P01-GAF:STAT-PREP-MODE == 1 - AND - EC-GN-P01-GAF:PLC4110-CON-GY1PRM == 1) -{ - change state to PreHeating -} ----------- -3. // DONE -if (EC-GN-P01-GAF:STAT-PREP-MODE == 0 - AND - EC-GN-P01-GAF:PLC4110-CON-GY1PRM == 1) -{ - change state to WaitReady -} ----------- -4. // DONE -if (EC-GN-P01-GAF:STAT-CSV-LOAD == 1) -{ - open csv file (file name: EC-GN-P01-GAF:STAT-CSV-NAME) - load time series data into memory - write data into EPICS waveform PSs.(EC-GN-P01-???:STAT-PREP-WF) - set signal EC-GN-P01-GAF:STAT-CSV-LOADED = 1 - If there is error, write EC-GN-P01-GAF:STAT-CSV-ERROR. -} - -PreHeating -========== -1. // DONE -every 10 ms do -{ - else - { - // TODO do we use float32 for the type of waveform signals? - // TODO is this the right order of columns? Time point is in column 1. - // TODO on what signal do we write time? - set signal EC-GN-P01-PB1F:PSU1000-EREF = setpoint column 2 - set signal EC-GN-P01-PA1F:PSU3000-EREF = setpoint column 3 // TODO there are two EC-GN-P01-PA1F:PSU3000-EREF signals. One ending with -P and one with -N. - set signal EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET = setpoint column 4 - set signal EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET = setpoint column 5 - set signal EC-GN-P01-GAF-FHPS:PSU2320-EREF = setpoint column 6 - } -} ----------- -2. // DONE -if (time == 0) -{ - change state to WaitReady -} ----------- - - -WaitReady -========== -1. // DONE -if (EC-GN-P01-PB1F:PSU1000-YSTA == 1 - AND - EC-GN-P01-PA1F:PSU3000-YSTA == 1) -{ - change state to WaitHVON -} ----------- - - -WaitHVON -========== -1. // DONE -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 1)// Check ON signal from PLC. This signal come when PLC check the operation operation possible conditions. -{ - change state to HVArming -} ----------- -2. // DONE -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 1) -{ - start HVON timer -} ----------- - - - -HVArming //HVArming is a state to startup HV generation in APS and BPS. -========== -1. -at specified time // TODO: Where do I get this specified time? And is it a countdown time or what? - // MEMO: Time is specified by PVs (EC-GN-P01-PB1F:STAT-DT-HVON). When app detect HVON from PLC, it is t=0. -{ - set signal EC-GN-P01-PB1F:PSU1000-CON-HV = 1 -} ----------- -2. -at specified time // TODO: Where do I get this specified time? And is it a countdown time or what? - // MEMO: Time is specified by PVs (EC-GN-P01-PA1F:STAT-DT-HVON) -{ - set signal EC-GN-P01-PA1F:PSU3000-CON-HV = 1 -} ----------- -3. -if (EC-GN-P01-PB1F:PSU1000-CON-HV == 1 - AND - EC-GN-P01-PA1F:PSU3000-CON-HV == 1 - AND - EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 0) // MEMO: Both HV PVs are 1. i.e.Both PSs are charged HV. and is in async mode. -{ - change state to HVArmed -} ----------- -4. -if (EC-GN-P01-PB1F:PSU1000-CON-HV == 1 - AND - EC-GN-P01-PA1F:PSU3000-CON-HV == 1 - AND - EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 1) // MEMO: HVPS HVs are ON and is in SYNC mode. -{ - Change state to HVArmedESDN -} ----------- -5. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED - - -HVArmed -========== -1. -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 0) // TODO: when do we go from HVArmed to Offline? - // MEMO: move to Offline when ON signal from PLC is turned off. -{ - change state to Offline -} ----------- -2. -// TODO: "(Entry) Write EC-GN-P01-GAF:PCF4210-YTS-GA1" What does Entry mean? Does it mean to do something -// only on the first cycle when we enter this state? What do I write to signal EC-GN-P01-GAF:PCF4210-YTS-GA1? -// MEMO: EC-GN-P01-GAF:PCF4210-YTS-GA1 is a PV that fast controller notifies Gyrotron operation state to PLC. -// When enter the HVArmed state, App writes 1 to this EPICS PV. ----------- -3. -if (EC-GN-P01-PB1F:PSU1000-CON-SW == 1) // TODO: when do we go from HVArmed to HVInjectionBPS? - // MEMO: If MHVPS HV is turned ON first, goto this state. -{ - change state to HVInjectionBPS -} ----------- -4. -if (EC-GN-P01-PMF:PSU0000-CON-SW == 1) // TODO: when do we go from HVArmed to HVInjectionMHVPS? - // MEMO: If BPS HV is turned ON first, goto this state. -{ - change state to HVInjectionMHVPS -} ----------- -5. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -6. -if (EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 1) //When SYNC mode turned ON. -{ - change state to HVArmedESDN -} ----------- - -HVArmedESDN // Start ESDN command, waveform subscription. -========== -1. -if (EC-GN-P01-GPF:PLC4110-YTS-ST3R == 0) -{ - change state to Offline -} ----------- -2. -if (EC-GN-P01-PB1F:PSU1000-CON-SW == 1) -{ - change state to HVInjectionBPSESDN -} ----------- -3. -if (EC-GN-P01-PMF:PSU0000-CON-SW == 1) -{ - change state to HVInjectionMHVPSESDN -} ----------- -4. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -6. -if (EC-GN-P01-GPF::PLC4110-YSTA-MPSS == 0) //When SYNC mode turned ON. -{ - change state to HVArmed -} ----------- - -HVInjectionBPS -========== -HVInjectionMHVPS -========== -1. -// MEMO: Write Gyrotron state PV (HVInjection) to notify PLC. -Write 1 to EC-GN-P01-GAF:PCF4210-YTS-GA2. ----------- -// TODO: Following questions/states are for ALL of the above states -2. (Exist in HVInjection BPS) -set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 1 // TODO when do we set this signal -// MEMO: Countdown time for EC-GN-P01-PA1F:STAT-DT-SWON ----------- -2. (Exist in HVInjection MHVPS) -set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 1 // TODO when do we set this signal -// MEMO: Countdown time for EC-GN-P01-PB1F:STAT-DT-SWON ----------- -3. -set signal EC-GN-P01-PMF:PSU0000-CON-SW = 1 // TODO when do we set this signal -// MEMO: Countdown time for EC-GN-P01-PMF:STAT-DT-SWON ----------- -4. -// TODO when to switch to RFON? -// MEMO: Go to RFON state when All switch PVs are 1. and the mode is async. -if (EC-GN-P01-PA1F:PSU3000-CON-SW == 1 AND - EC-GN-P01-PB1F:PSU1000-CON-SW == 1 AND - EC-GN-P01-PMF:PSU0000-CON-SW == 1) -{ - change state to RFON -} ----------- -5. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- - -HVInjectionESDN -========== -1. -// MEMO: Write Gyrotron state PV (HVInjection) to notify PLC. -Write 1 to EC-GN-P01-GAF:PCF4210-YTS-GA2. ----------- -2. -set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 1 -// Write 1 when ESDN command give a command. ----------- -3. -set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 1 -// Write 1 when ESDN command give a command. ----------- -4. -set signal EC-GN-P01-PMF:PSU0000-CON-SW = 1 -// Write 1 when ESDN command give a command. ----------- -5. -// TODO when to switch to RFONESDN? -// MEMO: Go to RFON state when All switch PVs are 1. and the mode is sync.i,e. change from HVInjectionxxxESDN -if (EC-GN-P01-PA1F:PSU3000-CON-SW == 1 AND - EC-GN-P01-PB1F:PSU1000-CON-SW == 1 AND - EC-GN-P01-PMF:PSU0000-CON-SW == 1) -{ - change state to RFONESDN -} ----------- - -RFON -========== -// TODO is this correct? -1. -// This only executes on the last cycle before we move to HVArmed -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= EC-GN-P01-GAF:STAT-DT-SHOTLEN) -{ - set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 0 - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 0 -} ----------- -2. -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= EC-GN-P01-GAF:STAT-DT-SHOTLEN) -{ - change state to HVArmed -} ----------- -3. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -4. -When enter the state beam-on timer is set to 0. -count up beam-on time. write the time into EC-GN-P01-GAF:STAT-BEAMON-TIME ----------- - - - -RFONESDN -========== -// TODO is this correct? -// MEMO: In the ESDN sync mode, HVPS turned off by ESDN packet. -// In both mode, there is mode_limit which is given by (EC-GN-P01-GPF:PLC4110-YTS-MD1,2,3,4). -1. -// This only executes on the last cycle before we move to HVArmed -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= t_mode_limit) // TODO: where do I get t_mode_limit? -{ - set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 0 - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 0 -} ----------- -2. -if (EC-GN-P01-GAF:STAT-BEAMON-TIME >= t_mode_limit) // TODO: where do I get t_mode_limit? -{ - change state to HVArmedESDN -} ----------- -3. -Subscribe ESDN commands. When GAM detect Beam-off command. It turn all HVPS SW OFF. -And change state to HVArmedESDN ----------- -4. - count up elapsed time (time from HVON detection) - Write time to EC-GN-P01-GAF:STAT-ELAPSED ----------- -5. -When enter the state beam-on timer is set to 0. -count up beam-on time. write the time into EC-GN-P01-GAF:STAT-BEAMON-TIME ----------- - - -Error -========== -1. -// Only execute on the first cycle after entering this state -if (first) -{ - set first = false - - set signal EC-GN-P01-PA1F:PUS3000-CON-HV = 0 // TODO: there is no signal named EC-GN-P01-PA1F:PUS3000-CON-HV - set signal EC-GN-P01-PA1F:PSU3000-CON-SW = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-HV = 0 - set signal EC-GN-P01-PB1F:PSU1000-CON-SW = 0 - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 0 - // MEMO: PA2F and PB2F are component type for gyrotron B. I will remove following action. - set signal EC-GN-P01-PA2F:PUS4000-CON-HV = 0 // TODO: there is no signal named EC-GN-P01-PA2F:PUS4000-CON-HV - set signal EC-GN-P01-PA2F:PSU4000-CON-SW = 0 // TODO: signal EC-GN-P01-PA2F:PSU4000-CON-SW missing in configuration file - set signal EC-GN-P01-PB2F:PSU2000-CON-HV = 0 // TODO: signal EC-GN-P01-PB2F:PSU2000-CON-HV missing in configuration file - set signal EC-GN-P01-PB2F:PSU2000-CON-SW = 0 // TODO: signal EC-GN-P01-PB2F:PSU2000-CON-SW missing in configuration file - - set signal EC-GN-P01-PMF:PSU0000-CON-SW = 1 - set signal EC-GN-P01-PA1F:PSU3000-CTRP = 1 - set signal EC-GN-P01-PB1F:PSU1000-CTRP = 1 - // MEMO: PA2F and PB2F are component type for gyrotron B. I will remove following action. - set signal EC-GN-P01-PA2F:PSU4000-CTRP = 1 // TODO: signal EC-GN-P01-PA2F:PSU4000-CTRP missing in configuration file - set signal EC-GN-P01-PB2F:PSU1000-CTRP = 1 // TODO: there is no signal named EC-GN-P01-PB2F:PSU1000-CTRP -} ----------- -2. -if (EC-GN-P01-GPF:STAT-RST-FLT == 1 && ) // TODO: when do we go to Offline state? -{ - change state to Offline -} ----------- diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.cpp deleted file mode 100644 index dd322b8..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/** - * @file JABitReverseGAM.cpp - * @brief Source file for class JABitReverseGAM - * @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 JABitReverseGAM (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 "JABitReverseGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JABitReverseGAM::JABitReverseGAM() { - //Input signals. - input1 = NULL_PTR(MARTe::uint8 *); - - //Output signals. - output1= NULL_PTR(MARTe::uint8 *); -} - -JABitReverseGAM::~JABitReverseGAM() { -} - -bool JABitReverseGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - return ok; -} - -bool JABitReverseGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JABitReverseGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 1u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One input signals shall be defined"); - } - // Do type check for input signals. - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - ok = ((inputType == UnsignedInteger8Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger8Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - } - } - // Do type cast. - if (ok) { - input1 = reinterpret_cast(GetInputSignalMemory(0)); - - output1 = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JABitReverseGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - *output1 = ~(*input1); - return true; -} - -CLASS_REGISTER(JABitReverseGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.h deleted file mode 100644 index 1d2bbcf..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/JABitReverseGAM.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @file JABitReverseGAM.h - * @brief Header file for class JABitReverseGAM - * @date Mar 18, 2020 - * @author kuchida - * - * @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 JABitReverseGAM - * 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_JABitReverseGAM_H_ -#define GAMS_JABitReverseGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JABitReverseGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JABitReverseGAM(); - - virtual ~JABitReverseGAM(); - - 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 - - // Input signals - MARTe::uint8 *input1; - - // Output signals - MARTe::uint8 *output1; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JABitReverseGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.inc deleted file mode 100644 index e764f01..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitReverseGAM/Makefile.inc +++ /dev/null @@ -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=JABitReverseGAM.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)/JABitReverseGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitReverseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.cpp deleted file mode 100644 index 7c75cd1..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @file JABitSumGAM.cpp - * @brief Source file for class JABitSumGAM - * @date Feb 10, 2020 - * @author kuchida - * - * @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 JABitSumGAM (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 "JABitSumGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JABitSumGAM::JABitSumGAM() { - //Input signals. - input0 = NULL_PTR(MARTe::uint32 *); - input1 = NULL_PTR(MARTe::uint32 *); - input2 = NULL_PTR(MARTe::uint32 *); - input3 = NULL_PTR(MARTe::uint32 *); - input4 = NULL_PTR(MARTe::uint32 *); - input5 = NULL_PTR(MARTe::uint32 *); - input6 = NULL_PTR(MARTe::uint32 *); - input7 = NULL_PTR(MARTe::uint32 *); - - //Output signals. - output= NULL_PTR(MARTe::uint8 *); -} - -JABitSumGAM::~JABitSumGAM() { -} - -bool JABitSumGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (!ok){ - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "ParametersError in init."); - } - return ok; -} - -bool JABitSumGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JABitSumGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 8u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "One output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Eight input signals shall be defined"); - } - // Do type check for input signals. - 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()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = (outputType == UnsignedInteger8Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint8.", signalName.Buffer()); - } - } - } - // Do type cast. - if (ok) { - input0 = reinterpret_cast(GetInputSignalMemory(0)); - input1 = reinterpret_cast(GetInputSignalMemory(1)); - input2 = reinterpret_cast(GetInputSignalMemory(2)); - input3 = reinterpret_cast(GetInputSignalMemory(3)); - input4 = reinterpret_cast(GetInputSignalMemory(4)); - input5 = reinterpret_cast(GetInputSignalMemory(5)); - input6 = reinterpret_cast(GetInputSignalMemory(6)); - input7 = reinterpret_cast(GetInputSignalMemory(7)); - - output = reinterpret_cast(GetOutputSignalMemory(0)); - } - - return ok; -} - -bool JABitSumGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - *output = *input0 + *input1*2 + *input2*4 + *input3*8 + *input4*16 + - *input5*32 + *input6*64 + *input7*128; - - return true; -} - -CLASS_REGISTER(JABitSumGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.h deleted file mode 100644 index 462f62b..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/JABitSumGAM.h +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @file JABitSumGAM.h - * @brief Header file for class JABitSumGAM - * @date Feb 10, 2020 - * @author kuchida - * - * @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 JABitSumGAM - * 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_JABitSumGAM_H_ -#define GAMS_JABitSumGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "stdio.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JABitSumGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JABitSumGAM(); - - virtual ~JABitSumGAM(); - - 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: - // Input signals - MARTe::uint32 *input0; - MARTe::uint32 *input1; - MARTe::uint32 *input2; - MARTe::uint32 *input3; - MARTe::uint32 *input4; - MARTe::uint32 *input5; - MARTe::uint32 *input6; - MARTe::uint32 *input7; - - // Output signals - MARTe::uint8 *output; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JABitSumGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.inc deleted file mode 100644 index 42b3063..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JABitSumGAM/Makefile.inc +++ /dev/null @@ -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=JABitSumGAM.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)/JABitSumGAM$(LIBEXT) \ - $(BUILD_DIR)/JABitSumGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp deleted file mode 100644 index 99ba1f5..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.cpp +++ /dev/null @@ -1,309 +0,0 @@ -/** - * @file JAConditionalSignalUpdateGAM.cpp - * @brief Source file for class JAConditionalSignalUpdateGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAConditionalSignalUpdateGAM (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 "JAConditionalSignalUpdateGAM.h" -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAConditionalSignalUpdateGAM::JAConditionalSignalUpdateGAM() { - inputSignals = NULL_PTR(void **); - inputSignalTypes = NULL_PTR(MARTe::TypeDescriptor *); - values = NULL_PTR(MARTe::uint32 *); - valuesCount = 0u; - outputSignals = NULL_PTR(MARTe::uint32 **); - defaultValues = NULL_PTR(MARTe::uint32 **); - needsReset = false; - expectedValues = NULL_PTR(MARTe::uint32 *); - expectedValuesCount = 0u; - operation = And; - comparators = NULL_PTR(ComparisonMode *); -} - -JAConditionalSignalUpdateGAM::~JAConditionalSignalUpdateGAM() { - if (outputSignals != NULL_PTR(MARTe::uint32 **)) { - delete[] outputSignals; - } - if (inputSignals != NULL_PTR(void **)) { - delete[] inputSignals; - } - if (inputSignalTypes != NULL_PTR(MARTe::TypeDescriptor *)) { - delete[] inputSignalTypes; - } - if (values != NULL_PTR(MARTe::uint32 *)) { - delete[] values; - } - if (comparators != NULL_PTR(ComparisonMode *)) { - delete[] comparators; - } - if (defaultValues != NULL_PTR(MARTe::uint32 **)) { - delete[] defaultValues; - } -} - -bool JAConditionalSignalUpdateGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - // Read expected values. - AnyType valuesArray = data.GetType("ExpectedValues"); - - if (valuesArray.GetDataPointer() != NULL) { - expectedValuesCount = valuesArray.GetNumberOfElements(0u); - - expectedValues = new uint32[expectedValuesCount]; - - Vector valuesVector(expectedValues, expectedValuesCount); - ok = (data.Read("ExpectedValues", valuesVector)); - } - } - if (ok) { - // Read comparators. - AnyType comparatorsArray = data.GetType("Comparators"); - if (comparatorsArray.GetDataPointer() != NULL) { - uint32 count; - if (ok) { - count = comparatorsArray.GetNumberOfElements(0u); - ok = count == expectedValuesCount; - } - if (ok) { - comparators = new ComparisonMode[count]; - StreamString* comp = new StreamString[count]; - Vector compVector(comp, count); - - ok = (data.Read("Comparators", compVector)); - - if (ok) { - for (uint32 i = 0; i < count; ++i) { - if (comp[i] == "EQUALS") { - comparators[i] = Equals; - } else if (comp[i] == "NOT") { - comparators[i] = Not; - } else if (comp[i] == "GREATER") { - comparators[i] = Greater; - } else if (comp[i] == "EQUALS_OR_GREATER") { - comparators[i] = EqualsOrGreater; - } else if (comp[i] == "LESS") { - comparators[i] = Less; - } else if (comp[i] == "EQUALS_OR_LESS") { - comparators[i] = EqualsOrLess; - } else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Comparator %s is not defined.", comp[i].Buffer()); - } - } - } - delete[] comp; - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } else { - // Create default comparators (equals) when they aren't provided in the configuration. - comparators = new ComparisonMode[expectedValuesCount]; - for (uint32 i = 0; i < expectedValuesCount; ++i) { - comparators[i] = Equals; - } - } - } - if (ok) { - MARTe::StreamString operationStr; - if (data.Read("Operation", operationStr)) { - if (operationStr == "AND") { - operation = And; - } - else if (operationStr == "OR") { - operation = Or; - } - else if (operationStr == "NOR") { - operation = Nor; - } - else if (operationStr == "XOR") { - operation = Xor; - } - else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Operation %s is not defined", operationStr.Buffer()); - } - } - } - if (ok) { - // Read output signal values to be set. - AnyType valuesArray = data.GetType("Values"); - ok = (valuesArray.GetDataPointer() != NULL); - - if (ok) { - valuesCount = valuesArray.GetNumberOfElements(0u); - ok = valuesCount > 0u; - } - if (ok) { - values = new uint32[valuesCount]; - - Vector valuesVector(values, valuesCount); - ok = (data.Read("Values", valuesVector)); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Values shall be defined."); - } - } - return ok; -} - -bool JAConditionalSignalUpdateGAM::Setup() { - using namespace MARTe; - bool ok = numberOfInputSignals == (expectedValuesCount + numberOfOutputSignals); - if (ok) { - inputSignals = new void*[expectedValuesCount]; - defaultValues = new uint32*[numberOfOutputSignals]; - uint32 i; - for (i = 0u; i < expectedValuesCount; i++) { - inputSignals[i] = GetInputSignalMemory(i); - } - for (; i < numberOfInputSignals; i++) { - defaultValues[i - expectedValuesCount] = reinterpret_cast(GetInputSignalMemory(i)); - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be equal to number " - "of expected values plus number of output signals."); - } - if (ok) { - inputSignalTypes = new TypeDescriptor[expectedValuesCount]; - uint32 i; - for (i = 0u; (i < expectedValuesCount) && (ok); i++) { - inputSignalTypes[i] = GetSignalType(InputSignals, i); - ok = ((inputSignalTypes[i] == UnsignedInteger32Bit) || (inputSignalTypes[i] == UnsignedInteger16Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint16", signalName.Buffer()); - } - } - } - if (ok) { - ok = numberOfOutputSignals == valuesCount; - if (ok) { - ok = numberOfOutputSignals > 0u; - if (ok) { - outputSignals = new uint32*[numberOfOutputSignals]; - uint32 i; - for (i = 0u; i < numberOfOutputSignals; i++) { - outputSignals[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one output signal shall be defined"); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of output signals shall be the same as " - "number of provided values."); - } - } - - return ok; -} - -bool JAConditionalSignalUpdateGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - needsReset = false; - return true; -} - -bool JAConditionalSignalUpdateGAM::Execute() { - if (!needsReset) { - bool eventDetected = expectedValuesCount == 0; - if (!eventDetected) { - if (operation == Or) { - MARTe::uint32 j; - for (j = 0; (j < expectedValuesCount) && (!eventDetected); j++) { - eventDetected = Compare(j); - } - } - else if (operation == Nor) { - MARTe::uint32 j; - for (j = 0; (j < expectedValuesCount) && (!eventDetected); j++) { - eventDetected = Compare(j); - } - eventDetected = !eventDetected; - } - else if (operation == And) { - MARTe::uint32 j; - eventDetected = Compare(0); - for (j = 1; (j < expectedValuesCount); j++) { - eventDetected &= Compare(j); - } - } - else if (operation == Xor) { - MARTe::uint32 j; - MARTe::uint32 eventDetectedUint32; - if (inputSignalTypes[0] == MARTe::UnsignedInteger32Bit) { - eventDetectedUint32 = *static_cast(inputSignals[0]); - } - else { - eventDetectedUint32 = *static_cast(inputSignals[0]); - } - for (j = 1; (j < expectedValuesCount); j++) { - eventDetectedUint32 ^= Compare(j); - } - eventDetected = (eventDetectedUint32 == 1u); - } - } - if (eventDetected) { - needsReset = true; - MARTe::uint32 i; - for (i = 0u; i < numberOfOutputSignals; ++i) { - *outputSignals[i] = values[i]; - MARTe::StreamString signalName; - (void) GetSignalName(MARTe::OutputSignals, i, signalName); - } - } - else { - MARTe::uint32 i; - for (i = 0u; i < numberOfOutputSignals; ++i) { - *outputSignals[i] = *defaultValues[i]; - } - } - } - return true; -} - -bool JAConditionalSignalUpdateGAM::Compare(MARTe::uint32 index) { - if (inputSignalTypes[index] == MARTe::UnsignedInteger32Bit) { - return Compare(index); - } - return Compare(index); -} - -CLASS_REGISTER(JAConditionalSignalUpdateGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h deleted file mode 100644 index 2cf5c5d..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.h +++ /dev/null @@ -1,180 +0,0 @@ -/** - * @file JAConditionalSignalUpdateGAM.h - * @brief Header file for class JAConditionalSignalUpdateGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAConditionalSignalUpdateGAM - * 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_JACONDITIONALSIGNALUPDATEGAM_H_ -#define GAMS_JACONDITIONALSIGNALUPDATEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that writes predefined values to output signals when a condition is met. - * If there are no conditional signals provided, the condition is presumed to be met. - * - * +ASYNCShotlengthControlGAM = { - * Class = JAConditionalSignalUpdateGAM - * Operation = OR // Logical operation performed between conditional signals - * // Supported values: AND, OR, XOR, NOR - * // Default: AND - * ExpectedValues = {1 1} // Values to which conditional signals will be compared. - * Comparators = {EQUALS EQUALS} // Operator between conditional signal an expected value - * // Supported values: EQUALS, NOT, GREATER, EQUALS_OR_GREATER, LESS, EQUALS_OR_LESS - * // Default: EQUALS - * Values = {0 3} // Values that will be written to output signals when condition is met. - * InputSignals = { - * // Conditional Signals - * SHOTLEN_FLAG = { - * DataSource = DDB1 - * Type = uint32 - * } - * MODE_SHOTLEN_FLAG = { - * DataSource = DDB1 - * Type = uint32 - * } - * // Default values (set to output signals before the condition is met) - * APS_SWON = { // APS_SWON will keep the value from previous state. - * DataSource = DDB1 - * Type = uint32 - * } - * BPS_SWON_DEFAULT = { // BPS_SWON will be set to 7 before condition is met. - * DataSource = DDB1 - * Type = uint32 - * Default = 7 - * } - * } - * OutputSignals = { - * APS_SWON = { - * DataSource = DDB1 - * Type = uint32 - * } - * BPS_SWON = { - * DataSource = DDB1 - * Type = uint32 - * } - * } - * } - */ -class JAConditionalSignalUpdateGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAConditionalSignalUpdateGAM(); - - virtual ~JAConditionalSignalUpdateGAM(); - - 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: - /** - * @brief Does the input signal at provided index have the expected value. - * @param[in] index of the signal. - * @return true if the signal has expected value. - */ - bool Compare(MARTe::uint32 index); - - template - bool Compare(MARTe::uint32 index); - - enum OperationMode { - And, Or, Xor, Nor - }; - - enum ComparisonMode { - Equals, Not, Greater, EqualsOrGreater, Less, EqualsOrLess - }; - - // Input signals - void **inputSignals; - - MARTe::TypeDescriptor *inputSignalTypes; - - // Condition operation. - OperationMode operation; - - // Array of expected values of input signals. - MARTe::uint32* expectedValues; - - // Expected values count (must be equal to numberOfInputSignals) - MARTe::uint32 expectedValuesCount; - - // Array of comparators - ComparisonMode* comparators; - - // Values to be written on output signals when input signal has the expected value. - MARTe::uint32 *values; - - // Number of values (must be equal to numberOfOutputSignals) - MARTe::uint32 valuesCount; - - // Output signals - MARTe::uint32 **outputSignals; - - // Default values of output signals - MARTe::uint32 **defaultValues; - - // Were output signals already set and we are waiting for a state change before they are set again. - bool needsReset; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -template -bool JAConditionalSignalUpdateGAM::Compare(MARTe::uint32 index) { - switch (comparators[index]) { - case Equals: - return *static_cast(inputSignals[index]) == static_cast(expectedValues[index]); - case Not: - return *static_cast(inputSignals[index]) != static_cast(expectedValues[index]); - case Greater: - return *static_cast(inputSignals[index]) > static_cast(expectedValues[index]); - case EqualsOrGreater: - return *static_cast(inputSignals[index]) >= static_cast(expectedValues[index]); - case Less: - return *static_cast(inputSignals[index]) < static_cast(expectedValues[index]); - default: // case EqualsOrLess: - return *static_cast(inputSignals[index]) <= static_cast(expectedValues[index]); - } -} - -#endif /* GAMS_JACONDITIONALSIGNALUPDATEGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc deleted file mode 100644 index c66a7fd..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAConditionalSignalUpdateGAM/Makefile.inc +++ /dev/null @@ -1,53 +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=JAConditionalSignalUpdateGAM.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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAConditionalSignalUpdateGAM$(LIBEXT) \ - $(BUILD_DIR)/JAConditionalSignalUpdateGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.cpp deleted file mode 100644 index 50ca308..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.cpp +++ /dev/null @@ -1,347 +0,0 @@ -/** - * @file JAMessageGAM.cpp - * @brief Source file for class JAMessageGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAMessageGAM (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 "AdvancedErrorManagement.h" -#include "JAMessageGAM.h" -#include "MessageI.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -template -bool Compare(JAMessageGAM::ComparisonMode comparator, void *inputSignal, U expectedValue) { - switch (comparator) { - case JAMessageGAM::Equals: - return *static_cast(inputSignal) == expectedValue; - case JAMessageGAM::Not: - return *static_cast(inputSignal) != expectedValue; - case JAMessageGAM::Greater: - return *static_cast(inputSignal) > expectedValue; - case JAMessageGAM::EqualsOrGreater: - return *static_cast(inputSignal) >= expectedValue; - case JAMessageGAM::Less: - return *static_cast(inputSignal) < expectedValue; - default: // case EqualsOrLess: - return *static_cast(inputSignal) <= expectedValue; - } -} - -JAMessageGAM::JAMessageGAM() { - inputSignals = NULL_PTR(void **); - inputSignalTypes = NULL_PTR(MARTe::TypeDescriptor *); - operation = And; - needsReset = false; - expectedValuesInt = NULL_PTR(MARTe::uint64 *); - expectedValuesFloat = NULL_PTR(MARTe::float64 *); - intValuesCount = 0u; - floatValuesCount = 0u; - comparators = NULL_PTR(ComparisonMode *); -} - -JAMessageGAM::~JAMessageGAM() { - if (inputSignals != NULL_PTR(void **)) { - delete[] inputSignals; - } - if (inputSignalTypes != NULL_PTR(MARTe::TypeDescriptor *)) { - delete[] inputSignalTypes; - } - if (expectedValuesInt != NULL_PTR(MARTe::uint64 *)) { - delete[] expectedValuesInt; - } - if (expectedValuesFloat != NULL_PTR(MARTe::float64 *)) { - delete[] expectedValuesFloat; - } - if (comparators != NULL_PTR(ComparisonMode *)) { - delete[] comparators; - } -} - -bool JAMessageGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - // Read expected integer values. - AnyType valuesArray = data.GetType("ExpectedIntValues"); - bool intValuesProvided = (valuesArray.GetDataPointer() != NULL); - - if (intValuesProvided) { - intValuesCount = valuesArray.GetNumberOfElements(0u); - } - if (intValuesProvided) { - expectedValuesInt = new uint64[intValuesCount]; - - Vector valuesVector(expectedValuesInt, intValuesCount); - ok = (data.Read("ExpectedIntValues", valuesVector)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Failed to read ExpectedIntValues."); - return ok; - } - } - // Read expected float values. - valuesArray = data.GetType("ExpectedFloatValues"); - bool floatValuesProvided = (valuesArray.GetDataPointer() != NULL); - - if (floatValuesProvided) { - floatValuesCount = valuesArray.GetNumberOfElements(0u); - } - if (floatValuesProvided) { - expectedValuesFloat = new float64[floatValuesCount]; - - Vector valuesVector(expectedValuesFloat, floatValuesCount); - ok = (data.Read("ExpectedFloatValues", valuesVector)); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Failed to read ExpectedFloatValues."); - return ok; - } - } - - ok = (floatValuesCount + intValuesCount) > 0u; - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "ExpectedFloatValues and or ExpectedIntValues shall be defined."); - } - } - if (ok) { - // Read comparators. - AnyType comparatorsArray = data.GetType("Comparators"); - if (comparatorsArray.GetDataPointer() != NULL) { - uint32 count = comparatorsArray.GetNumberOfElements(0u); - ok = count == (intValuesCount + floatValuesCount); - if (ok) { - comparators = new ComparisonMode[count]; - StreamString* comp = new StreamString[count]; - Vector compVector(comp, count); - - ok = (data.Read("Comparators", compVector)); - - if (ok) { - for (uint32 i = 0; i < count; ++i) { - if (comp[i] == "EQUALS") { - comparators[i] = Equals; - } else if (comp[i] == "NOT") { - comparators[i] = Not; - } else if (comp[i] == "GREATER") { - comparators[i] = Greater; - } else if (comp[i] == "EQUALS_OR_GREATER") { - comparators[i] = EqualsOrGreater; - } else if (comp[i] == "LESS") { - comparators[i] = Less; - } else if (comp[i] == "EQUALS_OR_LESS") { - comparators[i] = EqualsOrLess; - } else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Comparator %s is not defined.", comp[i].Buffer()); - } - } - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } else { - uint32 count = intValuesCount + floatValuesCount; - if (ok) { - // Create default comparators (equals) when they aren't provided in the configuration. - comparators = new ComparisonMode[count]; - for (uint32 i = 0; i < count; ++i) { - comparators[i] = Equals; - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Expected values and operators shall have the same " - "number of elements."); - } - } - } - if (ok) { - MARTe::StreamString operationStr; - if (data.Read("Operation", operationStr)) { - if (operationStr == "AND") { - operation = And; - } - else if (operationStr == "OR") { - operation = Or; - } - else if (operationStr == "NOR") { - operation = Nor; - } - else if (operationStr == "XOR") { - operation = Xor; - } - else { - ok = false; - REPORT_ERROR(ErrorManagement::ParametersError, "Operation %s is not defined", operationStr.Buffer()); - } - } - } - if (ok) { - ok = (Size() == 1); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "A Message object shall be added to this container"); - } - } - if (ok) { - eventMsg = Get(0); - ok = (eventMsg.IsValid()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "A valid Message shall be added to this container"); - } - } - return ok; -} - -bool JAMessageGAM::Setup() { - using namespace MARTe; - bool ok = numberOfInputSignals == (intValuesCount + floatValuesCount); - if (ok) { - ok = numberOfInputSignals > 0u; - if (ok) { - inputSignals = new void*[numberOfInputSignals]; - uint32 i; - for (i = 0u; i < numberOfInputSignals; i++) { - inputSignals[i] = GetInputSignalMemory(i); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "At least one input signal shall be defined"); - } - } else { - REPORT_ERROR(ErrorManagement::ParametersError, "Number of input signals shall be the same as " - "number of expected values."); - } - if (ok) { - inputSignalTypes = new TypeDescriptor[numberOfInputSignals]; - uint32 i; - for (i = 0u; (i < numberOfInputSignals) && (ok); i++) { - TypeDescriptor inputType = GetSignalType(InputSignals, i); - inputSignalTypes[i] = inputType; - ok = (inputType == UnsignedInteger32Bit) || (inputType == SignedInteger32Bit) || - (inputType == UnsignedInteger16Bit) || (inputType == SignedInteger16Bit) || - (inputType == UnsignedInteger8Bit) || (inputType == SignedInteger8Bit) || - (inputType == Float64Bit) || (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as 32/16/8 bit signed/unsigned integer " - "or as 64/32 float.", signalName.Buffer()); - } - } - } - - return ok; -} - -bool JAMessageGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - needsReset = false; - return true; -} - -bool JAMessageGAM::Execute() { - using namespace MARTe; - bool ok = true; - bool eventDetected = false; - uint32 inputPortIndex = 0; - uint32 intIndex = 0; - uint32 floatIndex = 0; - if (operation == Or) { - for (inputPortIndex = 0; (inputPortIndex < numberOfInputSignals) && (!eventDetected); inputPortIndex++) { - eventDetected = Compare(inputPortIndex, floatIndex, intIndex); - } - } - else if (operation == Nor) { - for (inputPortIndex = 0; (inputPortIndex < numberOfInputSignals) && (!eventDetected); inputPortIndex++) { - eventDetected = Compare(inputPortIndex, floatIndex, intIndex); - } - eventDetected = !eventDetected; - } - else if (operation == And) { - eventDetected = Compare(0, floatIndex, intIndex); - for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals); inputPortIndex++) { - eventDetected &= Compare(inputPortIndex, floatIndex, intIndex); - } - } - else if (operation == Xor) { - uint32 eventDetectedUInt32 = Compare(inputPortIndex, floatIndex, intIndex); - for (inputPortIndex = 1; (inputPortIndex < numberOfInputSignals); inputPortIndex++) { - eventDetectedUInt32 ^= Compare(inputPortIndex, floatIndex, intIndex); - } - eventDetected = (eventDetectedUInt32 == 1u); - } - if (eventDetected) { - if (!needsReset) { - ok = (MessageI::SendMessage(eventMsg, this) == ErrorManagement::NoError); - needsReset = true; - } - } - return ok; -} - -bool JAMessageGAM::Compare(MARTe::uint32 inputPortIndex, MARTe::uint32 &floatValueIndex, MARTe::uint32 &intValueIndex) { - using namespace MARTe; - bool ret = false; - if (inputSignalTypes[inputPortIndex] == UnsignedInteger32Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger32Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == UnsignedInteger16Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger16Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == UnsignedInteger8Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == SignedInteger8Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesInt[intValueIndex]); - ++intValueIndex; - } - else if (inputSignalTypes[inputPortIndex] == Float64Bit) { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesFloat[floatValueIndex]); - ++floatValueIndex; - } - else { - ret = ::Compare(comparators[inputPortIndex], inputSignals[inputPortIndex], expectedValuesFloat[floatValueIndex]); - ++floatValueIndex; - } - return ret; -} - -CLASS_REGISTER(JAMessageGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.h deleted file mode 100644 index 0cdb315..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/JAMessageGAM.h +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @file JAMessageGAM.h - * @brief Header file for class JAMessageGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAMessageGAM - * 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_JAMESSAGEGAM_H_ -#define GAMS_JAMESSAGEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that sends a message when input signals have expected values. Message will not be sent multiple - * times without first changing the application state. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- * +MessageGAM = {
- *      Class = JAMessageGAM
- *      Operation = AND // Accepted values are: AND, OR, XOR, NOR. Default value is AND.
- *      ExpectedIntValues = {1 10} // Expected values for input signals of integral type.
- *      ExpectedFloatValues = {3.5} // Expected values for float signals of floting point type.
- *      Comparators = {EQUALS GREATER NOT} // Accepted values are: EQUALS, NOT, GREATER, EQUALS_OR_GREATER, LESS, EQUALS_OR_LESS
- *                                         // Comparators element is optional. Default comparator is EQUALS.
- *      InputSignals = {
- *          Sig1 = {
- *              DataSource = EPICSCAInput
- *              Type = uint32
- *          }
- *          Sig2 = {
- *              DataSource = EPICSCAInput
- *              Type = float32
- *          }
- *          Sig3 = {
- *              DataSource = EPICSCAInput
- *              Type = uint32
- *          }
- *      }
- *      +Event = { // Message to be sent when condition is true.
- *          Class = Message
- *          Destination = StateMachine
- *          Function = GoDisabled
- *      }
- *  }
- * 
- * This example will send Event message when Sig1 == 1 && Sig2 > 3.5 && Sig3 != 10 - */ -class JAMessageGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAMessageGAM(); - - virtual ~JAMessageGAM(); - - 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); - - enum ComparisonMode { - Equals, Not, Greater, EqualsOrGreater, Less, EqualsOrLess - }; - -private: - /** - * @brief Does the input signal at provided index have the expected value. - * @param[in] index of the signal. - * @param[out] floatValueIndex lookup index for expected float values array. - * @param[out] intValueIndex lookup index for expected integer values array. - * @return true if the signal has expected value. - */ - bool Compare(MARTe::uint32 index, MARTe::uint32 &floatValueIndex, MARTe::uint32 &intValueIndex); - - enum OperationMode { - And, Or, Xor, Nor - }; - - // Input signals - void **inputSignals; - - MARTe::TypeDescriptor *inputSignalTypes; - - // Condition operation. - OperationMode operation; - - // Message to be sent when conditions are met. - MARTe::ReferenceT eventMsg; - - // Was the message already sent and we are waiting for a state change before next message can be sent. - bool needsReset; - - // Array of expected integer values of input signals. - MARTe::uint64* expectedValuesInt; - - // Array of expected float values for input signals. - MARTe::float64* expectedValuesFloat; - - // Expected integer values count (must be equal to numberOfInputSignals - floatValuesCount) - MARTe::uint32 intValuesCount; - - // Expected integer values count (must be equal to numberOfInputSignals - floatValuesCount) - MARTe::uint32 floatValuesCount; - - // Array of comparators - ComparisonMode* comparators; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAMESSAGEGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.inc deleted file mode 100644 index 658d273..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAMessageGAM/Makefile.inc +++ /dev/null @@ -1,53 +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=JAMessageGAM.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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAMessageGAM$(LIBEXT) \ - $(BUILD_DIR)/JAMessageGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.cpp deleted file mode 100644 index c55e6d0..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/** - * @file JAModeControlGAM.cpp - * @brief Source file for class JAModeControlGAM - * @date Jan, 2019 - * @author kuchida - * - * @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 JAModeControlGAM (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 "JAModeControlGAM.h" -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAModeControlGAM::JAModeControlGAM() { - inputSignals = NULL_PTR(MARTe::uint32 **); - outputSignal = NULL_PTR(MARTe::uint32 *); - pulseLengthLimit = 360000000u; - resetRemainingTime = true; - previousState = 0u; -} - -JAModeControlGAM::~JAModeControlGAM() { - if (inputSignals != NULL_PTR(MARTe::uint32 **)) { - delete[] inputSignals; - } -} - -bool JAModeControlGAM::Initialise(MARTe::StructuredDataI & data) { - /* read hard coded on cfg file parameter values by using key name. */ - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JAModeControlGAM::Setup() { - /* read GAM Input signal */ - using namespace MARTe; - /* read 4 mode bits and 4 shot length limit values */ - - bool ok = numberOfInputSignals == 11; - if (ok) { - uint32 i; - for (i = 0u; (i < numberOfInputSignals) && (ok); i++) { - TypeDescriptor inputType = GetSignalType(InputSignals, i); - ok = inputType == UnsignedInteger32Bit; - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, i, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "InputSignel %s shall be defined as uint32", signalName.Buffer()); - } - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Eleven input signals shall be defined."); - } - if (ok) { - ok = numberOfOutputSignals == 1; - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "One output signal shall be defined."); - } - else { - TypeDescriptor type = GetSignalType(OutputSignals, 0); - ok = type == UnsignedInteger32Bit; - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 0, signalName); - REPORT_ERROR(ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - } - if (ok) { - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - inputSignals = new uint32*[numberOfInputSignals]; - uint32 i; - for (i = 0u; i < 11; i++) { - inputSignals[i] = reinterpret_cast(GetInputSignalMemory(i)); - } - } - return ok; -} - -bool JAModeControlGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - *outputSignal = 0u; - previousState = 0u; - resetRemainingTime = true; - return true; -} - -bool JAModeControlGAM::Execute() { - using namespace MARTe; - //When RT state goes to RFON state, update the limit. - if(previousState == 0u && *inputSignals[8] == 1u && resetRemainingTime) { - rfonTime = *inputSignals[9]; - resetRemainingTime = false; - pulseLengthLimit = CalcPulseLengthLimit(inputSignals); - 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)) { - *outputSignal = 0u; - return true; - } else if(*inputSignals[9] == 1u){ - resetRemainingTime = true; - *outputSignal = 1u; - } - - previousState = *inputSignals[8]; - return true; -} - - -MARTe::uint32 JAModeControlGAM::CalcPulseLengthLimit(MARTe::uint32 **inputSignals) { - if (*inputSignals[0] == 1) { - return *inputSignals[1]; - } else if (*inputSignals[2] == 1) { - return *inputSignals[3]; - } else if (*inputSignals[4] == 1) { - return *inputSignals[5]; - } else if (*inputSignals[6] == 1) { - return *inputSignals[7]; - } else { - return 3600000000;//us - } -} - - -CLASS_REGISTER(JAModeControlGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.h deleted file mode 100644 index e9041ce..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/JAModeControlGAM.h +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @file JAModeControlGAM.h - * @brief Header file for class JAModeControlGAM - * @date Jan, 2019 - * @author kuchida - * - * @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 JAModeControlGAM - * 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_JAMODECONTROLGAM_H_ -#define GAMS_JAMODECONTROLGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that check the pulse lenght limit. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +ModeLimitGAM = {
- *           Class = JAModeControlGAM
- *           InputSignals = {
- *               PLC_MODE1 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD1_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE2 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD2_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE3 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD3_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               PLC_MODE4 = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               MD4_SHOTLEN_LIM = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               RFON = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint32
- *               }
- *               Time = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               HVInjection = {
- *               	DataSource = RealTimeThreadAsyncBridge
- *               	Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               MODE_SHOTLEN_FLAG = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *       }
- * 
- * If MODE1 is ON and Time is exceed MD1_SHOTLEN_LIM, MODE_SHOTLEN_FLAG become ON. - */ - -class JAModeControlGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAModeControlGAM(); - - virtual ~JAModeControlGAM(); - - 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: - - MARTe::uint32 CalcPulseLengthLimit(MARTe::uint32 **inputSignals); - - // Input signals - MARTe::uint32 **inputSignals; - - // Output signals - MARTe::uint32 *outputSignal; - - // Calculated pulse lenght limit. - MARTe::uint32 pulseLengthLimit; - - // Amount of time passed per execution cycle. - MARTe::uint32 rfonTime; - - // reset flag - bool resetRemainingTime; - MARTe::uint32 previousState; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAMODECONTROLGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.inc deleted file mode 100644 index 093c4b9..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAModeControlGAM/Makefile.inc +++ /dev/null @@ -1,52 +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=JAModeControlGAM.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 - - -all: $(OBJS) $(SUBPROJ) \ - $(BUILD_DIR)/JAModeControlGAM$(LIBEXT) \ - $(BUILD_DIR)/JAModeControlGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp deleted file mode 100644 index 06de1df..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.cpp +++ /dev/null @@ -1,460 +0,0 @@ -/** - * @file JAPreProgrammedGAM.cpp - * @brief Source file for class JAPreProgrammedGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAPreProgrammedGAM (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 "AdvancedErrorManagement.h" -#include "CLASSMETHODREGISTER.h" -#include "File.h" -#include "JAPreProgrammedGAM.h" -#include "MessageI.h" -#include "RegisteredMethodsMessageFilter.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -// How often output signals are updated. -const MARTe::uint32 cycleMs = 10u; - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAPreProgrammedGAM::JAPreProgrammedGAM() : - GAM() { - using namespace MARTe; - filenameSignalIndex = 0u; - timeSignal = NULL_PTR(MARTe::int32 *); - loadTriggerSignal = NULL_PTR(MARTe::uint32 *); - fhpsrefSignal = NULL_PTR(MARTe::float32 *); - rfonStateSignal = NULL_PTR(MARTe::uint32 *); - - valueSignals = NULL_PTR(MARTe::float32 **); - preProgrammedValues = NULL_PTR(MARTe::float32 **); - preProgrammedTime = NULL_PTR(MARTe::int32 *); - fileLoadedSignal = NULL_PTR(MARTe::uint32 *); - fileLoadErrorOutput = NULL_PTR(MARTe::uint32 *); - - startTime = 0u; - numberOfPreProgrammedValues = 0u; - numberOfPreProgrammedTimeRows = 0u; - currentRow = 0u; - mode = None; - preProgrammedExecutaionPeriodMs = 0u; - msCounter = 0u; - preProgrammedRow = 0u; - resetOutputSignals = false; - readOnce = true; -} - -JAPreProgrammedGAM::~JAPreProgrammedGAM() { - DeleteArrays(); - if (valueSignals != NULL_PTR(MARTe::float32 **)) { - delete[] valueSignals; - } -} - -bool JAPreProgrammedGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("Directory", directory); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - if (ok) { - ok = data.Read("PreProgrammedPeriodMs", preProgrammedExecutaionPeriodMs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - return ok; -} - -bool JAPreProgrammedGAM::Setup() { - using namespace MARTe; - //Signal number check. - bool ok = (numberOfInputSignals == 4u); - if (ok) { - ok = (numberOfOutputSignals > 2u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "At least two output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Four input signals with the filename and file load trigger shall be defined"); - } - //Input signals type consistency check. - if (ok) { - StreamString signalName = "Filename"; - ok = GetSignalIndex(InputSignals, filenameSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Filename input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, filenameSignalIndex); - ok = (inputType == CharString); - if (!ok) { - ok = (inputType == Character8Bit); - } - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, filenameSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as string", signalName.Buffer()); - } - } - } - if (ok) { - StreamString signalName = "CSV_LOAD"; - uint32 loadSignalIndex; - ok = GetSignalIndex(InputSignals, loadSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "CSV_LOAD input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, loadSignalIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, loadSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } else { - loadTriggerSignal = reinterpret_cast(GetInputSignalMemory(loadSignalIndex)); - } - } - } - if (ok) { - StreamString signalName = "FHPS_REF"; - uint32 fhpsrefIndex; - ok = GetSignalIndex(InputSignals, fhpsrefIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "FHPS_REF input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, fhpsrefIndex); - ok = (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, fhpsrefIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - fhpsrefSignal = reinterpret_cast(GetInputSignalMemory(fhpsrefIndex)); - } - } - } - if (ok) { - StreamString signalName = "RFON"; - uint32 rfonIndex; - ok = GetSignalIndex(InputSignals, rfonIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "RFON input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, rfonIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, rfonIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - rfonStateSignal = reinterpret_cast(GetInputSignalMemory(rfonIndex)); - } - } - } - - //Output signals type check. - if (ok) { - TypeDescriptor timeType = GetSignalType(OutputSignals, 0); - ok = (timeType == SignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, 0, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as int32", signalName.Buffer()); - } - - uint32 i; - for (i = 1u; (i <= 6) && (ok); i++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, i); - ok = (outputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, i, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } - } - - if (ok) { - TypeDescriptor fileLoadedType = GetSignalType(OutputSignals, 7u); - ok = (fileLoadedType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 6u, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - if (ok) { - TypeDescriptor fileLoadErrorOutputType = GetSignalType(OutputSignals, 8u); - ok = (fileLoadErrorOutputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, 7u, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } - } - } - - //Register signal memory - if (ok) { - timeSignal = reinterpret_cast(GetOutputSignalMemory(0)); - valueSignals = new float32*[6u]; - uint32 i; - for (i = 1u; i <= 6u; i++) { - valueSignals[i - 1] = reinterpret_cast(GetOutputSignalMemory(i)); - } - fileLoadedSignal = reinterpret_cast(GetOutputSignalMemory(7u)); - fileLoadErrorOutput = reinterpret_cast(GetOutputSignalMemory(8u)); - } - return ok; -} - -bool JAPreProgrammedGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - bool ok = true; - if (strcmp(nextStateName, "WaitReady") == 0) { - mode = LoadFileMode; - resetOutputSignals = true; - // Reset read once flag when reentering WaitReady state. - readOnce = true; - } else if (strcmp(nextStateName, "WaitPermit") == 0) { - mode = LoadFileMode; - resetOutputSignals = true; - currentRow = 0u; - } else if (strcmp(nextStateName, "WaitHVON_PREP") == 0 || strcmp(nextStateName, "WaitHVON_SDN_PREP") == 0) { - ok = numberOfPreProgrammedTimeRows > 0; - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::IllegalOperation, "Entering PreProgrammed mode without any waveform data."); - } - mode = PreProgrammedMode; - msCounter = cycleMs; - currentRow = 0u; - } else { - mode = None; - } - return ok; -} - -bool JAPreProgrammedGAM::LoadFile() { - using namespace MARTe; - - DeleteArrays(); - - bool ok = true; - - const MARTe::char8 * const filenameSignal = reinterpret_cast(GetInputSignalMemory(filenameSignalIndex)); - //Prepare full path to the configuration file. - StreamString filename = directory; - filename += DIRECTORY_SEPARATOR; - filename += filenameSignal; - REPORT_ERROR(MARTe::ErrorManagement::Debug, "Opening file %s", filename.Buffer()); - - //parse prepro configuration file into two arrays(time, values). - File f; - ok = f.Open(filename.Buffer(), BasicFile::ACCESS_MODE_R); - if (ok) { - //Count up number of file Rows. - numberOfPreProgrammedTimeRows = 0u; - StreamString tokenLine; - while (f.GetLine(tokenLine)) { - if (tokenLine[0] != '#' && tokenLine[0] != '-') { - numberOfPreProgrammedTimeRows++; - } - tokenLine = ""; - } - //Count up number of file lines - numberOfPreProgrammedValues = 0u; - f.Seek(0); - uint32 t = 0u; - tokenLine = ""; - while ((ok) && (f.GetLine(tokenLine))) { - // Skip comment line and minus time - if (tokenLine[0] == '#' || tokenLine[0] == '-') { - tokenLine = ""; - continue; - } - // Prepare two arrays at first. - if (numberOfPreProgrammedValues == 0) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - while (tokenLine.GetToken(token, ",", ignored)) { - numberOfPreProgrammedValues++; - token = ""; - } -REPORT_ERROR(MARTe::ErrorManagement::ParametersError,"numberOfPreProgrammedVal %d", numberOfPreProgrammedValues); - ok = (numberOfPreProgrammedValues == 7u);//From time row to FHPS row. - numberOfPreProgrammedValues -= 1u; //From MHVPS row to FHPS row. - if (ok) { - preProgrammedTime = new int32[numberOfPreProgrammedTimeRows]; - preProgrammedValues = new float32*[numberOfPreProgrammedTimeRows]; - uint32 j; - for (j = 0u; j < numberOfPreProgrammedTimeRows; j++) { - preProgrammedValues[j] = new float32[numberOfPreProgrammedValues]; - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, - "Number of columns in csv file (%d) is not consistent with the number of output signals (%d)", - numberOfPreProgrammedValues, 6u); - *fileLoadErrorOutput = 1; - } - } - // Add loaded data into two arrays. - if (ok) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - uint32 idx = 0u; - while (tokenLine.GetToken(token, ",", ignored)) { - if (idx == 0u) { - preProgrammedTime[t] = atoi(token.Buffer()); - if (t == 0 && preProgrammedTime[0] != 0) { - REPORT_ERROR(MARTe::ErrorManagement::Debug, "Prepro start from none zero time."); - } - } - else { - ok = ((idx - 1) < numberOfPreProgrammedValues); - if (ok) { - preProgrammedValues[t][idx - 1] = static_cast(atof(token.Buffer())); - } - else { - REPORT_ERROR(MARTe::ErrorManagement::FatalError, "Number of columns in csv file is not consistent with the number of output signals in line %d", t); - *fileLoadErrorOutput = 1; - } - } - token = ""; - idx++; - } - t++; - } - tokenLine = ""; - } - f.Close(); - } - if (ok) { - currentRow = 0u; - } - else { - numberOfPreProgrammedTimeRows = 0u; - REPORT_ERROR(ErrorManagement::Warning, "Failed to read waveform data from file."); - *fileLoadErrorOutput = 2; - } - return ok; -} - -bool JAPreProgrammedGAM::Execute() { - using namespace MARTe; - bool ok = true; - - switch (mode) { - case LoadFileMode: { - if (*loadTriggerSignal == 1u) { - if (readOnce) { - *fileLoadErrorOutput = 0; - *fileLoadedSignal = LoadFile() ? 1 : 0; - readOnce = false; - } - } else { - // Reset read once flag when loadTriggerSignal is reset. - readOnce = true; - } - - if (resetOutputSignals) { - // Write default values to output signals - *timeSignal = 0u; - *valueSignals[FHPS-1] = *fhpsrefSignal; - resetOutputSignals = false; - } else { - *valueSignals[FHPS-1] = *fhpsrefSignal; //copy input(2) to val_arr(4) - } - } break; - - case PreProgrammedMode: { - ok = numberOfPreProgrammedTimeRows > 0; - - //add 20210105. Before RFON, prepro setpoints should be same as the values listed at csv first line. - if (ok && *rfonStateSignal == 0) { - uint32 j; - for (j = 0u; j < FHPS; j++) { - *valueSignals[j] = preProgrammedValues[0][j]; - } - } - //end 20210105 - - if (ok && currentRow < numberOfPreProgrammedTimeRows && *rfonStateSignal == 1) { - if (msCounter >= cycleMs) { - msCounter -= cycleMs; - int32 currentTime = preProgrammedTime[currentRow]; - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Write Time at %d",currentRow); - // Write to output signals - *timeSignal = currentTime; - uint32 j; - for (j = 0u; j < FHPS; j++) { - *valueSignals[j] = preProgrammedValues[currentRow][j]; - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Write Value %f at row %d",preProgrammedValues[currentRow][j], currentRow); - } - //REPORT_ERROR(MARTe::ErrorManagement::Debug, "Writing pre programmed data for time %d", currentTime); - - // Update row - ++currentRow; - } - msCounter += preProgrammedExecutaionPeriodMs; - } - } break; - default: - // Nothing to do. - REPORT_ERROR(MARTe::ErrorManagement::Warning, "Unhandled mode."); - break; - } - return ok; -} - -void JAPreProgrammedGAM::DeleteArrays() { - if (preProgrammedValues != NULL_PTR(MARTe::float32 **)) { - MARTe::uint32 i; - for (i = 0u; i < numberOfPreProgrammedValues; i++) { - delete preProgrammedValues[i]; - } - delete[] preProgrammedValues; - } - if (preProgrammedTime != NULL_PTR(MARTe::int32 *)) { - delete[] preProgrammedTime; - } -} - -CLASS_REGISTER(JAPreProgrammedGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h deleted file mode 100644 index 4226fef..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.h +++ /dev/null @@ -1,187 +0,0 @@ -/** - * @file JAPreProgrammedGAM.h - * @brief Header file for class JAPreProgrammedGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAPreProgrammedGAM - * 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_JAPREPROGRAMMEDGAM_H_ -#define GAMS_JAPREPROGRAMMEDGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that update PS output value for pre-programmed operation. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +PreProgrammedGAM = {
- *           Class = JAPreProgrammedGAM
- *           Directory = "../Configurations" // Directory which has pre-pro configuration file.
- *           PreProgrammedPeriodMs = 1       // RFON state is executed every millisecond.
- *           InputSignals = {
- *               CSV_LOAD = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               Filename = {
- *                   Alias = CSV_NAME
- *                   DataSource = EPICSCAInput
- *               }
- *               FHPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               RFON = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               GYA_PREHEAT_TIME = {
- *                   DataSource = DDB1
- *                   Type = int32
- *               }
- *               MHVPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               BPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               APS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               MCPS_TRG_CURR_SET = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               GCPS_TRG_CURR_SET = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               FHPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *               CSV_LOADED = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               CSV_ERR = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *       }
- * 
- * - */ - -class JAPreProgrammedGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAPreProgrammedGAM(); - - virtual ~JAPreProgrammedGAM(); - - 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: - bool LoadFile(); - - void DeleteArrays(); - - //Parameters - MARTe::StreamString directory; //Location for prepro configuration file. - MARTe::uint32 preProgrammedExecutaionPeriodMs; // Time between to execution cycles in milliseconds in pre-programmed mode. - - //Input Signals - MARTe::uint32 *loadTriggerSignal; //index:0 - MARTe::uint32 filenameSignalIndex;//index:1 - MARTe::float32 *fhpsrefSignal; //index:2 - MARTe::uint32 *rfonStateSignal; //index:3 - - //Output Signals - MARTe::int32 *timeSignal; //index:0 - MARTe::float32 **valueSignals; //index:1-5 = BPS,APS,MC,GC,FHPS - MARTe::uint32 *fileLoadedSignal; //index:6 - MARTe::uint32 *fileLoadErrorOutput;//index:7 - - //Internal variables - MARTe::int32 *preProgrammedTime; - MARTe::float32 **preProgrammedValues; - - MARTe::uint32 startTime; - - //Number of columns in csv, EXCLUDING the time - MARTe::uint32 numberOfPreProgrammedValues; //is 5.(BPS, APS, MC, GC, FHPS) - MARTe::uint32 numberOfPreProgrammedTimeRows; //This start from t=0 row. - MARTe::uint32 currentRow; - - // Number of milliseconds since the last time output signals were updated. - MARTe::uint32 msCounter; - - // Row number where the pre-programmed data begins (time == 0). - MARTe::uint32 preProgrammedRow; - - enum OperationMode { - LoadFileMode, PreProgrammedMode, None - }; - enum PreProTableDefinition { - Time, MHVPS, BPS, APS, MCPS, GCPS, FHPS - }; - - OperationMode mode; - - bool resetOutputSignals; - - // Flag determining whether file should be read (so it isn't read multiple time) - bool readOnce; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAPREPROGRAMMEDGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.inc deleted file mode 100644 index aaa1948..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAPreProgrammedGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JAPreProgrammedGAM.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)/JAPreProgrammedGAM$(LIBEXT) \ - $(BUILD_DIR)/JAPreProgrammedGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp deleted file mode 100644 index 56f9b18..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.cpp +++ /dev/null @@ -1,411 +0,0 @@ -/** - * @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(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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - modulation = reinterpret_cast(GetInputSignalMemory(11)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h deleted file mode 100644 index e968f39..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM-v1.h +++ /dev/null @@ -1,262 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp deleted file mode 100644 index 55983f1..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.cpp +++ /dev/null @@ -1,409 +0,0 @@ -/** - * @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(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 == 13u); - 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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - modulation = reinterpret_cast(GetInputSignalMemory(11)); - pauseSet = reinterpret_cast(GetInputSignalMemory(12)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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; - if (modulation) p4Value += 32; - if (pauseSet) p4Value += 1; - //*outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value); - *outputSignalNI6528P4 = ~p4Value; - return true; -} - -CLASS_REGISTER(JARTStateMachineGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h deleted file mode 100644 index 876d64e..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.h +++ /dev/null @@ -1,264 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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; - // Input signal for pause signal set pv. - MARTe::uint32 *pauseSet; - - // 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_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp deleted file mode 100644 index 71c7669..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.cpp +++ /dev/null @@ -1,402 +0,0 @@ -/** - * @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(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(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(10)); - - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - - outputAPSHVON = reinterpret_cast(GetOutputSignalMemory(8)); - outputAPSSWON = reinterpret_cast(GetOutputSignalMemory(9)); - outputBPSHVON = reinterpret_cast(GetOutputSignalMemory(10)); - outputBPSSWON = reinterpret_cast(GetOutputSignalMemory(11)); - outputMHVPSON = reinterpret_cast(GetOutputSignalMemory(12)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(13)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(14)); - outputSignalNI6528P4 = reinterpret_cast(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") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h deleted file mode 100644 index e59f3fa..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/JARTStateMachineGAM_stable.h +++ /dev/null @@ -1,260 +0,0 @@ -/** - * @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): - *
- *         +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
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -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_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.inc deleted file mode 100644 index 609ad23..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARTStateMachineGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JARTStateMachineGAM.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)/JARTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.cpp deleted file mode 100644 index 98003a2..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.cpp +++ /dev/null @@ -1,295 +0,0 @@ -/** - * @file JARampupGAM.cpp - * @brief Source file for class JARampupGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JARampupGAM (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 "AdvancedErrorManagement.h" -#include "JARampupGAM.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JARampupGAM::JARampupGAM() : GAM() { - current_setpoint = NULL_PTR(MARTe::float32 *); - target_value = NULL_PTR(MARTe::float32 *); - rampup_time = NULL_PTR(MARTe::float32 *); - start = NULL_PTR(MARTe::uint32 *); - standby = NULL_PTR(MARTe::uint32 *); - isAuto = NULL_PTR(MARTe::uint32 *); - FHPS_PrePro = NULL_PTR(MARTe::float32 *); - - output = NULL_PTR(MARTe::float32 *); - state = NULL_PTR(MARTe::uint32 *); - - rampup_rate = 0.0f; - inRampup = false; - resetFlag = true; - inWaitHVON = false; - inWaitStandby = false; -} - -JARampupGAM::~JARampupGAM() { -} - -bool JARampupGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JARampupGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 7u); - if (ok) { - ok = (numberOfOutputSignals == 2u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Two output signals shall be defined."); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Six input signals shall be defined."); - } - uint32 currentspvIndex; - uint32 targetvIndex; - uint32 timeIndex; - uint32 startIndex; - uint32 standbyIndex; - uint32 isAutoIndex; - uint32 fhpsPreProIndex; - - if (ok) { - StreamString signalName = "Currspv"; - ok = GetSignalIndex(InputSignals, currentspvIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Currspv input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, currentspvIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Currspv shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Targetv"; - ok = GetSignalIndex(InputSignals, targetvIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Targetv input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, targetvIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Targetv shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Time"; - ok = GetSignalIndex(InputSignals, timeIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Time input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, timeIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Time shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Start"; - ok = GetSignalIndex(InputSignals, startIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Start input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, startIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Start shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "PLC_STANDBY"; - ok = GetSignalIndex(InputSignals, standbyIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLC_STANDBY input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, standbyIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLC_STANDBY shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "MANUAL_AUTO"; - ok = GetSignalIndex(InputSignals, isAutoIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "MANUAL_AUTO input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, isAutoIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "MANUAL_AUTO shall be defined as uint32."); - } - } - } - if (ok) { - StreamString signalName = "FHPS_PrePro"; - ok = GetSignalIndex(InputSignals, fhpsPreProIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "FHPS_PrePro input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, fhpsPreProIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal FHPS_PrePro shall be defined as float32."); - } - } - } - - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 0); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Output shall be defined as float32."); - } - } - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 1); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal state shall be defined as float32."); - } - } - - if (ok) { - current_setpoint = reinterpret_cast(GetInputSignalMemory(currentspvIndex)); - target_value = reinterpret_cast(GetInputSignalMemory(targetvIndex)); - rampup_time = reinterpret_cast(GetInputSignalMemory(timeIndex)); - start = reinterpret_cast(GetInputSignalMemory(startIndex)); - standby = reinterpret_cast(GetInputSignalMemory(standbyIndex)); - isAuto = reinterpret_cast(GetInputSignalMemory(isAutoIndex)); - FHPS_PrePro = reinterpret_cast(GetInputSignalMemory(fhpsPreProIndex)); - - output = reinterpret_cast(GetOutputSignalMemory(0)); - state = reinterpret_cast(GetOutputSignalMemory(1)); - } - return ok; -} - -bool JARampupGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName){ - if(strcmp(nextStateName, "WaitHVON_PREP")==0 || strcmp(nextStateName, "WaitHVON_SDN_PREP")==0 || - strcmp(nextStateName, "WaitHVON")==0 || strcmp(nextStateName, "WaitHVON_SDN")==0){ - inWaitHVON = true; - inWaitStandby = false; - } else{ - inWaitHVON = false; - if(strcmp(nextStateName,"WaitStandby")==0 ){ - inWaitStandby = true; - } else { - inWaitStandby = false; - } - } - return true; -} - -bool JARampupGAM::Execute() { - using namespace MARTe; - if(!inWaitHVON){ - if (*target_value <= 0.0f || *standby == 0u) { - *output = 0.0f; - rampup_rate = 0.0f; - if(*target_value <= 0.0f){ - *state = 3u; - } else { - *state = 0u; - } - return true; - } - - if(*start == 1u && *isAuto==0u){ //isAuto = 1.Manual, 0.auto-rampup. - inRampup = true; - resetFlag = true; - *output = 0.0f; //Enable if it should start always zero. - } - - // Calcrate new rampup rate. - if(*rampup_time != 0 && resetFlag == true){ - rampup_rate = (*target_value - *current_setpoint) / *rampup_time/1000.0f; // Volt/msec - resetFlag = false; - } - - // Update Parameter - if(*standby == 1u ){ - if(*isAuto == 1u){ - if (inWaitStandby){ - *output = *target_value; - } else{ - *output = *FHPS_PrePro; - } - //*output = *target_value; - *state = 0u; - return true; - } - else if (inRampup){ - if (*output + rampup_rate < *target_value && *rampup_time != 0){ - *output = *output + rampup_rate; - *state = 1u; - } else { - *output = *target_value; - *state = 2u; - inRampup = false; - } - } - } - return true; - } else { - if(*isAuto == 0){ - *output = *FHPS_PrePro; - } else{ - *output = *target_value; - } - return true; - } -} - -CLASS_REGISTER(JARampupGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.h deleted file mode 100644 index 3c6e012..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/JARampupGAM.h +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @file JARampupGAM.h - * @brief Header file for class JARampupGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JARampupGAM - * 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_JARampupGAM_H_ -#define GAMS_JARampupGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that rampup output value with specified target value and duration. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *      +FHPSRampupGAM = {
- *         Class = JARampupGAM
- *         InputSignals = {
- *             Currspv = {
- *                 Alias = FHPS_REF
- *                 DataSource = DDB1
- *                 Type = float32
- *             }
- *             Targetv = {
- *                 Alias = FHPS_AUTO_TAGV
- *                 DataSource = EPICSCAInput
- *                 Type = float32
- *             }
- *             Time = {
- *                 Alias = FHPS_AUTO_TIME
- *                 DataSource = EPICSCAInput
- *                 Type = float32
- *             }
- *             Start = {
- *                 Alias = FHPS_AUTO_START
- *                 DataSource = EPICSCAInput
- *                 Type = uint32
- *             }
- *         }
- *         OutputSignals = {
- *             FHPS_REF = {
- *                 DataSource = DDB1
- *                 Type = float32
- *             }
- *         }
- *       }
- *  
- * 
- * - */ - -class JARampupGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JARampupGAM(); - - virtual ~JARampupGAM(); - - 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: - // Input signal containing current current_setpoint - MARTe::float32 *current_setpoint; - - // Input signal containing the frequency of the waveform. - MARTe::float32 *target_value; - - // Input signal containing the amplitude of the waveform. - MARTe::float32 *rampup_time; - - // Input signal containing CCPS_ON_REQUEST - MARTe::uint32 *start; - - // Input signal PLC_STANDBY - MARTe::uint32 *standby; - - // MANUAL AUTO button - MARTe::uint32 *isAuto; - - // Input signal - MARTe::float32 *FHPS_PrePro; - - // Output - MARTe::float32 *output; - // State output - MARTe::uint32 *state; //0:NotOperation, 1:InOperation, 2:Finish, 3:Error - - // Internal variables - MARTe::float32 rampup_rate; - bool inRampup; - bool resetFlag; - bool inWaitHVON; - bool inWaitStandby; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JARampupGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.inc deleted file mode 100644 index e9ce666..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JARampupGAM/Makefile.inc +++ /dev/null @@ -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=JARampupGAM.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)/JARampupGAM$(LIBEXT) \ - $(BUILD_DIR)/JARampupGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp deleted file mode 100644 index d164e89..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.cpp +++ /dev/null @@ -1,361 +0,0 @@ -/** - * @file JASDNRTStateMachineGAM.cpp - * @brief Source file for class JASDNRTStateMachineGAM - * @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 JASDNRTStateMachineGAM (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 "JASDNRTStateMachineGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASDNRTStateMachineGAM::JASDNRTStateMachineGAM() { - currentState = WaitTrigger; // Set Entry state. - plcOnTime = 0; // Triggered time holder. - sdnTriggerTime = 0; - //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 *); - 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 *); - sdnCommand = NULL_PTR(MARTe::uint16 *); - - // 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; -} - -JASDNRTStateMachineGAM::~JASDNRTStateMachineGAM() { -} - -bool JASDNRTStateMachineGAM::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 JASDNRTStateMachineGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - - return true; -} - -bool JASDNRTStateMachineGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 11u); - if (ok) { - ok = (numberOfOutputSignals == 8u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Seven output signals shall be defined"); - } - } - 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 || inputType == UnsignedInteger16Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint16", 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) { - currentTime = reinterpret_cast(GetInputSignalMemory(0)); - triggerSignal = reinterpret_cast(GetInputSignalMemory(1)); - triggerDelay_mhvps_hvon = reinterpret_cast(GetInputSignalMemory(2)); - triggerDelay_aps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - triggerDelay_aps_swon = reinterpret_cast(GetInputSignalMemory(4)); - triggerDelay_bps_hvon = reinterpret_cast(GetInputSignalMemory(5)); - triggerDelay_bps_swon = reinterpret_cast(GetInputSignalMemory(6)); - triggerDelay_shotlen = reinterpret_cast(GetInputSignalMemory(7)); - stopRequest = reinterpret_cast(GetInputSignalMemory(8)); - modePulseLengthLimit = reinterpret_cast(GetInputSignalMemory(9)); - sdnCommand = reinterpret_cast(GetInputSignalMemory(10)); - - outputSignal = reinterpret_cast(GetOutputSignalMemory(0)); - outputBeamON = reinterpret_cast(GetOutputSignalMemory(1)); - outputHVArmed = reinterpret_cast(GetOutputSignalMemory(2)); - outputHVInjection = reinterpret_cast(GetOutputSignalMemory(3)); - outputRFON = reinterpret_cast(GetOutputSignalMemory(4)); - outputBeamONTime = reinterpret_cast(GetOutputSignalMemory(5)); - outputRFONTime = reinterpret_cast(GetOutputSignalMemory(6)); - shotCounter = reinterpret_cast(GetOutputSignalMemory(7)); - *shotCounter = 0; - } - return ok; -} - -bool JASDNRTStateMachineGAM::Execute() { - using namespace MARTe; - if (currentState == WaitTrigger) { - - //State Transition condition - if ((*triggerSignal == conditionTrigger)) { - REPORT_ERROR(ErrorManagement::Debug, "Start beam-on sequence in SDN mode."); - plcOnTime = *currentTime; //Save pulse start time. - *outputBeamON = 0; - //State transition. - currentState = SwitchingHVPS_HVON; - } - } - else if (currentState == SwitchingHVPS_HVON) { - - //Actions in this state. - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *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; - 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; - REPORT_ERROR(ErrorManagement::Debug, "aps_hvon was set to outputSignal."); - } - - *outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time. - if (bps_hvon_is_on && aps_hvon_is_on){ - *outputHVArmed = 0; - currentState = WaitSDNTrigger; - } - - } - else if (currentState == WaitSDNTrigger) { - - // Action in this state - *outputBeamONTime = *currentTime - plcOnTime; //Save RFON start time. - - // State change conditions - if (*sdnCommand == 1){ - sdnTriggerTime = *currentTime; - currentState = SwitchingHVPS_SWON; - } - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *outputSignal = 0; - currentState = HVTerminate; - } - } - else if (currentState == SwitchingHVPS_SWON) { - - //Actions in this state. - if (*stopRequest != 0 || *triggerSignal != conditionTrigger) { - *outputSignal = 0; - currentState = HVTerminate; - } - - if (*currentTime >= (sdnTriggerTime + *triggerDelay_bps_swon) && bps_swon_is_on==false){ - //Do action - *outputSignal += bps_swon; - 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; - 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; - apsSwonTime = *currentTime; - 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 = 0; - } - - //State transition condition - if (aps_swon_is_on){ - currentState = RFON; - *outputRFON = 0; - *shotCounter += 1; - REPORT_ERROR(ErrorManagement::Debug, "state was changed to RFON"); - } - } - else if (currentState == RFON) { - - //SDN command processing. - if (*sdnCommand == 4 && aps_swon_is_on) { - *outputSignal -= aps_swon; - aps_swon_is_on = false; - REPORT_ERROR(ErrorManagement::Debug, "sdn command was 4"); - } - if (*sdnCommand == 3 && !aps_swon_is_on) { - *outputSignal += aps_swon; - 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"); - } else if (*currentTime >= (sdnTriggerTime + *triggerDelay_aps_swon + *triggerDelay_shotlen)){ - 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; - bps_hvon_is_on = false; - bps_swon_is_on = false; - REPORT_ERROR(ErrorManagement::Debug, "0 was set to outputSignal at %d.", *currentTime); - } - *outputRFON = 0; - *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::Information, "state was changed to HVTerminate"); - } - } - else if (currentState == HVTerminate) { - - //Action in this state. - *outputBeamON = 1; - *outputHVArmed = 1; - *outputHVInjection = 1; - *outputRFON = 1; - - // State transition condition. - if (*currentTime - apsSwoffTime >= turn_off_delay){ - *outputSignal = 0; - } - if (*triggerSignal == false){ - //Check PLC_ON is reset - currentState = WaitTrigger; - *outputSignal = 0; - REPORT_ERROR(ErrorManagement::Debug, "state was changed to WaitTrigger"); - } - } - - return true; -} - -CLASS_REGISTER(JASDNRTStateMachineGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h deleted file mode 100644 index 91b4199..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.h +++ /dev/null @@ -1,250 +0,0 @@ -/** - * @file JARTStateMachineGAM.h - * @brief Header file for class JASDNRTStateMachineGAM - * @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_JASDNRTSTATEMACHINEGAM_H_ -#define GAMS_JASDNRTSTATEMACHINEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM provides real-time state machine that communicate with SDN packet. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *         +GAMSDNRealTimeStateMachine = {
- *           Class = JASDNRTStateMachineGAM
- *           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
- *               }
- *               Command = {
- *                   DataSource = RealTimeThreadAsyncBridge
- *                   Type = uint16
- *               }
- *           }
- *           OutputSignals = {
- *               Value = {
- *                   //DataSource = NI6259
- *                   DataSource = Display
- *                   Type = uint32
- *                   Trigger = 1
- *               }
- *               BeamON = {
- *                   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
- *               }
- *           }
- *       }
- * 
- * - */ - -class JASDNRTStateMachineGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASDNRTStateMachineGAM(); - - virtual ~JASDNRTStateMachineGAM(); - - 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_HVON = 1, - WaitSDNTrigger = 2, - SwitchingHVPS_SWON = 3, - RFON = 4, - HVTerminate = 5 - }; - - //The current rtState - JARealTimeState currentState; - - ///////////////////////////////////////////////// - // Static parameter given by cfg File - ///////////////////////////////////////////////// - //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; - - ///////////////////////////////////////////////// - // Input signals - ///////////////////////////////////////////////// - //The trigger signal (PLC_ON) - MARTe::uint32 *triggerSignal; - //Time signal (Time from TimerGAM) - 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 SDN commands. - MARTe::uint16 *sdnCommand; - - ///////////////////////////////////////////////////////////// - // 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; - - ////////////////////////////// - //Internal Parameters - ////////////////////////////// - //PLC_ON time holder - MARTe::uint32 plcOnTime; - //APS_SWON time holder - MARTe::uint32 apsSwonTime; - MARTe::uint32 apsSwoffTime; - - //PS turn off delay - MARTe::uint32 turn_off_delay; - - //SDN trigger command arrival time. - MARTe::uint32 sdnTriggerTime; - //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; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASDNRTSTATEMACHINEGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.inc deleted file mode 100644 index 0ddfbdf..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASDNRTStateMachineGAM/Makefile.inc +++ /dev/null @@ -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=JASDNRTStateMachineGAM.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)/JASDNRTStateMachineGAM$(LIBEXT) \ - $(BUILD_DIR)/JASDNRTStateMachineGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.cpp deleted file mode 100644 index 62ab62d..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/** - * @file JASampleGAM.cpp - * @brief Source file for class JASampleGAM - * @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 JASampleGAM (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 "JASampleGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASampleGAM::JASampleGAM() { - // initialize member variables. - param1 = 0; - param2 = 0; - - //Input signals. - input1 = NULL_PTR(MARTe::uint32 *); - input2 = NULL_PTR(MARTe::float32 *); - //Output signals. - output1= NULL_PTR(MARTe::uint32 *); - output2 = NULL_PTR(MARTe::float32 *); - -} - -JASampleGAM::~JASampleGAM() { -} - -bool JASampleGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("param1", param1); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The param1 shall be specified"); - } - } - if (ok) { - ok = data.Read("param2", param2); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The param2 shall be specified"); - } - } - return ok; -} - -bool JASampleGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JASampleGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == 2u); - if (ok) { - ok = (numberOfOutputSignals == 2u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two output signals shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two input signals shall be defined"); - } - // Do type check for input signals. - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - ok = ((inputType == UnsignedInteger32Bit) || (inputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or flaot32", signalName.Buffer()); - } - - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger32Bit) || (outputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or float32", signalName.Buffer()); - } - } - } - - // Signal id can get by signal name in configuration file - if (ok) { - StreamString signalName = "InputXXX"; //Variable name in configuration file. - uint32 signalxxxIndex; //Index is copied to this variable by using signal name. - ok = GetSignalIndex(InputSignals, signalxxxIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "InputXXX input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, signalxxxIndex); - ok = (inputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, signalxxxIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } else { - inputXXX = reinterpret_cast(GetInputSignalMemory(signalxxxIndex)); - } - } - } - - // Do type cast. with explicit signal id. - if (ok) { - input1 = reinterpret_cast(GetInputSignalMemory(0)); - input2 = reinterpret_cast(GetInputSignalMemory(1)); - - output1 = reinterpret_cast(GetOutputSignalMemory(0)); - output2 = reinterpret_cast(GetOutputSignalMemory(1)); - - } - return ok; -} - -bool JASampleGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - REPORT_ERROR(ErrorManagement::Information, "input1 is %d.", *input1); - REPORT_ERROR(ErrorManagement::Information, "input2 is %f.", *input2); - REPORT_ERROR(ErrorManagement::Information, "inputXXX is %f.", *inputXXX); - - REPORT_ERROR(ErrorManagement::Information, "maltiply param value to input."); - - *output1 = *input1 * param1; - *output2 = *input2 * param2; - - REPORT_ERROR(ErrorManagement::Information, "output1 is %d.", *output1); - REPORT_ERROR(ErrorManagement::Information, "output2 is %f.", *output2); - - return true; -} - -CLASS_REGISTER(JASampleGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.h deleted file mode 100644 index 53f06ad..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/JASampleGAM.h +++ /dev/null @@ -1,122 +0,0 @@ -/** - * @file JASampleGAM.h - * @brief Header file for class JASampleGAM - * @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 JASampleGAM - * 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_JASampleGAM_H_ -#define GAMS_JASampleGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ -/** - * @brief GAM Sample Usage. - * @details Sample - * - * The configuration syntax is: - * - *
- * +SampleGAM = {
- *     Class = JASampleGAM
- *     InputSignals = {
- *         Input1 = {
- *             DataSource = "DDB"
- *             Type = uint32
- *             Default = 0
- *         }
- *         Input2 = {
- *             DataSource = "DDB"
- *             Type = float32
- *             Default = 100
- *         }
- *         InputXXX = {
- *             DataSource = "DDB"
- *             Type = float32
- *             NumberOfElements = 1
- *         }
- *     }
- *     OutputSignals = {
- *         Output1 = {
- *             DataSource = "DDB"
- *             Type = uint32
- *             Default = 0
- *         }
- *         Output2 = {
- *             DataSource = "DDB"
- *             Type = int32
- *             Default = 100
- *         }
- *     }
- * }
- * 
- */ - - -class JASampleGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASampleGAM(); - - virtual ~JASampleGAM(); - - 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: - //GAM fixed parameters. - MARTe::uint32 param1; - MARTe::float32 param2; - - // Input signals - MARTe::uint32 *input1; - MARTe::float32 *input2; - MARTe::float32 *inputXXX; - - // Output signals - MARTe::uint32 *output1; - MARTe::float32 *output2; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASampleGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.inc deleted file mode 100644 index c9bc4f2..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASampleGAM/Makefile.inc +++ /dev/null @@ -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=JARTSampleGAM.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)/JARTSampleGAM$(LIBEXT) \ - $(BUILD_DIR)/JARTSampleGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp deleted file mode 100644 index 3ab70d0..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/** - * @file JASourceChoiseGAM.cpp - * @brief Source file for class JASourceChoiseGAM - * @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 JASourceChoiseGAM (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 "JASourceChoiseGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JASourceChoiseGAM::JASourceChoiseGAM() { - // initialize member variables. - numberOfPVs = 0; -} - -JASourceChoiseGAM::~JASourceChoiseGAM() { -} - -bool JASourceChoiseGAM::Initialise(MARTe::StructuredDataI & data) { - //GAM parameters are initialized. - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("numberOfPVs", numberOfPVs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The numberOfPVs parameter shall be specified"); - } - } - return ok; -} - -bool JASourceChoiseGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - //This method changes internal parameter based on next realtime state. - return true; -} - -bool JASourceChoiseGAM::Setup() { - // Setup memory for input/output signals on the GAM. - using namespace MARTe; - bool ok = (numberOfInputSignals == numberOfPVs*3u); - if (ok) { - ok = (numberOfOutputSignals == numberOfPVs); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "%d *3 output signals shall be defined", numberOfPVs); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "%d input signals shall be defined", numberOfPVs); - } - // Do type check for input signals. - int int_num = 0; - int float_num = 0; - if (ok) { - uint32 c; - for (c = 0u; c < numberOfInputSignals; c++) { - TypeDescriptor inputType = GetSignalType(InputSignals, c); - if(inputType == UnsignedInteger32Bit){ - int_num++; - } else if (inputType == Float32Bit) { - float_num++; - } else { - ok = false; - }; - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or flaot32", signalName.Buffer()); - } - } - } - // Do type check for output signals - if (ok) { - uint32 c; - for (c = 0u; c < numberOfOutputSignals; c++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, c); - ok = ((outputType == UnsignedInteger32Bit) || (outputType == Float32Bit)); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or float32", signalName.Buffer()); - } - } - } - // Set memory - inputUInt32.resize(numberOfPVs*2); - inputFloat32.resize(numberOfPVs*2); - choise.resize(numberOfPVs); - outputUInt32.resize(numberOfPVs); - outputFloat32.resize(numberOfPVs); - - prevUInt32.resize(numberOfPVs*2); - prevFloat32.resize(numberOfPVs*2); - - if(ok){ - for(uint32 i=0; i(GetInputSignalMemory(3*i)); - inputUInt32[2*i+1] = reinterpret_cast(GetInputSignalMemory(3*i+1)); - choise[i] = reinterpret_cast(GetInputSignalMemory(3*i+2)); - outputUInt32[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } else if(inputType == Float32Bit){ - inputFloat32[2*i] = reinterpret_cast(GetInputSignalMemory(3*i)); - inputFloat32[2*i+1] = reinterpret_cast(GetInputSignalMemory(3*i+1)); - choise[i] = reinterpret_cast(GetInputSignalMemory(3*i+2)); - outputFloat32[i] = reinterpret_cast(GetOutputSignalMemory(i)); - } - prevUInt32[2*i] = 0; - prevUInt32[2*i+1] = 0; - prevFloat32[2*i] = 0; - prevFloat32[2*i+1] = 0; - } - } - return ok; -} - -bool JASourceChoiseGAM::Execute() { - // This method is called every realtime state thread cycle. - using namespace MARTe; - - for (uint32 i=0; i < numberOfPVs; i++){ - if(*choise[i]==0){ - if(outputUInt32[i]){ - if(prevUInt32[i*2] != *inputUInt32[i*2]){ - *outputUInt32[i] = *inputUInt32[i*2]; - prevUInt32[i*2] = *inputUInt32[i*2]; - prevUInt32[1+i*2] = *inputUInt32[1+i*2]; - } - } else if(outputFloat32[i]){ - if(prevFloat32[i*2] != *inputFloat32[i*2]){ - *outputFloat32[i] = *inputFloat32[i*2]; - prevFloat32[i*2] = *inputFloat32[i*2]; - prevFloat32[1+i*2] = *inputFloat32[1+i*2]; - } - } - } else { - if(outputUInt32[i]){ - if(prevUInt32[1+i*2] != *inputUInt32[1+i*2]){ - *outputUInt32[i] = *inputUInt32[1+i*2]; - prevUInt32[i*2] = *inputUInt32[i*2]; - prevUInt32[1+i*2] = *inputUInt32[1+i*2]; - } - } else if (outputFloat32[i]){ - if(prevFloat32[1+i*2] != *inputFloat32[1+i*2]){ - *outputFloat32[i] = *inputFloat32[1+i*2]; - prevFloat32[i*2] = *inputFloat32[i*2]; - prevFloat32[1+i*2] = *inputFloat32[1+i*2]; - } - } - } - } - return true; -} - -CLASS_REGISTER(JASourceChoiseGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h deleted file mode 100644 index 2a4cd80..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.h +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @file JASourceChoiseGAM.h - * @brief Header file for class JASourceChoiseGAM - * @date Mar 04, 2019 - * @author kuchida - * - * @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 JASourceChoiseGAM - * 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_JASourceChoiseGAM_H_ -#define GAMS_JASourceChoiseGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -class JASourceChoiseGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JASourceChoiseGAM(); - - virtual ~JASourceChoiseGAM(); - - 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 - //GAM fixed parameters. - MARTe::uint32 numberOfPVs; - - // Input signals - std::vector inputUInt32; - std::vector inputFloat32; - std::vector choise; - - // Output signals - std::vector outputUInt32; - std::vector outputFloat32; - - // Previous Input value - std::vector prevUInt32; - std::vector prevFloat32; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JASourceChoiseGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.inc deleted file mode 100644 index cf441bb..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JASourceChoiseGAM/Makefile.inc +++ /dev/null @@ -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=JASourceChoiseGAM.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)/JASourceChoiseGAM$(LIBEXT) \ - $(BUILD_DIR)/JASourceChoiseGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp deleted file mode 100644 index 1d3f9c1..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/** - * @file JATerminalInterfaceGAM.cpp - * @brief Source file for class JATerminalInterfaceGAM - * @date Feb 19, 2019 - * @author kuchida - * - * @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 JATerminalInterfaceGAM (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 "JATerminalInterfaceGAM.h" - -#include "AdvancedErrorManagement.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JATerminalInterfaceGAM::JATerminalInterfaceGAM() { - - // Fixed GAM input - aps_hvon_term = 0; - - // Parameters which get from Input signals. - mhvps_hvon = NULL_PTR(MARTe::uint32 *); - aps_hvon = NULL_PTR(MARTe::uint32 *); - aps_swon = NULL_PTR(MARTe::uint32 *); - bps_hvon = NULL_PTR(MARTe::uint32 *); - bps_swon = NULL_PTR(MARTe::uint32 *); - - stateMachineOutput = NULL_PTR(MARTe::uint32 *); - - // write out target. - outputSignalNI6259 = NULL_PTR(MARTe::uint32 *); - outputSignalNI6528P3 = NULL_PTR(MARTe::uint8 *); - outputSignalNI6528P4 = NULL_PTR(MARTe::uint8 *); - - aps_hvon_state = 0; - aps_swon_state = 0; - mhvps_hvon_state = 0; - bps_hvon_state = 0; - bps_swon_state = 0; - p3Value = 0; - p4Value = 0; -} - -JATerminalInterfaceGAM::~JATerminalInterfaceGAM() { -} - -bool JATerminalInterfaceGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("mhvps_hvon_term", mhvps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The mhvps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("aps_hvon_term", aps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("aps_swon_term", aps_swon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The aps_swon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("bps_hvon_term", bps_hvon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_hvon_term shall be specified"); - } - } - if (ok) { - ok = data.Read("bps_swon_term", bps_swon_term); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The bps_swon_term shall be specified"); - } - } - return ok; -} - -bool JATerminalInterfaceGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - - return true; -} - -bool JATerminalInterfaceGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 9u); - if (ok) { - ok = (numberOfOutputSignals == 3u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Three output signals shall be defined"); - } - } - 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 || inputType == UnsignedInteger8Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, c, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32 or uint8", 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 or uint8", signalName.Buffer()); - } - } - } - if (ok) { - //mhvps_manm = reinterpret_cast(GetInputSignalMemory(0)); - mhvps_hvon = reinterpret_cast(GetInputSignalMemory(0)); - //aps_manm = reinterpret_cast(GetInputSignalMemory(2)); - aps_hvon = reinterpret_cast(GetInputSignalMemory(1)); - aps_swon = reinterpret_cast(GetInputSignalMemory(2)); - //bps_manm = reinterpret_cast(GetInputSignalMemory(5)); - bps_hvon = reinterpret_cast(GetInputSignalMemory(3)); - bps_swon = reinterpret_cast(GetInputSignalMemory(4)); - short_pulse_mode = reinterpret_cast(GetInputSignalMemory(5)); - stateMachineOutput = reinterpret_cast(GetInputSignalMemory(6)); - ni6528p3Value = reinterpret_cast(GetInputSignalMemory(7)); - ni6528p4Value = reinterpret_cast(GetInputSignalMemory(8)); - - outputSignalNI6259 = reinterpret_cast(GetOutputSignalMemory(0)); - outputSignalNI6528P3 = reinterpret_cast(GetOutputSignalMemory(1)); - outputSignalNI6528P4 = reinterpret_cast(GetOutputSignalMemory(2)); - - } - return ok; -} - -bool JATerminalInterfaceGAM::Execute() { - using namespace MARTe; - uint8 sm = *stateMachineOutput; - - - //Update HVPS state - aps_hvon_state = ((sm >> (0))&1); - aps_swon_state = ((sm >> (4))&1); - mhvps_hvon_state = ((sm >> (2))&1); - bps_hvon_state = ((sm >> (1))&1); - bps_swon_state = ((sm >> (3))&1); - - if(*short_pulse_mode == 1){ - p3Value = 1*aps_hvon_state + 8*bps_hvon_state +16*bps_swon_state; - *outputSignalNI6259 = 1*aps_swon_state; - //uint8 ni6528p3ValueTemp = 0;//*ni6528p3Value; - //ni6528p3ValueTemp &= ~(1<<2); //Does not turn on ni6258 aps switch - //Update terminal value - //*outputSignalNI6528P3 = ~(ni6528p3ValueTemp | p3Value); - *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; - //REPORT_ERROR(ErrorManagement::Debug, "long pulse mode with p3: %d.", p3Value); - } - - p4Value = 8*mhvps_hvon_state; - *outputSignalNI6528P4 = ~(*ni6528p4Value | p4Value); - return true; -} - -CLASS_REGISTER(JATerminalInterfaceGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h deleted file mode 100644 index 773cbd6..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.h +++ /dev/null @@ -1,157 +0,0 @@ -/** - * @file JATerminalInterfaceGAM.h - * @brief Header file for class JATerminalInterfaceGAM - * @date Feb 19, 2020 - * @author kuchida - * - * @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 JATerminalInterfaceGAM - * 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_JATerminalInterfaceGAM_H_ -#define GAMS_JATerminalInterfaceGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM calculates one output value by comparing input value and fixed parameters. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- * 
- *         +terminalInterfaceGAM = {
- *           Class = JATerminalInterfaceGAM
- *           mhvps_hvon_term = 4
- *           aps_hvon_term = 1
- *           aps_swon_term = 16
- *           bps_hvon_term = 2
- *           bps_swon_term = 8
- *           InputSignals = {
- *               MHVPS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               APS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               APS_SWON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               BPS_HVON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               BPS_SWON = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *               Value = {
- *                   DataSource = DDB1
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               Value = {
- *                   DataSource = NI6259
- *                   Type = uint32
- *                   Trigger = 1
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -class JATerminalInterfaceGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JATerminalInterfaceGAM(); - - virtual ~JATerminalInterfaceGAM(); - - 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: - // Fixed GAM input - MARTe::uint32 mhvps_hvon_term; - MARTe::uint32 aps_hvon_term; - MARTe::uint32 aps_swon_term; - MARTe::uint32 bps_hvon_term; - MARTe::uint32 bps_swon_term; - - // Input signals - //MARTe::uint32 *mhvps_manm; - MARTe::uint32 *mhvps_hvon; - - //MARTe::uint32 *aps_manm; - MARTe::uint32 *aps_hvon; - MARTe::uint32 *aps_swon; - - //MARTe::uint32 *bps_manm; - MARTe::uint32 *bps_hvon; - MARTe::uint32 *bps_swon; - - MARTe::uint32 *short_pulse_mode; - - MARTe::uint32 *stateMachineOutput; - MARTe::uint8 *ni6528p3Value; - MARTe::uint8 *ni6528p4Value; - - // Output signals - MARTe::uint32 *outputSignalNI6259; - MARTe::uint8 *outputSignalNI6528P3; - MARTe::uint8 *outputSignalNI6528P4; - - 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; - MARTe::uint8 p3Value; - MARTe::uint8 p4Value; - -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JATerminalInterfaceGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.inc deleted file mode 100644 index ff7c79a..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATerminalInterfaceGAM/Makefile.inc +++ /dev/null @@ -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=JATerminalInterfaceGAM.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)/JATerminalInterfaceGAM$(LIBEXT) \ - $(BUILD_DIR)/JATerminalInterfaceGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp deleted file mode 100644 index 7004a1f..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.cpp +++ /dev/null @@ -1,178 +0,0 @@ -/** - * @file JATriangleWaveGAM.cpp - * @brief Source file for class JATriangleWaveGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JATriangleWaveGAM (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 "AdvancedErrorManagement.h" -#include "JATriangleWaveGAM.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -MARTe::float32 absFloat(MARTe::float32 x) { - if (x < 0.0f) { - return -x; - } - return x; -} - -JATriangleWaveGAM::JATriangleWaveGAM() { - frequency = NULL_PTR(MARTe::float32 *); - amplitude = NULL_PTR(MARTe::float32 *); - offset = NULL_PTR(MARTe::float32 *); - plcStandby = NULL_PTR(MARTe::uint32 *); - waveOutput = NULL_PTR(MARTe::float32 *); - time = 0.0f; -} - -JATriangleWaveGAM::~JATriangleWaveGAM() { -} - -bool JATriangleWaveGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - return GAM::Initialise(data); -} - -bool JATriangleWaveGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 4u); - if (ok) { - ok = (numberOfOutputSignals == 1u); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "One output signal shall be defined."); - } - } - else { - REPORT_ERROR(ErrorManagement::ParametersError, "Four input signals shall be defined."); - } - uint32 freqIndex; - uint32 ampIndex; - uint32 offsetIndex; - uint32 plcStandbyIndex; - if (ok) { - StreamString signalName = "Frequency"; - ok = GetSignalIndex(InputSignals, freqIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Frequency input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, freqIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Frequency shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Amplitude"; - ok = GetSignalIndex(InputSignals, ampIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Amplitude input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, ampIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Amplitude shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "Offset"; - ok = GetSignalIndex(InputSignals, offsetIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Offset input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, offsetIndex); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Offset shall be defined as float32."); - } - } - } - if (ok) { - StreamString signalName = "PLCSTANDBY"; - ok = GetSignalIndex(InputSignals, plcStandbyIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLCSTANDBY input signal shall be defined."); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, plcStandbyIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "PLCSTANDBY shall be defined as uint32."); - } - } - } - if (ok) { - TypeDescriptor inputType = GetSignalType(OutputSignals, 0); - ok = (inputType == Float32Bit); - if (!ok) { - REPORT_ERROR(ErrorManagement::ParametersError, "Signal Amplitude shall be defined as float32."); - } - } - if (ok) { - frequency = reinterpret_cast(GetInputSignalMemory(freqIndex)); - amplitude = reinterpret_cast(GetInputSignalMemory(ampIndex)); - offset = reinterpret_cast(GetInputSignalMemory(offsetIndex)); - plcStandby = reinterpret_cast(GetInputSignalMemory(plcStandbyIndex)); - waveOutput = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JATriangleWaveGAM::Execute() { - using namespace MARTe; - // If frequency is not set, output 0. - if (*frequency <= 0.0f || *plcStandby == 0u) { - *waveOutput = 0.0f; - return true; - } - // Increase the current time. - ++time; - // Calculate the period in milliseconds - float32 periodMs = 1000.0 / *frequency; - // Make sure the time is on [0, periodMs] interval. - while (time > periodMs) { - time -= periodMs; - } - // Formula: - // f(x) = |x - 0.5| * 2 * amplitude - // where x is between 0 and 1 - *waveOutput = absFloat((time / periodMs) - 0.5f) * 2.0f * (*amplitude) + *offset; - return true; -} - -CLASS_REGISTER(JATriangleWaveGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h deleted file mode 100644 index 22e34c3..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.h +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file JATriangleWaveGAM.h - * @brief Header file for class JATriangleWaveGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JATriangleWaveGAM - * 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_JATRIANGLEWAVEGAM_H_ -#define GAMS_JATRIANGLEWAVEGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM provides triangular waveform output within 1kHz thread. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *      +CCPSWaveformGAM = {
- *           Class = JATriangleWaveGAM
- *           InputSignals = {
- *               Offset = {
- *                   Alias = OFFSET
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               Frequency = {
- *                   Alias = CCPS_OUTPUT_FREQ
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               Amplitude = {
- *                   Alias = CCPS_OUTPUT_AMP
- *                   DataSource = EPICSCAInput
- *                   Type = float32
- *               }
- *               PLCCCPSON = {
- *                   Alias = PLC_CCPSON
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
-  *              READY = {
- *                   Alias = PLC_READY
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *           }
- *           OutputSignals = {
- *               CCPS_REF = {
- *                   DataSource = DDB1
- *                   Type = float32
- *               }
- *           }
- *       }
- * 
- * 
- * - */ - -class JATriangleWaveGAM : public MARTe::GAM { -public: - CLASS_REGISTER_DECLARATION() - - JATriangleWaveGAM(); - - virtual ~JATriangleWaveGAM(); - - virtual bool Initialise(MARTe::StructuredDataI & data); - - virtual bool Setup(); - - virtual bool Execute(); -private: - // Input signal containing the frequency of the waveform. - MARTe::float32 *frequency; - - // Input signal containing the amplitude of the waveform. - MARTe::float32 *amplitude; - - // Input signal cantaining the offset of the waveform. - MARTe::float32 *offset; - - // Input signal containing CCPS_ON_REQUEST - //MARTe::uint32 *plcccpson; - - // Input signal condition CCPS_READY - //MARTe::uint32 *plcReady; - - // Input signal condition CCPS_STANDBY - MARTe::uint32 *plcStandby; - - MARTe::float32 *waveOutput; - - MARTe::float32 time; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JATRIANGLEWAVEGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.inc deleted file mode 100644 index 2e2dfed..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JATriangleWaveGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JATriangleWaveGAM.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)/JATriangleWaveGAM$(LIBEXT) \ - $(BUILD_DIR)/JATriangleWaveGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp deleted file mode 100644 index b26b6bd..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.cpp +++ /dev/null @@ -1,317 +0,0 @@ -/** - * @file JAWFRecordGAM.cpp - * @brief Source file for class JAWFRecordGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAWFRecordGAM (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 "JAWFRecordGAM.h" - -#include "AdvancedErrorManagement.h" -#include "CLASSMETHODREGISTER.h" -#include "File.h" -#include "MessageI.h" -#include "RegisteredMethodsMessageFilter.h" - -/*---------------------------------------------------------------------------*/ -/* Static definitions */ -/*---------------------------------------------------------------------------*/ - -// How often output signals are updated. -const MARTe::uint32 cycleMs = 10u; - -/*---------------------------------------------------------------------------*/ -/* Method definitions */ -/*---------------------------------------------------------------------------*/ - -JAWFRecordGAM::JAWFRecordGAM() : - GAM() { - filenameSignalIndex = 0u; - timeSignal = NULL_PTR(MARTe::int32 *); - loadTriggerSignal = NULL_PTR(MARTe::uint32 *); - valueSignals = NULL_PTR(MARTe::float32 **); - maxElements = 0u; - readOnce = true; -} - -JAWFRecordGAM::~JAWFRecordGAM() { - if (valueSignals != NULL_PTR(MARTe::float32 **)) { - delete[] valueSignals; - } -} - -bool JAWFRecordGAM::Initialise(MARTe::StructuredDataI & data) { - using namespace MARTe; - bool ok = GAM::Initialise(data); - if (ok) { - ok = data.Read("Directory", directory); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "The Directory shall be specified"); - } - } - return ok; -} - -bool JAWFRecordGAM::Setup() { - using namespace MARTe; - bool ok = (numberOfInputSignals == 2u); - if (ok) { - ok = (numberOfOutputSignals > 1u); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "At least two output signal shall be defined"); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Two input signal with the filename and file load trigger shall be defined"); - } - if (ok) { - StreamString signalName = "Filename"; - ok = GetSignalIndex(InputSignals, filenameSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Filename input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, filenameSignalIndex); - ok = (inputType == CharString); - if (!ok) { - ok = (inputType == Character8Bit); - } - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, filenameSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as string", signalName.Buffer()); - } - } - } - if (ok) { - StreamString signalName = "CSV_LOAD"; - uint32 loadSignalIndex; - ok = GetSignalIndex(InputSignals, loadSignalIndex, signalName.Buffer()); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "CSV_LOAD input signal shall be defined"); - } - else { - TypeDescriptor inputType = GetSignalType(InputSignals, loadSignalIndex); - ok = (inputType == UnsignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, loadSignalIndex, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as uint32", signalName.Buffer()); - } else { - loadTriggerSignal = reinterpret_cast(GetInputSignalMemory(loadSignalIndex)); - } - } - } - if (ok) { - TypeDescriptor timeType = GetSignalType(OutputSignals, 0); - - ok = (timeType == SignedInteger32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(InputSignals, 0, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as int32", signalName.Buffer()); - } - - uint32 i; - for (i = 1u; (i < numberOfOutputSignals) && (ok); i++) { - TypeDescriptor outputType = GetSignalType(OutputSignals, i); - ok = (outputType == Float32Bit); - if (!ok) { - StreamString signalName; - (void) GetSignalName(OutputSignals, i, signalName); - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Signal %s shall be defined as float32", signalName.Buffer()); - } - else { - uint32 dimentionsCount; - ok = GetSignalNumberOfDimensions(OutputSignals, 0u, dimentionsCount); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Output signals shall have 1 dimension."); - } - else { - uint32 elementsCount; - ok = GetSignalNumberOfElements(OutputSignals, 0u, elementsCount); - if (maxElements == 0) { - maxElements = elementsCount; - } - else { - ok = (maxElements == elementsCount); - if (!ok) { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Output signals shall have consistent number of elements."); - } - } - } - } - } - } - if (ok) { - valueSignals = new float32*[numberOfOutputSignals - 1u]; - uint32 i; - for (i = 1u; i < numberOfOutputSignals; i++) { - valueSignals[i - 1] = reinterpret_cast(GetOutputSignalMemory(i)); - } - timeSignal = reinterpret_cast(GetOutputSignalMemory(0)); - } - return ok; -} - -bool JAWFRecordGAM::PrepareNextState(const MARTe::char8 * const currentStateName, const MARTe::char8 * const nextStateName) { - if (strcmp(nextStateName, "WaitReady") == 0) { - // Reset read once flag when reentering WaitReady state. - readOnce = true; - } - return true; -} - -void JAWFRecordGAM::LoadFile() { - using namespace MARTe; - - bool ok = true; - - const char8 * const filenameSignal = reinterpret_cast(GetInputSignalMemory(filenameSignalIndex)); - StreamString filename = directory; - filename += DIRECTORY_SEPARATOR; - filename += filenameSignal; - REPORT_ERROR(ErrorManagement::Debug, "Opening file %s", filename.Buffer()); - - File f; - ok = f.Open(filename.Buffer(), BasicFile::ACCESS_MODE_R); - - uint32 numberOfPreProgrammedTimeRows = 0u; - int32 *preProgrammedTime; - float32 **preProgrammedValues; - uint32 numberOfPreProgrammedValues = 0u; - - if (ok) { - StreamString tokenLine; - while (f.GetLine(tokenLine)) { - if (tokenLine[0] != '#') { - numberOfPreProgrammedTimeRows++; - } - tokenLine = ""; - } - f.Seek(0); - uint32 t = 0u; - tokenLine = ""; - while ((ok) && (f.GetLine(tokenLine))) { - if (tokenLine[0] == '#') { - tokenLine = ""; - continue; - } - if (numberOfPreProgrammedValues == 0) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - while (tokenLine.GetToken(token, ",", ignored)) { - numberOfPreProgrammedValues++; - token = ""; - } - ok = numberOfPreProgrammedValues == numberOfOutputSignals; - // Remove time from pre-programmed values count. - numberOfPreProgrammedValues -= 1u; - if (ok) { - preProgrammedTime = new int32[maxElements]; - memset(preProgrammedTime, 0, maxElements * sizeof(int32)); - preProgrammedValues = new float32*[numberOfPreProgrammedValues]; - uint32 j; - for (j = 0u; j < numberOfPreProgrammedValues; j++) { - preProgrammedValues[j] = new float32[maxElements]; - memset(preProgrammedValues[j], 0, maxElements * sizeof(float32)); - } - } - else { - REPORT_ERROR(MARTe::ErrorManagement::ParametersError, "Number of columns in csv file (%d) is not consistent with the number of output signals (%d)", numberOfPreProgrammedValues, - numberOfOutputSignals - 1u); - } - } - if (ok) { - StreamString token; - char8 ignored; - tokenLine.Seek(0); - uint32 idx = 0u; - while (tokenLine.GetToken(token, ",", ignored)) { - if (idx == 0u) { - preProgrammedTime[t] = atoi(token.Buffer()); - } - else { - ok = ((idx - 1) < numberOfPreProgrammedValues); - if (ok) { - preProgrammedValues[idx - 1][t] = static_cast(atof(token.Buffer())); - } - else { - REPORT_ERROR(ErrorManagement::FatalError, "Number of columns in csv file is not consistent with the number of output signals in line %d", t); - } - } - token = ""; - idx++; - } - t++; - } - tokenLine = ""; - } - f.Close(); - } else { - REPORT_ERROR(ErrorManagement::Debug, "Cannot open the file %s", filename.Buffer()); - return; - } - if (numberOfPreProgrammedTimeRows > maxElements) { - REPORT_ERROR(ErrorManagement::Warning, "Only %d (out of %d) of pre-programmed values will be written to waveform record.", - maxElements, numberOfPreProgrammedTimeRows); - } - ok = MemoryOperationsHelper::Copy(timeSignal, preProgrammedTime, maxElements * sizeof(int32)); - uint32 i; - for (i = 0u; (i < numberOfPreProgrammedValues) && (ok); ++i) { - ok = MemoryOperationsHelper::Copy(valueSignals[i], preProgrammedValues[i], maxElements * sizeof(float32)); - } - if (!ok) { - REPORT_ERROR(ErrorManagement::Warning, "Failed to write data to waveform record."); - } - - if (preProgrammedValues != NULL_PTR(float32 **)) { - uint32 i; - for (i = 0u; i < numberOfPreProgrammedValues; i++) { - delete preProgrammedValues[i]; - } - delete[] preProgrammedValues; - } - if (preProgrammedTime != NULL_PTR(int32 *)) { - delete[] preProgrammedTime; - } -} - -bool JAWFRecordGAM::Execute() { - if (*loadTriggerSignal == 1u) { - if (readOnce) { - LoadFile(); - readOnce = false; - } - } else { - // Reset read once flag when loadTriggerSignal is reset. - readOnce = true; - } - return true; -} - -CLASS_REGISTER(JAWFRecordGAM, "1.0") diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.h b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.h deleted file mode 100644 index ee22c1a..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/JAWFRecordGAM.h +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @file JAWFRecordGAM.h - * @brief Header file for class JAWFRecordGAM - * @date Jan, 2019 - * @author rhari - * - * @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 JAWFRecordGAM - * 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_JAWFRECORDGAM_H_ -#define GAMS_JAWFRECORDGAM_H_ - -/*---------------------------------------------------------------------------*/ -/* Standard header includes */ -/*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*/ -/* Project header includes */ -/*---------------------------------------------------------------------------*/ - -#include "GAM.h" -#include "Message.h" - -/*---------------------------------------------------------------------------*/ -/* Class declaration */ -/*---------------------------------------------------------------------------*/ - -/** - * @brief GAM that is used for pre-programmed operation. - * - * The configuration syntax is (names and signal quantity are only given as an example): - *
- *       +WFRecordGAM = {
- *           Class = JAWFRecordGAM
- *           Directory = "../Configurations" 
- *           InputSignals = {
- *               CSV_LOAD = {
- *                   DataSource = EPICSCAInput
- *                   Type = uint32
- *               }
- *               Filename = {
- *                   Alias = CSV_NAME
- *                   DataSource = EPICSCAInput
- *               }
- *           }
- *           OutputSignals = {
- *               PREP_TIME_WF = {
- *                   DataSource = DDB1
- *               }
- * *             MHVPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               BPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               APS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               MCPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               GCPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *               FHPS_PREP_WF = {
- *                   DataSource = DDB1
- *               }
- *           }
- *       }
- * 
- * - */ - -class JAWFRecordGAM : public MARTe::GAM, public MARTe::StatefulI { -public: - CLASS_REGISTER_DECLARATION() - - JAWFRecordGAM(); - - virtual ~JAWFRecordGAM(); - - 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: - void LoadFile(); - - MARTe::uint32 filenameSignalIndex; - - MARTe::uint32 *loadTriggerSignal; - - MARTe::StreamString directory; - - MARTe::float32 **valueSignals; - - MARTe::int32 *timeSignal; - - MARTe::uint32 maxElements; - - // Flag determining whether file should be read (so it isn't read multiple time) - bool readOnce; -}; - - - -/*---------------------------------------------------------------------------*/ -/* Inline method definitions */ -/*---------------------------------------------------------------------------*/ - -#endif /* GAMS_JAWFRECORDGAM_H_ */ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.gcc deleted file mode 100644 index 69e7cbe..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.gcc +++ /dev/null @@ -1,27 +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.gcc 3 2012-01-15 16:26:07Z aneto $ -# -############################################################# - -include Makefile.inc diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.inc deleted file mode 100644 index cd7a5f1..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/JAWFRecordGAM/Makefile.inc +++ /dev/null @@ -1,56 +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=JAWFRecordGAM.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)/JAWFRecordGAM$(LIBEXT) \ - $(BUILD_DIR)/JAWFRecordGAM$(DLLEXT) - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.gcc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.gcc deleted file mode 100644 index e0a2fc4..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.gcc +++ /dev/null @@ -1,26 +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. -# -############################################################# - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.inc deleted file mode 100644 index 9dfc5c1..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/GAMs/Makefile.inc +++ /dev/null @@ -1,45 +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 $ -# -############################################################# - -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 - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=.. -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Makefile.inc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Makefile.inc deleted file mode 100644 index 1e256f8..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Makefile.inc +++ /dev/null @@ -1,42 +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 $ -# -############################################################# -SPB = DataSources.x GAMs.x - -MAKEDEFAULTDIR=$(MARTe2_DIR)/MakeDefaults - -ROOT_DIR=. -include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET) - -all: $(OBJS) $(SUBPROJ) check-env - echo $(OBJS) - -include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET) - -check-env: -ifndef MARTe2_DIR - $(error MARTe2_DIR is undefined) -endif - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Makefile.linux b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Makefile.linux deleted file mode 100644 index 04cde43..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Makefile.linux +++ /dev/null @@ -1,27 +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. -# -############################################################# -export TARGET=x86-linux - -include Makefile.inc - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/README.md b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/README.md deleted file mode 100644 index 2064aac..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/README.md +++ /dev/null @@ -1 +0,0 @@ -QST Gyrotron Fast Controller Implementation with MARTe2 RT Application Framework diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/Main.sh b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/Main.sh deleted file mode 100644 index b425a77..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/Main.sh +++ /dev/null @@ -1,195 +0,0 @@ -#!/bin/bash -#Arguments -f FILENAME -m MESSAGE [-d cgdb|strace] -x DAN_CONFIG_LOCATION -r root -#-f FILENAME=MARTe configuration file -#-m MESSAGE=Start message -#-d cgdb=Run with cgdb -#-d strace=Run with strace -#-x DAN_CONFIG_LOCATION=Location of the DANConfig.xml (e.g. ~/Projects/ECJASDN/Configurations/DANTestConfig.xml) -#-r run as root - -#Run with cgdb or strace? -DEBUG="" - -#Consume input arguments -while [[ $# -gt 1 ]] -do -key="$1" - -case $key in - -f|--file) - FILE="$2" - shift # past argument - ;; - -m|--message) - MESSAGE="$2" - shift # past argument - ;; - -s|--state) - STATE="$2" - shift # past argument - ;; - -d|--debug) - DEBUG="$2" - shift # past argument - ;; - -x|--dan_config) - DAN_CONFIG_LOCATION="$2" - shift # past argument - ;; - -i|--dan_ip) - DAN_MASTER_IP="$2" - shift # past argument - ;; - -r|--root) - RUN_AS_ROOT="root" - shift # past argument - ;; - --default) - DEFAULT=YES - ;; - *) - # unknown option - ;; -esac -shift # past argument or value -done - -if [ -z ${MARTe2_DIR+x} ]; then - echo "Please set the MARTe2_DIR environment variable"; - exit; -fi - -if [ -z ${MARTe2_Components_DIR+x} ]; then - #Check if this is a CCS deployment - MARTe2_Components_DIR_CSS=$MARTe2_DIR/Build/x86-linux/Components/ - if [ -d ${MARTe2_Components_DIR_CSS+x} ]; then - MARTe2_Components_DIR=$MARTe2_DIR - else - echo "Please set the MARTe2_Components_DIR environment variable"; - exit; - fi -fi - -echo $MARTe2_Components_DIR - -LD_LIBRARY_PATH=. -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_DIR/Build/x86-linux/Core/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/EPICSCA/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/LinuxTimer/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/LoggerDataSource/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/DAN/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/NI6259/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/NI6368/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/SDN/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/UDP/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/MDSWriter/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/RealTimeThreadAsyncBridge/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/RealTimeThreadSynchronisation/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/DataSources/FileDataSource/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/IOGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/BaseLib2GAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/ConversionGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/FilterGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/StatisticsGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/WaveformGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/GAMs/ConstantGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/Interfaces/BaseLib2Wrapper/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/Interfaces/SysLogger/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MARTe2_Components_DIR/Build/x86-linux/Components/Interfaces/EPICS/ -### Add own datasource lib path -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/DataSources/RandomDataSource/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/DataSources/NI6528/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/DataSources/JAEPICSCA/ -### Add own GAM lib path -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/ESDNValidationGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAMessageGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAPreProgrammedGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JACountdownGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAWaitStandbyGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JATimerGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAESDNProcessCommandGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAModeControlGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JATimedSignalUpdateGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAHVArmedSyncGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JARFONSyncGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JAWFRecordGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JATriangleWaveGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JARampupGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JACounterGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JARTStateMachineGAM/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../Build/x86-linux/GAMs/JASDNRTStateMachineGAM/ -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/ -### 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/ -#LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mdsplus/lib64/ -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SDN_CORE_LIBRARY_DIR -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/codac/lib/ - - -echo $LD_LIBRARY_PATH -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH - -#Starts the DAN services only if required -if [ ! -z "$DAN_CONFIG_LOCATION" ]; then - export DAN_ARCHIVE_MASTER=$DAN_MASTER_IP - echo $DAN_MASTER_IP - /opt/codac/bin/danApiTool api close - /opt/codac/bin/danApiTool api init $DAN_CONFIG_LOCATION -fi - -NR_CPUS=16 -#Setup performance -#Disable CPU speed changing -#service cpuspeed stop -#memo:Redirecting to /bin/systemctl stop cpuspeed.service -#memo:Failed to stop cpuspeed.service: Unit cpuspeed.service not loaded. -# - -# Migrate irq to CPU0 -#for D in $(ls /proc/irq) -#do -#if [ -x "/proc/irq/$D" ] && [ $D != "0" ] -#then -# echo $D -# echo 1 > /proc/irq/$D/smp_affinity -#fi -#done - - -#Location of the MARTe2 application loader -MARTe2APP=$MARTe2_DIR/Build/x86-linux/App/MARTeApp.ex - -#Start with cgdb or with strace -if [ "$DEBUG" = "cgdb" ]; then - cgdb --args $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE -elif [ "$DEBUG" = "strace" ]; then - strace -o/tmp/strace.err $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE -else - if [ -z ${RUN_AS_ROOT+x} ]; then - if [ -z ${STATE+x} ]; then - echo "taskset was not used." - sleep 1 - $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE - else - $MARTe2APP -l RealTimeLoader -f $FILE -s $STATE - fi - else - if [ -z ${STATE+x} ]; then - echo "taskset was used." - sleep 1 - taskset 1 $MARTe2APP -l RealTimeLoader -f $FILE -m $MESSAGE - else - taskset 1 $MARTe2APP -l RealTimeLoader -f $FILE -s $STATE - fi - fi -fi - - -if [ ! -z "$DAN_CONFIG_LOCATION" ]; then - /opt/codac/bin/danApiTool api close -fi diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runECPCSub.sh b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runECPCSub.sh deleted file mode 100644 index 3254982..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runECPCSub.sh +++ /dev/null @@ -1 +0,0 @@ -./Main.sh -f ../Configurations/tests/ECPCSubscriber.cfg -l RealTimeLoader -m StateMachine:Start \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runEPICSTEST.sh b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runEPICSTEST.sh deleted file mode 100644 index c141074..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runEPICSTEST.sh +++ /dev/null @@ -1,2 +0,0 @@ -./Main.sh -f ../Configurations/tests/EPICS_Test.cfg -l RealTimeLoader -m StateMachine:START - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runHWTEST.sh b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runHWTEST.sh deleted file mode 100644 index 5991673..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runHWTEST.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -./Main.sh -f ../Configurations/tests/NI6528_NI6259_test.cfg -l RealTimeLoader -m StateMachine:START - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runMain.sh b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runMain.sh deleted file mode 100644 index 623ae28..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runMain.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -taskset -c 8-11 ./Main.sh -f ../Configurations/JAGyrotronA_FY19_P1.cfg -l RealTimeLoader -m StateMachine:Start - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runMainB.sh b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runMainB.sh deleted file mode 100644 index a6fb765..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runMainB.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -taskset -c 12-15 ./Main.sh -f ../Configurations/JAGyrotronB_FY19_P1.cfg -l RealTimeLoader -m StateMachine:Start diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runNI6528TEST.sh b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runNI6528TEST.sh deleted file mode 100644 index ae06cf5..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Startup/runNI6528TEST.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -./Main.sh -f ../Configurations/tests/NI6528_test.cfg -l RealTimeLoader -m StateMachine:START - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/beamon_test_async_GYB.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/beamon_test_async_GYB.py deleted file mode 100644 index 90477ef..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/beamon_test_async_GYB.py +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -import test_async -import test_sync -import test_ready_hw -import test_setup_hw -import test_standby_hw -import test_ready -import test_setup -import test_standby - - -"""" -Test GYB operation with Async mode. -This code can be executed when WaitPermit state. -""" -# 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-GY2PRM.SCAN Passive', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SIML ', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SIMM 1', shell=True) -res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SVAL 1', shell=True) -res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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.SCAN Passive', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SIML ', shell=True) -#res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SIMM 1', shell=True) -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(11) -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-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!" - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test.py deleted file mode 100644 index 82a2603..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -import test_async -import test_sync -import test_ready_hw -import test_setup_hw -import test_standby_hw -import test_ready -import test_setup -import test_standby - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -print '---------- Pre setup for the test ----------' -test_setup.test_setup() -#test_setup_hw.test_setup() - -print 'Enter to continue test:' -inpval = raw_input() -################################################################################ -# set SELECT and STANDBY signal -################################################################################ -print '---------- WatiStandby test ----------' -test_standby.test_standby() -#test_standby_hw.test_standby() - -print 'Enter to continue test' -inpval = raw_input() - -################################################################################ -# set READY and CCPS_ON_REQUEST signal -################################################################################ -print '---------- WatiReady test ----------' -test_ready.test_ready() -#test_ready_hw.test_ready() - -print 'Enter to continue test' -inpval = raw_input() -################################################################################ -# set PERMIT and ON signal -################################################################################ -print 'Simulate PERMIT signal. State should go to WaitHVON state' -while(1): - print '''Select test type and push enter key: - 1: GYA / Async mode - 2: GYB / Async mode - 3: Two Gyrotron operation - 4: Mode limit detection - 5: Short pulse - 6: Long pulse - 7: PrePro operation - 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 - ''' - inpval = raw_input() - - if inpval == "1": - test_async.test_async_GYA() - elif inpval == "2": - test_async.test_async_GYB() - elif inpval == "3": - test_async.test_async_both() - elif inpval == "4": - test_async.test_async_limit() - elif inpval == "5": - test_async.test_async_shortpulse() - elif inpval == "6": - test_async.test_async_longpulse() - elif inpval == "7": - test_async.test_async_prepro() - elif inpval == "8": - test_sync.test_sync() - elif inpval == "9": - test_async.test_async_GYA_manual() - elif inpval == "10": - test_async.test_async_GYB_manual() - else: - print 'invalid value. Enter 1 to 10!' - continue - -print '..... End of test code .....' diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.py deleted file mode 100644 index 8f595b2..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.py +++ /dev/null @@ -1,414 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - - -def test_async(): - """" - Simulate permit signal and ON signal from PLC. - Confirm pulse generation with async mode. 10ms - """ - print '1.set beam-on schedule (10ms diff + 3s pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 1000000', shell=True) - # 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 10000000', 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(1) - 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 "end of async, non-prepro mode test!" - -def test_async_limit(): - """" - Mode Limit Stop test. - Pulse lenght was set to 3s, but it stop in 1s because of mode limit. - """ - print '1.set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 11000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 21000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 31000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 41000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 3000000', shell=True) - # 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(6) - 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 "end of async, non-prepro mode test!" - -def test_async_prepro(): - """PrePro mode test""" - print '1.set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 3000000', shell=True) - 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 10000000', shell = True) - time.sleep(1) - print '1.Set Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 1', shell = True) - time.sleep(1) - print '2.Reset Mode 1 flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) - 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(2) - 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) - time.sleep(4) - print '5.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(3) - print '6.Reset Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 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 'end of async, prepro mode testscript!' - -def test_async_shortpulse(): - """Short Pulse Mode test""" - #print '1.Set puls length to 1ms (1ms diff)' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 1', shell=True) #Set short pulse mode. - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 1', shell = True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 2000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 4000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 5000', shell=True) #Should be grater than 1ms. - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 1000', shell=True) - print '1.Set puls length to 100us (100us diff)' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 1', shell=True) #Set short pulse mode. - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 1', shell = True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200', shell=True) - #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) - print '1.Set puls length (100us diff)' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 1', shell=True) #Set short pulse mode. - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 1', shell = True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200', shell=True) - 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 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) - time.sleep(1) - print '3.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(1) - print '4.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 '5.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 '6.Reset short pulse mode' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0', shell=True) #Set short pulse mode. - print "-----------------------------------------\n" - -def test_async_longpulse(): - """" - Simulate permit signal and ON signal from PLC. - Confirm pulse generation with async mode. 10ms - """ - print '1.set beam-on schedule (10ms diff + 50ms pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 3600000000', shell=True) - # 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 180000000', 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(185) - 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 "end of async, non-prepro mode test!" - -def test_async_both(): - """" - Simultanious operation test. - """ - print '1.set beam-on schedule (10ms diff + 500ms pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 500000', shell=True) - - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DT-SHOTLEN 500000', shell=True) - # 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) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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(1) - 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) - 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(): - """" - Test GYA operation with Async mode. - """ - #print '1.set beam-on schedule (1s diff + 1s pulse.)' - #print '1.set beam-on schedule (100ms diff + 1s pulse.)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 1000000', shell=True) - #print '1.set beam-on schedule (10ms diff + 100ms pulse.)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - #print '1.set beam-on schedule (1ms diff + 10ms pulse.)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 2000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 4000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 5000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 10000', shell=True) - print '1.set beam-on schedule (1s diff + 20s pulse.)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 1000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 2000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 4000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 5000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 20000000', shell=True) - # 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(30) - 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 "end of async, non-prepro mode test!" - -def test_async_GYB(): - """" - Test GYB operation with Async mode. - """ - print '1.set beam-on schedule (1s diff + 1s pulse.)' - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-HVON 1000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-HVON 2000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 3000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-SWON 4000000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-SWON 5000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DT-SHOTLEN 20000000', shell=True) - # 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-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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(30) - 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-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_manual(): - """" - Test GYA operation with Async mode. - """ - print '1.. Set delays and pulse length on HMI and set sleep time here:' - inp_val = raw_input() - try: - sleep_time = float(inp_val) - except: - return - # 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 "end of async, non-prepro mode test!" - -def test_async_GYB_manual(): - """" - Test GYA operation with Async mode. - """ - print '1.. Set delays and pulse length on HMI and set sleep time here:' - inp_val = raw_input() - try: - sleep_time = float(inp_val) - except: - return - # 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-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 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-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!" diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.pyc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.pyc deleted file mode 100644 index f899918..0000000 Binary files a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_async.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.py deleted file mode 100644 index 72089d8..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -def test_ready(): - """In the WaitReady state, simulate READY signal from PLC.""" - print '---------- WatiReady test ----------' - print '1. Simulate READY signal. State should go to WaitPermit state.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R 1', shell=True) - print '2. Set CCPS trianguler waveform parameters(1V, 1Hz)' - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-AMP 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-FREQ 1', shell=True) #Hz - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-AMP 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-FREQ 1', shell=True) #Hz - time.sleep(1) - print '3. load csv file.' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-NAME test.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-LOAD 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-NAME test2.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-LOAD 1', shell=True) - time.sleep(1) - print '4. Simulate CCPS_ON_REQUEST signal' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2 1', shell=True) - time.sleep(1) - print '5. Confirm CCPS_ON flag and triangular waveform generation.' - print '6. Simulate CCPS status PVs.' - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:PSU2320-TR 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:PSU2320-TR 1', shell=True) - print '7. Confirm PCF state changes to WaitPermit state.' - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.pyc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.pyc deleted file mode 100644 index 68b2851..0000000 Binary files a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.py deleted file mode 100644 index 78526fd..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -def test_ready(): - """In the WaitReady state, simulate READY signal from PLC.""" - print '---------- WatiReady test ----------' - print '1. Simulate READY signal. State should go to WaitPermit state.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '2. Set CCPS trianguler waveform parameters(1V, 1Hz)' - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-AMP 3', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-FREQ 1', shell=True) #Hz - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-AMP 4', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-FREQ 1', shell=True) #Hz - print 'Enter to continue test' - inpval = raw_input() - time.sleep(1) - print '3. load csv file.' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-NAME test.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-CSV-LOAD 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-NAME test2.csv', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-CSV-LOAD 1', shell=True) - time.sleep(1) - print '4. Simulate CCPS_ON_REQUEST signal' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS2 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '5. Confirm CCPS_ON flag and triangular waveform generation.' - print '6. Simulate CCPS status PVs.' - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:PSU2320-TR 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-OP-V-DIFF.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:PSU2320-TR 0', shell=True) - print '7. Confirm PCF state changes to WaitPermit state.' - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.pyc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.pyc deleted file mode 100644 index 05b88d6..0000000 Binary files a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_ready_hw.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_rup_confirm.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_rup_confirm.py deleted file mode 100644 index cf99a15..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_rup_confirm.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -import test_async -import test_sync -import test_ready_hw -import test_setup_hw -import test_standby_hw -import test_ready -import test_setup -import test_standby -import test_setup_rup_confirm - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -print '---------- Pre setup for the test ----------' -test_setup_rup_confirm.test_setup() -#test_setup.test_setup() -#test_setup_hw.test_setup() - - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.py deleted file mode 100644 index ff47dc4..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.py +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -def test_setup(): - """ - Setup EPICS PVs for testing. - Turn simulation mode ON for unavailable device - """ - print '---------- Start setup for the test ----------' - - print '1. set PVs to simulation mode' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-AI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:STAT-SIMM YES', shell=True) #turn off for GCPS test. - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:PSU4000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:PSU2000-YFLT 0', shell=True) - time.sleep(1) - print '2. Change SCAN mode from I/O Inter to Passive to write sumulated values.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SCAN Passive', shell=True) #STANDBY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SCAN Passive', shell=True) #READY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SCAN Passive', shell=True) #ON - res = subprocess.call('caput EC-GN-P01-PMF:PSU0000-TYSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SCAN Passive', shell = True) #SYNC/ASYNC - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SCAN Passive', shell=True) #CCPS ON REQUEST - time.sleep(1) - print '3. Set pulse length limit mode value and state.' - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD1-LIM 10000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD2-LIM 100000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD3-LIM 1000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD4-LIM 10000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4 0', shell = True) #Pulse lenght mode - print '4. Set other operation modes' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) #Pre-pro mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0',shell = True) #Short pulse mode - time.sleep(1) - print '5. Set a beam-on schedule(10ms diff + 100ms pulse)' - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - time.sleep(1) - print '6. Reset PLC INTERLOCK' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP 0', shell=True) #CCPS_IS_OPERATION - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBFP:FMC4310-YTRP 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-RST-FLT 1', shell=True) - print '---------- END setup for the test ----------' diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.pyc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.pyc deleted file mode 100644 index e99d4b3..0000000 Binary files a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.py deleted file mode 100644 index 190c39c..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -def test_setup(): - """ - Setup EPICS PVs for testing. - Turn simulation mode ON for unavailable device - """ - print '---------- Start setup for the test ----------' - - print '1. set PVs to simulation mode' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-DI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-DI-SIMM YES', shell=True) - #temporary commentout 2 lines - #res = subprocess.call('caput EC-GN-P01-GAF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:STAT-SIMM YES', shell=True) - #temporary commentout following line - #res = subprocess.call('caput EC-GN-P01-GBF-GCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-SIMM YES', shell=True) - #temporary commentout following line - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:STAT-SIMM YES', shell=True) - #temporary commentout following line - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:STAT-SIMM YES', shell=True) - time.sleep(1) - print '2. Change SCAN mode from I/O Inter to Passive to write sumulated values.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SCAN Passive', shell=True)#SELECT - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SCAN Passive', shell=True)#SELECT - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SCAN Passive', shell=True) #STANDBY - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SCAN Passive', shell=True) #READY - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SCAN Passive', shell=True) #ON - #res = subprocess.call('caput EC-GN-P01-PMF:PSU0000-TYSTA.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YSTA.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YSTA.SCAN Passive', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SCAN Passive', shell=True) #PERMIT - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SCAN Passive', shell = True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SCAN Passive', shell = True) #SYNC/ASYNC - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SCAN Passive', shell=True) #CCPS ON REQUEST - time.sleep(1) - print '3. Set pulse length limit mode value and state.' - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD1-LIM 10000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD2-LIM 100000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD3-LIM 1000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD4-LIM 10000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4 0', shell = True) #Pulse lenght mode - print '4. Set other operation modes' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) #Pre-pro mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0',shell = True) #Short pulse mode - time.sleep(1) - print '5. Set a beam-on schedule(10ms diff + 100ms pulse)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - time.sleep(1) - print '6. Reset PLC INTERLOCK' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SIMM 1', shell=True) #PLC Interlock - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SCAN 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SVAL 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP 0', shell=True) #CCPS_IS_OPERATION - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SIMM 1', shell=True) #cRIO Interlock - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SCAN 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SVAL 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP 0', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPF:STAT-RST-FLT 1', shell=True) - print '---------- END setup for the test ----------' diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.pyc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.pyc deleted file mode 100644 index 67d714d..0000000 Binary files a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_hw.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.py deleted file mode 100644 index 3f14868..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.py +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -# -# Some EPICS PVs need to be simulation mode when we test code without PXI board. -# When user uses sim mode, new value must be written into PV.SVAL and PV itselfself. -# -print '### Start State Machine Sequence Test ###' - -def test_setup(): - """ - Setup EPICS PVs for testing. - Turn simulation mode ON for unavailable device - """ - print '---------- Start setup for the test ----------' - - print '1. set PVs to simulation mode' - #res = subprocess.call('caput EC-GN-P01-GAF:STAT-AI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF:STAT-AI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DI-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DI-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-MCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:STAT-SIMM YES', shell=True) #turn off for GCPS test. - #res = subprocess.call('caput EC-GN-P01-GBF-GCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-CCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-CCPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:STAT-SIMM YES', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:STAT-SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YFLT 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SIMM YES', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YFLT 0', shell=True) - time.sleep(1) - print '2. Change SCAN mode from I/O Inter to Passive to write sumulated values.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SCAN Passive', shell=True)#SELECT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SCAN Passive', shell=True) #STANDBY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST2R.SCAN Passive', shell=True) #READY - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST3R.SCAN Passive', shell=True) #ON - res = subprocess.call('caput EC-GN-P01-PMF:PSU0000-TYSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:PSU3000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:PSU1000-YSTA.SCAN Passive', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY1PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SCAN Passive', shell=True) #PERMIT - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SCAN Passive', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SCAN Passive', shell = True) #SYNC/ASYNC - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YON-CCPS1.SCAN Passive', shell=True) #CCPS ON REQUEST - time.sleep(1) - print '3. Set pulse length limit mode value and state.' - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD1-LIM 10000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD2-LIM 100000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD3-LIM 1000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-MD4-LIM 10000000', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD2 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD3 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4.SVAL 0', shell = True) #Pulse lenght mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD4 0', shell = True) #Pulse lenght mode - print '4. Set other operation modes' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) #Pre-pro mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 0', shell = True) #SYNC/ASYNC mode - res = subprocess.call('caput EC-GN-P01-GAF:STAT-SHORT-PULSE 0',shell = True) #Short pulse mode - time.sleep(1) - print '5. Set a beam-on schedule(10ms diff + 100ms pulse)' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 10000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 20000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 30000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 40000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 50000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 100000', shell=True) - time.sleep(1) - print '6. Reset PLC INTERLOCK' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTRP 0', shell=True) #CCPS_IS_OPERATION - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SIMM 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SCAN 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP.SVAL 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GAFP:FMC4310-YTRP 0', shell=True) - res = subprocess.call('caput EC-GN-P01-GPF:STAT-RST-FLT 1', shell=True) - print '7. Simulate SELECT signal. State should go to WatiStandby from Disabled.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2 1', shell=True) - time.sleep(1) - print '8. Simulate STANDBY signal. MCPS, GCPS, FHPS rampup must be started.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R 1', shell=True) - print '---------- END setup for the test ----------' diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.pyc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.pyc deleted file mode 100644 index b3a9917..0000000 Binary files a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_setup_rup_confirm.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.py deleted file mode 100644 index 6d3b3b1..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.py +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - - -def test_standby(): - """ - In the WaitStandby State, simulate PLC STANDBY signal. - Turn on FHPS by push auto-on button. - Turn on SCM PSs automatically. - State transition condition is checked at last. - """ - print '---------- Start WatiStandby test ----------' - print '1. Simulate SELECT signal. State should go to WatiStandby from Disabled.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2 1', shell=True) - time.sleep(1) - print '2. Set MCPS rampup parameter(target current, sweep rate.)' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For A - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET 1.5', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET 1.5', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For B - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET 1.5', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET 1.5', shell=True) - time.sleep(1) - print '3. Simulate STANDBY signal. MCPS, GCPS, FHPS rampup must be started.' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R 1', shell=True) - time.sleep(1) - print '4. Set FHPS rampup parameter and start it.' - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME 10', shell=True) #in second. - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME 10', shell=True) #in second. - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - time.sleep(10) - print '5. Simulate FHPS, MCPS and GCPS state.' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - time.sleep(1) - print '6. Confirm FHPS and SCM ramp-up complete. The state goes to WaitREADY from WaitStandby.' - print '---------- END WaitStandby test ----------' - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.pyc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.pyc deleted file mode 100644 index bc74300..0000000 Binary files a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.py deleted file mode 100644 index 6305e40..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - - -def test_standby(): - """ - In the WaitStandby State, simulate PLC STANDBY signal. - Turn on FHPS by push auto-on button. - Turn on SCM PSs automatically. - State transition condition is checked at last. - """ - print '---------- Start WatiStandby test ----------' - print '1. Simulate SELECT signal. State should go to WatiStandby from Disabled.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY1 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-OPGY2 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '2. Set MCPS rampup parameter(target current, sweep rate.)' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For A - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-TRG-SWPR-SET 1.69', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-TRG-SWPR-SET 1.0', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-CURR-SET-MI 4', shell=True) #For B - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-TRG-SWPR-SET 1.69', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-CURR-SET-MI 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-TRG-SWPR-SET 1.0', shell=True) - time.sleep(1) - print '3. Simulate STANDBY signal. MCPS, GCPS, FHPS rampup must be started.' - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-ST1R 1', shell=True) - print 'Enter to continue test' - inpval = raw_input() - print '4. Set FHPS rampup parameter and start it.' - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-RU-TIME 60', shell=True) #in second. - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-TAGV 6', shell=True) - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-RU-TIME 60', shell=True) #in second. - #res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-AUTO-START 1', shell=True) #in second. - print 'Enter to continue test' - inpval = raw_input() - print '5. Simulate FHPS, MCPS and GCPS state.' - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF-MCPS:PSU2120-CURR-MON 4', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-OUTON-RB 1', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - #res = subprocess.call('caput EC-GN-P01-GAF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB.SVAL 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-ACT-RB 3', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON.SVAL 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-MCPS:PSU2120-CURR-MON 4', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB.SVAL 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-ACT-RB 3', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON.SVAL 4', shell=True)#turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-GCPS:PSU2130-CURR-MON 4', shell=True) #turn off for GCPS test - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-OUTON-RB 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV.SVAL 6', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF-FHPS:PSU2610-MEAS-ACV 6', shell=True) - time.sleep(1) - print '6. Confirm FHPS and SCM ramp-up complete. The state goes to WaitREADY from WaitStandby.' - print '---------- END WaitStandby test ----------' - diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.pyc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.pyc deleted file mode 100644 index b19006e..0000000 Binary files a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_standby_hw.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.py b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.py deleted file mode 100644 index ebf5a71..0000000 --- a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/python - -import time -import sys -import subprocess - -def test_sync(): - """Test Sync Mode""" - print '1. Set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB2F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA2F:STAT-DT-SWON 500000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 300000000', shell=True) - res = subprocess.call('caput EC-GN-P01-GBF:STAT-DT-SHOTLEN 300000000', shell=True) - print '2. Set SYNC flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 1', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 1', shell = True) - print '3. Set Mode 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 600000000', shell = True) - print '4. 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) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM.SVAL 1', shell=True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-CON-GY2PRM 1', shell=True) - time.sleep(1) - print '5. 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) - print '6. Wait SDN commands.' - print 'Enter to stop operation(Trun off PLC_HVON)' - inpval = raw_input() - print '7. Write 0 to 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(2) - print '8. 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) - 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 '9. Reset Mode 1 flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) - print 'end of sequence.' - -def test_sync_prepro(): - """Test Sync PrePro Mode""" - print '1. Set beam-on schedule' - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-HVON 100000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-HVON 200000', shell=True) - res = subprocess.call('caput EC-GN-P01-PMF:STAT-DT-HVON 300000', shell=True) - res = subprocess.call('caput EC-GN-P01-PB1F:STAT-DT-SWON 400000', shell=True) - res = subprocess.call('caput EC-GN-P01-PA1F:STAT-DT-SWON 500000', shell=True) - res = subprocess.call('caput EC-GN-P01-GAF:STAT-DT-SHOTLEN 300000000', shell=True) - print '2. Set SYNC flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS.SVAL 1', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YSTA-MPSS 1', shell = True) - print '3. Set Mode 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 600000000', shell = True) - print '4.Set Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 1', shell = True) - time.sleep(1) - print '5. 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) - print '6. 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) - print '7. Wait SDN commands.' - print 'Enter to stop operation(Trun off PLC_HVON)' - inpval = raw_input() - print '8. Write 0 to 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(2) - print '9. 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 '10.Reset Pre-Pro flag' - res = subprocess.call('caput EC-GN-P01-GAF:STAT-PREP-MODE 0', shell = True) - time.sleep(1) - print '11. Reset Mode 1 flag' - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1.SVAL 0', shell = True) - res = subprocess.call('caput EC-GN-P01-GPS:PLC4110-YTS-MD1 0', shell = True) - print 'end of sequence.' \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.pyc b/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.pyc deleted file mode 100644 index 3637b06..0000000 Binary files a/EC-GN-JA-PCF/target/main/resources/qst-gyrotron-fast-controller/Test_P01/test_sync.pyc and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCA.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCA.a deleted file mode 100644 index 3c1ffd9..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCA.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCA.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCA.so deleted file mode 100755 index aad00cd..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCA.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCAInput.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCAInput.o deleted file mode 100644 index 3137fa3..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCAInput.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCAOutput.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCAOutput.o deleted file mode 100644 index 313fa07..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/JAEPICSCAOutput.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/libJAEPICSCA.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/libJAEPICSCA.so deleted file mode 120000 index c40f2e3..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/JAEPICSCA/libJAEPICSCA.so +++ /dev/null @@ -1 +0,0 @@ -JAEPICSCA.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/NI6528.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/NI6528.a deleted file mode 100644 index 9635a64..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/NI6528.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/NI6528.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/NI6528.o deleted file mode 100644 index d8db3dc..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/NI6528.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/NI6528.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/NI6528.so deleted file mode 100755 index bb265f2..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/NI6528.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/libNI6528.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/libNI6528.so deleted file mode 120000 index a157a2c..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/NI6528/libNI6528.so +++ /dev/null @@ -1 +0,0 @@ -NI6528.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/RandomDataSource.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/RandomDataSource.a deleted file mode 100644 index 0282571..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/RandomDataSource.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/RandomDataSource.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/RandomDataSource.o deleted file mode 100644 index c80ed6f..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/RandomDataSource.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/RandomDataSource.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/RandomDataSource.so deleted file mode 100755 index fe8475c..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/RandomDataSource.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/libRandomDataSource.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/libRandomDataSource.so deleted file mode 120000 index c256f92..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/DataSources/RandomDataSource/libRandomDataSource.so +++ /dev/null @@ -1 +0,0 @@ -RandomDataSource.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/JABitReverseGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/JABitReverseGAM.a deleted file mode 100644 index a36c979..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/JABitReverseGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/JABitReverseGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/JABitReverseGAM.o deleted file mode 100644 index 21b3237..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/JABitReverseGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/JABitReverseGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/JABitReverseGAM.so deleted file mode 100755 index d1ff6f0..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/JABitReverseGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/libJABitReverseGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/libJABitReverseGAM.so deleted file mode 120000 index ea84286..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitReverseGAM/libJABitReverseGAM.so +++ /dev/null @@ -1 +0,0 @@ -JABitReverseGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/JABitSumGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/JABitSumGAM.a deleted file mode 100644 index 7b32ef4..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/JABitSumGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/JABitSumGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/JABitSumGAM.o deleted file mode 100644 index bdf7861..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/JABitSumGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/JABitSumGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/JABitSumGAM.so deleted file mode 100755 index 0d3856c..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/JABitSumGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/libJABitSumGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/libJABitSumGAM.so deleted file mode 120000 index 6d5fd99..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JABitSumGAM/libJABitSumGAM.so +++ /dev/null @@ -1 +0,0 @@ -JABitSumGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.a deleted file mode 100644 index 46c76ab..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.o deleted file mode 100644 index 887e1a9..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.so deleted file mode 100755 index 0987de8..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/JAConditionalSignalUpdateGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/libJAConditionalSignalUpdateGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/libJAConditionalSignalUpdateGAM.so deleted file mode 120000 index 82a275a..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAConditionalSignalUpdateGAM/libJAConditionalSignalUpdateGAM.so +++ /dev/null @@ -1 +0,0 @@ -JAConditionalSignalUpdateGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/JAMessageGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/JAMessageGAM.a deleted file mode 100644 index 58b88e0..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/JAMessageGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/JAMessageGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/JAMessageGAM.o deleted file mode 100644 index a27cc78..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/JAMessageGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/JAMessageGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/JAMessageGAM.so deleted file mode 100755 index 7cb178b..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/JAMessageGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/libJAMessageGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/libJAMessageGAM.so deleted file mode 120000 index e291b9f..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAMessageGAM/libJAMessageGAM.so +++ /dev/null @@ -1 +0,0 @@ -JAMessageGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/JAModeControlGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/JAModeControlGAM.a deleted file mode 100644 index ca45dc6..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/JAModeControlGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/JAModeControlGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/JAModeControlGAM.o deleted file mode 100644 index 2ee886b..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/JAModeControlGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/JAModeControlGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/JAModeControlGAM.so deleted file mode 100755 index 00a9f3e..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/JAModeControlGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/libJAModeControlGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/libJAModeControlGAM.so deleted file mode 120000 index 01081fc..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAModeControlGAM/libJAModeControlGAM.so +++ /dev/null @@ -1 +0,0 @@ -JAModeControlGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.a deleted file mode 100644 index 091b1f3..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.o deleted file mode 100644 index 2c4aa22..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.so deleted file mode 100755 index 1ac0703..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/JAPreProgrammedGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/libJAPreProgrammedGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/libJAPreProgrammedGAM.so deleted file mode 120000 index 3a956a5..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAPreProgrammedGAM/libJAPreProgrammedGAM.so +++ /dev/null @@ -1 +0,0 @@ -JAPreProgrammedGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.a deleted file mode 100644 index 0eb595e..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.o deleted file mode 100644 index 9904d8a..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.so deleted file mode 100755 index 8ec3b52..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/JARTStateMachineGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/libJARTStateMachineGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/libJARTStateMachineGAM.so deleted file mode 120000 index c1be501..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARTStateMachineGAM/libJARTStateMachineGAM.so +++ /dev/null @@ -1 +0,0 @@ -JARTStateMachineGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/JARampupGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/JARampupGAM.a deleted file mode 100644 index 8eecf04..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/JARampupGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/JARampupGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/JARampupGAM.o deleted file mode 100644 index ef700a7..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/JARampupGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/JARampupGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/JARampupGAM.so deleted file mode 100755 index 65e9bcc..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/JARampupGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/libJARampupGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/libJARampupGAM.so deleted file mode 120000 index 1552254..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JARampupGAM/libJARampupGAM.so +++ /dev/null @@ -1 +0,0 @@ -JARampupGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.a deleted file mode 100644 index 4f70e8d..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.o deleted file mode 100644 index 462ad1d..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.so deleted file mode 100755 index e7b8eda..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/JASDNRTStateMachineGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/libJASDNRTStateMachineGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/libJASDNRTStateMachineGAM.so deleted file mode 120000 index d93741c..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASDNRTStateMachineGAM/libJASDNRTStateMachineGAM.so +++ /dev/null @@ -1 +0,0 @@ -JASDNRTStateMachineGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.a deleted file mode 100644 index b9295d7..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.o deleted file mode 100644 index a647a56..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.so deleted file mode 100755 index 8a3acbd..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/JASourceChoiseGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/libJASourceChoiseGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/libJASourceChoiseGAM.so deleted file mode 120000 index 2e19456..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JASourceChoiseGAM/libJASourceChoiseGAM.so +++ /dev/null @@ -1 +0,0 @@ -JASourceChoiseGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.a deleted file mode 100644 index b102740..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.o deleted file mode 100644 index a9eec2a..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.so deleted file mode 100755 index 7c1924c..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/JATerminalInterfaceGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/libJATerminalInterfaceGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/libJATerminalInterfaceGAM.so deleted file mode 120000 index 8c6fefb..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATerminalInterfaceGAM/libJATerminalInterfaceGAM.so +++ /dev/null @@ -1 +0,0 @@ -JATerminalInterfaceGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.a deleted file mode 100644 index 1c037e9..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.o deleted file mode 100644 index 525d726..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.so deleted file mode 100755 index 4a0c43b..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/JATriangleWaveGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/libJATriangleWaveGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/libJATriangleWaveGAM.so deleted file mode 120000 index 560278b..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JATriangleWaveGAM/libJATriangleWaveGAM.so +++ /dev/null @@ -1 +0,0 @@ -JATriangleWaveGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/JAWFRecordGAM.a b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/JAWFRecordGAM.a deleted file mode 100644 index 8c5d152..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/JAWFRecordGAM.a and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/JAWFRecordGAM.o b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/JAWFRecordGAM.o deleted file mode 100644 index 93f7960..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/JAWFRecordGAM.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/JAWFRecordGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/JAWFRecordGAM.so deleted file mode 100755 index 61939ca..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/JAWFRecordGAM.so and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/libJAWFRecordGAM.so b/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/libJAWFRecordGAM.so deleted file mode 120000 index c3111ec..0000000 --- a/EC-GN-JA-PCF/target/obj/Build/x86-linux/GAMs/JAWFRecordGAM/libJAWFRecordGAM.so +++ /dev/null @@ -1 +0,0 @@ -JAWFRecordGAM.so \ No newline at end of file diff --git a/EC-GN-JA-PCF/target/obj/Gyrotron01DAN/Gyrotron01DAN.o b/EC-GN-JA-PCF/target/obj/Gyrotron01DAN/Gyrotron01DAN.o deleted file mode 100644 index 42955ec..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Gyrotron01DAN/Gyrotron01DAN.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Gyrotron01DAN/configure_sdn.o b/EC-GN-JA-PCF/target/obj/Gyrotron01DAN/configure_sdn.o deleted file mode 100644 index 7cd43a7..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Gyrotron01DAN/configure_sdn.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Gyrotron02DAN/Gyrotron02DAN.o b/EC-GN-JA-PCF/target/obj/Gyrotron02DAN/Gyrotron02DAN.o deleted file mode 100644 index b481f10..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Gyrotron02DAN/Gyrotron02DAN.o and /dev/null differ diff --git a/EC-GN-JA-PCF/target/obj/Gyrotron02DAN/configure_sdn.o b/EC-GN-JA-PCF/target/obj/Gyrotron02DAN/configure_sdn.o deleted file mode 100644 index 7cd43a7..0000000 Binary files a/EC-GN-JA-PCF/target/obj/Gyrotron02DAN/configure_sdn.o and /dev/null differ diff --git a/EC-GN-JA-PCF/unit.spec b/EC-GN-JA-PCF/unit.spec deleted file mode 100644 index 5293c3f..0000000 --- a/EC-GN-JA-PCF/unit.spec +++ /dev/null @@ -1,134 +0,0 @@ -#+====================================================================== -# $HeadURL: $ -# $Id: $ -# -# Project : ITER I&C Integration -# -# Description : SPEC file for packaging CS-Studio related file artefacts -# -# Author(s) : Bertrand Bauvir (IO) -# -# Copyright (c) : 2010-2021 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -%define __spec_install_post %{nil} - -Name: iter-icint-%{project_artifactId} -Version: %{project_version} -Release: %{?rpm_release_num:%{rpm_release_num}}%{!?rpm_release_num:1} -Summary: %{project_description} - -Group: Development/CODAC -Distribution: I&C Applications -#URL: http://www.iter.org/org/team/chd/cid/codac -URL: %{?rpm_vcs_url:%{rpm_vcs_url}}%{!?rpm_vcs_url:undefined} -Vendor: ITER Organization -Packager: ITER Organization -License: ITER License - -Source0: src.tar.gz - -BuildArch: noarch -AutoReq: no - -%provides_self - -%description -%{project_description}. - -%package -n %subpackage opi -Summary: %{project_description} - OPI resources -Group: Development/CODAC -AutoReq: no -Requires: filesystem -%provides_self %subpackage opi - -%description -n %subpackage opi -%{project_description} - OPI resources. - -%package -n %subpackage alarm -Summary: %{project_description} - Alarm configuration -Group: Development/CODAC -AutoReq: no -Requires: filesystem -%provides_self %subpackage alarm - -%description -n %subpackage alarm -%{project_description} - Alarm configuration. - -%package -n %subpackage archive -Summary: %{project_description} - Archive configuration -Group: Development/CODAC -AutoReq: no -Requires: filesystem -%provides_self %subpackage archive - -%description -n %subpackage archive -%{project_description} - Archive configuration. - -%prep -%setup -T -c -a 0 - -%build - -%install -rm -rf %{buildroot} -mkdir -p %{buildroot}/opt/codac/opi/%{project_artifactId} -install -d %{buildroot}/opt/codac/opi/%{project_artifactId} -cp -r src/main/boy %{buildroot}/opt/codac/opi/%{project_artifactId} -mkdir -p %{buildroot}/opt/codac/opi/%{project_artifactId}/epics -cp -r src/main/epics/*App %{buildroot}/opt/codac/opi/%{project_artifactId}/epics || : -mkdir -p %{buildroot}/etc/opt/codac/%{project_artifactId} -install -d %{buildroot}/etc/opt/codac/%{project_artifactId} -cp src/main/beast/* %{buildroot}/etc/opt/codac/%{project_artifactId} -cp src/main/beauty/* %{buildroot}/etc/opt/codac/%{project_artifactId} -mkdir -p %{buildroot}/etc/opt/codac/css/beast/%{project_artifactId} -install -d %{buildroot}/etc/opt/codac/css/beast/%{project_artifactId} -cp src/main/beast/* %{buildroot}/etc/opt/codac/css/beast/%{project_artifactId} -mkdir -p %{buildroot}/etc/opt/codac/css/beauty/%{project_artifactId} -install -d %{buildroot}/etc/opt/codac/css/beauty/%{project_artifactId} -cp src/main/beauty/* %{buildroot}/etc/opt/codac/css/beauty/%{project_artifactId} - -%clean - -%files - -%files -n %subpackage opi -/opt/codac/opi/* - -%files -n %subpackage alarm -/etc/opt/codac/%{project_artifactId}/*beast.xml -/etc/opt/codac/css/beast/%{project_artifactId}/*beast.xml - -%files -n %subpackage archive -/etc/opt/codac/%{project_artifactId}/*beauty.xml -/etc/opt/codac/css/beauty/%{project_artifactId}/*beauty.xml - -%pretrans -%beginlog_pretrans -%endlog - -%posttrans -%beginlog_posttrans -%endlog - -%preun -%beginlog_preun -%endlog - -%postun -%beginlog_postun -%endlog - -%changelog -* Wed Mar 31 2021 Bertrand Bauvir -- Initial version. diff --git a/EC-GN-JA-PCF/unit_13-05-25_15-59-1747151989_670334485.spec b/EC-GN-JA-PCF/unit_13-05-25_15-59-1747151989_670334485.spec deleted file mode 100644 index 5293c3f..0000000 --- a/EC-GN-JA-PCF/unit_13-05-25_15-59-1747151989_670334485.spec +++ /dev/null @@ -1,134 +0,0 @@ -#+====================================================================== -# $HeadURL: $ -# $Id: $ -# -# Project : ITER I&C Integration -# -# Description : SPEC file for packaging CS-Studio related file artefacts -# -# Author(s) : Bertrand Bauvir (IO) -# -# Copyright (c) : 2010-2021 ITER Organization, -# CS 90 046 -# 13067 St. Paul-lez-Durance Cedex -# France -# -# This file is part of ITER CODAC software. -# For the terms and conditions of redistribution or use of this software -# refer to the file ITER-LICENSE.TXT located in the top level directory -# of the distribution package. -# -#-====================================================================== - -%define __spec_install_post %{nil} - -Name: iter-icint-%{project_artifactId} -Version: %{project_version} -Release: %{?rpm_release_num:%{rpm_release_num}}%{!?rpm_release_num:1} -Summary: %{project_description} - -Group: Development/CODAC -Distribution: I&C Applications -#URL: http://www.iter.org/org/team/chd/cid/codac -URL: %{?rpm_vcs_url:%{rpm_vcs_url}}%{!?rpm_vcs_url:undefined} -Vendor: ITER Organization -Packager: ITER Organization -License: ITER License - -Source0: src.tar.gz - -BuildArch: noarch -AutoReq: no - -%provides_self - -%description -%{project_description}. - -%package -n %subpackage opi -Summary: %{project_description} - OPI resources -Group: Development/CODAC -AutoReq: no -Requires: filesystem -%provides_self %subpackage opi - -%description -n %subpackage opi -%{project_description} - OPI resources. - -%package -n %subpackage alarm -Summary: %{project_description} - Alarm configuration -Group: Development/CODAC -AutoReq: no -Requires: filesystem -%provides_self %subpackage alarm - -%description -n %subpackage alarm -%{project_description} - Alarm configuration. - -%package -n %subpackage archive -Summary: %{project_description} - Archive configuration -Group: Development/CODAC -AutoReq: no -Requires: filesystem -%provides_self %subpackage archive - -%description -n %subpackage archive -%{project_description} - Archive configuration. - -%prep -%setup -T -c -a 0 - -%build - -%install -rm -rf %{buildroot} -mkdir -p %{buildroot}/opt/codac/opi/%{project_artifactId} -install -d %{buildroot}/opt/codac/opi/%{project_artifactId} -cp -r src/main/boy %{buildroot}/opt/codac/opi/%{project_artifactId} -mkdir -p %{buildroot}/opt/codac/opi/%{project_artifactId}/epics -cp -r src/main/epics/*App %{buildroot}/opt/codac/opi/%{project_artifactId}/epics || : -mkdir -p %{buildroot}/etc/opt/codac/%{project_artifactId} -install -d %{buildroot}/etc/opt/codac/%{project_artifactId} -cp src/main/beast/* %{buildroot}/etc/opt/codac/%{project_artifactId} -cp src/main/beauty/* %{buildroot}/etc/opt/codac/%{project_artifactId} -mkdir -p %{buildroot}/etc/opt/codac/css/beast/%{project_artifactId} -install -d %{buildroot}/etc/opt/codac/css/beast/%{project_artifactId} -cp src/main/beast/* %{buildroot}/etc/opt/codac/css/beast/%{project_artifactId} -mkdir -p %{buildroot}/etc/opt/codac/css/beauty/%{project_artifactId} -install -d %{buildroot}/etc/opt/codac/css/beauty/%{project_artifactId} -cp src/main/beauty/* %{buildroot}/etc/opt/codac/css/beauty/%{project_artifactId} - -%clean - -%files - -%files -n %subpackage opi -/opt/codac/opi/* - -%files -n %subpackage alarm -/etc/opt/codac/%{project_artifactId}/*beast.xml -/etc/opt/codac/css/beast/%{project_artifactId}/*beast.xml - -%files -n %subpackage archive -/etc/opt/codac/%{project_artifactId}/*beauty.xml -/etc/opt/codac/css/beauty/%{project_artifactId}/*beauty.xml - -%pretrans -%beginlog_pretrans -%endlog - -%posttrans -%beginlog_posttrans -%endlog - -%preun -%beginlog_preun -%endlog - -%postun -%beginlog_postun -%endlog - -%changelog -* Wed Mar 31 2021 Bertrand Bauvir -- Initial version.